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