aknscontrolcontext.h

Go to the documentation of this file.
00001 /*
00002 * ==============================================================================
00003 *  Name        : AknsControlContext.h
00004 *  Part of     : Avkon Skins / Skin Library
00005 *  Description : Defines a public interface class MAknsControlContext and 
00006 *                related enumerations.
00007 *  Version     : ?Version
00008 *
00009 *  Copyright © 2002-2007 Nokia Corporation.
00010 *  This material, including documentation and any related 
00011 *  computer programs, is protected by copyright controlled by 
00012 *  Nokia Corporation. All rights are reserved. Copying, 
00013 *  including reproducing, storing, adapting or translating, any 
00014 *  or all of this material requires the prior written consent of 
00015 *  Nokia Corporation. This material also contains confidential 
00016 *  information which may not be disclosed to others without the 
00017 *  prior written consent of Nokia Corporation.
00018 * ==============================================================================
00019 */
00020 
00021 #ifndef AKNSCONTROLCONTEXT_H
00022 #define AKNSCONTROLCONTEXT_H
00023 
00024 //  INCLUDES
00025 #include <AknsConstants.h>
00026 #include <AknsItemID.h>
00027 #include <coemop.h>
00028 
00029 // DATA TYPES
00030 
00036 enum TAknsCCParameter
00037     {
00038     // This enumeration is intentionally empty.
00039     };
00040 
00047 enum TAknsCCObject
00048     {
00049 
00058     EAknsCCOBackground              = 0,
00059     
00069     EAknsCCOParentContext           = 1
00070     };
00071 
00077 enum TAknsControlContextType
00078     {
00079 
00086     EAknsControlContextTypeUnknown  = 0,
00087 
00094     EAknsControlContextTypeBasic    = 1,
00095 
00102     EAknsControlContextTypeLayered  = 2,
00103 
00110     EAknsControlContextTypeListBox  = 3,
00111 
00118     EAknsControlContextTypeFrame    = 4,
00119 
00126     EAknsControlContextTypeCombined = 5,
00127 
00134     EAknsControlContextTypeMasked = 6
00135     };
00136 
00137 // CLASS DECLARATIONS
00138 
00156 class MAknsControlContext
00157     {
00158     public: // Type UID
00164         DECLARE_TYPE_ID(0x10005a29)
00165 
00166     public: // Destructor
00167 
00174         inline virtual ~MAknsControlContext() {}
00175 
00176     public: // New functions
00177 
00190         virtual TInt SupplySkinParameter( TAknsCCParameter aParam ) =0;
00191 
00204         virtual TAny* SupplySkinObject( TAknsCCObject aObject ) =0;
00205 
00219         virtual TBool IsCompatibleWithType( 
00220             const TAknsControlContextType aType ) const =0;
00221 
00233         virtual TInt UpdateContext();
00234 
00235     protected: // Reserved virtual functions
00236 
00242         virtual TInt Reserved2();
00243 
00244     public: // New functions
00245 
00260         IMPORT_C static TTypeUid::Ptr SupplyMopObject( TTypeUid aId, 
00261             MAknsControlContext* aContext );
00262 
00263     };
00264 
00265 // AKNSCONTROLCONTEXT_H   
00266 #endif
00267 
00268 // End of File

Copyright © Nokia Corporation 2001-2008
Back to top