diff -r 000000000000 -r 05e9090e2422 skins/AknSkins/inc/AknsCombinedBackgroundControlContext.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/skins/AknSkins/inc/AknsCombinedBackgroundControlContext.h Thu Dec 17 09:14:12 2009 +0200 @@ -0,0 +1,97 @@ +/* +* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Container context containing several contextes. +* +*/ + + + +#ifndef C_AKNSCOMBINEDBACKGROUNDCONTROLCONTEXT_H +#define C_AKNSCOMBINEDBACKGROUNDCONTROLCONTEXT_H + +#include + +/** + * Container object holding several contextes. + * + * @lib AknsSkins.lib + * @since S60 v5.0 + */ +NONSHARABLE_CLASS( CAknsCombinedBackgroundControlContext ) : + public CAknsBasicBackgroundControlContext + { + +public: + + /** + * Two-phased constructor. + * + * @param aParentAbsolute ETrue if parent absolute layout should be + * used, EFalse otherwise. If a parent absolute layout is used, + * the parent position must be set and updated using SetParentPos. + * + * @return Newly constructed object. + */ + IMPORT_C static CAknsCombinedBackgroundControlContext* NewL( + TBool aParentAbsolute ); + + /** + * Destructor. + */ + virtual ~CAknsCombinedBackgroundControlContext(); + + /** + * Add background control context to a combination. + * + * @param aControlContext control context to be added. + * @return index of the control context, or error code. + */ + IMPORT_C TInt AddControlContext( MAknsControlContext* aControlContext ); + + /** + * Remove background control context from combination. + * + * @param aIndex index of the control context to remove + */ + IMPORT_C void RemoveControlContext( const TInt aIndex ); + + /** + * Get a reference to a background control context using index. + * + * @param aIndex index of the control context to get. + * @return NULL if context was not found, otherwise pointer to the + * context. + */ + IMPORT_C MAknsControlContext* GetControlContext( const TInt aIndex ); + +private: + + /** + * From MAknsControlContext. + * + */ + TBool IsCompatibleWithType( const TAknsControlContextType aType ) const; + +private: // data + + /** + * Array containing all the contextes. + * Own. + */ + RPointerArray iBgCcArray; + + }; + + +#endif // C_AKNSCOMBINEDBACKGROUNDCONTROLCONTEXT_H