00001 /* 00002 * ============================================================================ 00003 * Name : AknForm.h 00004 * Part of : Avkon 00005 * 00006 * Description: 00007 * Support for Form component. Also has CAknDialog which specialized 00008 * CEikDialog (adds menu capability) Note that most support for Avkon 00009 * Forms is contained within CEikDialog. 00010 * 00011 * Version : Nokia SDK for S60 3.0 00012 * 00013 * Copyright © 2002-2004 Nokia. All rights reserved. 00014 * This material, including documentation and any related 00015 * computer programs, is protected by copyright controlled by 00016 * Nokia. All rights are reserved. Copying, including 00017 * reproducing, storing, adapting or translating, any 00018 * or all of this material requires the prior written consent of 00019 * Nokia. This material also contains confidential 00020 * information which may not be disclosed to others without the 00021 * prior written consent of Nokia. 00022 * ============================================================================== 00023 */ 00024 00025 #ifndef __AKNFORM_H__ 00026 #define __AKNFORM_H__ 00027 00028 // INCLUDES 00029 #include <aknDialog.h> 00030 00031 // CLASS DECLARATION 00032 class CEikMenuBar ; 00033 00042 class CAknForm : public CAknDialog 00043 { 00044 public: 00045 00049 IMPORT_C CAknForm(); 00050 00056 IMPORT_C void ConstructL( TInt aMenuBarId=0 ); 00057 00061 IMPORT_C ~CAknForm(); 00062 00070 IMPORT_C virtual void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane ); 00071 00077 IMPORT_C virtual void ProcessCommandL( TInt aCommandId ); 00078 00079 protected: 00090 IMPORT_C virtual TBool OkToExitL( TInt aButtonId ); 00091 00099 IMPORT_C virtual void PrepareForFocusTransitionL(); 00100 00101 public: 00102 00110 IMPORT_C void HandleResourceChange(TInt aType); 00111 00117 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent); 00118 00119 protected: 00120 00129 IMPORT_C virtual TBool SaveFormDataL(); 00130 00138 IMPORT_C virtual void DoNotSaveFormDataL(); 00139 00151 IMPORT_C virtual TBool QuerySaveChangesL(); 00152 00158 IMPORT_C virtual void EditCurrentLabelL(); 00159 00165 IMPORT_C virtual void DeleteCurrentItemL(); 00166 00170 IMPORT_C virtual void AddItemL(); 00171 00176 IMPORT_C void SetChangesPending(TBool aChangesPending); 00177 00184 IMPORT_C void PostLayoutDynInitL(); 00185 00192 IMPORT_C void HandleControlStateChangeL(TInt aControlId); 00193 00198 IMPORT_C void SetInitialCurrentLine(); 00199 00205 IMPORT_C TBool UnsavedEdit() const; 00206 00212 IMPORT_C TBool Deleting() const; 00213 00214 enum TFlags 00215 { 00217 EDeleting = 0x1, // Form flag enum 00218 00220 EUnsavedEdit = 0x2 // Form flag enum 00221 }; 00222 00229 IMPORT_C void SetFormFlag( TFlags aFlagPattern, TBool aSetTheFlag ); 00230 00231 private: 00235 IMPORT_C void* ExtensionInterface( TUid aInterface ); 00236 00237 private: 00238 IMPORT_C virtual void CEikDialog_Reserved_1(); 00239 IMPORT_C virtual void CEikDialog_Reserved_2(); 00240 private: 00241 IMPORT_C virtual void CAknDialog_Reserved(); 00242 private:// new function 00243 IMPORT_C virtual void CAknForm_Reserved(); 00244 private: // helpers 00245 void DoLayout(); 00246 private : 00247 TInt iMenuBarId ; // resource ID 00248 TInt iFlags ; 00249 TInt iWsBufferRequestID; 00250 } ; 00251 00252 // __AKNFORM_H__ 00253 #endif