S60UIExampleInitialView.inc
上传用户:laixiong
上传日期:2007-03-11
资源大小:2994k
文件大小:1156k
源码类别:

Symbian

开发平台:

C/C++

  1. __declspec(dllexport) virtual void CEikServSecureData_Reserved2();
  2. private:
  3. TInt iCEikServSecureData_Reserved1;
  4. };
  5. #line 26 "C:\Symbian\9.1\S60_3rd\epoc32\include\eiksrvs.h" /* stack depth 6 */
  6. class CDictionaryFileStore;
  7. const static TLitC<sizeof(L"!EikAppUiServer")/2> EIKAPPUI_SERVER_NAME={sizeof(L"!EikAppUiServer")/2-1,L"!EikAppUiServer"} ;
  8. const static TLitC<sizeof(L"EikAppUiServerThread")/2> EIKAPPUI_SERVER_THREAD_NAME={sizeof(L"EikAppUiServerThread")/2-1,L"EikAppUiServerThread"} ;
  9. const static TLitC<sizeof(L"EikAppUiServerStartSemaphore")/2> EIKAPPUI_SERVER_SEMAPHORE={sizeof(L"EikAppUiServerStartSemaphore")/2-1,L"EikAppUiServerStartSemaphore"} ;
  10. const TInt KEikSrvDefaultHeapSize=0x10000;
  11. const TInt KEikSrvDefaultMaxHeapSize=0x100000;
  12. enum TEikAppUiRanges
  13. {
  14. EFirstUnrestrictedOpcodeInEikAppUi
  15. };
  16. enum TEikUiOpCode
  17. {
  18. EEikAppUiFirst=EFirstUnrestrictedOpcodeInEikAppUi,
  19. EEikAppUiLaunchTaskList,
  20. EEikAppUiCycleTasks,
  21. EEikAppUiSetStatusPaneFlags,
  22. EEikAppUiSetStatusPaneLayout,
  23. EEikAppUiBlankScreen,
  24. EEikAppUiUnblankScreen,
  25. EEikAppUiResolveError,
  26. EEikAppUiExtension,
  27. EEikAppUiEnableTaskList,
  28. EEikAppUiFirstUnusedOpcode,
  29. };
  30. extern void PanicServer(TEikAppUiServPanic aPanic);
  31. #line 9 "C:\Symbian\9.1\S60_3rd\epoc32\include\eiksrvc.h" /* stack depth 5 */
  32. const TInt KNumConnectRetries=5;
  33. typedef TThreadFunction* (*EikSrvEntrypoint)();
  34. class REikAppUiSession : public RSessionBase
  35. {
  36. public:
  37. __declspec(dllexport) REikAppUiSession();
  38. __declspec(dllexport) TInt Connect();
  39. __declspec(dllexport) void Close();
  40. __declspec(dllexport) TVersion Version() const;
  41. __declspec(dllexport) void LaunchTaskList() const;
  42. __declspec(dllexport) void CycleTasks(TTaskCycleDirection aDirection) const;
  43. __declspec(dllexport) TInt SetStatusPaneFlags(TInt aFlags) const;
  44. __declspec(dllexport) TInt SetStatusPaneLayout(TInt aLayoutResId) const;
  45. __declspec(dllexport) TInt BlankScreen() const;
  46. __declspec(dllexport) TInt UnblankScreen() const;
  47. __declspec(dllexport) CEikonEnv::TErrorValidity ResolveError(TDes& aText,TInt aError,TUid aAppUid) const;
  48. __declspec(dllexport) void Extension(TUid aExtensionUid,const TDesC8& aBuffer,TRequestStatus& aRequestStatus) const;
  49. __declspec(dllexport) TInt GetInstalledFepName(TDes& aName) const;
  50. __declspec(dllexport) TInt SetInstalledFepName(const TDesC& aName, TBool aRaiseFileError) const;
  51. __declspec(dllexport) CColorList* GetSystemColorsL() const;
  52. __declspec(dllexport) void SetSystemColorsL(const CColorList& aColorList) const;
  53. __declspec(dllexport) TInt OpenFepAttributes() const;
  54. __declspec(dllexport) TInt GetFepAttribute(TUid aAttribUid, TDes8& aAttribData) const;
  55. __declspec(dllexport) TInt SetFepAttribute(TUid aAttribUid, const TDesC8& aAttribData) const;
  56. __declspec(dllexport) TInt CommitFepAttributes() const;
  57. __declspec(dllexport) void CloseFepAttributes() const;
  58. __declspec(dllexport) TInt EnableTaskList() const;
  59. __declspec(dllexport) virtual void REikAppUiSession_Reserved1();
  60. __declspec(dllexport) virtual void REikAppUiSession_Reserved2();
  61. private:
  62. class CExtension;
  63. void StartServerL();
  64. private:
  65. RLibrary iNotUsed;
  66. private:
  67. CExtension* iExtension;
  68. };
  69. #line 68
  70. extern void PanicServer(TEikAppUiServPanic aPanic);
  71. #line 18 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikspmod.h" /* stack depth 4 */
  72. class TResourceReader;
  73. class CEikStatusPaneLayoutTree;
  74. class CEikonEnv;
  75. class CAknSgcClient;
  76. const TInt KEikStatusPaneDirectionBit = 0x04;
  77. const TInt KEikStatusPaneHiddenBit = 0x08;
  78. const TInt KEikStatusPaneInitInitializedBit = 0x80000000;
  79. typedef TUid TPaneId;
  80. class TEikStatusPaneInit
  81. {
  82. public:
  83. TEikStatusPaneInit();
  84. TEikStatusPaneInit(const TEikStatusPaneInit& aCopy);
  85. TEikStatusPaneInit& operator=(const TEikStatusPaneInit& aCopy);
  86. inline TPaneId Id() const;
  87. void LoadDefaults(TResourceReader& aResource);
  88. inline TBool AppOwned() const;
  89. inline TInt ControlTypeId() const;
  90. inline TInt ControlResourceId() const;
  91. inline void SetHidden();
  92. inline void ClearHidden();
  93. inline TBool IsHidden() const;
  94. private:
  95. inline TBool Initialized();
  96. inline void SetInitialized();
  97. private:
  98. TPaneId iId;
  99. TInt iControlId;
  100. TInt iControlResource;
  101. TInt iFlags;
  102. };
  103. class CEikStatusPaneSetInit : public CArrayFixFlat<TEikStatusPaneInit>
  104. {
  105. public:
  106. static CEikStatusPaneSetInit* NewL();
  107. ~CEikStatusPaneSetInit();
  108. void LoadDefaultsL(TResourceReader& aResource);
  109. TEikStatusPaneInit& FindL(const TPaneId& aPaneId);
  110. private:
  111. CEikStatusPaneSetInit();
  112. };
  113. class MEikStatusPaneLayoutTreeVisitor
  114. {
  115. public:
  116. virtual void VisitL(CEikStatusPaneLayoutTree* aNode) = 0;
  117. };
  118. class CEikStatusPaneLayoutTree : public CBase
  119. {
  120. public:
  121. enum TDirection
  122. {
  123. EHorizontal,
  124. EVertical
  125. };
  126. public:
  127. ~CEikStatusPaneLayoutTree();
  128. static CEikStatusPaneLayoutTree* NewL(TResourceReader& aResource, TDirection aDefaultDirection = EHorizontal);
  129. CEikStatusPaneLayoutTree* Find(const TPaneId& aPaneId);
  130. void AcceptL(MEikStatusPaneLayoutTreeVisitor* aVisitor);
  131. inline TPaneId Id() const;
  132. inline TRect Rect() const;
  133. private:
  134. CEikStatusPaneLayoutTree(TDirection aDefaultDirection);
  135. void ConstructL(TResourceReader& aResource);
  136. void SetRect(const TRect& aRect);
  137. inline TDirection Direction();
  138. void SetDirection(TDirection aDirection);
  139. inline TInt Size();
  140. inline TBool Stretchable();
  141. void SetStretchable(TBool aStretchable);
  142. void Layout();
  143. #line 130
  144. void Layout(TInt aLayoutResourceId);
  145. #line 143
  146.     TRect AknLayoutRect(TInt aLayoutResourceId, TPaneId aPaneId);
  147. #line 153
  148.     void SetAknLayoutUsed(TBool aAknLayoutUsed);
  149. #line 163
  150.     TBool AknLayoutUsed();
  151. private:
  152. TPaneId iId;
  153. TInt iFlags;
  154. TRect iRect;
  155. TInt iSize;
  156. typedef CArrayPtrFlat<CEikStatusPaneLayoutTree> CSubPaneArray;
  157. CSubPaneArray* iSubPanes;
  158. private:
  159. friend class CEikStatusPaneLayout;
  160. };
  161. class CEikStatusPaneLayout : public CBase
  162. {
  163. public:
  164. static CEikStatusPaneLayout* NewL(TResourceReader& aResource, const TRect& aScreenRect);
  165. static CEikStatusPaneLayout* NewL(TResourceReader& aResource, const TRect& aScreenRect, TInt aLayoutId);
  166. ~CEikStatusPaneLayout();
  167. inline CEikStatusPaneLayoutTree* Find(const TPaneId& aPaneId) const;
  168. inline void AcceptL(MEikStatusPaneLayoutTreeVisitor* aVisitor);
  169. inline TRect Rect() const;
  170. #line 198
  171. void AknLayoutRefresh(TInt aLayoutResourceId);
  172. #line 209
  173.     TBool AknLayoutUsed();
  174. private:
  175. CEikStatusPaneLayout();
  176. void ConstructL(TResourceReader& aResource, const TRect& aScreenRect, TInt aLayoutId);
  177. private:
  178. CEikStatusPaneLayoutTree* iRoot;
  179. };
  180. class CEikStatusPaneModelBase : public CBase
  181. {
  182. public:
  183. __declspec(dllexport) ~CEikStatusPaneModelBase();
  184. inline CEikStatusPaneSetInit* PaneInits() const;
  185. __declspec(dllexport) virtual void SetLayoutL(TInt aLayoutResId, TBool aChangeStatusPaneNow = ETrue);
  186. inline CEikStatusPaneLayout* CurrentLayout() const;
  187. __declspec(dllexport) TInt CurrentLayoutResId() const;
  188. #line 238
  189. void AknLayoutRefresh();
  190. #line 250
  191. TBool AknLayoutUsed(TInt aLayoutId);
  192. protected:
  193. class CIdLayoutPair : public CBase
  194. {
  195. public:
  196. CIdLayoutPair(TInt aResId, CEikStatusPaneLayout* aLayout);
  197. ~CIdLayoutPair();
  198. public:
  199. TInt iResId;
  200. CEikStatusPaneLayout* iLayout;
  201. };
  202. typedef CArrayPtrFlat<CIdLayoutPair> CLayoutIdSet;
  203. typedef CArrayFixFlat<TInt> CIdSet;
  204. protected:
  205. __declspec(dllexport) CEikStatusPaneModelBase(CEikonEnv& aEikEnv);
  206. __declspec(dllexport) void BaseConstructL(TInt aCoreResId);
  207. __declspec(dllexport) CEikStatusPaneLayout* LoadLayoutL(TInt aLayoutResId);
  208. inline CIdSet* LegalIds() const;
  209. TBool IsLegalId(TInt aLayoutResId) const;
  210. private:
  211. CEikStatusPaneLayout* Layout(TInt aLayoutResId);
  212. void CheckLayoutL(CEikStatusPaneLayout* aLayout);
  213. private:
  214. __declspec(dllexport) virtual void Reserved_1();
  215. private:
  216. class TLayoutChecker : public MEikStatusPaneLayoutTreeVisitor
  217. {
  218. public:
  219. TLayoutChecker(CEikStatusPaneSetInit* aPanes);
  220. void VisitL(CEikStatusPaneLayoutTree* aNode);
  221. private:
  222. CEikStatusPaneSetInit* iPanes;
  223. };
  224. protected:
  225. CLayoutIdSet* iLayouts;
  226. TInt iCurrentResId;
  227. CEikonEnv& iEikEnv;
  228. private:
  229. CEikStatusPaneSetInit* iPanes;
  230. CEikStatusPaneLayout* iCurrentLayout;
  231. CIdSet* iLegalIds;
  232. };
  233. class CEikAppStatusPaneModel : public CEikStatusPaneModelBase
  234. {
  235. public:
  236. static CEikAppStatusPaneModel* NewL(CEikonEnv& aEikEnv, TInt aCoreResId, TInt aAppResId = 0 , TBool aChangeStatusPaneNow = ETrue);
  237. ~CEikAppStatusPaneModel();
  238. void ApplyCurrentLayoutL();
  239. public:
  240. void SetLayoutL(TInt aLayoutResId, TBool aChangeStatusPaneNow = ETrue);
  241. public:
  242. void SetLayoutL(TInt aLayoutResId, TBool aChangeStatusPaneNow, TBool aNotfiyServerSide);
  243. private:
  244. CEikAppStatusPaneModel(CEikonEnv& aEikEnv);
  245. void ConstructL(TInt aCoreResId, TInt aAppResId, TBool aChangeStatusPaneNow = ETrue);
  246. };
  247. inline TPaneId TEikStatusPaneInit::Id() const { return iId; }
  248. inline TBool TEikStatusPaneInit::AppOwned() const { return iFlags & 1 ; }
  249. inline TInt TEikStatusPaneInit::ControlTypeId() const { return iControlId; }
  250. inline TInt TEikStatusPaneInit::ControlResourceId() const { return iControlResource; }
  251. inline void TEikStatusPaneInit::SetHidden() {iFlags|=KEikStatusPaneHiddenBit;}
  252. inline void TEikStatusPaneInit::ClearHidden() {iFlags&=~KEikStatusPaneHiddenBit;}
  253. inline TBool TEikStatusPaneInit::IsHidden() const {return iFlags&KEikStatusPaneHiddenBit;}
  254. inline CEikStatusPaneLayoutTree* CEikStatusPaneLayout::Find(const TPaneId& aPaneId) const { return iRoot->Find(aPaneId); }
  255. inline void CEikStatusPaneLayout::AcceptL(MEikStatusPaneLayoutTreeVisitor* aVisitor) { iRoot->AcceptL(aVisitor); }
  256. inline TRect CEikStatusPaneLayout::Rect() const { return iRoot->Rect(); }
  257. inline TPaneId CEikStatusPaneLayoutTree::Id() const { return iId; }
  258. inline TRect CEikStatusPaneLayoutTree::Rect() const { return iRect; }
  259. inline CEikStatusPaneSetInit* CEikStatusPaneModelBase::PaneInits() const { return iPanes; }
  260. inline CEikStatusPaneLayout* CEikStatusPaneModelBase::CurrentLayout() const { return iCurrentLayout; }
  261. inline CEikStatusPaneModelBase::CIdSet* CEikStatusPaneModelBase::LegalIds() const { return iLegalIds; }
  262. #line 10 "C:\Symbian\9.1\S60_3rd\epoc32\include\Eikspane.h" /* stack depth 3 */
  263. #line 21
  264. class CCoeBrushAndPenContext;
  265. class CEikStatusPaneContainer;
  266. class TEikStatusPaneSyncDrawer;
  267. class CEikStatusPaneBaseExtension;
  268. class CAknStatuspaneClearer;
  269. const TInt KStatusPaneCapsPresentBit = 1;
  270. const TInt KStatusPaneCapsAppOwnedBit = 2;
  271. const TInt KStatusPaneCapsInCurrentLayoutBit = 4;
  272. #line 38
  273. class MEikStatusPaneObserver
  274. {
  275. public:
  276. virtual void HandleStatusPaneSizeChange() = 0;
  277. };
  278. class CEikStatusPaneBase : public CBase
  279. {
  280. public:
  281. class TPaneCapabilities
  282. {
  283. public:
  284. TPaneCapabilities();
  285. inline TBool IsPresent() const;
  286. inline TBool IsAppOwned() const;
  287. inline TBool IsInCurrentLayout() const;
  288. private:
  289. inline void SetPresent();
  290. inline void SetAppOwned();
  291. inline void SetInCurrentLayout();
  292. private:
  293. TInt iFlags;
  294. private:
  295. friend class CEikStatusPaneBase;
  296. };
  297. public:
  298. __declspec(dllexport) ~CEikStatusPaneBase();
  299. __declspec(dllexport) static CEikStatusPaneBase* Current();
  300. inline   void SetObserver(MEikStatusPaneObserver* aObserver);
  301. __declspec(dllexport) void ReduceRect(TRect& aBoundingRect) const;
  302. __declspec(dllexport) void GetShapeL(TRegion& aRegion, TBool aIncludeAppPanes, TBool aIncludeServerPanes) const;
  303. __declspec(dllexport) virtual void SwitchLayoutL(TInt aLayoutResourceId);
  304. __declspec(dllexport) virtual void MakeVisible(TBool aVisible);
  305. __declspec(dllexport) virtual void SetDimmed(TBool aDimmed);
  306. __declspec(dllexport) virtual void SetFaded(TBool aFaded);
  307. __declspec(dllexport) virtual void HandleResourceChange(TInt aType);
  308. __declspec(dllexport) virtual TBool OkToChangeStatusPaneNow();
  309. __declspec(dllexport) void SetFlags(TInt aFlags);
  310. __declspec(dllexport) TInt Flags() const;
  311. __declspec(dllexport) TBool IsVisible() const;
  312. __declspec(dllexport) TBool IsDimmed() const;
  313. __declspec(dllexport) TBool IsFaded() const;
  314. __declspec(dllexport) TPaneCapabilities PaneCapabilities(TPaneId aPaneId) const;
  315. __declspec(dllexport) TRect PaneRectL(TPaneId aPaneId) const;
  316. __declspec(dllexport) CCoeControl* ControlL(TPaneId aPaneId) const;
  317. __declspec(dllexport) CCoeControl* SwapControlL(TPaneId aPaneId, CCoeControl* aNewControl);
  318. __declspec(dllexport) CCoeControl* ContainerControlL(TPaneId aPaneId) const;
  319. inline RWindowGroup* WindowGroup() const;
  320. __declspec(dllexport) void DrawNow();
  321. __declspec(dllexport) TInt CurrentLayoutResId() const;
  322. protected:
  323. __declspec(dllexport) CEikStatusPaneBase(CEikonEnv& aEikEnv, RWindowGroup* aParent);
  324. __declspec(dllexport) void BaseConstructL(TInt aCoreResId);
  325. virtual CEikStatusPaneModelBase* CreateModelL(TInt aCoreResId) const = 0;
  326. void CreatePanesL();
  327. void CreatePaneL(const TEikStatusPaneInit& aPaneInit);
  328. CEikStatusPaneContainer* Find(TPaneId aPaneId) const;
  329. virtual TBool IsApp() const = 0;
  330. inline TRect Rect() const;
  331. enum TDrawCmd { ENoDraw, EDrawNow, EDrawDeferred };
  332. void DoDrawNow(TDrawCmd aDraw);
  333. CAknStatuspaneClearer* Clearer();
  334. __declspec(dllexport) void DisableClearer(TBool aDisabled);
  335. __declspec(dllexport) void CommonPrepareForAppExit();
  336. private:
  337. void DoSwitchLayoutL(TInt aLayoutResourceId, TDrawCmd aDraw);
  338. void ApplyLayoutL(CEikStatusPaneLayout* aLayout, TDrawCmd aDraw);
  339. void SetAllInvisible();
  340. void SetNotNeededInvisible();
  341. public:
  342.     void ReportSizeChange();
  343. private:
  344. class TSetRectAndVisibility : public MEikStatusPaneLayoutTreeVisitor
  345. {
  346. public:
  347. TSetRectAndVisibility(TBool aIsApp, CEikStatusPaneBase* aStatusPane);
  348. void VisitL(CEikStatusPaneLayoutTree* aNode);
  349. private:
  350. TBool iIsApp;
  351. CEikStatusPaneBase* iStatusPane;
  352. };
  353. friend class TSetRectAndVisibility;
  354. private:
  355.     void SetLastUsedResourceId(TInt aResourceId);
  356.     TInt LastUsedResourceId();
  357.     TInt ReadInitialUsedResourceIdL(TInt aCoreResId);
  358.     TInt InitialUsedResourceId();
  359.     TRect LargestBoundingRect(TRegion& aWholeRegion, TRegion& aRemovedRegion) const;
  360. protected:
  361.     void SetInitialUsedResourceId(TInt aResourceId);
  362. protected:
  363. CEikonEnv& iEikEnv;
  364. CEikStatusPaneModelBase* iModel;
  365. TInt iFlags;
  366. private:
  367. typedef CArrayPtrFlat<CEikStatusPaneContainer> CContainerControls;
  368. CContainerControls* iControls;
  369. MEikStatusPaneObserver* iObserver;
  370. RWindowGroup* iParentWindowGroup;
  371. CEikStatusPaneBaseExtension* iExtension;
  372. };
  373. class CEikStatusPane : public CEikStatusPaneBase, public MCoeForegroundObserver
  374. {
  375. public:
  376. __declspec(dllexport) static CEikStatusPane* NewL(CEikonEnv& aEikEnv, RWindowGroup* aParent, TInt aCoreStatusPaneModelResId, TInt aAppStatusPaneModelResId=0 );
  377. __declspec(dllexport) ~CEikStatusPane();
  378. __declspec(dllexport) void ApplyCurrentSettingsL();
  379. __declspec(dllexport) void PrepareForAppExit();
  380. __declspec(dllexport) virtual void MakeVisible(TBool aVisible);
  381. __declspec(dllexport) virtual void SetDimmed(TBool aDimmed);
  382. __declspec(dllexport) virtual void SetFaded(TBool aFaded);
  383. __declspec(dllexport) virtual void HandleResourceChange(TInt aType);
  384. __declspec(dllexport) virtual TBool OkToChangeStatusPaneNow();
  385. private:
  386. CEikStatusPane(CEikonEnv& aEikEnv, RWindowGroup* aParent, TInt aAppStatusPaneModelId);
  387. void ConstructL(TInt aCoreStatusPaneModelResId);
  388. virtual CEikStatusPaneModelBase* CreateModelL(TInt aCoreResId) const;
  389. TBool IsApp() const;
  390. void ApplyCurrentFlags();
  391. void HideAppPanes(TBool aHide);
  392. private:
  393. void HandleGainingForeground();
  394. void HandleLosingForeground();
  395. private:
  396.     TInt ReadInitialUsedResourceIdL(TInt aCoreResId, TInt aAppStatusPaneModelResId);
  397.     void DoHandleLosingForegroundL();
  398. private:
  399. TInt iAppDeclId;
  400. TEikStatusPaneSyncDrawer* iSyncDrawer;
  401. TInt iSpare;
  402. };
  403. #line 216
  404. inline TBool CEikStatusPaneBase::TPaneCapabilities::IsPresent() const { return iFlags & KStatusPaneCapsPresentBit; }
  405. inline TBool CEikStatusPaneBase::TPaneCapabilities::IsAppOwned() const { return iFlags & KStatusPaneCapsAppOwnedBit; }
  406. inline TBool CEikStatusPaneBase::TPaneCapabilities::IsInCurrentLayout() const { return iFlags & KStatusPaneCapsInCurrentLayoutBit; }
  407. inline void CEikStatusPaneBase::SetObserver(MEikStatusPaneObserver* aObserver) { iObserver = aObserver; }
  408. inline TRect CEikStatusPaneBase::Rect() const { return iModel->CurrentLayout()->Rect(); }
  409. inline RWindowGroup* CEikStatusPaneBase::WindowGroup() const { return iParentWindowGroup; }
  410. #line 25 "C:\Symbian\9.1\S60_3rd\epoc32\include\aknappui.h" /* stack depth 2 */
  411. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikcba.h" /* stack depth 3 */
  412. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikctgrp.h" /* stack depth 4 */
  413. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikbctrl.h" /* stack depth 5 */
  414. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\AknControl.h" /* stack depth 6 */
  415. #line 33
  416. class CAknControl : public CCoeControl
  417.   {
  418.   public:
  419.       __declspec(dllexport) CAknControl();
  420.       __declspec(dllexport) ~CAknControl();
  421.   private:
  422.       __declspec(dllexport) virtual void* ExtensionInterface( TUid aInterface );
  423.   private:
  424.       TInt iSpare[6];
  425.   };
  426. #line 17 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikbctrl.h" /* stack depth 5 */
  427. class CEikBorderedControl : public CAknControl
  428. {
  429. public:
  430. __declspec(dllexport) CEikBorderedControl();
  431. __declspec(dllexport) CEikBorderedControl(const TGulBorder& aBorder);
  432. public:
  433. __declspec(dllexport) TBool HasBorder() const;
  434. __declspec(dllexport) void SetAdjacent(TInt aAdjacent);
  435. __declspec(dllexport) void GetColorUseListL(CArrayFix<TCoeColorUse>& aColorUseList) const;
  436. __declspec(dllexport) void HandleResourceChange(TInt aType);
  437.     __declspec(dllexport) void HandlePointerEventL(const TPointerEvent& aPointerEvent);
  438. public:
  439. __declspec(dllexport) void SetBorder(TGulBorder::TBorderType aBorderType);
  440. __declspec(dllexport) void SetBorder(TInt aBorderType);
  441. __declspec(dllexport) TGulBorder Border() const;
  442. protected:
  443. __declspec(dllexport) void Draw(const TRect& aRect) const;
  444. __declspec(dllexport) void WriteInternalStateL(RWriteStream& aWriteStream) const;
  445. private:
  446.     __declspec(dllexport) void* ExtensionInterface( TUid aInterface );
  447. protected:
  448. TGulBorder iBorder;
  449. private:
  450.     TInt iSpare[2];
  451. };
  452. #line 10 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikctgrp.h" /* stack depth 4 */
  453. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\lafpublc.h" /* stack depth 5 */
  454. #line 25
  455. const TInt KLafScrollBarButtonPositionMask = 0x00C0;
  456. struct SLafScrollButton
  457. {
  458. enum TType
  459. {
  460. ENudgeLeft,
  461. ENudgeUp,
  462. ENudgeRight,
  463. ENudgeDown,
  464. EPageLeft,
  465. EPageUp,
  466. EPageRight,
  467. EPageDown,
  468. EHome,
  469. ETop,
  470. EEnd,
  471. EBottom
  472. };
  473. };
  474. struct SLafScrollBar
  475. {
  476. enum TEikScrollBarFlags
  477. {
  478. EEikScrollBarDefaultBehaviour =0x0000,
  479. EEikScrollBarNoNudgeButtons =0x0001,
  480. EEikScrollBarHasPageButtons =0x0002,
  481. EEikScrollBarHasHomeEndButtons  =0x0004,
  482. EEikScrollBarNoShaftOrThumb  =0x0008,
  483. EEikScrollBarShaftButNoThumb  =0x0010,
  484. EButtonsAtStartOfShaft   =0x0040,
  485. EButtonsAtEndOfShaft  =0x0080,
  486. EButtonsEitherSideOfShaft  =EButtonsAtStartOfShaft|EButtonsAtEndOfShaft,
  487. ENoAutoDimming =0x0100
  488. };
  489. enum TOrientation
  490. {
  491. EVertical,
  492. EHorizontal
  493. };
  494. };
  495. struct SLafListBox
  496. {
  497. enum TFlags
  498. {
  499. EMultipleSelection = 0x0001,
  500. ENoExtendedSelection = 0x0002,
  501. EIncrementalMatching = 0x0004,
  502. EPopout = 0x0008,
  503. ELeftDownInViewRect = 0x0010,
  504. EItemDoubleClicked = 0x0020,
  505. EKeepModel = 0x0040,
  506. EScrollBarSizeExcluded = 0x0080,
  507. EStateChanged = 0x0100,
  508. ECreateOwnWindow = 0x0200,
  509.         ENoFirstLetterMatching      = 0x0400,
  510. EPaintedSelection = 0x0800,
  511. ES60StyleMultiselection     = 0x00010000,
  512. ES60StyleMarkable           = 0x00020000
  513. };
  514.     enum TListItemAttribute
  515.         {
  516. ECurrent    = 0x0001,
  517. EEmphasized = 0x0002,
  518. ESelected   = 0x0004,
  519. EMask = 0x0007
  520.         };
  521. enum TListItemFlags
  522. {
  523. EItemDrawMarkSelection = 0x0001,
  524. EItemPaintedSelection = 0x0002,
  525. EItemDrawOnlyActiveSelection = 0x0004
  526. };
  527. };
  528. struct SLafScrollThumb
  529. {
  530. enum TOrientation
  531. {
  532. EVertical,
  533. EHorizontal
  534. };
  535. };
  536. struct SLafScrollBarFrame
  537. {
  538. enum TScrollBarVisibility
  539. {
  540. EOff,
  541. EOn,
  542. EAuto
  543. };
  544. enum TScrollBarSide
  545. {
  546. EBottomOrRight,
  547. ETopOrLeft
  548. };
  549. enum TScrollBarManagement
  550. {
  551. EComponent,
  552. EFloating,
  553. EApplicationScrollBar
  554. };
  555. };
  556. struct SLafControlGroup
  557. {
  558. enum TStartCorner
  559. {
  560. EFromTopLeft=0x1,
  561. EFromTopRight=0x2,
  562. EFromBottomLeft=0x3,
  563. EFromBottomRight=0x4
  564. };
  565. enum TOrientation
  566. {
  567. ELayHorizontally=0x10,
  568. ELayVertically=0x20
  569. };
  570. };
  571. struct SLafButtonGroupContainer
  572. {
  573. enum TUse
  574. {
  575. EView,
  576. EDialog,
  577. EToolbar,
  578. ECba,
  579. EDialogButtons
  580. };
  581. enum TOrientation
  582. {
  583. EVertical,
  584. EHorizontal
  585. };
  586. enum TLocation
  587. {
  588. EInternal,
  589. EExternal
  590. };
  591. };
  592. struct SLafMenuBar
  593. {
  594. enum { ENominalTextLength = 40 };
  595. };
  596. struct SLafMenuPane
  597. {
  598. enum THighlightType
  599. {
  600. ENoHighlight,
  601. EDrawHighlight,
  602. ERemoveHighlight
  603. };
  604. };
  605. struct SLafButtonBase
  606. {
  607. enum TDrawState
  608. {
  609. EDrawClear =0x00,
  610. EDrawSet =0x01,
  611. EDrawIndeterminate =0x02,
  612. EDrawClearPressed =0x10,
  613. EDrawSetPressed =0x11,
  614. EDrawIndeterminatePressed =0x12
  615. };
  616. };
  617. #line 13 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikctgrp.h" /* stack depth 4 */
  618. class TEikGroupControl
  619. {
  620. public:
  621. inline TEikGroupControl();
  622. inline TEikGroupControl(CCoeControl* aControl,TInt aId,TInt aLength,TInt aFlags);
  623. public:
  624. CCoeControl* iControl;
  625. TInt iId;
  626. TInt iLongId;
  627. public:
  628. inline TBool IsLengthSet() const;
  629. inline TInt Length() const;
  630. inline TBool IsStretchable() const;
  631. inline void SetLength(TInt aLength);
  632. inline void SetStretchable();
  633. public:
  634. enum TControlFlags
  635. {
  636. ESetLength =0x01,
  637. EAllowStretch =0x02
  638. };
  639. private:
  640. TInt iLength;
  641. TInt iFlags;
  642. };
  643. class CEikControlGroup : public CEikBorderedControl
  644. {
  645. friend class CTestControlGroup;
  646. friend class CEikCba;
  647. public:
  648. enum TStartCorner
  649. {
  650. EFromTopLeft=SLafControlGroup::EFromTopLeft,
  651. EFromTopRight=SLafControlGroup::EFromTopRight,
  652. EFromBottomLeft=SLafControlGroup::EFromBottomLeft,
  653. EFromBottomRight=SLafControlGroup::EFromBottomRight
  654. };
  655. enum TOrientation
  656. {
  657. ELayHorizontally=SLafControlGroup::ELayHorizontally,
  658. ELayVertically =SLafControlGroup::ELayVertically
  659. };
  660. public:
  661. __declspec(dllexport) CEikControlGroup();
  662. __declspec(dllexport) ~CEikControlGroup();
  663. __declspec(dllexport) void ConstructL(TStartCorner aStart,TOrientation aOrientation);
  664. __declspec(dllexport) virtual void AddControlL(CCoeControl* aControl,TInt aId);
  665. __declspec(dllexport) virtual void AddControlL(TEikGroupControl& aGroupControl);
  666. __declspec(dllexport) void InsertControlL(TEikGroupControl& aGroupControl,TInt aIndex);
  667. __declspec(dllexport) void DeleteControl(TInt aIndex,TInt aCount);
  668. __declspec(dllexport) void SetLengthInPixels(TInt aLength);
  669. __declspec(dllexport) void SetBreadthInPixels(TInt aBreadth);
  670. __declspec(dllexport) void SetControlSpacing(TInt aHSpacing,TInt aVSpacing);
  671. __declspec(dllexport) void SetControlLayout(TStartCorner aStart,TOrientation aOrientation);
  672. __declspec(dllexport) void SetNumberOfLines(TInt aNumLines,TBool aDistributeEvenly);
  673. __declspec(dllexport) void SetControlsAllSameSize();
  674. __declspec(dllexport) void LayoutControls();
  675. __declspec(dllexport) CCoeControl* ControlById(TInt aId) const;
  676. __declspec(dllexport) TInt IndexById(TInt aId) const;
  677. __declspec(dllexport) void Reset();
  678. __declspec(dllexport) TInt ControlId(CCoeControl* aControl) const;
  679. __declspec(dllexport) CCoeControl* Control(TInt aIndex) const;
  680. __declspec(dllexport) CArrayFix<TEikGroupControl> * ControlArray() const;
  681. __declspec(dllexport) TOrientation Orientation() const;
  682. __declspec(dllexport) void ControlSpacing(TInt& aHSpacing,TInt& aVSpacing) const;
  683. public:
  684. __declspec(dllexport) TSize MinimumSize();
  685.     __declspec(dllexport) TInt CountComponentControls() const;
  686. __declspec(dllexport) virtual void GetColorUseListL(CArrayFix<TCoeColorUse>& aColorUseList) const;
  687. __declspec(dllexport) virtual void HandleResourceChange(TInt aType);
  688.     __declspec(dllexport) void HandlePointerEventL(const TPointerEvent& aPointerEvent);
  689. protected:
  690. enum
  691. {
  692. EDistributeEvenly =0x40,
  693. EAllSameSize =0x80
  694. };
  695. protected:
  696.     __declspec(dllexport) CCoeControl* ComponentControl(TInt aIndex) const;
  697. __declspec(dllexport) void WriteInternalStateL(RWriteStream& aWriteStream) const;
  698. private:
  699. __declspec(dllexport) void Reserved_2();
  700. private:
  701.     __declspec(dllexport) void* ExtensionInterface( TUid aInterface );
  702. private:
  703. __declspec(dllexport) TInt Adjacent(TInt aRow,TInt aColumn,TInt aCtrlIndex,TInt aTotalRows,TInt aTotalColumns) const;
  704. __declspec(dllexport) TStartCorner StartCorner() const;
  705. __declspec(dllexport) void DeleteAllComponents();
  706. __declspec(dllexport) TSize ControlMinimumSize(TInt aIndex) const;
  707. __declspec(dllexport) TInt ControlMinimumLength(TInt aIndex);
  708. __declspec(dllexport) TSize LargestControlSize() const;
  709. __declspec(dllexport) TBool DistributeEvenly() const;
  710. __declspec(dllexport) TBool AllSameSize();
  711. private:
  712.     __declspec(dllexport) void SizeChanged();
  713. __declspec(dllexport) void Draw(const TRect& aRect) const;
  714. protected:
  715. CArrayFix<TEikGroupControl> * iControlArray;
  716. private:
  717. TInt iLayout;
  718. TInt iLines;
  719. TInt iHSpacing;
  720. TInt iVSpacing;
  721. TInt iBreadth;
  722. TInt iLength;
  723. TSize iLargestControl;
  724. };
  725. inline TEikGroupControl::TEikGroupControl()
  726. { iControl=0 ; iId=iFlags=iLength=0; }
  727. inline TEikGroupControl::TEikGroupControl(CCoeControl* aControl,TInt aId,TInt aLength,TInt aFlags)
  728. : iControl(aControl),iId(aId),iLength(aLength),iFlags(aFlags)
  729. {}
  730. inline TBool TEikGroupControl::IsLengthSet() const
  731. { return iFlags&ESetLength; }
  732. inline TInt TEikGroupControl::Length() const
  733. { return iLength; }
  734. inline TBool TEikGroupControl::IsStretchable() const
  735. { return iFlags&EAllowStretch; }
  736. inline void TEikGroupControl::SetLength(TInt aLength)
  737. { iLength=aLength; iFlags|=ESetLength; }
  738. inline void TEikGroupControl::SetStretchable()
  739. { iFlags|=EAllowStretch; }
  740. #line 10 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikcba.h" /* stack depth 3 */
  741. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikbtgrp.h" /* stack depth 4 */
  742. #line 13
  743. class CCoeControl;
  744. class CEikCommandButton;
  745. class CFbsBitmap;
  746. class MEikButtonGroup
  747. {
  748. public:
  749. void Release();
  750. virtual void SetCommandL(TInt aPosition,TInt aCommandId,const TDesC* aText,const CFbsBitmap* aBitmap,const CFbsBitmap* aMask)=0;
  751. virtual void SetCommandL(TInt aPosition,TInt aResourceId)=0;
  752. virtual void SetCommandSetL(TInt aResourceId)=0;
  753. virtual void AddCommandL(TInt aPosition,TInt aCommandId,const TDesC* aText,const CFbsBitmap* aBitmap,const CFbsBitmap* aMask)=0;
  754. virtual void AddCommandToStackL(TInt aPosition,TInt aCommandId,const TDesC* aText,const CFbsBitmap* aBitmap,const CFbsBitmap* aMask)=0;
  755. virtual void AddCommandToStackL(TInt aPosition,TInt aResourceId)=0;
  756. virtual void AddCommandSetToStackL(TInt aResourceId)=0;
  757. virtual void SetDefaultCommand(TInt aCommandId)=0;
  758. virtual TSize CalcMinimumSizeL(TInt aResourceId)=0;
  759. virtual void RemoveCommandFromStack(TInt aPosition,TInt aCommandId)=0;
  760. virtual TInt CommandPos(TInt aCommandId) const=0;
  761. virtual void DimCommand(TInt aCommandId,TBool aDimmed)=0;
  762. virtual TBool IsCommandDimmed(TInt aCommandId) const=0;
  763. virtual void MakeCommandVisible(TInt aCommandId,TBool aVisible)=0;
  764. virtual TBool IsCommandVisible(TInt aCommandId) const=0;
  765. __declspec(dllexport) virtual void AnimateCommand(TInt aCommandId);
  766. virtual CCoeControl* AsControl()=0;
  767. virtual const CCoeControl* AsControl() const=0;
  768. virtual void SetBoundingRect(const TRect& aBoundingRect)=0;
  769. virtual void ReduceRect(TRect& aBoundingRect) const=0;
  770. virtual CCoeControl* GroupControlById(TInt aCommandId) const=0;
  771. virtual CEikCommandButton* GroupControlAsButton(TInt aCommandId) const=0;
  772. virtual TInt CommandId(TInt aCommandPos) const=0;
  773. virtual TInt ButtonCount() const=0;
  774. virtual TUint ButtonGroupFlags() const=0;
  775. private:
  776. __declspec(dllexport) void Reserved_1();
  777. };
  778. class MEikEnhancedButtonGroup : public MEikButtonGroup
  779. {
  780. public:
  781. __declspec(dllexport) virtual void OfferCommandListL(const RArray<TInt>& aCommandList)=0;
  782. __declspec(dllexport) virtual void OfferCommandListL(const TInt aResourceId)=0;
  783. __declspec(dllexport) virtual TBool IsCommandInGroup(const TInt aCommandId) const=0;
  784. __declspec(dllexport) virtual void ReplaceCommand(const TInt aCommandId, const TInt aResourceId)=0;
  785. };
  786. #line 18 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikcba.h" /* stack depth 3 */
  787. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\eiksbobs.h" /* stack depth 4 */
  788. #line 12
  789. enum TEikScrollEvent
  790. {
  791. EEikScrollLeft=1,
  792. EEikScrollUp,
  793. EEikScrollRight,
  794. EEikScrollDown,
  795. EEikScrollPageLeft,
  796. EEikScrollPageUp,
  797. EEikScrollPageRight,
  798. EEikScrollPageDown,
  799. EEikScrollHome,
  800. EEikScrollTop,
  801. EEikScrollEnd,
  802. EEikScrollBottom,
  803. EEikScrollThumbDragHoriz,
  804. EEikScrollThumbDragVert,
  805. EEikScrollThumbReleaseHoriz,
  806. EEikScrollThumbReleaseVert
  807. };
  808. class CEikScrollBar;
  809. class MEikScrollBarObserver
  810. {
  811. public:
  812. virtual void HandleScrollEventL(CEikScrollBar* aScrollBar, TEikScrollEvent aEventType)=0;
  813. };
  814. #line 22 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikcba.h" /* stack depth 3 */
  815. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\eiksbfrm.h" /* stack depth 4 */
  816. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\aknscrlb.h" /* stack depth 5 */
  817. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikscrlb.h" /* stack depth 6 */
  818. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\aknscbut.h" /* stack depth 7 */
  819. #line 31
  820. class CAknScrollIndicator;
  821. class CAknScrollButton : public CAknControl
  822. {
  823. public:
  824. enum TType
  825. {
  826. ENudgeLeft,
  827. ENudgeUp,
  828. ENudgeRight,
  829. ENudgeDown,
  830. EPageLeft,
  831. EPageUp,
  832. EPageRight,
  833. EPageDown,
  834. EHome,
  835. ETop,
  836. EEnd,
  837. EBottom
  838. };
  839. public:
  840. enum TTypeOfScrollBar
  841. {
  842. ENormal =0x00,
  843. EArrowHead =0x01
  844. };
  845. public:
  846. __declspec(dllexport) static CAknScrollButton* NewL(TType aType);
  847. __declspec(dllexport) ~CAknScrollButton();
  848. __declspec(dllexport) TType Type() const;
  849. __declspec(dllexport) void CreateWindowOnlyForArrowsL(const CCoeControl* aParent);
  850. __declspec(dllexport) TBool IsNormalScrollBarUsingButton() const;
  851. __declspec(dllexport) void SetTypeOfScrollBarUsingButton(TTypeOfScrollBar aTypeOfScrollBar);
  852. __declspec(dllexport) void SetPosition(const TInt aFocusPosition, const TInt aScrollSpan);
  853. #line 138
  854. __declspec(dllexport) static CAknScrollButton* NewL(TType aType, TTypeOfScrollBar aTypeOfScrollBar);
  855. private:
  856. CAknScrollButton(TType aType);
  857. void ConstructL();
  858. void SizeChanged();
  859. void DrawIndicator() const;
  860. void ConstructL(TTypeOfScrollBar aTypeOfScrollBar);
  861. private:
  862. virtual void Draw(const TRect& aRect) const;
  863. private:
  864. friend class CAknScrollBar;
  865. TType iType;
  866. TInt iFlag;
  867. CAknScrollIndicator* iScrollIndicator;
  868. TRect iOldRect;
  869. };
  870. #line 18 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikscrlb.h" /* stack depth 6 */
  871. class CEikCba;
  872. class CAknDoubleSpanScrollIndicator;
  873. class CEikScrollBarExtensionImpl;
  874. class CEikScrollBarExtension;
  875. class CAknDoubleSpanScrollBarExtension;
  876. const TInt KEikScrollEventFromVBar=0;
  877. const TInt KEikScrollEventFromHBar=0x01;
  878. const TInt KEikScrollEventBarMask=0x01;
  879. const TInt KButtonPositionMask=KLafScrollBarButtonPositionMask;
  880. const TInt KDisplayComponentsMask=0x1f;
  881. class TEikScrollBarModel
  882. {
  883. public:
  884. inline TEikScrollBarModel();
  885. __declspec(dllexport) TEikScrollBarModel(TInt aScrollSpan,TInt aThumbSpan=0,TInt aThumbPosition=0);
  886. __declspec(dllexport) TBool operator==(const TEikScrollBarModel aModel) const;
  887. inline TBool operator!=(const TEikScrollBarModel aModel) const;
  888. public:
  889. __declspec(dllexport) TBool ScrollBarUseful() const;
  890. __declspec(dllexport) TInt MaxThumbPos() const;
  891. __declspec(dllexport) void CheckBounds();
  892.     enum TEikScrollBarModelType
  893. {
  894. EEikScrollBarModel               = 0x00000000,
  895. EAknDoubleSpanScrollBarModel     = 0x80000000
  896. };
  897.     TEikScrollBarModel::TEikScrollBarModelType ScrollBarModelType() const;
  898. public:
  899. TInt iScrollSpan;
  900. TInt iThumbSpan;
  901. TInt iThumbPosition;
  902. };
  903. inline TEikScrollBarModel::TEikScrollBarModel() {}
  904. inline TBool TEikScrollBarModel::operator!=(const TEikScrollBarModel aModel) const { return !(*this==aModel); }
  905. #line 81
  906. class TAknDoubleSpanScrollBarModel : public TEikScrollBarModel
  907. {
  908. public:
  909.     __declspec(dllexport) TAknDoubleSpanScrollBarModel();
  910. #line 117
  911.     __declspec(dllexport) TAknDoubleSpanScrollBarModel(const TEikScrollBarModel& aEikModel);
  912. #line 143
  913.     __declspec(dllexport) void SetScrollSpan(TInt aValue);
  914.     __declspec(dllexport) void SetFocusPosition(TInt aValue);
  915.     __declspec(dllexport) void SetWindowSize(TInt aValue);
  916.     __declspec(dllexport) void SetFieldSize(TInt aValue);
  917.     __declspec(dllexport) void SetFieldPosition(TInt aValue);
  918. #line 162
  919.     __declspec(dllexport) TInt ScrollSpan() const;
  920.     __declspec(dllexport) TInt FocusPosition() const;
  921.     __declspec(dllexport) TInt WindowSize() const;
  922.     __declspec(dllexport) TInt FieldSize() const;
  923.     __declspec(dllexport) TInt FieldPosition() const;
  924. #line 187
  925.     static TBool ModelIsSupported();
  926. private:
  927.     TUint16 Scale() const;
  928. #line 206
  929.     void SetScale(TUint16 aScale);
  930. private:
  931.     TInt16 ScrollSpanValue() const;
  932.     TInt16 FocusPositionValue() const;
  933.     TInt16 FieldPositionValue() const;
  934.     TInt16 FieldSizeValue() const;
  935.     TInt16 WindowSizeValue() const;
  936. #line 229
  937.     void SetScrollSpanValue(TInt16 aValue);
  938.     void SetFocusPositionValue(TInt16 aValue);
  939.     void SetFieldPositionValue(TInt16 aValue);
  940.     void SetFieldSizeValue(TInt16 aValue);
  941.     void SetWindowSizeValue(TInt16 aValue);
  942. #line 242
  943.     TInt16 LowBytes(TInt aInt) const;
  944. #line 251
  945.     TInt16 HighBytes(TInt aInt) const;
  946. #line 261
  947.     void SetLowBytes(TInt& aInt, TInt16 aValue);
  948. #line 270
  949.     void SetHighBytes(TInt& aInt, TInt16 aValue);
  950. #line 281
  951.     TInt16 PrepareScaledValue(TInt aNonScaledValue);
  952. #line 291
  953.     void ReScale(TUint16 aNewScale);
  954. #line 301
  955.     void SetScrollBarModelType(TEikScrollBarModelType aModelType);
  956. #line 312
  957.     TInt CheckMinMaxValue(TInt aValue);
  958.     };
  959. class CEikScrollThumb;
  960. class CEikScrollBarFrame;
  961. class CEikScrollBar : public CEikBorderedControl, public MCoeControlObserver
  962. {
  963. friend class CEikScrollBarExtension;
  964. friend class CAknDoubleSpanScrollBarExtension;
  965. public:
  966. enum TOrientation
  967. {
  968. EVertical = SLafScrollBar::EVertical,
  969. EHorizontal = SLafScrollBar::EHorizontal
  970. };
  971. enum TScrollBarType
  972. {
  973. ENormalScrollBar =0x0,
  974. EArrowHead =0x200,
  975. EDoubleSpan =0x400
  976. };
  977. enum TEikScrollBarFlags
  978. {
  979. EEikScrollBarDefaultBehaviour   =SLafScrollBar::EEikScrollBarDefaultBehaviour,
  980. EEikScrollBarNoNudgeButtons =SLafScrollBar::EEikScrollBarNoNudgeButtons,
  981. EEikScrollBarHasPageButtons =SLafScrollBar::EEikScrollBarHasPageButtons,
  982. EEikScrollBarHasHomeEndButtons =SLafScrollBar::EEikScrollBarHasHomeEndButtons,
  983. EEikScrollBarNoShaftOrThumb =SLafScrollBar::EEikScrollBarNoShaftOrThumb,
  984. EEikScrollBarShaftButNoThumb =SLafScrollBar::EEikScrollBarShaftButNoThumb,
  985. EButtonsAtStartOfShaft =SLafScrollBar::EButtonsAtStartOfShaft,
  986. EButtonsAtEndOfShaft =SLafScrollBar::EButtonsAtEndOfShaft,
  987. EButtonsEitherSideOfShaft =SLafScrollBar::EButtonsEitherSideOfShaft,
  988. ENoAutoDimming =SLafScrollBar::ENoAutoDimming
  989. };
  990. typedef TEikScrollBarFlags TAknScrollBarFlags;
  991. public:
  992. __declspec(dllexport) ~CEikScrollBar();
  993. __declspec(dllexport) CEikScrollBar();
  994. public:
  995. __declspec(dllexport) virtual void ConstructL(MEikScrollBarObserver* aScrollBarObserver,const CCoeControl* aParent,
  996. TOrientation aOrientation,TInt aLength,TInt aScrollBarFlags=EEikScrollBarDefaultBehaviour);
  997. __declspec(dllexport) void SetLengthL(TInt aLength);
  998. __declspec(dllexport) void SetModelL(const TEikScrollBarModel* aModel);
  999. __declspec(dllexport) void SetModel(const TEikScrollBarModel* aModel);
  1000. __declspec(dllexport) void SetLengthAndModelL(TInt aLength,const TEikScrollBarModel* aModel);
  1001. __declspec(dllexport) void SetModelThumbPosition(TInt aThumbPos);
  1002. __declspec(dllexport) void SetFocusPosToThumbPos(TInt aFocusPosition);
  1003. __declspec(dllexport) static TInt DefaultScrollBarBreadth();
  1004. #line 387
  1005.     void SetScrollBarObserver(MEikScrollBarObserver* aScrollBarObserver);
  1006. inline const TEikScrollBarModel* Model() const;
  1007. __declspec(dllexport) TInt ThumbPosition() const;
  1008. __declspec(dllexport) TInt ScrollBarBreadth() const;
  1009. __declspec(dllexport) static TInt MinVisibleLength(const TInt aScrollBarFlags);
  1010. __declspec(dllexport) void SetDecreaseButtonsDimmed(TBool aDimmed);
  1011. __declspec(dllexport) void SetIncreaseButtonsDimmed(TBool aDimmed);
  1012. __declspec(dllexport) void SetAllButtonsDimmed(TBool aDimmed);
  1013. inline CAknScrollButton* IncreaseNudgeButton() const;
  1014. inline CAknScrollButton* DecreaseNudgeButton() const;
  1015. __declspec(dllexport) void SetContainingCba(CEikCba* aCba);
  1016. __declspec(dllexport) void MakeVisible(TBool aVisible);
  1017.     __declspec(dllexport) void HandlePointerEventL(const TPointerEvent& aPointerEvent);
  1018. protected:
  1019. __declspec(dllexport) CCoeControl* ComponentControl(TInt aIndex) const;
  1020. __declspec(dllexport) TInt CountComponentControls() const;
  1021. private:
  1022. __declspec(dllexport) virtual void HandleControlEventL(CCoeControl* aControl, TCoeEvent aEventType);
  1023. private:
  1024. __declspec(dllexport) virtual void Reserved_2();
  1025. private:
  1026.     __declspec(dllexport) void* ExtensionInterface( TUid aInterface );
  1027. protected:
  1028. friend class CEikScrollBarFrame;
  1029. enum TPrivateScrollBarFlags
  1030. {
  1031. ENoComponentsToDisplay          =0x10000,
  1032. EIncreaseButtonsDimmed          =0x20000,
  1033. EDecreaseButtonsDimmed          =0x40000
  1034. };
  1035. enum TPointerDownOn
  1036. {
  1037. ENone,
  1038. EHomeButton,
  1039. EDecreasePageButton,
  1040. EDecreaseNudgeButton,
  1041. EDecreaseShaft,
  1042. EThumb,
  1043. EIncreaseShaft,
  1044. EIncreaseNudgeButton,
  1045. EIncreasePageButton,
  1046. EEndButton
  1047. };
  1048. enum TShaftRedrawRequired
  1049. {
  1050. ENoRedrawRequired,
  1051. ERedrawShaft
  1052. };
  1053. enum TWhichButtons
  1054. {
  1055. EIncreaseOnly,
  1056. EDecreaseOnly,
  1057. EAll
  1058. };
  1059. struct SEikScrollBarButtons
  1060. {
  1061. CAknScrollButton* iDecreaseNudge;
  1062. CAknScrollButton* iIncreaseNudge;
  1063. };
  1064. private:
  1065. __declspec(dllexport) virtual void CreateButtonL(CAknScrollButton*& aButton,CAknScrollButton::TType aType);
  1066. void SizeChanged();
  1067. void DoSetModel(const TEikScrollBarModel* aModel);
  1068. CEikCba* Cba() const;
  1069. void AddExternalFrameL(CEikScrollBarFrame* aFrame);
  1070. void RemoveExternalFrame(CEikScrollBarFrame* aFrame);
  1071. void DisconnectExternalFrames();
  1072. protected:
  1073. void CreateRequiredComponentsL();
  1074. void DestroyButton(CAknScrollButton*& aButton);
  1075. __declspec(dllexport) virtual void SetButtonPositionL(CAknScrollButton* aButton);
  1076. public:
  1077.     TScrollBarType ScrollBarType();
  1078. public:
  1079. TDblQueLink iSBLink;
  1080. protected:
  1081. SEikScrollBarButtons iButtons;
  1082. TOrientation iOrientation;
  1083. private:
  1084. TEikScrollBarModel iModel;
  1085. protected:
  1086.     CEikScrollBarExtensionImpl* iExtension;
  1087.   };
  1088. #line 512
  1089. class CEikArrowHeadScrollBar : public CEikScrollBar
  1090. {
  1091. public:
  1092. __declspec(dllexport) CEikArrowHeadScrollBar(CCoeControl* aParentWindow);
  1093. __declspec(dllexport) ~CEikArrowHeadScrollBar();
  1094. public:
  1095. __declspec(dllexport) void ConstructL(MEikScrollBarObserver* aScrollBarObserver,const CCoeControl* aParent,
  1096. TOrientation aOrientation,TInt aLength,TInt aScrollBarFlags=EEikScrollBarDefaultBehaviour);
  1097. public:
  1098.     __declspec(dllexport) void HandlePointerEventL(const TPointerEvent& aPointerEvent);
  1099. private:
  1100. void CreateButtonL(CAknScrollButton*& aButton,CAknScrollButton::TType aType);
  1101. void SetButtonPositionL(CAknScrollButton* aButton);
  1102. private:
  1103. private:
  1104.     __declspec(dllexport) void* ExtensionInterface( TUid aInterface );
  1105. private:
  1106. CCoeControl* iParentControl;
  1107.     TInt iSpare;
  1108. };
  1109. #line 551
  1110. class CAknDoubleSpanScrollBar : public CEikScrollBar
  1111. {
  1112. public:
  1113. __declspec(dllexport) CAknDoubleSpanScrollBar(CCoeControl* aParentWindow);
  1114. __declspec(dllexport) ~CAknDoubleSpanScrollBar();
  1115. #line 565
  1116.     __declspec(dllexport) void SetFixedLayoutRect(TRect aScrollBarRect);
  1117. #line 579
  1118.     __declspec(dllexport) void ConstructL(TBool aWindowOwning, MEikScrollBarObserver* aScrollBarObserver,const CCoeControl* aParent,
  1119. TOrientation aOrientation,TInt aLength,TInt aScrollBarFlags=EEikScrollBarDefaultBehaviour);
  1120.     TRect FixedLayoutRect();
  1121. public:
  1122. __declspec(dllexport) void ConstructL(MEikScrollBarObserver* aScrollBarObserver,const CCoeControl* aParent,
  1123. TOrientation aOrientation,TInt aLength,TInt aScrollBarFlags=EEikScrollBarDefaultBehaviour);
  1124.     __declspec(dllexport) void MakeVisible(TBool aVisible);
  1125. public:
  1126.     __declspec(dllexport) void HandlePointerEventL(const TPointerEvent& aPointerEvent);
  1127. protected:
  1128. __declspec(dllexport) CCoeControl* ComponentControl(TInt aIndex) const;
  1129.     __declspec(dllexport) TInt CountComponentControls() const;
  1130. private:
  1131.     __declspec(dllexport) void SizeChanged();
  1132. private:
  1133.     __declspec(dllexport) void* ExtensionInterface( TUid aInterface );
  1134. private:
  1135. void CreateButtonL(CAknScrollButton*& aButton,CAknScrollButton::TType aType);
  1136. void SetButtonPositionL(CAknScrollButton* aButton);
  1137. #line 619
  1138.     void SetTransparentBackground(TBool aTransparentBackground);
  1139. private:
  1140. CCoeControl* iParentControl;
  1141.     TInt iSpare;
  1142. };
  1143. inline const TEikScrollBarModel* CEikScrollBar::Model() const
  1144. { return &iModel; }
  1145. inline CAknScrollButton* CEikScrollBar::IncreaseNudgeButton() const
  1146. { return iButtons.iIncreaseNudge; }
  1147. inline CAknScrollButton* CEikScrollBar::DecreaseNudgeButton() const
  1148. { return iButtons.iDecreaseNudge; }
  1149. #line 10 "C:\Symbian\9.1\S60_3rd\epoc32\include\aknscrlb.h" /* stack depth 5 */
  1150. #line 11 "C:\Symbian\9.1\S60_3rd\epoc32\include\eiksbfrm.h" /* stack depth 4 */
  1151. class CEikCba;
  1152. class TEikScrollBarFrameLayout
  1153. {
  1154. public:
  1155. enum TTilingMode
  1156. {
  1157. EClientRectConstant,
  1158. EInclusiveRectConstant
  1159. };
  1160. public:
  1161. __declspec(dllexport) TEikScrollBarFrameLayout();
  1162. __declspec(dllexport) void SetInclusiveMargin(TInt aMargin);
  1163. __declspec(dllexport) void SetClientMargin(TInt aMargin);
  1164. public:
  1165. TMargins iInclusiveMargin;
  1166. TMargins iClientMargin;
  1167. TSize iClientAreaGranularity;
  1168. TTilingMode iTilingMode;
  1169. };
  1170. class CEikCornerWindow;
  1171. class CEikScrollBarFrameExtension;
  1172. class CEikScrollBarFrame : public CBase
  1173. {
  1174. public:
  1175. enum { ETypeId = 0x101F8672 };
  1176. enum TScrollBarVisibility
  1177. {
  1178. EOff,
  1179. EOn,
  1180. EAuto
  1181. };
  1182. enum TScrollBarType
  1183. {
  1184. ENormalScrollBar =0x0,
  1185. EArrowHead =0x200,
  1186. EDoubleSpan =0x400
  1187. };
  1188. enum TScrollBarSide
  1189. {
  1190. EBottomOrRight =0x0,
  1191. ETopOrLeft =0x800
  1192. };
  1193. enum TScrollBarManagement
  1194. {
  1195. EComponent ,
  1196. EFloating ,
  1197. EApplicationScrollBar
  1198. };
  1199. enum TScrollBarFrameFlags
  1200. {
  1201. EHVisible =0x01,
  1202. EVVisible =0x02,
  1203. };
  1204. private:
  1205. enum TMarginsAdjustmentMode
  1206. {
  1207. EGrow,
  1208. EShrink
  1209. };
  1210. public:
  1211. CEikScrollBarFrame(){}
  1212. __declspec(dllexport) CEikScrollBarFrame(CCoeControl* aParentWindow, MEikScrollBarObserver* aObserver, TBool aPreAlloc=EFalse);
  1213. __declspec(dllexport) ~CEikScrollBarFrame();
  1214. CEikScrollBarFrame(CCoeControl* aParentWindow, MEikScrollBarObserver* aObserver, TBool aPreAlloc, TBool aDoubleSpan);
  1215.     void InitExtension(CCoeControl* aParentWindow, MEikScrollBarObserver* aObserver);
  1216. __declspec(dllexport) void DrawScrollBarsNow() const;
  1217.     __declspec(dllexport) void SetScrollBarVisibilityL(TScrollBarVisibility aHVisibility, TScrollBarVisibility aVVisibility);
  1218. #line 132
  1219.     inline TScrollBarVisibility VScrollBarVisibility() const;
  1220. #line 141
  1221. __declspec(dllexport) void SetScrollBarFrameObserver(MEikScrollBarObserver* aObserver);
  1222. #line 153
  1223.     __declspec(dllexport) TBool Tile(TEikScrollBarModel* aVModel);
  1224. #line 181
  1225.     __declspec(dllexport) TBool TileL(TEikScrollBarModel* aHModel, TEikScrollBarModel* aVModel,
  1226.   TRect& aClientRect, TRect& aInclusiveRect, const TEikScrollBarFrameLayout& aLayout);
  1227. #line 196
  1228.     __declspec(dllexport) void MoveThumbsBy(TInt aDeltaX, TInt aDeltaY);
  1229. #line 207
  1230. __declspec(dllexport) void MoveHorizThumbTo(TInt aHorizThumbPos);
  1231. #line 218
  1232.     __declspec(dllexport) void MoveVertThumbTo(TInt aVertThumbPos);
  1233. #line 228
  1234.     __declspec(dllexport) void SetVFocusPosToThumbPos(TInt aFocusPosition);
  1235. #line 237
  1236.   __declspec(dllexport) TInt ScrollBarBreadth(CEikScrollBar::TOrientation aOrientation) const;
  1237. #line 246
  1238.     __declspec(dllexport) void SetAdjustsHorizontalModel(TBool aAdjusts);
  1239.     __declspec(dllexport) void SetAdjustsVerticalModel(TBool aAdjusts);
  1240. #line 263
  1241.     inline void SetScrollBarFrameFlags(TInt aMask);
  1242. #line 272
  1243.     __declspec(dllexport) TBool ScrollBarExists(CEikScrollBar::TOrientation aOrientation) const;
  1244. #line 282
  1245.     __declspec(dllexport) TInt CountComponentControls() const;
  1246. #line 291
  1247.     __declspec(dllexport) CCoeControl* ComponentControl(TInt aIndex) const;
  1248.     __declspec(dllexport) CEikScrollBar* GetScrollBarHandle(CEikScrollBar::TOrientation aOrientation) const;
  1249.     __declspec(dllexport) CEikScrollBar* VerticalScrollBar() const;
  1250. #line 315
  1251.     __declspec(dllexport) void SetTypeOfHScrollBar(TScrollBarType aType);
  1252. #line 324
  1253.     __declspec(dllexport) void SetTypeOfVScrollBar(TScrollBarType aType);
  1254.     __declspec(dllexport) TScrollBarType TypeOfHScrollBar() const;
  1255. __declspec(dllexport) TScrollBarType TypeOfVScrollBar() const;
  1256.     __declspec(dllexport) TBool IsArrowHeadScrollBar(TInt aFlag) const;
  1257. #line 356
  1258. void DisconnectExternalScrollBar(CEikScrollBar* aScrollBar);
  1259. #line 397
  1260.     __declspec(dllexport) void CreateDoubleSpanScrollBarsL(TBool aWindowOwning, TBool aRemote);
  1261. #line 421
  1262.     __declspec(dllexport) void CreateDoubleSpanScrollBarsL(TBool aWindowOwning, TBool aRemote, TBool aVertical, TBool aHorizontal);
  1263. #line 438
  1264.     __declspec(dllexport) void Tile(TEikScrollBarModel* aVModel, TRect& aVScrollBar);
  1265. #line 448
  1266. __declspec(dllexport) void Tile(TEikScrollBarModel* aHModel, TEikScrollBarModel* aVModel);
  1267. #line 462
  1268. __declspec(dllexport) TScrollBarVisibility ScrollBarVisibility(CEikScrollBar::TOrientation aOrientation) const;
  1269. public:
  1270.     CEikScrollBar* HorizontalScrollBar() const;
  1271. protected:
  1272. void SetParentWindow(CCoeControl* aParentWindow);
  1273. CCoeControl* ParentWindow() const;
  1274. protected:
  1275. struct SBarData
  1276. {
  1277. CEikScrollBar * iBar;
  1278. TEikScrollBarModel iModel;
  1279. TScrollBarVisibility iVisibility;
  1280. TBool iExternalScrollBarAttached;
  1281. };
  1282. private:
  1283. void CalcTheoreticalScrollBarVisibility(const TEikScrollBarModel* aVModel);
  1284. void ApplyModel(SBarData& aSBar);
  1285. void MakeSBarVisible(SBarData& aSBar, TBool aVisible);
  1286. void GetScrollBars(TBool aDoubleSpan);
  1287. CEikCba* GetCurrentCba();
  1288.     void DeleteScrollBars();
  1289.     void CreateArrowHeadScrollBarsL();
  1290.     void CalcTheoreticalScrollBarVisibility(const TEikScrollBarModel* aVModel, const TEikScrollBarModel* aHModel);
  1291. protected:
  1292. SBarData iV;
  1293. private:
  1294.     CEikScrollBarFrameExtension* iExtension;
  1295.     TInt iScrollBarFrameFlags;
  1296.     friend class CEikScrollBarFrameExtension;
  1297. };
  1298. inline CEikScrollBarFrame::TScrollBarVisibility CEikScrollBarFrame::VScrollBarVisibility() const
  1299. { return iV.iVisibility; }
  1300. inline void CEikScrollBarFrame::SetScrollBarFrameFlags(TInt aMask)
  1301. { iScrollBarFrameFlags|=aMask; }
  1302. class CEikCbaScrollBarFrame : public CEikScrollBarFrame
  1303. {
  1304. public:
  1305. CEikCbaScrollBarFrame(CCoeControl* aParentWindow, MEikScrollBarObserver* aObserver, TBool aPreAlloc=EFalse);
  1306. void ConstructL();
  1307. void SwitchToArrowHeadScrollBarL();
  1308. };
  1309. #line 26 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikcba.h" /* stack depth 3 */
  1310. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikimage.h" /* stack depth 4 */
  1311. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikalign.h" /* stack depth 5 */
  1312. #line 23
  1313. class CEikAlignedControl : public CAknControl
  1314. {
  1315. public:
  1316. __declspec(dllexport) CEikAlignedControl();
  1317. __declspec(dllexport) ~CEikAlignedControl();
  1318. __declspec(dllexport) void SetAllMarginsTo(TInt aValue);
  1319. __declspec(dllexport) void SetAlignment(TGulAlignmentValue aAlign);
  1320. public:
  1321.     __declspec(dllexport) void HandlePointerEventL(const TPointerEvent& aPointerEvent);
  1322. protected:
  1323. __declspec(dllexport) void WriteInternalStateL(RWriteStream& aWriteStream) const;
  1324. private:
  1325.     __declspec(dllexport) void* ExtensionInterface( TUid aInterface );
  1326. public:
  1327. TMargins8 iMargin;
  1328. TGulAlignment iAlignment;
  1329. private:
  1330.     TInt iSpare[2];
  1331. };
  1332. #line 10 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikimage.h" /* stack depth 4 */
  1333. class CFbsBitmap;
  1334. class CBitmapContext;
  1335. class CEikImage : public CEikAlignedControl
  1336. {
  1337. public:
  1338. __declspec(dllexport) CEikImage();
  1339. __declspec(dllexport) ~CEikImage();
  1340. public:
  1341. __declspec(dllexport) TSize MinimumSize();
  1342. __declspec(dllexport) void ConstructFromResourceL(TResourceReader& aReader);
  1343. public:
  1344. __declspec(dllexport) void CreatePictureFromFileL(const TDesC& aFilename,TInt aMainId,TInt aMaskId=-1);
  1345. __declspec(dllexport) void SetPicture(const CFbsBitmap* aBitmap,const CFbsBitmap* aMaskBitmap=0 );
  1346. __declspec(dllexport) void SetEmphasis(TBool aEmphasis);
  1347. __declspec(dllexport) void SetPictureOwnedExternally(TBool aOwnership);
  1348. __declspec(dllexport) const CFbsBitmap* Bitmap() const;
  1349. __declspec(dllexport) const CFbsBitmap* Mask() const;
  1350. __declspec(dllexport) void SetBitmap(const CFbsBitmap* aBitmap);
  1351. __declspec(dllexport) void SetMask(const CFbsBitmap* aMaskBitmap);
  1352.     __declspec(dllexport) void SetNewBitmaps(const CFbsBitmap* aNewBitmap,const CFbsBitmap* aNewMask);
  1353.     __declspec(dllexport) TBool IsPictureOwnedExternally();
  1354. __declspec(dllexport) void SetBrushStyle(CGraphicsContext::TBrushStyle aBrushStyle);
  1355. public:
  1356.     __declspec(dllexport) void HandlePointerEventL(const TPointerEvent& aPointerEvent);
  1357. protected:
  1358. __declspec(dllexport) void WriteInternalStateL(RWriteStream& aWriteStream) const;
  1359. private:
  1360. __declspec(dllexport) void Draw(const TRect& aRect) const;
  1361. __declspec(dllexport) void Reserved_2();
  1362. private:
  1363.     __declspec(dllexport) void* ExtensionInterface( TUid aInterface );
  1364. private:
  1365. const CFbsBitmap* iBitmap;
  1366. const CFbsBitmap* iMaskBitmap;
  1367. TInt iImFlags;
  1368. TInt iSpare;
  1369. CGraphicsContext::TBrushStyle iBrushStyle;
  1370. };
  1371. #line 29 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikcba.h" /* stack depth 3 */
  1372. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\akncontrol.h" /* stack depth 4 */
  1373. #line 30 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikcba.h" /* stack depth 3 */
  1374. class CEikLabel;
  1375. class CEikCbaButton;
  1376. class CCoeBrushAndPenContext;
  1377. class MEikCommandObserver;
  1378. class TCoeColorUse;
  1379. class CEikScrollBar ;
  1380. class TEikScrollBarModel;
  1381. class CEikCbaExtension;
  1382. class CEikEnhancedCbaButton;
  1383. class TAknsItemID;
  1384. class CEikCommandTable;
  1385. const TInt KMaxCbaLabelLength = 32;
  1386. const TInt KMaxButtonsInCommandTable = 4;
  1387.  class CEikCba : public CEikControlGroup, public MEikEnhancedButtonGroup, public MEikScrollBarObserver
  1388. {
  1389. public:
  1390. enum { ETypeId = 0x101F4105 };
  1391. static CEikCba* NewL(const CEikCba* aPrevious,MEikCommandObserver* aCommandObserver,RWindowGroup* aParentWg);
  1392. static CEikCba* NewL(TInt aResourceId,const CEikCba* aPrevious,MEikCommandObserver* aCommandObserver,RWindowGroup* aParentWg);
  1393. static CEikCba* NewLC(const CEikCba* aPrevious,MEikCommandObserver* aCommandObserver,RWindowGroup* aParentWg);
  1394. static CEikCba* NewLC(TInt aResourceId,const CEikCba* aPrevious,MEikCommandObserver* aCommandObserver,RWindowGroup* aParentWg);
  1395. ~CEikCba();
  1396. public:
  1397. TInt MaxCommands() const;
  1398. void UpdateCbaLabels(TBool aScrollerOn);
  1399. void SetSBFrameObserver(MEikScrollBarObserver* aObserver);
  1400. void SetScrollBarModelL(TEikScrollBarModel* aModel);
  1401. const CEikCbaScrollBarFrame* ScrollBarFrame() const;
  1402. CEikScrollBar * VScrollBarAsControl();
  1403. void CreateArrowHeadScrollBarL();
  1404. public:
  1405. void InsertControlL(TEikGroupControl& aGroupControl,TInt aIndex);
  1406. public:
  1407. void SetCommandL(TInt aPosition,TInt aCommandId,const TDesC* aText,const CFbsBitmap* aBitmap,const CFbsBitmap* aMask);
  1408. void SetCommandL(TInt aPosition,TInt aResourceId);
  1409. void SetCommandSetL(TInt aResourceId);
  1410. void AddCommandL(TInt aPosition,TInt aCommandId,const TDesC* aText,const CFbsBitmap* aBitmap,const CFbsBitmap* aMask);
  1411. void AddCommandToStackL(TInt aPosition,TInt aCommandId,const TDesC* aText,const CFbsBitmap* aBitmap,const CFbsBitmap* aMask);
  1412. void AddCommandToStackL(TInt aPosition,TInt aResourceId);
  1413. void AddCommandSetToStackL(TInt aResourceId);
  1414. void SetDefaultCommand(TInt aCommandId);
  1415. TSize CalcMinimumSizeL(TInt aResourceId);
  1416. void RemoveCommandFromStack(TInt aPosition,TInt aCommandId);
  1417. TInt CommandPos(TInt aCommandId) const;
  1418. void DimCommand(TInt aCommandId,TBool aDimmed);
  1419. TBool IsCommandDimmed(TInt aCommandId) const;
  1420. void MakeCommandVisible(TInt aCommandId,TBool aVisible);
  1421. TBool IsCommandVisible(TInt aCommandId) const;
  1422. void AnimateCommand(TInt aCommandId);
  1423. CCoeControl* AsControl();
  1424. const CCoeControl* AsControl() const;
  1425. void SetBoundingRect(const TRect& aBoundingRect);
  1426. void ReduceRect(TRect& aBoundingRect) const;
  1427. CCoeControl* GroupControlById(TInt aCommandId);
  1428. CCoeControl* GroupControlById(TInt aCommandId) const;
  1429. TInt CommandId(TInt aCommandPos) const;
  1430. TInt ButtonCount() const;
  1431. void RemovePreviousCommand(TInt aPosition);
  1432. CEikCommandButton* GroupControlAsButton(TInt aCommandId) const ;
  1433. TUint ButtonGroupFlags() const ;
  1434. __declspec(dllexport) void SetButtonGroupFlags(TInt aFlags);
  1435. #line 126
  1436.     __declspec(dllexport) void SetSkinBackgroundId(const TAknsItemID& aIID);
  1437. public:
  1438. virtual void Reserved_MtsmPosition();
  1439. virtual void Reserved_MtsmObject();
  1440. public:
  1441. TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType);
  1442. TSize MinimumSize();
  1443. void GetColorUseListL(CArrayFix<TCoeColorUse>& aColorUseList) const;
  1444. void HandleResourceChange(TInt aType);
  1445.     void HandlePointerEventL(const TPointerEvent& aPointerEvent);
  1446. public:
  1447. __declspec(dllexport) void OfferCommandListL(const RArray<TInt>& aCommandList);
  1448. __declspec(dllexport) void OfferCommandListL(const TInt aResourceId);
  1449. __declspec(dllexport) TBool IsCommandInGroup(const TInt aCommandId) const;
  1450. __declspec(dllexport) void ReplaceCommand(const TInt aCommandId, const TInt aResourceId);
  1451. private:
  1452.     __declspec(dllexport) void* ExtensionInterface( TUid aInterface );
  1453. protected:
  1454. virtual void HandleScrollEventL(CEikScrollBar* aScrollBar,TEikScrollEvent aEventType);
  1455. protected:
  1456.     TTypeUid::Ptr MopSupplyObject(TTypeUid aId);
  1457.     void Draw(const TRect& aRect) const;
  1458. private:
  1459. CEikCba(const CEikCba* aPrevious,MEikCommandObserver* aCommandObserver,RWindowGroup* aParentWg);
  1460. void BaseConstructL();
  1461. void ConstructL(TInt aResourceId);
  1462. void ConstructFromResourceL(TResourceReader& aReader);
  1463. CEikCbaButton* ButtonById(TInt aCommandId) const;
  1464. void CreateScrollBarFrameL();
  1465. void InsertScrollBarL();
  1466. TEikGroupControl VScrollBarAsGroupControl();
  1467.     void CheckSkinAndUpdateContext();
  1468.     TInt AknLayoutFlags() const;
  1469. void SizeChangedInControlPane();
  1470. void SizeChangedInStaconPane();
  1471. void UpdateFonts();
  1472. private:
  1473. void SizeChanged();
  1474. private:
  1475. TUint iCbaFlags;
  1476. const CEikCba* iLink;
  1477. CCoeBrushAndPenContext* iBrushAndPenContext;
  1478. MEikCommandObserver* iCommandObserver;
  1479. CEikCbaScrollBarFrame* iSBFrame;
  1480.     CEikCbaExtension*       iExtension;
  1481. RWindowGroup* iParentWg;
  1482. CEikCommandTable*  iCommandTable;
  1483. };
  1484. class CEikCbaButton : public CAknControl
  1485. {
  1486. public:
  1487. struct SButtonOptions
  1488. {
  1489. TInt iCommandId;
  1490. TBool iDimmed;
  1491. };
  1492. public:
  1493. ~CEikCbaButton();
  1494. void ConstructL(TGulAlignmentValue aAlignment);
  1495. public:
  1496. void AddCommandL(const TDesC& aText);
  1497. void PushCommandL(TInt aCommandId,const TDesC& aText);
  1498. TInt PopCommand();
  1499. void RemoveCommand(TInt aCommandId);
  1500. void RemovePreviousCommand();
  1501. void SwitchToShortTextL(TBool aShortText);
  1502. void SetLabelFont(const CFont* aLabelFont);
  1503. void TruncateLabelText();
  1504. public:
  1505. void SetContainerWindowL(const CCoeControl& aContainer);
  1506. void ConstructFromResourceL(TResourceReader& aReader, TGulAlignmentValue anAlignment);
  1507. TSize MinimumSize();
  1508. void SetDimmed(TBool aDimmed);
  1509.     __declspec(dllexport) void HandlePointerEventL(const TPointerEvent& aPointerEvent);
  1510. public:
  1511.     void SetImage(CEikImage &aImage);
  1512.     void ReplaceImageByLabel();
  1513.     inline TBool IsImageOn() const {return iDoImage;};
  1514. protected:
  1515. TInt IndexFromCommandId(TInt aCommandId);
  1516. void UpdateLabelText(TPtrC aLabelText);
  1517. private:
  1518. TInt CountComponentControls() const;
  1519. CCoeControl* ComponentControl(TInt aIndex) const;
  1520. void SizeChanged();
  1521. private:
  1522.     __declspec(dllexport) void* ExtensionInterface( TUid aInterface );
  1523. protected:
  1524. TBuf<KMaxCbaLabelLength> iFullLabelText;
  1525. TPtrC iLongLabelText;
  1526. TPtrC iShortLabelText;
  1527. CEikLabel* iLabel;
  1528. CDesCArray* iText;
  1529. CArrayFix<SButtonOptions> * iButtonOptions;
  1530.     CEikImage* iImage;
  1531.     TBool iDoImage;
  1532. TInt iSpare;
  1533. };
  1534. class CEikEnhancedCbaButton : public CEikCbaButton
  1535. {
  1536. public:
  1537. CEikEnhancedCbaButton();
  1538. ~CEikEnhancedCbaButton();
  1539. TInt CommandType() const;
  1540. void SetCommandType(const TInt aCommandType);
  1541. TInt CommandId() const;
  1542. void ConstructFromResourceL(TResourceReader& aReader);
  1543. void ConstructEmptyButtonL();
  1544. TPtrC* LabelText();
  1545. private:
  1546. TInt iCommandType;
  1547. TInt iCommandId;
  1548. };
  1549. #line 322
  1550. class CEikCommandTable : public CBase
  1551. {
  1552. public:
  1553. static CEikCommandTable* NewL();
  1554. static CEikCommandTable* NewLC();
  1555. ~CEikCommandTable();
  1556. TInt AddCommandL(CEikEnhancedCbaButton* aButton);
  1557. TBool IsCommandPlaced(const TInt aCommandId) const;
  1558. void ReplaceCommandL(const TInt aCommandId, const TInt aResourceId);
  1559. CEikEnhancedCbaButton* Command(const TInt aCommandIndex);
  1560. void Reset();
  1561. private:
  1562. CEikCommandTable();
  1563. void ConstructL();
  1564. private:
  1565. TFixedArray<CEikEnhancedCbaButton*, KMaxButtonsInCommandTable> iCommandButtons;
  1566. RArray< RArray<TInt> > iPriorities;
  1567. };
  1568. #line 26 "C:\Symbian\9.1\S60_3rd\epoc32\include\aknappui.h" /* stack depth 2 */
  1569. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\avkon.hrh" /* stack depth 3 */
  1570. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikon.hrh" /* stack depth 4 */
  1571. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\lafpublc.hrh" /* stack depth 5 */
  1572. #line 23
  1573. enum TLafReferenceButtonGroupControls
  1574. {
  1575. ELafBgCba=100
  1576. };
  1577. #line 6 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikon.hrh" /* stack depth 4 */
  1578. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikcolor.hrh" /* stack depth 5 */
  1579. #line 8 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikon.hrh" /* stack depth 4 */
  1580. #line 86
  1581. enum TAknEditorNumericKeymap
  1582.     {
  1583.     EAknEditorStandardNumberModeKeymap,
  1584.     EAknEditorPlainNumberModeKeymap,
  1585.     EAknEditorCalculatorNumberModeKeymap,
  1586.     EAknEditorConverterNumberModeKeymap,
  1587.     EAknEditorToFieldNumberModeKeymap,
  1588.     EAknEditorFixedDiallingNumberModeKeymap,
  1589.     EAknEditorSATNumberModeKeymap,
  1590.     EAknEditorSATHiddenNumberModeKeymap,
  1591.     EAknEditorAlphanumericNumberModeKeymap,
  1592.     EAknEditorReservedInternalUseKeymap = 100
  1593.     };
  1594. #line 175
  1595. enum EEikLabelStandardFont
  1596.     {
  1597.     EEikLabelFontNormal,
  1598.     EEikLabelFontLegend,
  1599.     EEikLabelFontAnnotation
  1600.     };
  1601. #line 436
  1602. enum TEikStockControls
  1603.     {
  1604.     EEikCtCommandButton,
  1605.     EEikCtLabeledButton,
  1606.     EEikCtEdwin,
  1607.     EEikCtRichTextEditor,
  1608.     EEikCtSecretEd,
  1609.     EEikCtCheckBox,
  1610.     EEikCtChoiceList,
  1611.     EEikCtOptionButton,
  1612.     EEikCtHorOptionButList,
  1613.     EEikCtFileNameSel,
  1614.     EEikCtFileNameEd,
  1615.     EEikCtFolderNameSel,
  1616.     EEikCtFolderNameEd,
  1617.     EEikCtDriveNameSel,
  1618.     EEikCtListBox,
  1619.     EEikCtCharMap,
  1620.     EEikCtCharEd,
  1621.     EEikCtImage,
  1622.     EEikCtImageArray,
  1623.     EEikCtLabel,
  1624.     EEikCtComboBox,
  1625.     EEikCtProgInfo,
  1626.     EEikCtFlPtEd,
  1627.     EEikCtFxPtEd,
  1628.     EEikCtTwipsEd,
  1629.     EEikCtNumberEditor,
  1630.     EEikCtRangeEditor,
  1631.     EEikCtTimeEditor,
  1632.     EEikCtDateEditor,
  1633.     EEikCtTimeAndDateEditor,
  1634.     EEikCtDurationEditor,
  1635.     EEikCtTimeOffsetEditor,
  1636.     EEikCtLatitudeEditor_Not_Supported,
  1637.     EEikCtLongitudeEditor_Not_Supported,
  1638.     EEikCtBorderPreview,
  1639.     EEikCtFontPreview,
  1640.     EEikCtGraySelector,
  1641.     EEikCtWorldSelector,
  1642.     EEikCtGlobalTextEditor,
  1643.     EEikCtSoundSelector,
  1644.     EEikCtClock,
  1645.     EEikCtPrintPreview,
  1646.     EEikCtMenuButton,
  1647.     EEikCtDirContentsListBox,
  1648.     EAknCtIpFieldEditor,
  1649.     EEikCtCalendar,
  1650.     EEikCtSpacer,
  1651.     EEikCtColListBox,
  1652.     EEikCtRangeRefEditor,
  1653.     EEikCtTextButton,
  1654.     EEikCtBitmapButton,
  1655.     EEikCtDialogToolBar,
  1656.     EEikCtFileBrowser,
  1657.     EEikCtFileNameLabel,
  1658.     EEikCtUnifiedFileSel,
  1659.     EEikCtTelephoneNumberEditor,
  1660.     EEikCtTwoPictureCommandButton,
  1661.     EEikCtInverterCommandButton,
  1662.     EEikCtScrollBar,
  1663.     EEikCtArrowHeadScrollBar
  1664.     };
  1665. enum TEikStockButtonGroupControls
  1666.     {
  1667.     EEikBgToolBar,
  1668.     EEikBgButtonPanel,
  1669.     EEikBgCba
  1670.     };
  1671. #line 923
  1672. enum
  1673. {
  1674. EDialDlgButFreeDial=1,
  1675. EDialDlgButDial,
  1676. EDialDlgButDialOut,
  1677. EFreeDialDlgButClear,
  1678. EFreeDialDlgButRedial,
  1679. EDialDlgEdwin1,
  1680. EDialDlgEdwin2,
  1681. EDialDlgEdwin3,
  1682. EDialDlgEdwin4,
  1683. EDialDlgEdwin5,
  1684. EFreeDialDlgEdwin
  1685. };
  1686. #line 1082
  1687. enum TEikProgressTextType
  1688. {
  1689. EEikProgressTextNone,
  1690. EEikProgressTextPercentage,
  1691. EEikProgressTextFraction
  1692. };
  1693. #line 1152
  1694. enum
  1695. {
  1696. EEikCidImageType=1
  1697. };
  1698. enum
  1699. {
  1700. EEikPopupOnTop = 1100,
  1701. EEikPopupGone
  1702. };
  1703. enum
  1704. {
  1705. EEikKeyLockEnabled = 1110,
  1706. EEikKeyLockDisabled = 1111,
  1707.     EEikLeyLockDisabled = 1111,
  1708. EEikKeyLockPowerKeyPressed
  1709. };
  1710. enum
  1711. {
  1712. EEikHeapFailSettingListId = 999
  1713. };
  1714. enum TEikCommandOperationTypes
  1715. {
  1716. EEikCommandTypeAnyCommand,
  1717. EEikCommandTypeMenu,
  1718. EEikCommandTypeOpenItem,
  1719. EEikCommandTypeDeleteItem,
  1720. EEikCommandTypeOperatesItem,
  1721. EEikCommandTypeCreateItem,
  1722. EEikCommandTypePositiveAnswer,
  1723. EEikCommandTypeNegativeAnswer,
  1724. EEikCommandTypeCancel,
  1725. EEikCommandTypeExitOrBack,
  1726. EEikCommandTypeExitApplication
  1727. };
  1728. #line 29 "C:\Symbian\9.1\S60_3rd\epoc32\include\avkon.hrh" /* stack depth 3 */
  1729. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\aknfontcategory.hrh" /* stack depth 4 */
  1730. #line 37
  1731. enum TAknFontCategory
  1732. {
  1733. EAknFontCategoryUndefined = 0 ,
  1734. EAknFontCategoryPrimary = 1 ,
  1735. EAknFontCategorySecondary = 2 ,
  1736. EAknFontCategoryTitle = 3 ,
  1737. EAknFontCategoryPrimarySmall = 4 ,
  1738. EAknFontCategoryDigital = 5
  1739. };
  1740. #line 32 "C:\Symbian\9.1\S60_3rd\epoc32\include\avkon.hrh" /* stack depth 3 */
  1741. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\aknfontidoffsets.hrh" /* stack depth 4 */
  1742. #line 34
  1743. enum {EScalableFontIdOffset = (0x1000) };
  1744. #line 33 "C:\Symbian\9.1\S60_3rd\epoc32\include\avkon.hrh" /* stack depth 3 */
  1745. #line 164
  1746. enum
  1747.     {
  1748.     EAknApplicationIconWidth = 42,
  1749.     EAknApplicationIconHeight = 29
  1750.     };
  1751. #line 195
  1752. enum
  1753.     {
  1754.     EAknDummyForProcessCommands=4000,
  1755.     EAknMarkAll,
  1756.     EAknUnmarkAll,
  1757.     EAknCmdHelp,
  1758.     EAknCmdAddToPinboard,
  1759.     EAknCmdFindPopupActivated,
  1760.     EAknCmdEditModeT9,
  1761.     EAknCmdEditModeMultitap,
  1762.     EAknCmdEditModeNumber,
  1763.     EAknCmdEditInsertNumber,
  1764.     EAknCmdEditInsertSymbol,
  1765.     EAknCmdInputLanguage,
  1766.     EAknCmdPredictiveTextCascade,
  1767.     EAknCmdT9PredictiveMatches,
  1768.     EAknCmdT9PredictiveInsertWord,
  1769.     EAknCmdT9PredictiveEditWord,
  1770.     EAknCmdT9PredictiveT9Off,
  1771.     EAknCmdMultitapPredictiveT9On,
  1772.     EAknCmdExit,
  1773.     EAknCmdEditTextMenu,
  1774.     EAknCmdEditListMenu,
  1775.     EAknCmdMark,
  1776.     EAknCmdUnmark,
  1777.     EAknCmdOpen,
  1778.     EChinFepCmdInstructions,
  1779.     EChinFepCmdModePinyin,
  1780.     EChinFepCmdModeZhuyin,
  1781.     EChinFepCmdModeStroke,
  1782.     EChinFepCmdModeLatinUpper,
  1783.     EChinFepCmdModeLatinLower,
  1784.     EChinFepCmdModeNumber,
  1785.     EChinFepCmdModeZhuyinFind,
  1786.     EChinFepCmdModeStrokeFind,
  1787.     EAknCmdEditModeArabicIndicNumber,
  1788.     EAknCmdEditModeAlpha,
  1789.     EAknCmdEditModeLatinText,
  1790.     EJapanFepCmdModeHiragana,
  1791.     EJapanFepCmdModeKatakana,
  1792.     EJapanFepCmdModePictographs,
  1793.     EJapanFepCmdModeFullWidth,
  1794.     EJapanFepCmdModeHalfWidth,
  1795.     EJapanFepCmdModePredictiveOn,
  1796.     EJapanFepCmdModePredictiveOff,
  1797.     EJapanFepCmdModeUserDic,
  1798.     EJapanFepCmdModeKutenCodeInput,
  1799.     EAknCmdEditInsertPictograph,
  1800.     EJapanFepCmdPredictiveTextCascade,
  1801.     EJapanFepCmdMultitapPredictiveT9On,
  1802.     EJapanFepCmdEditModeAlpha,
  1803.     EJapanFepCmdEditModeNumber,
  1804.     EAknCmdInputMethod,
  1805.     EChinFepCmdModeCangJie,
  1806.     EChinFepCmdModeCangJieOption,
  1807.     EAknCmdEditMenuSctSelected,
  1808.     EAknCmdEnd
  1809. };
  1810. enum
  1811.     {
  1812.     EAknSoftkeyOk = -2 ,
  1813.     EAknSoftkeyCancel = -1 ,
  1814.     EAknSoftkeySelect = -6 ,
  1815.     EAknSoftkeyOptions= 3000,
  1816.     EAknSoftkeyBack,
  1817.     EAknSoftkeyMark,
  1818.     EAknSoftkeyUnmark,
  1819.     EAknSoftkeyInsert,
  1820.     EAknSoftkeyYes,
  1821.     EAknSoftkeyNo,
  1822.     EAknSoftkeyDone,
  1823.     EAknSoftkeyClose,
  1824.     EAknSoftkeyExit,
  1825.     EAknSoftkeyClear,
  1826.     EAknSoftkeyUnlock,
  1827.     EAknSoftkeySave,
  1828.     EAknSoftkeyShow,
  1829.     EAknSoftkeyListen,
  1830.     EAknSoftkeyRead,
  1831.     EAknSoftkeySearch,
  1832.     EAknSoftkeyEmpty,
  1833.     EAknSoftkeyLock,
  1834.     EAknSoftkeyCall,
  1835.     EAknSoftkeyAgain,
  1836.     EAknSoftkeyQuit,
  1837.     EAknSoftkeyDetails,
  1838.     EAknSoftkeyNext,
  1839.     EAknSoftkeyOther,
  1840.     EAknSoftkeyEdit,
  1841.     EAknSoftkeyOpen,
  1842.     EAknSoftkeySend,
  1843.     EAknSoftkeyView
  1844.     };
  1845. enum    {
  1846.     EAknSoftkeyDummyUsedWithShortcuts = 3200
  1847.     };
  1848. enum
  1849.     {
  1850.     EAknCBAFlagRespondWhenInvisible = 0x02
  1851.     };
  1852. #line 342
  1853. enum
  1854.     {
  1855.     EAknCtTest = 5699 ,
  1856.     EAknControlIdBase = 5700,
  1857.     EAknCtFormattedListBox,
  1858.     EAknCtSingleListBox,
  1859.     EAknCtSingleNumberListBox,
  1860.     EAknCtSingleHeadingListBox,
  1861.     EAknCtSingleGraphicListBox,
  1862.     EAknCtSingleGraphicHeadingListBox,
  1863.     EAknCtSingleNumberHeadingListBox,
  1864.     EAknCtSingleLargeListBox,
  1865.     EAknCtDoubleListBox,
  1866.     EAknCtDoubleNumberListBox,
  1867.     EAknCtDoubleTimeListBox,
  1868.     EAknCtDoubleLargeListBox,
  1869.     EAknCtDoubleGraphicListBox,
  1870.     EAknCtSettingListBox,
  1871.     EAknCtSettingNumberListBox,
  1872.     EAknCtSinglePopupMenuListBox,
  1873.     EAknCtSingleGraphicPopupMenuListBox,
  1874.     EAknCtSingleGraphicHeadingPopupMenuListBox,
  1875.     EAknCtMenuDoublePopupMenuListBox,
  1876.     EAknCtSinglePopupSubmenuListBox,
  1877.     EAknCtDoubleLargeGraphicPopupMenuListBox,
  1878.     EAknCtSingleHeadingPopupMenuListBox,
  1879.     EAknSetListBox,
  1880.     EAknFormGraphicListBox,
  1881.     EAknCtAppGrid,
  1882.     EAknCtPinbGrid,
  1883.     EAknCtQdialGrid,
  1884.     EAknCtCaleMonthGrid,
  1885.     EAknCtTitlePane,
  1886.     EAknCtContextPane,
  1887.     EAknCtNaviPane,
  1888.     EAknCtSignalPane,
  1889.     EAknCtBatteryPane,
  1890.     EAknCtIndicatorPane,
  1891.     EAknCtIdleContextPane,
  1892.     EAknCtNote,
  1893.     EAknCtQuery,
  1894.     EAknCtMultilineQuery,
  1895.     EAknCtPopupField,
  1896.     EAknCtPopupFieldText,
  1897.     EAknCtFormLabelEditor,
  1898.     EAknCtLAF,
  1899.     EAknCtPopupHeadingPane,
  1900.     EAknCtSearchField,
  1901.     EAknCtSettingPage,
  1902.     EAknCtVolumeControl,
  1903.     EAknCtSlider,
  1904.     EAknCtListQueryControl,
  1905.     EAknCtSpecialCharacterMap,
  1906.     EAknPhoneNumberEditor,
  1907.     EAknCtNumericSecretEditor,
  1908.     EAknCtPopupSettingList,
  1909.     EAknCtMessageQuery,
  1910.     EAknCtIntegerEdwin,
  1911.     EAknCtFloatingPointEdwin,
  1912.     EAknCtSelectionListFixedFind,
  1913.     EAknCtSelectionListPopupFind,
  1914.     EAknCtEmptyList,
  1915.     EAknCtDouble2GraphicListBox,
  1916.     EAknCtDouble2LargeListBox,
  1917.     EAknCtDouble2PopupMenuListBox,
  1918.     EAknCtSingle2GraphicListBox,
  1919.     EAknCtDouble2GraphicLargeListBox,
  1920.     EAknCtColourSelectionDialogNoneField,
  1921.     EAknCtColourSelectionDialogGrid,
  1922.     EAknCtListQuerySearchControl,
  1923.     EAknExtCtQuery,
  1924.     EAknExtCtMultilineQuery,
  1925.    EAknCtBitmapAnimation,
  1926.     EAknCtButton,
  1927.     EAknCtSingle2GraphicPopupMenuListBox,
  1928.     EAknCtDoubleGraphicPopupMenuListBox,
  1929.     EAknCtColourSelectionGridDialog,
  1930.     EAknCtLastControlId = 0x2000
  1931. #line 489
  1932.     };
  1933. enum
  1934.     {
  1935.     ENaviDecoratorControlNone,
  1936.     ENaviDecoratorControlTabGroup,
  1937.     ENaviDecoratorLabel,
  1938.     ENaviDecoratorImage,
  1939.     ENaviDecoratorToolTip
  1940.     };
  1941. enum
  1942.     {
  1943.     EAknTabWidthWithTwoTabs = 36,
  1944.     EAknTabWidthWithTwoLongTabs = 74,
  1945.     EAknTabWidthWithThreeTabs = 22,
  1946.     EAknTabWidthWithThreeLongTabs = 67,
  1947.     EAknTabWidthWithFourTabs = 18,
  1948.     EAknTabWidthWithOneTab = 107
  1949.     };
  1950. enum
  1951.     {
  1952.     EGeneralLayout = 1,
  1953.     EConfirmationLayout,
  1954.     EProgressLayout,
  1955.     ENoteWithImageLayout,
  1956.     ETextualNotificationLayout,
  1957.     ENotificationWithGraphicsLayout,
  1958.     EAknNoteControlAnimationCreationFailed,
  1959.     EWaitLayout
  1960.     };
  1961. enum
  1962.     {
  1963.     EAknInvalidBorderCount = 1,
  1964.     EAknInvalidDimensionArrayOutOfBounds,
  1965.     EAknNoNoteControlDimensionDefined,
  1966.     EAknNoteControlNullArgumentUsed
  1967.     };
  1968. enum EAknNoteItemType {
  1969.     EAknNoteNoType = 1,
  1970.     EAknNoteBitmap,
  1971.     EAknNoteNumberTypeIndication,
  1972.     EAknNoteProgressBar,
  1973.     EAknNoteLabel,
  1974.     EAknNoteAnimation
  1975. };
  1976. enum TNoteCtrlIds
  1977.     {
  1978.     EGeneralNote = 1
  1979.     };
  1980. #line 562
  1981. enum
  1982.     {
  1983.     EDataLayout=1,
  1984.     EConfirmationQueryLayout,
  1985.     ECodeLayout,
  1986.     ETimeLayout,
  1987.     EDateLayout,
  1988.     EListLayout,
  1989.     EMultiListLayout,
  1990.     EMultiLineDataLayout,
  1991.     EDurationLayout,
  1992.     ETextSoftNotification,
  1993.     ENumberLayout,
  1994.     EPinLayout,
  1995.     EPhoneLayout,
  1996.     EMessageQueryLayout,
  1997.     EStaticSizeDataLayout,
  1998.     EFloatingPointLayout,
  1999.     EIpLayout,
  2000.     EFixedPointLayout,
  2001.     EDataLayoutAllowEmptyInput
  2002.     };
  2003. enum
  2004.     {
  2005.     ETextEditor=1,
  2006.     ESecretEditor,
  2007.     ETimeEditor,
  2008.     EDateEditor,
  2009.     ENumberEditor,
  2010.     EDurationEditor,
  2011.     EIpEditor,
  2012.     EFixedPointEditor
  2013.     };
  2014. enum EAknMultilineDataLayout
  2015. {
  2016.     EMultiDataFirstEdwin = 1,
  2017.     EMultiDataSecondEdwin,
  2018.     EMultiDataFirstSecEd,
  2019.     EMultiDataSecondSecEd,
  2020.     EMultiDataFirstTimeEd,
  2021.     EMultiDataSecondTimeEd,
  2022.     EMultiDataFirstDateEd,
  2023.     EMultiDataSecondDateEd,
  2024.     EMultiDataFirstDurEd,
  2025.     EMultiDataSecondDurEd,
  2026.     EMultiDataFirstPhoneEd,
  2027.     EMultiDataSecondPhoneEd,
  2028.     EMultiDataFirstNumEd,
  2029.     EMultiDataSecondNumEd,
  2030.     EMultiDataFirstPinEd,
  2031.     EMultiDataSecondPinEd,
  2032.     EMultiDataFirstIpEd,
  2033.     EMultiDataSecondIpEd
  2034.     };
  2035. enum TQueryCtrlIds
  2036.     {
  2037.     EGeneralQuery = 0x500,
  2038.     EMultilineFirstLine,
  2039.     EMultilineSecondLine
  2040.     };
  2041. enum TListQueryCtrlIds
  2042.     {
  2043.     EListQueryMainInboxList = 1,
  2044.     EListQueryMainDraftList,
  2045.     EListQueryMainOutboxList,
  2046.     EListQueryAppViewLabel,
  2047.     EListQueryMsgEditField,
  2048.     EListQueryHeading,
  2049.     EListQueryControl
  2050.     };
  2051. enum TSelectionListCtrlIds
  2052.     {
  2053.     ESelectionListControl = 1,
  2054.     EFindControl,
  2055.     EAknEmptyListControl,
  2056.     EAknListQueryMessageBox
  2057.     };
  2058. enum
  2059.     {
  2060.     ELayoutNoCmd =1,
  2061.     ELayoutOptional,
  2062.     ELayoutRightSeparator,
  2063.     ELayoutTransparentCell,
  2064.     ELayoutItemMark,
  2065.     ELayoutNotFilled,
  2066.     ELayoutNotAlwaysDrawn
  2067.     };
  2068. enum {
  2069.     ELayoutAlignNone,
  2070.     ELayoutAlignCenter,
  2071.     ELayoutAlignLeft,
  2072.     ELayoutAlignRight,
  2073.     ELayoutAlignBidi
  2074.      };
  2075. enum
  2076.     {
  2077.     EAknEditorAlignNone = ELayoutAlignNone,
  2078.     EAknEditorAlignCenter = ELayoutAlignCenter,
  2079.     EAknEditorAlignLeft = ELayoutAlignLeft,
  2080.     EAknEditorAlignRight = ELayoutAlignRight,
  2081.     EAknEditorAlignBidi = ELayoutAlignBidi
  2082.      };
  2083. enum
  2084.     {
  2085.     EAknEditorCharactersUpperCase = 0x1 ,
  2086.     EAknEditorCharactersLowerCase = 0x2 ,
  2087.     EAknEditorCharactersTextCase = 0x4
  2088.     };
  2089. enum {
  2090.     EFontNone = 0,
  2091.     ELatinPlain12,
  2092.     ELatinBold12,
  2093.     ELatinBold13,
  2094.     ELatinBold17,
  2095.     ELatinBold19,
  2096.     ENumberPlain5,
  2097.     EClockBold30,
  2098.     ELatinClock14,
  2099.     EFontCustom,
  2100.     EPlain12,
  2101.     EPlain16,
  2102.     EApacPlain12 = EPlain12,
  2103.     EApacPlain16 = EPlain16,
  2104.     EBold18,
  2105.     EBold24,
  2106.     ELatinBold16,
  2107.     ECalcBold21,
  2108.     ECalcOperBold21,
  2109.     ECalcOperBold13,
  2110. EHighestFixedLayoutFont = ((0x100-1))
  2111.     };
  2112. enum TAknLogicalFontId
  2113. {
  2114. EAknLogicalFontPrimaryFont = ((0x100-1)) + 1 ,
  2115. EAknLogicalFontSecondaryFont= ((0x100-1)) + 2 ,
  2116. EAknLogicalFontTitleFont= ((0x100-1)) + 3 ,
  2117. EAknLogicalFontPrimarySmallFont= ((0x100-1)) + 4 ,
  2118. EAknLogicalFontDigitalFont= ((0x100-1)) + 5 ,
  2119. EAknHighestLogicalFont = ((0x1000)-1)
  2120. };
  2121. enum
  2122. {
  2123.     EAknLayoutFindPaneIconId = 1,
  2124.     EAknLayoutFindPaneEditorId,
  2125.     EAknLayoutMainPaneListGenPane,
  2126.     EAknLayoutMainPaneListGenPaneWithFindBox,
  2127.     EAknLayoutMainPaneFindPane,
  2128.     EAknListSinglePane,
  2129.     EAknListSingleNumberPane,
  2130.     EAknListSingleHeadingPane,
  2131.     EAknListSingleGraphicPane,
  2132.     EAknListSingleGraphicHeadingPane,
  2133.     EAknListSingleNumberHeadingPane,
  2134.     EAknListSingleLargeGraphicPane,
  2135.     EAknListDoubleNumberPane,
  2136.     EAknListDoubleTimePane,
  2137.     EAknListDoubleLargeGraphicPane,
  2138.     EAknListDoubleGraphicPane,
  2139.     EAknListSettingNumberPane,
  2140.     EAknLayoutFindPaneVShadow,
  2141.     EAknLayoutFindPaneHShadow,
  2142.     EAknLayoutFindPaneOutlineRect,
  2143.     EAknLayoutEmptyList1stLine,
  2144.     EAknLayoutEmptyList2ndLine
  2145. };
  2146. #line 782
  2147. enum
  2148.     {
  2149.     EAknDialogQueryValueTextEditor1 = 1,
  2150.     EAknDialogQueryValueNumberEditor1,
  2151.     EAknDialogQueryValuePhoneEditor1,
  2152.     EAknDialogQueryValueTimeEditor1,
  2153.     EAknDialogQueryValueDateEditor1,
  2154.     EAknDialogQueryValueDurationEditor1,
  2155.     EAknFormQueryControl,
  2156.     EAknPopupFieldEmptyListNote
  2157.     };
  2158. enum
  2159.     {
  2160.     EAknPopupSettingListFlagAllowsUserDefinedEntry = 0x001,
  2161.     EAknPopupSettingListFlagInitialised = 0x002
  2162.     };
  2163. enum
  2164.     {
  2165.     EAknFormCmdEdit = 950,
  2166.     EAknFormCmdAdd,
  2167.     EAknFormCmdSave,
  2168.     EAknFormCmdLabel,
  2169.     EAknFormCmdDelete,
  2170.     EAknFormMaxDefault
  2171.     };
  2172. enum
  2173.     {
  2174.     EAknFormSliderLayout1 =1,
  2175.     EAknFormSliderLayout2,
  2176.     EAknFormSliderLayout3,
  2177.     EAknSettingsItemSliderLayout,
  2178.     EAknSettingsItemSliderLayoutWithGraphics,
  2179.     EAknMIDPFormSliderLayout
  2180.     };
  2181. enum
  2182.     {
  2183.     EAknSliderValueNone,
  2184.     EAknSliderValueBareFigure,
  2185.     EAknSliderValuePercentage,
  2186.     EAknSliderValueFraction,
  2187.     EAknSliderValueDecimal
  2188.     };
  2189. enum
  2190.     {
  2191.     ESettingsVolumeControl,
  2192.     ENaviPaneVolumeControl,
  2193.     EPopupVolumeControl
  2194.     };
  2195. enum
  2196.     {
  2197.     EAknIndicatorIrActive,
  2198.     EAknIndicatorEnvelope,
  2199.     EAknIndicatorEmailMessage,
  2200.     EAknIndicatorDataMessage,
  2201.     EAknIndicatorFaxMessage,
  2202.     EAknIndicatorOtherMessage,
  2203.     EAknIndicatorSecuredConnection,
  2204.     EAknIndicatorVoiceMailWaiting,
  2205.     EAknIndicatorVoiceMailWaitingOnLine1,
  2206.     EAknIndicatorVoiceMailWaitingOnLine2,
  2207.     EAknIndicatorVoiceMailWaitingOnBothLines,
  2208.     EAknIndicatorHomeZone,
  2209.     EAknIndicatorBluetooth,
  2210.     EAknIndicatorBluetoothModuleOn,
  2211.     EAknIndicatorOutbox,
  2212.     EAknIndicatorKeyguard,
  2213.     EAknIndicatorAllCallsForwarded,
  2214.     EAknIndicatorCallsForwardedOnLine1,
  2215.     EAknIndicatorCallsForwardedOnLine2,
  2216.     EAknIndicatorCallsForwardedOnBothLines,
  2217.     EAknIndicatorCallsForwardedToVoiceMailbox,
  2218.     EAknIndicatorSelectedLine,
  2219.     EAknIndicatorAlarmClock,
  2220.     EAknIndicatorHeadset,
  2221.     EAknIndicatorLoopset,
  2222.     EAknIndicatorIHFActive,
  2223.     EAknIndicatorInstantMessage,
  2224.     EAknIndicatorTTY,
  2225.     EAknIndicatorUSBConnection,
  2226.     EAknIndicatorMissedCalls,
  2227.     EAknIndicatorRemoteMailboxEmailMessage,
  2228.     EAknIndicatorLocation,
  2229.     EAknIndicatorHeadsetUnavailable,
  2230.     EAknIndicatorRoaming,
  2231.     EAknIndicatorLocationOn,
  2232.     EAknIndicatorLocationOff,
  2233.     EAknIndicatorPoC,
  2234.     EAknIndicatorWlanAvailable,
  2235.     EAknIndicatorWlanActive,
  2236.   EAknIndicatorWlanActiveSecure,
  2237.   EAknIndicatorCarkit,
  2238.     EAknIndicatorPoCDnD,
  2239.     EAknIndicatorPoCMissed,
  2240.     EAknIndicatorTvOut,
  2241.     EAknIndicatorVoIP,
  2242.     EAknIndicatorTARM,
  2243.     EAknIndicatorTARMModuleOn,
  2244.     EAknIndicatorMobileTV,
  2245.     EAknIndicatorMobileTVRec,
  2246.     EAknNaviPaneEditorIndicatorT9 = 100,
  2247.     EAknNaviPaneEditorIndicatorUpperCase,
  2248.     EAknNaviPaneEditorIndicatorLowerCase,
  2249.     EAknNaviPaneEditorIndicatorTextCase,
  2250.     EAknNaviPaneEditorIndicatorNumberCase,
  2251.     EAknNaviPaneEditorIndicatorQuery,
  2252.     EAknNaviPaneEditorIndicatorQwertyShift,
  2253.     EAknNaviPaneEditorIndicatorArabicCase = 130,
  2254.     EAknNaviPaneEditorIndicatorHebrewCase,
  2255.     EAknNaviPaneEditorIndicatorArabicIndicNumberCase,
  2256.     EAknNaviPaneEditorIndicatorDevanagariCase = 140,
  2257.     EAknNaviPaneEditorIndicatorDevanagariIndicNumberCase,
  2258.     EAknNaviPaneEditorIndicatorPinyin = 150,
  2259.     EAknNaviPaneEditorIndicatorZhuyin,
  2260.     EAknNaviPaneEditorIndicatorStroke,
  2261.     EAknNaviPaneEditorIndicatorZhuyinFind,
  2262.     EAknNaviPaneEditorIndicatorStrokeFind,
  2263.     EAknNaviPaneEditorIndicatorCangJie,
  2264.     EAknNaviPaneEditorIndicatorThai = 170,
  2265.     EAknNaviPaneEditorIndicatorStrokeTrad,
  2266.     EAknNaviPaneEditorIndicatorFarsiAndUrduCase,
  2267.     EAknNaviPaneEditorIndicatorAudioAttached = 200,
  2268.     EAknNaviPaneEditorIndicatorImageAttached,
  2269.     EAknNaviPaneEditorIndicatorObjects,
  2270.     EAknNaviPaneEditorIndicatorAttachment,
  2271.     EAknNaviPaneEditorIndicatorMessageLength,
  2272.     EAknNaviPaneEditorIndicatorMessageInfo,
  2273.     EAknNaviPaneEditorIndicatorWaitBar,
  2274.     EAknNaviPaneEditorIndicatorProgressBar,
  2275.     EAknNaviPaneEditorIndicatorSecuredConnection,
  2276.     EAknNaviPaneEditorIndicatorWmlWaitGlobe,
  2277.     EAknNaviPaneEditorIndicatorGprs,
  2278.     EAknNaviPaneEditorIndicatorFileSize,
  2279.     EAknNaviPaneEditorIndicatorWmlWindows,
  2280.     EAknNaviPaneEditorIndicatorMcePriorityHigh,
  2281.     EAknNaviPaneEditorIndicatorMcePriorityLow,
  2282.     EAknNaviPaneEditorIndicatorWmlWindowsText,
  2283.     EAknNaviPaneEditorIndicatorJapaneseHiraganaKanji = 300,
  2284.     EAknNaviPaneEditorIndicatorJapaneseHiragana,
  2285.     EAknNaviPaneEditorIndicatorJapaneseFullKatakana,
  2286.     EAknNaviPaneEditorIndicatorJapaneseHalfKatakana,
  2287.     EAknNaviPaneEditorIndicatorJapaneseFullUpperAlphabet,
  2288.     EAknNaviPaneEditorIndicatorJapaneseFullLowerAlphabet,
  2289.     EAknNaviPaneEditorIndicatorJapaneseFullTextAlphabet,
  2290.     EAknNaviPaneEditorIndicatorJapaneseFullNumeric,
  2291.     EAknNaviPaneEditorIndicatorVietnameseUpperCase = 400,
  2292.     EAknNaviPaneEditorIndicatorVietnameseLowerCase,
  2293.     EAknNaviPaneEditorIndicatorVietnameseTextCase
  2294.     };
  2295. enum
  2296.     {
  2297.     EAknIndicatorStateOff,
  2298.     EAknIndicatorStateOn,
  2299.     EAknIndicatorStateAnimate
  2300.     };
  2301. enum
  2302.     {
  2303.     EAknSignalGprsIndicatorOff = 0,
  2304.     EAknSignalGprsIndicatorAvailable,
  2305.     EAknSignalGprsIndicatorAttached,
  2306.     EAknSignalGprsIndicatorEstablishingContext,
  2307.     EAknSignalGprsIndicatorContext,
  2308.     EAknSignalGprsIndicatorSuspended,
  2309.     EAknSignalGprsIndicatorMultipdp,
  2310.     EAknSignalCommonPacketDataIndicatorOff = 0x100,
  2311.     EAknSignalCommonPacketDataIndicatorAvailable,
  2312.     EAknSignalCommonPacketDataIndicatorAttached,
  2313.     EAknSignalCommonPacketDataIndicatorEstablishingContext,
  2314.     EAknSignalCommonPacketDataIndicatorContext,
  2315.     EAknSignalCommonPacketDataIndicatorSuspended,
  2316.     EAknSignalCommonPacketDataIndicatorMultipdp,
  2317.     EAknSignalWcdmaIndicatorOff = 0x200,
  2318.     EAknSignalWcdmaIndicatorAvailable,
  2319.     EAknSignalWcdmaIndicatorAttached,
  2320.     EAknSignalWcdmaIndicatorEstablishingContext,
  2321.     EAknSignalWcdmaIndicatorContext,
  2322.     EAknSignalWcdmaIndicatorMultipdp,
  2323.     EAknSignalWcdmaIndicatorSuspended,
  2324.     EAknSignalCdmaIndicatorOff = 0x300,
  2325.     EAknSignalCdmaIndicatorNoService,
  2326.     EAknSignalCdmaIndicatorAvailable,
  2327.     EAknSignalCdmaIndicatorNotAvailable,
  2328.     EAknSignalCdmaIndicatorActive,
  2329.     EAknSignalCdmaIndicatorDormant,
  2330.     EAknSignalCdmaIndicatorSending,
  2331.     EAknSignalCdmaIndicatorReceiving,
  2332.     EAknSignalEdgeIndicatorOff = 0x400,
  2333.     EAknSignalEdgeIndicatorAvailable,
  2334.     EAknSignalEdgeIndicatorAttached,
  2335.     EAknSignalEdgeIndicatorEstablishingContext,
  2336.     EAknSignalEdgeIndicatorContext,
  2337.     EAknSignalEdgeIndicatorSuspended,
  2338.     EAknSignalEdgeIndicatorMultipdp
  2339.     };
  2340. #line 1075
  2341. enum
  2342.     {
  2343.     EAknSCTLowerCase,
  2344.     EAknSCTUpperCase,
  2345.     EAknSCTNumeric,
  2346.     EAknSCTFullCase,
  2347.     EAknSCTHalfCase,
  2348. EAknSCTQwerty,
  2349.     EAknSCTChiChineseInputModes = EAknSCTUpperCase,
  2350.     EAknSCTChiLatinInputModes = EAknSCTLowerCase
  2351.     };
  2352. #line 1095
  2353. enum TSCTQueryCtrlIds
  2354.     {
  2355.     EAknSCTQueryHeadingId = 1,
  2356.     EAknSCTQueryContentId
  2357.     };
  2358. enum TAvkonSKeyRepeatType
  2359.     {
  2360.     ESKeyTypeShort,
  2361.     ESKeyTypeLong,
  2362.     ESKeyTypeRepeat
  2363.     };
  2364. enum TAvkonSystemSID
  2365.     {
  2366.     EAvkonSIDNoSound = 1000,
  2367.     EAvkonSIDDefaultSound = 1001,
  2368.     EAvkonSIDStandardKeyClick = 1002,
  2369.     EAvkonSIDConfirmationTone = 1003,
  2370.     EAvkonSIDInformationTone = 1003,
  2371.     EAvkonSIDWarningTone = 1004,
  2372.     EAvkonSIDErrorTone = 1005,
  2373.     EAvkonSIDVolumeMaxTone = 1006,
  2374.     EAvkonSIDVolumeMinTone = 1007,
  2375.     EAvkonSIDReadialCompleteTone = 1008,
  2376.     EAvkonSIDBatteryLowTone = 1009,
  2377.     EAvkonSIDChargingBatteryTone  = 1010,
  2378.     EAvkonSIDConnectionStartTone  = 1011,
  2379.     EAvkonSIDConnectionStopTone  = 1012,
  2380.     EAvkonSIDOperationReadyTone  = 1013,
  2381.     EAvkonSIDNameDiallerStartTone  = 1014,
  2382.     EAvkonSIDNameDiallerErrorTone  = 1015,
  2383.     EAvkonSIDNameDiallerAbortTone  = 1016,
  2384.     EAvkonSIDPowerOffTone  = 1017,
  2385.     EAvkonSIDPowerOnTone  = 1018,
  2386.     EAvkonSIDRechargeBatteryTone = 1019,
  2387.     EAvkonSIDVoiceRecordingTone  = 1020,
  2388.     EAvkonSIDVoiceRecordingStartTone  = 1021,
  2389.     EAvkonSIDVoiceRecordingStopTone  = 1022,
  2390.     EAvkonSIDWrongCharger  = 1023,
  2391.     EAvkonSIDNetBusy = 1024,
  2392.     EAvkonSIDNetCallWaiting = 1025,
  2393.     EAvkonSIDNetReorder = 1026,
  2394.     EAvkonSIDNetCongestion = 1027,
  2395.     EAvkonSIDNetSpecialInformation = 1028,
  2396.     EAvkonSIDNetRadioNotAvailable = 1029,
  2397.     EAvkonSIDIHFActive = 1030,
  2398.     EAvkonSIDRadioPathAcknowledge = 1031,
  2399.     EAvkonSIDDial = 1032,
  2400.     EAvkonSIDRingGoing = 1033,
  2401.     EAvkonSIDLocationRequest = 1034
  2402.     };
  2403. enum TAvkonSoundsPriority
  2404.     {
  2405.     EAvkonKeyClickPriority = 45,
  2406.     EAvkonPoweringTonesPriority = 50,
  2407.     EAvkonLowLevelNotesPriority = 55,
  2408.     EAvkonConfirmationNotePriority = 55,
  2409.     EAvkonVolumeSettingTonesPriority = 60,
  2410.     EAvkonConnectionTonesPriority = 65,
  2411.     EAvkonHighLevelNotesPriority = 70,
  2412.     EAvkonErrorNotePriority = 70,
  2413.     EAvkonWarningNotePriority = 70,
  2414.     EAvkonVoiceDiallingTonesPriority = 73,
  2415.     EAvkonNetworkingTonesPriority = 75,
  2416.     EAvkonRecordingTonesPriority = 80,
  2417.     EAvkonChargingTonesPriority = 85,
  2418.     EAvkonNewMessageTonesPriority = 90,
  2419.     EAvkonAlarmTonesPriority = 95,
  2420.     EAvkonRingingTonesPriority = 100
  2421.     };
  2422. enum TAvkonSoundsPreference
  2423.     {
  2424.     EAknAudioPrefIncomingCall       =0x01340001,
  2425.     EAknAudioPrefIncomingCallLine2  =0x01330001,
  2426.     EAknAudioPrefIncomingDataCall       =0x01320001,
  2427.     EAknAudioPrefAutoRedialCompleted    =0x01310001,
  2428.     EAknAudioPrefAlarmClock         =0x01220001,
  2429.     EAknAudioPrefCalendarAlarm      =0x01210001,
  2430.     EAknAudioPrefNewSMS         =0x01120001,
  2431.     EAknAudioPrefNewSpecialMessage  =0x01110001,
  2432.     EAknAudioPrefBatteryLow         =0x01030001,
  2433.     EAknAudioPrefRechargeBattery        =0x01020001,
  2434.     EAknAudioPrefWrongCharger       =0x01010001,
  2435.     EAknAudioPrefVoiceRecStart      =0x00930001,
  2436.     EAknAudioPrefVoiceRecRecording  =0x00920001,
  2437.     EAknAudioPrefVoiceRecStop       =0x00910001,
  2438.     EAknAudioPrefRadioPathAck       =0x00890001,
  2439.     EAknAudioPrefDial               =0x00880001,
  2440.     EAknAudioPrefRingGoing          =0x00870001,
  2441.     EAknAudioPrefBusy               =0x00860001,
  2442.     EAknAudioPrefCallWaiting        =0x00850001,
  2443.     EAknAudioPrefReorder            =0x00840001,
  2444.     EAknAudioPrefCongestion         =0x00830001,
  2445.     EAknAudioPrefSpecialInformation =0x00820001,
  2446.     EAknAudioPrefRadioNotAvailable  =0x00810001,
  2447.     EAknAudioPrefError      =0x00720001,
  2448.     EAknAudioPrefWarning        =0x00710001,
  2449.     EAknAudioPrefVoiceStarting  =0x00630001,
  2450.     EAknAudioPrefVoiceError     =0x00620001,
  2451.     EAknAudioPrefVoiceAbort     =0x00610001,
  2452.     EAknAudioPrefConnectionStart    =0x00530001,
  2453.     EAknAudioPrefConnectionStop =0x00520001,
  2454.     EAknAudioPrefOperationReady =0x00510001,
  2455.     EAknAudioPrefFilePreview    =0x00440001,
  2456.     EAknAudioPrefAudioVolumeMin =0x00430001,
  2457.     EAknAudioPrefAudioVolumeMax =0x00420001,
  2458.     EAknAudioPrefIHFActive      =0x00410001,
  2459.     EAknAudioPrefCharging       =0x00330001,
  2460.     EAknAudioPrefConfirmation   =0x00320001,
  2461.     EAknAudioPrefDefaultTone    =0x00310001,
  2462.     EAknAudioPrefPowerOn        =0x00220001,
  2463.     EAknAudioPrefPowerOff       =0x00210001,
  2464.     EAknAudioPrefKeyPressNonDTMF    =0x00140001,
  2465.     EAknAudioPrefKeyDownDTMF    =0x00130001,
  2466.     EAknAudioPrefKeyUpDTMF      =0x00120001,
  2467.     EAknAudioPrefCamera     =0x00110001,
  2468.     EAknAudioPrefVoiceRec       =0x00060001,
  2469.     EAknAudioPrefComposer       =0x00050001,
  2470.     EAknAudioPrefRingFilePreview    =0x00040001,
  2471.     EAknAudioPrefVocosPlayback  =0x00030001,
  2472.     EAknAudioPrefVocosTrain     =0x00020001,
  2473.     EAknAudioPrefVocosRecog     =0x00010001,
  2474.     EAvkonKeyClickPreference = 0x00140001,
  2475.     EAvkonConfirmationNotePreference = 0x00320001,
  2476.     EAvkonErrorNotePreference = 0x00720001,
  2477.     EAvkonWarningNotePreference = 0x00710001
  2478.     };
  2479. enum TMessageQueryCtrlIds
  2480.     {
  2481.     EAknMessageQueryHeaderId = 1,
  2482.     EAknMessageQueryContentId
  2483.     };
  2484. #line 1286
  2485. enum TAvkonIncallStatusBubbleFlags
  2486.     {
  2487.     EAknStatusBubbleAlerting     = 0x00,
  2488.     EAknStatusBubbleActive       = 0x01,
  2489.     EAknStatusBubbleOnHold       = 0x02,
  2490.     EAknStatusBubbleDisconnected = 0x03,
  2491.     EAknStatusBubbleNoCiphering  = 0x04,
  2492.     EAknStatusBubbleMuted        = 0x08,
  2493.     EAknStatusBubbleVisible      = 0x10,
  2494.     EAknStatusBubbleFax      = 0x20,
  2495.     EAknStatusBubbleData      = 0x40,
  2496.     EAknStatusBubbleDataHscsd      = 0x80,
  2497.     EAknStatusBubbleLine2      = 0x100,
  2498.     EAknStatusBubbleVideo      = 0x200,
  2499.     EAknStatusBubbleEmergency  = 0x400,
  2500.     EAknStatusBubbleVoIP       = 0x800,
  2501.     EAknStatusBubbleReservedInternal = 0x80000000
  2502.     };
  2503. enum TAknNoteDialogTimeout
  2504.     {
  2505.     EAknNoteDialogUndefinedTimeout = 0,
  2506.     EAknNoteDialogShortTimeout = 1500000,
  2507.     EAknNoteDialogLongTimeout = 3000000,
  2508.     EAknConfirmationNoteTimeout = EAknNoteDialogShortTimeout,
  2509.     EAknInformationNoteTimeout = EAknNoteDialogLongTimeout,
  2510.     EAknErrorNoteTimeout = EAknNoteDialogLongTimeout,
  2511.     EAknWarningNoteTimeout = EAknNoteDialogLongTimeout
  2512.     };
  2513. enum TAknNoteDialogTone
  2514.     {
  2515.     EAknNoteDialogNoTone = 0,
  2516.     EAknNoteDialogConfirmationTone = EAvkonSIDConfirmationTone,
  2517.     EAknNoteDialogWarningTone = EAvkonSIDWarningTone,
  2518.     EAknNoteDialogErrorTone  = EAvkonSIDErrorTone
  2519.     };
  2520. enum TAknSelectionListDialogFlags
  2521.     {
  2522.     EAknFlagFind = 0x0001
  2523.     };
  2524. enum TAknIconArrayType
  2525.     {
  2526.     EAknIconArrayNone,
  2527.     EAknIconArraySimple,
  2528.     EAknIconArrayComplex
  2529.     };
  2530. enum EVariantFlag
  2531.    {
  2532.    EEuropeanVariant=0,
  2533.    EApacVariant
  2534.    };
  2535. enum ESubVariantFlag
  2536.    {
  2537.    ENoSubVariant = 0,
  2538.    EPrcSubVariant,
  2539.    EHongKongSubVariant,
  2540.    ETaiwanSubVariant
  2541.    };
  2542. #line 1386
  2543. enum TAknKeyBlockMode
  2544.     {
  2545.     EDefaultBlockMode=0,
  2546.     ENoKeyBlock
  2547.     };
  2548. enum TAknSeparatorLinePosition
  2549.     {
  2550.     ENoLine,
  2551.     EAColumn,
  2552.     EABColumn,
  2553.     EBCColumn
  2554.     };
  2555. enum TAknColourSelectionDialogIds {
  2556.     ECtrlGridType = 100,
  2557.     EColourGridPopup,
  2558.     EColourGridPopupNone
  2559. };
  2560. enum TAknCustomTextCursorIds
  2561.     {
  2562.     KAknCustomTextCursorIdLeftToRight = 0x101fdf03,
  2563.     KAknCustomTextCursorIdRightToLeft = 0x101fdf04,
  2564.     KAknCustomTextCursorIdLeftToRightThin = 0x101fe51c,
  2565.     KAknCustomTextCursorIdRightToLeftThin = 0x101fe51d
  2566.     };
  2567. enum TAknNaviPaneBackgroundTypes
  2568.     {
  2569.     EAknNaviPaneBackgroundTypeNotDefined  = 0,
  2570.     EAknNaviPaneBackgroundTypeWipe        = 1,
  2571.     EAknNaviPaneBackgroundTypeSolid       = 2
  2572.     };
  2573. #line 27 "C:\Symbian\9.1\S60_3rd\epoc32\include\aknappui.h" /* stack depth 2 */
  2574. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\akndef.h" /* stack depth 3 */
  2575. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\akndef.hrh" /* stack depth 4 */
  2576. #line 30
  2577. enum TAknUiZoom
  2578. {
  2579. EAknUiZoomAutomatic=-1,
  2580. EAknUiZoomNormal,
  2581. EAknUiZoomSmall,
  2582. EAknUiZoomLarge,
  2583. EAknUiZoomVerySmall,
  2584. EAknUiZoomVeryLarge
  2585. };
  2586. #line 24 "C:\Symbian\9.1\S60_3rd\epoc32\include\akndef.h" /* stack depth 3 */
  2587. class TVwsViewId;
  2588. const TInt KEikMessageWindowsFadeChange =0x10006890;
  2589. const TInt KEikMessageCaptionedControlEditableStateChange =0x10008E99;
  2590. const TInt KEikMessageCaptionedControlNotEditableStateChange =0x10008E9A;
  2591. const TInt KEikMessageCaptionedControlEditableStateChangeWideWithGraphic =0x101F5FBA;
  2592. const TInt KEikMessageCaptionedControlEditableStateChangeWideWithoutGraphic =0x101F5FBB;
  2593. const TInt KEikMessageCaptionedControlNotEditableStateChangeWideWithGraphic =0x101F5FBC;
  2594. const TInt KEikMessageCaptionedControlNotEditableStateChangeWideWithoutGraphic =0x101F5FBD;
  2595. const TInt KEikClearPartialForegroundState =0x101f54f4;
  2596. const TInt KEikPartialForeground =0x101f6aab;
  2597. const TInt KEikDynamicLayoutVariantSwitch = 0x101F8121;
  2598. const TInt KEikDynamicLayoutVariantSwitch_APAC = 0x101F8124;
  2599. const TInt KEikInputLanguageChange = 0x101F8519;
  2600. const TInt KAknHardwareLayoutSwitch = 0x10202672;
  2601. const TInt KAknDelayedLayoutSwitch = 0x102797FD;
  2602. namespace AknDef
  2603.     {
  2604.     __declspec(dllexport) TInt GetPhoneIdleViewId(TVwsViewId& aViewId);
  2605.     }
  2606. #line 28 "C:\Symbian\9.1\S60_3rd\epoc32\include\aknappui.h" /* stack depth 2 */
  2607. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\AknTouchPaneObserver.h" /* stack depth 3 */
  2608. #line 33
  2609. class MAknTouchPaneObserver
  2610.     {
  2611.     public:
  2612.         virtual void HandleTouchPaneSizeChange() = 0;
  2613.     };
  2614. #line 29 "C:\Symbian\9.1\S60_3rd\epoc32\include\aknappui.h" /* stack depth 2 */
  2615. class CEikButtonGroupContainer;
  2616. class CAknAppShutter;
  2617. class CAknAppUiExtension;
  2618. class CAknWsEventMonitor;
  2619. class CAknKeySoundSystem;
  2620. class CAknAppUiBaseExtension;
  2621. class CAknTouchPane;
  2622. class CAknToolbar;
  2623. #line 52
  2624. class CAknAppUiBase : public CEikAppUi
  2625.     {
  2626. private:
  2627.     friend class CAknAppUi;
  2628.     enum
  2629.         {
  2630.         EAppOrientationSpecifiedFlag      = 0x00010000,
  2631.         EAppOrientationLandscapeFlag      = 0x00020000,
  2632.         EAppOrientationAutomaticFlag      = 0x00040000,
  2633.         EAknEnableSkinFlag                = 0x00080000,
  2634.         EAknDisableHighlightAnimationFlag = 0x00100000
  2635.         };
  2636.     public:
  2637.     enum TAppUiOrientation
  2638.         {
  2639.         EAppUiOrientationUnspecified,
  2640.         EAppUiOrientationPortrait,
  2641.         EAppUiOrientationLandscape,
  2642.         EAppUiOrientationAutomatic
  2643.         };
  2644.     enum
  2645.         {
  2646. #line 112
  2647.         EAknEnableSkin = EAknEnableSkinFlag,
  2648.         EAppOrientationPortrait     = EAppOrientationSpecifiedFlag,
  2649. EAppOrientationLandscape    = EAppOrientationSpecifiedFlag
  2650.                               | EAppOrientationLandscapeFlag,
  2651. EAppOrientationAutomatic    = EAppOrientationSpecifiedFlag
  2652.                               | EAppOrientationAutomaticFlag,
  2653.         EAknDisableHighlightAnimation = EAknDisableHighlightAnimationFlag
  2654. };
  2655. public:
  2656.     __declspec(dllexport) ~CAknAppUiBase();
  2657.     __declspec(dllexport) CAknAppUiBase();
  2658. public:
  2659.     __declspec(dllexport) void BaseConstructL( TInt aAppUiFlags );
  2660. #line 150
  2661.     __declspec(dllexport) void HandleForegroundEventL(TBool aForeground);
  2662. public:
  2663.     __declspec(dllexport) void ConstructL();
  2664.     __declspec(dllexport) void Exit();
  2665. __declspec(dllexport) void SetFadedL(TBool aFaded);
  2666. #line 179
  2667. __declspec(dllexport) void HandleResourceChangeL(TInt aType);
  2668. __declspec(dllexport) TRect ApplicationRect() const;
  2669. public:
  2670. __declspec(dllexport) void PrepareToExit();
  2671. public:
  2672.     __declspec(dllexport) TBool IsFaded() const;
  2673.     __declspec(dllexport) CAknWsEventMonitor* EventMonitor() const;
  2674. __declspec(dllexport) CAknKeySoundSystem* KeySounds() const;
  2675. __declspec(dllexport) TBool IsFullScreenApp() const;
  2676. __declspec(dllexport) TBool IsLayoutAwareApp() const;
  2677. __declspec(dllexport) void SetLayoutAwareApp(TBool aLayoutAwareApp);
  2678. __declspec(dllexport) TBool IsForeground() const;
  2679. __declspec(dllexport) TBool IsPartialForeground() const;
  2680. __declspec(dllexport) TAppUiOrientation Orientation() const;
  2681. __declspec(dllexport) void SetOrientationL(TAppUiOrientation aOrientation);
  2682. TInt FindAppWgIdBelowMeL();
  2683. TInt EventForForegroundState(TBool aPartialFg, TBool aForeground);
  2684. TBool ThreadIsForeground() const;
  2685.     void SimulateWsEventL(TInt aEvent);
  2686.     __declspec(dllexport) TAknUiZoom LocalUiZoom() const;
  2687. #line 302
  2688.     __declspec(dllexport) void SetLocalUiZoomL(TAknUiZoom aZoom);
  2689. protected:
  2690. __declspec(dllexport) virtual void HandleScreenDeviceChangedL();
  2691. protected:
  2692.     __declspec(dllexport) virtual void HandleApplicationSpecificEventL(TInt aType,
  2693.         const TWsEvent& aEvent);
  2694. protected:
  2695.     __declspec(dllexport) void SetFullScreenApp(TBool aIsFullScreen);
  2696.     __declspec(dllexport) void ReplaceKeySoundsL( TInt aUid );
  2697. protected:
  2698. __declspec(dllexport) virtual TTypeUid::Ptr MopSupplyObject(TTypeUid aId);
  2699. private:
  2700.     void UpdateSettingCacheAndForwardEventL( TInt aEventId );
  2701.     void SetAppUiAndLeaveIfErrorL( TInt aError );
  2702. private:
  2703.     TBitFlags iAknFlags;
  2704. CAknWsEventMonitor* iEventMonitor;
  2705. CAknKeySoundSystem* iKeySounds;
  2706.     CAknAppUiBaseExtension* iAppUiBaseExtension;
  2707.     };
  2708. class CAknAppUi : public CAknAppUiBase, MEikStatusPaneObserver,
  2709.             public MCoeViewDeactivationObserver,
  2710.             public MAknTouchPaneObserver
  2711.     {
  2712. public:
  2713. #line 379
  2714. __declspec(dllexport) void BaseConstructL(TInt aAppUiFlags=EStandardApp);
  2715.     __declspec(dllexport) ~CAknAppUi();
  2716. public:
  2717.     __declspec(dllexport) void ConstructL();
  2718. public:
  2719. __declspec(dllexport) CEikStatusPane* StatusPane();
  2720. __declspec(dllexport) CEikButtonGroupContainer* Cba();
  2721.     __declspec(dllexport) CAknTouchPane* TouchPane();
  2722.     __declspec(dllexport) CAknToolbar* PopupToolbar() const;
  2723.     __declspec(dllexport) CAknToolbar* CurrentPopupToolbar() const;
  2724.     void StopDisplayingPopupToolbar();
  2725. #line 439
  2726. __declspec(dllexport) void ProcessCommandL(TInt aCommand);
  2727. #line 451
  2728.     __declspec(dllexport) TErrorHandlerResponse HandleError (TInt aError,
  2729.         const SExtendedError& aExtErr, TDes& aErrorText, TDes& aContextText);
  2730. __declspec(dllexport) void RunAppShutter();
  2731. __declspec(dllexport) TBool IsAppShutterRunning() const;
  2732. public:
  2733. #line 477
  2734. __declspec(dllexport) virtual void HandleViewDeactivation(
  2735.     const TVwsViewId& aViewIdToBeDeactivated,
  2736.     const TVwsViewId &aNewlyActivatedViewId);
  2737. public:
  2738. __declspec(dllexport) void PrepareToExit();
  2739. public:
  2740.     __declspec(dllexport) void HandleTouchPaneSizeChange();
  2741. protected:
  2742. __declspec(dllexport) void HandleStatusPaneSizeChange();
  2743. __declspec(dllexport) void HandleSystemEventL(const TWsEvent& aEvent);
  2744. protected:
  2745. __declspec(dllexport) virtual void Reserved_MtsmPosition();
  2746. __declspec(dllexport) virtual void Reserved_MtsmObject();
  2747. protected:
  2748.     __declspec(dllexport) void HandleForegroundEventL(TBool aForeground);
  2749. __declspec(dllexport) void HandleWsEventL(const TWsEvent& aEvent,
  2750.     CCoeControl* aDestination);
  2751. #line 540
  2752. __declspec(dllexport) void SetKeyBlockMode(TAknKeyBlockMode aMode);
  2753.     __declspec(dllexport) void HandleErrorL(TInt aError, HBufC** aErrorDesc, TBool aShowNote = ETrue );
  2754. #line 552
  2755.     void DumpControl(CCoeControl* aControl, TInt aLevel, RDebug& aDebug);
  2756.     void DecideWsClientBufferSizesL();
  2757. private:
  2758. void UpdateKeyBlockMode();
  2759. private:
  2760. TBool iDumpNextControl;
  2761. CAknAppShutter* iAppShutter;
  2762. TAknKeyBlockMode iBlockMode;
  2763. CAknAppUiExtension * iExtension;
  2764. public:
  2765.     __declspec(dllexport) void HideApplicationFromFSW(TBool aHide=ETrue);
  2766.     };
  2767. #line 24 "C:\Symbian\9.1\S60_3rd\epoc32\include\aknviewappui.h" /* stack depth 1 */
  2768. class CAknView;
  2769. class CAknViewShutter;
  2770. class CAknLocalScreenClearer;
  2771. class CAknViewAppUiExtension;
  2772. class CAknViewNavigator;
  2773. #line 43
  2774. class CAknViewAppUi : public CAknAppUi
  2775.     {
  2776. public:
  2777. class CViewActivationItem : public CBase
  2778. {
  2779. public:
  2780. #line 58
  2781. static CViewActivationItem* NewLC(CAknView* aNewView,
  2782.                                   TUid aCustomMessageId,
  2783.                                   const TDesC8& aCustomMessage,
  2784.                                   const TVwsViewId& aPrevViewId);
  2785. ~CViewActivationItem();
  2786. private:
  2787. CViewActivationItem(CAknView* aNewView,
  2788.                     TUid aCustomMessageId,
  2789.                     const TVwsViewId& aPrevViewId);
  2790. void ConstructL(const TDesC8& aCustomMessage);
  2791. public:
  2792. CAknView* iNewView;
  2793. TUid iCustomMessageId;
  2794. HBufC8* iCustomMessage;
  2795. TVwsViewId iPrevViewId;
  2796. };
  2797.         class TAknSplitViewContainer
  2798.             {
  2799.             public:
  2800.                 TBool IsPartOf( const TUid aViewId );
  2801.             public:
  2802.                 TUid iViewIds[2];
  2803.                 TBool iFailed[2];
  2804.                 TRect iViewRect[2];
  2805.                 TInt iLeftViewSize;
  2806.             };
  2807.      typedef CArrayPtrFlat<CViewActivationItem> CAknViewActivationQueue;
  2808.      typedef CArrayPtrFlat<CAknView> CAknViews;
  2809. public:
  2810. __declspec(dllexport) void BaseConstructL(TInt aAppUiFlags=EStandardApp);
  2811. __declspec(dllexport) virtual ~CAknViewAppUi();
  2812. __declspec(dllexport) void ActivateLocalViewL(TUid aViewId);
  2813. #line 143
  2814. __declspec(dllexport) void ActivateLocalViewL(TUid aViewId,
  2815.                                  TUid aCustomMessageId,
  2816.                                  const TDesC8& aCustomMessage);
  2817. __declspec(dllexport) CAknView* View(TUid aView) const;
  2818. __declspec(dllexport) void AddViewL(CAknView* aView);
  2819. __declspec(dllexport) void RemoveView(TUid aViewId);
  2820. __declspec(dllexport) void ProcessCommandL(TInt aCommand);
  2821. __declspec(dllexport) void StopDisplayingMenuBar();
  2822. void ViewActivatedL(CAknView* aView,
  2823.                     const TVwsViewId& aPrevViewId,
  2824.                     TUid aCustomMessageId,
  2825.                     const TDesC8& aCustomMessage);
  2826. void ViewDeactivated(CAknView* aView);
  2827. #line 196
  2828.     __declspec(dllexport) void SetSplitViewL( const TUid aView1Id, const TUid aView2Id, const TInt aLeftViewSize );
  2829. #line 205
  2830.     __declspec(dllexport) void RemoveSplitViewL( const TUid aViewId );
  2831.     __declspec(dllexport) TBool SplitViewActive() const;
  2832.     __declspec(dllexport) TUid FocusedView() const;
  2833.     __declspec(dllexport) TBool ViewShown( const TUid aViewId ) const;
  2834.     TRect ViewRect( const TUid aViewId ) const;
  2835.     TKeyResponse HandleViewNavigationL( const TKeyEvent& aKeyEvent );
  2836. protected:
  2837. __declspec(dllexport) void HandleStatusPaneSizeChange();
  2838. __declspec(dllexport) void HandleForegroundEventL(TBool aForeground);
  2839. #line 268
  2840.     __declspec(dllexport) void HandleWsEventL( const TWsEvent& aEvent, CCoeControl* aDestination );
  2841. private:
  2842. static TInt ActivationCallBack(TAny* aThis);
  2843. void ActivationTick();
  2844. void QueueActivationTick();
  2845.     CAknViewAppUiExtension* Extension() const;
  2846.     void ActivateSplitViewL( CViewActivationItem* aItem );
  2847.     TAknSplitViewContainer* SplitView( const TUid aViewId ) const;
  2848. protected:
  2849.     CAknView* iView;
  2850.     CAknViews* iViews;
  2851. private:
  2852.     CAknViewShutter* iShutter;
  2853.     CAknLocalScreenClearer* iClearer;
  2854.     CAknViewActivationQueue* iActivationQueue;
  2855.     CIdle* iActivationTick;
  2856.     CAknViewAppUiExtension* iExtension;
  2857.     };
  2858. #line 7 "C:\gbtukmanpf01\NOK124\Courses\S60\05300-S60_C++_Introduction\Working\LabCode\Lab_05304-s2.cb1\starter\src\S60UIExampleInitialView.cpp" /* stack depth 0 */
  2859. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\S60UIExample.rsg" /* stack depth 1 */
  2860. #line 8 "C:\gbtukmanpf01\NOK124\Courses\S60\05300-S60_C++_Introduction\Working\LabCode\Lab_05304-s2.cb1\starter\src\S60UIExampleInitialView.cpp" /* stack depth 0 */
  2861. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikmenup.h" /* stack depth 1 */
  2862. #line 24
  2863. class MEikMenuObserver;
  2864. class CEikHotKeyTable;
  2865. class CEikMenuPaneTitle;
  2866. class CEikButtonBase;
  2867. class CEikScrollBarFrame;
  2868. class CEikScrollBar;
  2869. class TEikScrollBarModel;
  2870. class CGulIcon;
  2871. class CEikMenuPaneExtension ;
  2872. const TInt KScaleableTextSeparator = 0x0001;
  2873. class CExtendedItemData : public CBase
  2874.     {
  2875. public:
  2876.     ~CExtendedItemData();
  2877. public:
  2878.     CGulIcon* iIcon;
  2879.     HBufC* iScaleableText;
  2880.     };
  2881. #line 57
  2882. class CEikMenuPaneItem : public CBase
  2883.     {
  2884. public:
  2885.     struct SData
  2886.         {
  2887.         enum { ENominalTextLength=40 };
  2888.         TInt iCommandId;
  2889.         TInt iCascadeId;
  2890.         TInt iFlags;
  2891.         TBuf<ENominalTextLength> iText;
  2892.         TBuf<1> iExtraText;
  2893.         };
  2894. public:
  2895.     __declspec(dllexport) CEikMenuPaneItem();
  2896.     __declspec(dllexport) ~CEikMenuPaneItem();
  2897.     __declspec(dllexport) void SetIcon(CGulIcon* aIcon);
  2898. #line 95
  2899.     __declspec(dllexport) void DrawItemIcon(CWindowGc& aGc,
  2900.                                TRect aRect,
  2901.                                TBool aDimmed,
  2902.                                TInt aBitmapSpaceRequired) const;
  2903. #line 108
  2904.     __declspec(dllexport) void CreateIconL(CFbsBitmap* aBitmap,
  2905.                               CFbsBitmap* aMask);
  2906.     __declspec(dllexport) CFbsBitmap* IconBitmap() const;
  2907.     __declspec(dllexport) CFbsBitmap* IconMask() const;
  2908.     __declspec(dllexport) void SetBitmapsOwnedExternally(TBool aOwnedExternally);
  2909.     __declspec(dllexport) void SetIconBitmapL(CFbsBitmap* aBitmap);
  2910.     __declspec(dllexport) void SetIconMaskL(CFbsBitmap* aMask);
  2911.     __declspec(dllexport) TPtrC ScaleableText() const;
  2912.     __declspec(dllexport) void SetScaleableTextL(const TDesC& aText);
  2913. private:
  2914.     inline void CreateExtendedDataBlock();
  2915.     inline TBool IsScaleableText(const TDesC& aText) const;
  2916.     TPtrC GetNominalText(const TDesC& aText);
  2917. public:
  2918.     TInt iPos;
  2919.     TInt iHotKeyCode;
  2920.     SData iData;
  2921. private:
  2922.     CExtendedItemData* iExtendedData;
  2923.     };
  2924. inline void CEikMenuPaneItem::CreateExtendedDataBlock()
  2925.     {
  2926.     if (!iExtendedData)
  2927.         {
  2928.         TInt err; { err = 0; { ; } try { TWin32SEHTrap __trap; __trap.Trap(); TTrapHandler* ____t = User::MarkCleanupStack(); ( iExtendedData = new (ELeave) CExtendedItemData() ); User::UnMarkCleanupStack(____t); { ; } __trap.UnTrap(); } catch (XLeaveException& l) { err = l.GetReason(); { ; } } catch (...) { User::Invariant(); } } ;
  2929.         }
  2930.     }
  2931. inline TBool CEikMenuPaneItem::IsScaleableText(const TDesC& aText) const
  2932.     {
  2933.     return (aText.Locate(TChar(KScaleableTextSeparator)) == KErrNotFound ? EFalse : ETrue);
  2934.     }
  2935. class CEikMenuPane : public CEikBorderedControl
  2936.     {
  2937. private:
  2938.     enum {ENothingSelected=-1};
  2939.     class CMenuScroller;
  2940.     friend class CMenuScroller;
  2941.     friend class CEikMenuPaneExtension;
  2942. public:
  2943.     typedef TBuf<20> THotKeyDisplayText;
  2944. public:
  2945.     class CItemArray:public CArrayPtrFlat<CEikMenuPaneItem>
  2946.         {
  2947.     public:
  2948.         __declspec(dllexport) CItemArray();
  2949.         __declspec(dllexport) ~CItemArray();
  2950.         __declspec(dllexport) void AddItemL(CEikMenuPaneItem* aMenuItem);
  2951.         };
  2952. public:
  2953.     __declspec(dllexport) ~CEikMenuPane();
  2954.     __declspec(dllexport) CEikMenuPane(MEikMenuObserver* aMenuObserver);
  2955.     __declspec(dllexport) void ConstructL(CEikMenuPane* aOwner,
  2956.                              MEikMenuObserver* aEditMenuObserver = 0 );
  2957.     __declspec(dllexport) void Reset();
  2958. public:
  2959.     __declspec(dllexport) TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,
  2960.                                          TEventCode aType);
  2961.     __declspec(dllexport) void HandlePointerEventL(const TPointerEvent& aPointerEvent);
  2962.     __declspec(dllexport) virtual void GetColorUseListL(CArrayFix<TCoeColorUse>& aColorUseList) const;
  2963.     __declspec(dllexport) virtual void HandleResourceChange(TInt aType);
  2964. private:
  2965.     __declspec(dllexport) void* ExtensionInterface( TUid aInterface );
  2966. public:
  2967.     __declspec(dllexport) TCoeInputCapabilities InputCapabilities() const;
  2968. protected:
  2969.     __declspec(dllexport) void Draw(const TRect& aRect) const;
  2970.     __declspec(dllexport) void FocusChanged(TDrawNow aDrawNow);
  2971.     __declspec(dllexport) void ConstructFromResourceL(TResourceReader& aReader);
  2972. public:
  2973. #line 307
  2974.     __declspec(dllexport) void AddMenuItemL(const CEikMenuPaneItem::SData& aMenuItem);
  2975. #line 317
  2976.     __declspec(dllexport) void AddMenuItemL(const CEikMenuPaneItem::SData& aMenuItem,
  2977.                                TInt aPreviousId);
  2978. #line 328
  2979.     __declspec(dllexport) void AddMenuItemsL(TInt aResourceId,
  2980.                                 TInt aPreviousId = 0,
  2981.                                 TBool aAddSeperator = EFalse);
  2982.     __declspec(dllexport) void DeleteMenuItem(TInt aCommandId);
  2983.     __declspec(dllexport) void DeleteBetweenMenuItems(TInt aStartIndex,
  2984.                                          TInt aEndIndex);
  2985.     __declspec(dllexport) CEikMenuPaneItem::SData& ItemData(TInt aCommandId);
  2986. #line 359
  2987.     __declspec(dllexport) CEikMenuPaneItem* ItemAndPos(TInt aCommandId,TInt& aPos);
  2988. #line 375
  2989.     __declspec(dllexport) void StartDisplayingMenuPane(const CEikHotKeyTable* aHotKeyTable,
  2990.                                           const TPoint& aTargetPos,
  2991.                                           const CEikMenuPaneTitle* aMenuPaneTitle,
  2992.                                           TInt aMinWidth,
  2993.                                           TPopupTargetPosType aTargetType = EPopupTargetTopLeft);
  2994.     __declspec(dllexport) void SetItemTextL(TInt aCommandId,
  2995.                                const TDesC& aDes);
  2996.     __declspec(dllexport) void SetItemTextL(TInt aCommandId,
  2997.                                TInt aRid);
  2998. #line 405
  2999.     __declspec(dllexport) void SetItemDimmed(TInt aCommandId,
  3000.                                 TBool aDimmed);
  3001.     __declspec(dllexport) void SetItemButtonState(TInt aCommandId,
  3002.                                      TInt aButtonState);
  3003.     __declspec(dllexport) void SetSelectedItem(TInt aSelectedItem);
  3004.     __declspec(dllexport) TInt SelectedItem() const;
  3005.     __declspec(dllexport) void CloseCascadeMenu();
  3006.     __declspec(dllexport) void SetItemArray(CItemArray* aItemArray);
  3007.     __declspec(dllexport) void SetItemArrayOwnedExternally(TBool aOwnedExternally);
  3008.     __declspec(dllexport) void SetLaunchingButton(CEikButtonBase* aButton);
  3009. #line 463
  3010.     __declspec(dllexport) void MoveHighlightTo(TInt aNewSelectedItem);
  3011.     __declspec(dllexport) TInt NumberOfItemsInPane() const;
  3012.     __declspec(dllexport) void Close();
  3013. #line 483
  3014.     __declspec(dllexport) TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,
  3015.                                          TEventCode aType,
  3016.                                          TBool aConsumeAllKeys);
  3017.     __declspec(dllexport) void SetScrollBarOnLeft(TBool aOnLeft);
  3018.     __declspec(dllexport) void SetArrowHeadScrollBar(TBool aArrowHead);
  3019.     __declspec(dllexport) void NavigateToNextItem();
  3020.     __declspec(dllexport) void InsertMenuItemL(const CEikMenuPaneItem::SData& aMenuItem,
  3021.                                   TInt aPosition);
  3022. #line 522
  3023.     __declspec(dllexport) TBool MenuItemExists(TInt aCommandId,
  3024.                                   TInt& aPosition);
  3025.     __declspec(dllexport) TBool IsCascadeMenuPane() const;
  3026.     __declspec(dllexport) void EnableMarqueeL(const TBool aEnable);
  3027.     void ActivateCurrentItemL();
  3028.     TBool CancelActiveMenuPane();
  3029.     void FilterDimmedItems();
  3030.     void ClipMenuItems(TInt aWidth);
  3031.     CEikMenuPane* CascadeMenuPane();
  3032.     __declspec(dllexport) CEikMenuPaneItem::SData& ItemDataByIndexL(TInt aItemIndex);
  3033.     TBool IsPositionToBeForced() const;
  3034.     __declspec(dllexport) void ConstructMenuSctRowL( TDes& aSpecialChars );
  3035. private:
  3036.     enum { EInvalidCurrentSize=0x01, EBackgroundFaded=0x02 };
  3037. private:
  3038.     TRect CalculateSizeAndPosition() ;
  3039.     enum THighlightType {ENoHighlight,EDrawHighlight,ERemoveHighlight};
  3040.     void DrawItem(CWindowGc& aGc,TInt aItem,THighlightType aHighlight) const;
  3041.     void FindHotKeyDisplayText(TDes& aDes,const CEikMenuPaneItem& aItem) const;
  3042.     void ReportSelectionMadeL();
  3043.     void ReportCanceled();
  3044.     void GiveVisualFeedback();
  3045.     void LaunchCascadeMenuL(TInt aCascadeMenuId);
  3046.     void DoLaunchCascadeMenuL(TInt aCascadeMenuId);
  3047.     void TryLaunchCascadeMenuL(const CEikMenuPaneItem& aItem);
  3048.     void PrepareGcForDrawingItems(CGraphicsContext& aGc) const;
  3049.     TBool ItemArrayOwnedExternally() const;
  3050.     TBool IsHotKeyL(const TInt modifiers,const TInt aCode);
  3051.     TBool MoveToItemL(TInt aCode, TInt aModifiers);
  3052.     void HandleScrollEventL(CEikScrollBar* aScrollBar,TEikScrollEvent aEventType);
  3053.     void CreateScrollBarFrame();
  3054.     void UpdateScrollBar();
  3055.     void DoUpdateScrollBarL();
  3056.     void UpdateScrollBarThumbs();
  3057.     static TInt UpdateScrollBarCallBackL(TAny* aObj);
  3058.     TRect ViewRect() const;
  3059.     TInt TotalItemHeight() const;
  3060.     void ScrollToMakeItemVisible(TInt aItemIndex);
  3061.     void Scroll(TInt aAmount);
  3062.     TBool CheckCreateScroller();
  3063.     void CheckCreateScrollerL();
  3064.     void ResetItemArray();
  3065.     void CreateItemArrayL();
  3066.     void SetVScrollBarFlag();
  3067.     TInt TopHighlightGap() const;
  3068.     TInt BottomHighlightGap() const;
  3069.     TInt EvaluateMaxIconWidth() const;
  3070.     void CreateIconFromResourceL(TResourceReader& aReader, CEikMenuPaneItem& aItem) const;
  3071.     void AnimateMenuPane(const TPoint& aNewPos);
  3072.     TRect ListMenuPane() const;
  3073.     TRect PopupMenuWindow() const;
  3074.     TRect PopupSubmenuWindow() const;
  3075.     void UpdateBackgroundContext(const TRect& aWindowRect);
  3076.     void RepaintHighlight() const;
  3077. private:
  3078.     __declspec(dllexport) void Reserved_1();
  3079.     __declspec(dllexport) void Reserved_2();
  3080. private :
  3081.     void LoadCascadeBitmapL() ;
  3082.     void LoadCheckMarkBitmapL();
  3083.     TBool MenuHasCheckBoxOn() const;
  3084.     void LoadRadioButtonBitmapL();
  3085.     TBool IsItemMemberOfRadioButtonGroup(TInt aItem) const ;
  3086.     TBool MenuHasIcon() const;
  3087.     TRect CalculateSizeAndPositionScalable( const TRect& aWindowRect, TInt aNumItemsInPane ) ;
  3088.     TRect HighlightRect() const;
  3089.     void PrepareHighlightFrame() const;
  3090.     void SetCascadedIconSize() const;
  3091.     friend class CAknMarqueeControl;
  3092.     static TInt RedrawMarqueeEvent( TAny* aControl );
  3093.     CEikMenuPaneExtension* Extension() const;
  3094. protected:
  3095.     __declspec(dllexport) TTypeUid::Ptr MopSupplyObject(TTypeUid aId);
  3096. public:
  3097.     __declspec(dllexport) TInt CountComponentControls() const;
  3098.     __declspec(dllexport) CCoeControl* ComponentControl(TInt aIndex) const;
  3099. protected:
  3100.     void DisableAnimation();
  3101. #line 686
  3102.     void SetPositionToBeForced(TBool aForced);
  3103.     TInt NumberOfItemsThatFitInView() const;
  3104. private:
  3105.     friend class CEikMenuButton;
  3106.     MEikMenuObserver* iMenuObserver;
  3107.     MEikMenuObserver* iEditMenuObserver;
  3108.     CEikMenuPane* iCascadeMenuPane;
  3109.     const CEikMenuPaneTitle* iMenuPaneTitle;
  3110.     const CEikHotKeyTable* iHotKeyTable;
  3111.     CEikMenuPane* iOwner;
  3112.     CItemArray* iItemArray;
  3113.     TBool iArrayOwnedExternally;
  3114.     TBool iAllowPointerUpEvents;
  3115.     TInt iNumberOfDragEvents;
  3116.     TInt iSelectedItem;
  3117.     TInt iItemHeight;
  3118.     TInt iBaseLine;
  3119.     TInt iHotkeyColWidth;
  3120.     TInt iFlags;
  3121.     CEikScrollBarFrame* iSBFrame;
  3122.     CMenuScroller* iScroller;
  3123.     CEikButtonBase* iLaunchingButton;
  3124.     TInt iSubPopupWidth;
  3125.     TBool iEnableAnimation;
  3126.     CEikMenuPaneExtension* iExtension ;
  3127.     };
  3128. #line 9 "C:\gbtukmanpf01\NOK124\Courses\S60\05300-S60_C++_Introduction\Working\LabCode\Lab_05304-s2.cb1\starter\src\S60UIExampleInitialView.cpp" /* stack depth 0 */
  3129. CS60UIExampleInitialView::CS60UIExampleInitialView(CS60UIExampleModel& aModel)
  3130.     :iModel(aModel)
  3131.     {
  3132.     }
  3133. CS60UIExampleInitialView* CS60UIExampleInitialView::NewL(
  3134.                                                  CS60UIExampleModel& aModel)
  3135.     {
  3136.     CS60UIExampleInitialView* self = CS60UIExampleInitialView::NewLC(aModel);
  3137.     CleanupStack::Pop(self);
  3138.     return self;
  3139.     }
  3140. CS60UIExampleInitialView* CS60UIExampleInitialView::NewLC(
  3141.                                                  CS60UIExampleModel& aModel)
  3142.     {
  3143.     CS60UIExampleInitialView* self =
  3144.                           new (ELeave) CS60UIExampleInitialView(aModel);
  3145.     CleanupStack::PushL(self);
  3146.     self->ConstructL();
  3147.     return self;
  3148.     }
  3149. void CS60UIExampleInitialView::ConstructL()
  3150.     {
  3151.     BaseConstructL(0x5b4ee004 );
  3152.     }
  3153. CS60UIExampleInitialView::~CS60UIExampleInitialView()
  3154.     {
  3155.     }
  3156. TUid CS60UIExampleInitialView::Id() const
  3157.     {
  3158.     return TUid::Uid(ES60UIExampleInitialViewId);
  3159.     }
  3160. void CS60UIExampleInitialView::DoActivateL(const TVwsViewId& ,
  3161.                                            TUid ,
  3162.                                            const TDesC8& )
  3163.     {
  3164.     iContainer = CS60UIExampleInitialContainer::NewL(ClientRect(), iModel);
  3165.     AppUi()->AddToStackL(*this, iContainer);
  3166.     }
  3167. void CS60UIExampleInitialView::DoDeactivate()
  3168.     {
  3169.     if (iContainer)
  3170.         {
  3171.         AppUi()->RemoveFromStack(iContainer);
  3172.         delete iContainer;
  3173.         iContainer = 0 ;
  3174.         }
  3175.     }
  3176. void CS60UIExampleInitialView::HandleCommandL(TInt aCommand)
  3177.     {
  3178.     switch (aCommand)
  3179.         {
  3180.         case ES60UIExampleStartGame:
  3181.             {
  3182.             iModel.GameStart();
  3183.             AppUi()->ActivateLocalViewL(TUid::Uid(ES60UIExamplePlayViewId));
  3184.             break;
  3185.             }
  3186.         case ES60UIExampleContinueGame:
  3187.             {
  3188.             iModel.GameContinue();
  3189.             AppUi()->ActivateLocalViewL(TUid::Uid(ES60UIExamplePlayViewId));
  3190.             break;
  3191.             }
  3192.         case ES60UIExampleHighscores:
  3193.             {
  3194.             AppUi()->ActivateLocalViewL(TUid::Uid(ES60UIExampleHighScoreViewId));
  3195.             break;
  3196.             }
  3197.         default:
  3198.             AppUi()->HandleCommandL(aCommand);
  3199.         }
  3200.     }
  3201. void CS60UIExampleInitialView::DynInitMenuPaneL(TInt aResourceId,
  3202.                                                 CEikMenuPane* aMenuPane)
  3203.     {
  3204.     if (aResourceId == 0x5b4ee006 )
  3205.         {
  3206.         if (!iModel.IsGameStarted())
  3207.             {
  3208.             aMenuPane->SetItemDimmed(ES60UIExampleContinueGame, ETrue);
  3209.             }
  3210.         }
  3211.     }