00001 /* 00002 * Name : AknDialog.h 00003 * Part of : Avkon 00004 * 00005 * Version: 00006 * 00007 * Copyright © 2002 Nokia Corporation. 00008 * This material, including documentation and any related 00009 * computer programs, is protected by copyright controlled by 00010 * Nokia Corporation. All rights are reserved. Copying, 00011 * including reproducing, storing, adapting or translating, any 00012 * or all of this material requires the prior written consent of 00013 * Nokia Corporation. This material also contains confidential 00014 * information which may not be disclosed to others without the 00015 * prior written consent of Nokia Corporation. 00016 */ 00017 00018 #ifndef __AKNDIALOG_H__ 00019 #define __AKNDIALOG_H__ 00020 00021 00022 #include <eikdialg.h> 00023 #include <eikmobs.h> 00024 00025 00026 class CAknDialogAttributes; 00027 00035 class CAknDialog : public CEikDialog, public MEikMenuObserver 00036 { 00037 public : 00038 00042 IMPORT_C CAknDialog() ; 00043 00052 IMPORT_C void ConstructL( TInt aMenuTitleResourceId ) ; 00053 00057 IMPORT_C ~CAknDialog() ; 00058 00075 IMPORT_C TInt ExecuteLD( TInt aResourceId ) ; 00076 00084 IMPORT_C void PrepareLC(TInt aResourceId); 00085 00104 IMPORT_C TInt RunLD(); 00105 00106 // From MEikMenuObserver 00121 IMPORT_C virtual void SetEmphasis( CCoeControl* aMenuControl, 00122 TBool aEmphasis ) ; 00129 IMPORT_C virtual void DynInitMenuPaneL( TInt aResourceId, 00130 CEikMenuPane* aMenuPane ) ; 00131 00139 IMPORT_C virtual void ProcessCommandL( TInt aCommandId ) ; 00140 00141 // From CCoeControl 00142 00175 IMPORT_C TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent, 00176 TEventCode aType) ; 00177 00191 IMPORT_C void FocusChanged(TDrawNow aDrawNow); 00192 00209 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent); 00210 00211 private: // formerly from MTopSetMember<CEikMenuBar>, now reserved 00212 00213 IMPORT_C virtual void Reserved_MtsmPosition(); 00214 00215 IMPORT_C virtual void Reserved_MtsmObject(); 00216 00217 private: 00218 00222 IMPORT_C void* ExtensionInterface( TUid aInterface ); 00223 00224 protected: 00225 00250 IMPORT_C virtual TBool OkToExitL( TInt aButtonId ) ; 00251 00257 IMPORT_C void DisplayMenuL() ; 00258 00264 IMPORT_C void HideMenu() ; 00265 00274 IMPORT_C TBool MenuShowing() const ; 00275 00282 IMPORT_C virtual void SizeChanged(); 00283 00291 IMPORT_C virtual void Draw(const TRect &aRect) const; 00292 00293 protected: // from MObjectProvider 00294 00303 IMPORT_C TTypeUid::Ptr MopSupplyObject(TTypeUid aId); 00304 00305 private: 00306 00307 IMPORT_C virtual void CEikDialog_Reserved_1(); 00308 00309 IMPORT_C virtual void CEikDialog_Reserved_2(); 00310 00311 private: // new function 00312 00313 IMPORT_C virtual void CAknDialog_Reserved(); 00314 00315 protected: // new function 00316 00322 void CreateMenuBarL(TInt aMenuTitleResourceId); 00323 00324 protected: 00325 00330 CEikMenuBar* iMenuBar; 00331 00332 private: 00333 00334 enum TAknDialogFlag 00335 { 00336 EAknDialogFlagDialogDeleted = 1, 00337 EAknDialogFlagDefaultSounds = 2, 00338 EAknDialogFlagNotConstructed = 4 00339 }; 00340 00341 CAknDialogAttributes* iAttributes; // Was TInt iSpare; 00342 00343 CAknDialogAttributes* AttributesL(); 00344 00345 } ; 00346 00347 // __AKNDIALOG_H__ 00348 #endif 00349 00350 00351 // End of file