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

Symbian

开发平台:

C/C++

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