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

Symbian

开发平台:

C/C++

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