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

Symbian

开发平台:

C/C++

  1. TBool FindOverlapRect(const TPoint& aTopLeft, const TTmHighlightExtensions& aHighlightExtensions, const TRect& aRect, TInt aHighlightStartPos,TInt aHighlightEndPos, TRect& aOverlapRect) const;
  2. void DrawRect(CGraphicsContext& aGc, const TPoint& aTopLeft, const TRect& aClipRect, const TTmHighlightExtensions& aHighlightExtensions, const TRect& aRect) const;
  3. void DrawRectExcludingHighlight(CGraphicsContext& aGc, const TPoint& aTopLeft, const TRect& aClipRect, const TTmHighlightExtensions& aHighlightExtensions, TInt aHighlightStartPos,TInt aHighlightEndPos, const TRect& aRect) const;
  4. MTmSource* iSource;
  5. CTmCode iCode;
  6. TInt iWidth;
  7. TInt iHeight;
  8. TInt iStartChar;
  9. TInt iEndChar;
  10. };
  11. #line 1181
  12. class MTmTextLayoutForwarder
  13. {
  14. public:
  15. __declspec(dllexport) void DrawLayout(CGraphicsContext& aGc,const TPoint& aTopLeft,const TRect& aClipRect,
  16.  const TLogicalRgb* aDocBackground,TBool aDrawParBackground) const;
  17. __declspec(dllexport) void DrawBackground(CGraphicsContext& aGc,const TPoint& aTopLeft,const TRect& aClipRect,
  18.  const TLogicalRgb& aBackground) const;
  19. __declspec(dllexport) void InvertLayout(CGraphicsContext& aGc,const TPoint& aTopLeft,TInt aStartDocPos,TInt aEndDocPos);
  20. __declspec(dllexport) TBool FindDocPos(const TTmDocPosSpec& aDocPos,TTmPosInfo2& aPosInfo,TTmLineInfo& aLineInfo) const;
  21. __declspec(dllexport) TBool FindXyPos(const TPoint& aXyPos,TTmPosInfo2& aPosInfo,TTmLineInfo& aLineInfo) const;
  22. __declspec(dllexport) TBool FindXyPosWithDisambiguation(const TPoint& aXyPos,
  23. TTmPosInfo2& aPosLeft, TTmPosInfo2& aPosRight,
  24. TTmLineInfo& aLineInfo) const;
  25. __declspec(dllexport) TBool DocPosToLine(const TTmDocPosSpec& aDocPos,TTmLineInfo& aLineInfo) const;
  26. __declspec(dllexport) TBool LineNumberToLine(TInt aLineNumber,TTmLineInfo& aLineInfo) const;
  27. __declspec(dllexport) TBool ParNumberToLine(TInt aParNumber,TInt aLineInPar,TTmLineInfo& aLineInfo) const;
  28. __declspec(dllexport) TBool YPosToLine(TInt aYPos,TTmLineInfo& aLineInfo) const;
  29. __declspec(dllexport) TInt WidthOfWidestLine(TInt aTop = 0,TInt aBottom = KMaxTInt) const;
  30. __declspec(dllexport) void HorizontalExtremes(TInt &aLeft, TInt &aRight,
  31. TInt aTopY = 0, TInt aBottomY = KMaxTInt) const;
  32. __declspec(dllexport) TBool GetNextVisualCursorPos(const TTmDocPosSpec& aDocPos,TTmPosInfo2& aInfo,TBool aToLeft) const;
  33. __declspec(dllexport) TBool GetNextPosLeftWithDisambiguation(const TTmDocPosSpec& aDocPos,
  34. TTmPosInfo2& aPosLeft, TTmPosInfo2& aPosRight) const;
  35. __declspec(dllexport) TBool GetNextPosRightWithDisambiguation(const TTmDocPosSpec& aDocPos,
  36. TTmPosInfo2& aPosLeft, TTmPosInfo2& aPosRight) const;
  37. __declspec(dllexport) TBool GetCursor(const TTmDocPosSpec& aDocPos,TTmCursorPlacement aPlacement,
  38.  TTmLineInfo& aLineInfo,TPoint& aOrigin,TInt& aWidth,TInt& aAscent,TInt& aDescent) const;
  39. __declspec(dllexport) TInt Lines() const;
  40. __declspec(dllexport) TInt Paragraphs() const;
  41. __declspec(dllexport) TBool GetDisplayedText(TInt aLineNumber,TDes& aText,TInt& aNeeded) const;
  42. __declspec(dllexport) void GetMinimumLayoutSizeL(TInt aWrapWidth,TSize& aSize) const;
  43. __declspec(dllexport) void GetMinimumLayoutSizeL(TInt aWrapWidth,TBool aAllowLegalLineBreaksOnly,TSize& aSize) const;
  44. __declspec(dllexport) TInt StartChar() const;
  45. __declspec(dllexport) TInt EndChar() const;
  46. __declspec(dllexport) TInt LayoutWidth() const;
  47. __declspec(dllexport) TInt LayoutHeight() const;
  48. __declspec(dllexport) TBool FindDocPos(const TTmDocPos& aDocPos,TTmPosInfo& aPosInfo,TTmLineInfo& aLineInfo) const;
  49. __declspec(dllexport) TBool FindXyPos(const TPoint& aXyPos,TTmPosInfo& aPosInfo,TTmLineInfo& aLineInfo) const;
  50. __declspec(dllexport) TBool DocPosToLine(const TTmDocPos& aDocPos,TTmLineInfo& aLineInfo) const;
  51. __declspec(dllexport) TBool GetNextVisualCursorPos(const TTmDocPos& aDocPos,TTmPosInfo& aInfo,TBool aToLeft) const;
  52. __declspec(dllexport) TBool GetCursor(const TTmDocPos& aDocPos,
  53. TTmCursorPlacement aPlacement, TTmLineInfo& aLineInfo,
  54. TPoint& aOrigin, TInt& aWidth, TInt& aAscent, TInt& aDescent) const;
  55. private:
  56. virtual const CTmTextLayout& TextLayout() const = 0;
  57. __declspec(dllexport) virtual void GetOrigin(TPoint& aPoint) const;
  58. void FixUpLineInfo(TTmLineInfo& aInfo,const TPoint* aOrigin = 0 ) const;
  59. };
  60. class TTmCharFormatLayer
  61. {
  62. public:
  63. inline TTmCharFormatLayer();
  64. __declspec(dllexport) TTmCharFormatLayer(const CCharFormatLayer& aFormat);
  65. TTmCharFormat iFormat;
  66. TTmCharFormatMask iMask;
  67. };
  68. class RTmParFormatLayer
  69. {
  70. public:
  71. inline void Close();
  72. __declspec(dllexport) void CopyL(const CParaFormatLayer& aFormat);
  73. RTmParFormat iFormat;
  74. TTmParFormatMask iMask;
  75. };
  76. class RTmStyle
  77. {
  78. public:
  79. enum
  80. {
  81. EMaxName = KMaxParagraphStyleName
  82. };
  83. inline void Close();
  84. __declspec(dllexport) void CopyL(const RParagraphStyleInfo& aStyle);
  85. __declspec(dllexport) void GetRParagraphStyleInfoL(RParagraphStyleInfo& aStyle,
  86. const CParaFormatLayer& aGlobalParaFormatLayer,const CCharFormatLayer& aGlobalCharFormatLayer,
  87. const CStyleList& aList) const;
  88. TBuf<KMaxName> iName;
  89. TBuf<KMaxName> iNextStyleName;
  90. TTmCharFormatLayer iCharFormat;
  91. RTmParFormatLayer iParFormat;
  92. TInt iOutlineLevel;
  93. };
  94. class CTmText: public CBase, public MTmTextLayoutForwarder
  95. {
  96. public:
  97. __declspec(dllexport) static CTmText* NewL(MGraphicsDeviceMap* aDevice = 0 ,const TTmFormatParamBase* aFormatParam = 0 );
  98. __declspec(dllexport) static CTmText* NewL(MGraphicsDeviceMap& aDevice,const TTmFormatParamBase& aFormatParam);
  99. __declspec(dllexport) static CTmText* NewL(MGraphicsDeviceMap& aDevice,TInt aWrapWidth,TInt aFlags);
  100. __declspec(dllexport) ~CTmText();
  101. __declspec(dllexport) void InsertL(TInt aPos,const TDesC& aText,
  102.   const TTmCharFormat* aCharFormat = 0 ,const RTmParFormat* aParFormat = 0 ,
  103.   TRect* aRedrawRect = 0 ,TInt* aScroll = 0 );
  104. __declspec(dllexport) void GetFormat(TTmFormatParamBase& aFormatParam) const;
  105. __declspec(dllexport) void SetWrapWidthL(TInt aWrapWidth);
  106. __declspec(dllexport) void ChangeFormatL(const TTmFormatParamBase& aFormatParam);
  107. __declspec(dllexport) void Clear();
  108. __declspec(dllexport) void CustomizeL(const MTmCustom* aCustom);
  109. __declspec(dllexport) TInt MemoryUsed() const;
  110. inline void Draw(CGraphicsContext& aGc,const TPoint& aTopLeft,const TRect& aClipRect,
  111.  const TLogicalRgb* aDocBackground,TBool aDrawParBackground);
  112. private:
  113. CTmText();
  114. __declspec(dllexport) void Spare1();
  115. const CTmTextLayout& TextLayout() const;
  116. CTmTextImp* iImp;
  117. };
  118. TTmCharFormatMask::TTmCharFormatMask(): iFlags(0xFFFFFFFF)
  119. {
  120. }
  121. void TTmCharFormatMask::Clear(TAttrib aAttrib)
  122. {
  123. iFlags &= ~aAttrib;
  124. }
  125. void TTmCharFormatMask::Set(TAttrib aAttrib)
  126. {
  127. iFlags |= aAttrib;
  128. }
  129. TBool TTmCharFormatMask::IsSet(TAttrib aAttrib)
  130. {
  131. return iFlags & aAttrib;
  132. }
  133. TTmCharFormat::TTmCharFormat(const TCharFormat& aFormat)
  134. {
  135. *this = aFormat;
  136. }
  137. TBool TTmCharFormat::operator!=(const TTmCharFormat& aFormat) const
  138. {
  139. return !operator==(aFormat);
  140. }
  141. TTmTab::TTmTab():
  142. iPosition(0),
  143. iType(EStandardTab)
  144. {
  145. }
  146. TTmTab::TTmTab(const TTabStop& aTab)
  147. {
  148. *this = aTab;
  149. }
  150. TBool TTmTab::operator!=(const TTmTab& aTab) const
  151. {
  152. return !operator==(aTab);
  153. }
  154. TTmBullet::TTmBullet(const TBullet& aBullet)
  155. {
  156. *this = aBullet;
  157. }
  158. TBool TTmBullet::operator!=(const TTmBullet& aBullet) const
  159. {
  160. return !operator==(aBullet);
  161. }
  162. TTmParBorder::TTmParBorder(const TParaBorder& aBorder)
  163. {
  164. *this = aBorder;
  165. }
  166. TBool TTmParBorder::operator!=(const TTmParBorder& aBorder) const
  167. {
  168. return !operator==(aBorder);
  169. }
  170. TTmParFormatMask::TTmParFormatMask():
  171. iFlags(0xFFFFFFFF)
  172. {
  173. }
  174. void TTmParFormatMask::Clear(TAttrib aAttrib)
  175. {
  176. iFlags &= ~aAttrib;
  177. }
  178. void TTmParFormatMask::Set(TAttrib aAttrib)
  179. {
  180. iFlags |= aAttrib;
  181. }
  182. TBool TTmParFormatMask::IsSet(TAttrib aAttrib)
  183. {
  184. return iFlags & aAttrib;
  185. }
  186. RTmParFormat::~RTmParFormat()
  187. {
  188. (void)((!iTabList && !iBullet && !HaveBorders())||( User::Invariant(),0)) ;
  189. }
  190. TBool RTmParFormat::operator!=(const RTmParFormat& aFormat) const
  191. {
  192. return !operator==(aFormat);
  193. }
  194. const TTmTab& RTmParFormat::Tab(TInt aIndex) const
  195. {
  196. return (*iTabList)[aIndex];
  197. }
  198. const TTmBullet* RTmParFormat::Bullet() const
  199. {
  200. return iBullet;
  201. }
  202. const TTmParBorder* RTmParFormat::Border(TBorderIndex aIndex) const
  203. {
  204. return iBorder[aIndex];
  205. }
  206. TBool RTmParFormat::RightToLeft() const
  207. {
  208. return iFlags & ERightToLeft;
  209. }
  210. MTmCustom::TLineHeightParam::TLineHeightParam()
  211. {
  212. Mem::FillZ(this,sizeof(*this));
  213. }
  214. CTmBufSeg::CTmBufSeg(TInt aExpandSize):
  215. CBufSeg(aExpandSize)
  216. {
  217. }
  218. CTmCode::~CTmCode()
  219. {
  220. delete iBuffer;
  221. }
  222. TPtr8 CTmCode::Ptr(TInt aPos)
  223. {
  224. return iBuffer->Ptr(aPos);
  225. }
  226. CBufBase* CTmCode::Buffer()
  227. {
  228. return iBuffer;
  229. }
  230. const CBufBase* CTmCode::Buffer() const
  231. {
  232. return iBuffer;
  233. }
  234. TBool TTmFormatParamBase::IsWrapping() const
  235. {
  236. return iFlags & EWrap;
  237. }
  238. TBool TTmFormatParamBase::IsTruncatingWithEllipsis() const
  239. {
  240. return iFlags & ETruncateWithEllipsis;
  241. }
  242. TBool TTmFormatParamBase::LegalLineBreaksOnly() const
  243. {
  244. return iFlags & ELegalLineBreaksOnly;
  245. }
  246. TTmLineInfo::TTmLineInfo()
  247. {
  248. Mem::FillZ(this,sizeof(*this));
  249. }
  250. TTmDocPos::TTmDocPos():
  251. iPos(0),
  252. iLeadingEdge(0 )
  253. {
  254. }
  255. TTmDocPos::TTmDocPos(TInt aPos,TBool aLeadingEdge):
  256. iPos(aPos),
  257. iLeadingEdge(aLeadingEdge)
  258. {
  259. }
  260. TTmDocPosSpec::TTmDocPosSpec():
  261. iPos(0),
  262. iType(ETrailing)
  263. {
  264. }
  265. TBool TTmDocPos::operator!=(const TTmDocPos& aPos) const { return !((*this)==aPos); }
  266. TBool TTmDocPos::operator<(const TTmDocPos& aPos) const { return !((*this)>=aPos); }
  267. TBool TTmDocPos::operator<=(const TTmDocPos& aPos) const { return !((*this)>aPos); }
  268. TTmDocPosSpec::TTmDocPosSpec(TInt aPos,TType aType):
  269. iPos(aPos),
  270. iType(aType)
  271. {
  272. }
  273. TTmDocPosSpec::TTmDocPosSpec(const TTmDocPos& aDocPos):
  274. iPos(aDocPos.iPos),
  275. iType(aDocPos.iLeadingEdge ? ELeading : ETrailing)
  276. {
  277. }
  278. TInt CTmTextLayout::StartChar() const
  279. {
  280. return iStartChar;
  281. }
  282. TInt CTmTextLayout::EndChar() const
  283. {
  284. return iEndChar;
  285. }
  286. TInt CTmTextLayout::LayoutWidth() const
  287. {
  288. return iWidth;
  289. }
  290. TInt CTmTextLayout::LayoutHeight() const
  291. {
  292. return iHeight;
  293. }
  294. MTmSource* CTmTextLayout::Source()
  295. {
  296. return iSource;
  297. }
  298. const MTmSource* CTmTextLayout::Source() const
  299. {
  300. return iSource;
  301. }
  302. const CTmCode& CTmTextLayout::Code() const
  303. {
  304. return iCode;
  305. }
  306. TTmCharFormatLayer::TTmCharFormatLayer()
  307. {
  308. }
  309. void RTmParFormatLayer::Close()
  310. {
  311. iFormat.Close();
  312. }
  313. void RTmStyle::Close()
  314. {
  315. iParFormat.Close();
  316. }
  317. void CTmText::Draw(CGraphicsContext& aGc,const TPoint& aTopLeft,const TRect& aClipRect,
  318.    const TLogicalRgb* aDocBackground,TBool aDrawParBackground)
  319. {
  320. DrawLayout(aGc,aTopLeft,aClipRect,aDocBackground,aDrawParBackground);
  321. }
  322. TTmHighlightExtensions::TTmHighlightExtensions()
  323. {
  324. }
  325. void TTmHighlightExtensions::SetAll(TInt aExtension)
  326. {
  327. iLeftExtension=iRightExtension=iTopExtension=iBottomExtension=aExtension;
  328. }
  329. void TTmHighlightExtensions::SetLeftExtension(TInt aExtension)
  330. {
  331. iLeftExtension=aExtension;
  332. }
  333. void TTmHighlightExtensions::SetRightExtension(TInt aExtension)
  334. {
  335. iRightExtension=aExtension;
  336. }
  337. void TTmHighlightExtensions::SetTopExtension(TInt aExtension)
  338. {
  339. iTopExtension=aExtension;
  340. }
  341. void TTmHighlightExtensions::SetBottomExtension(TInt aExtension)
  342. {
  343. iBottomExtension=aExtension;
  344. }
  345. TInt TTmHighlightExtensions::LeftExtension() const
  346. {
  347. return iLeftExtension;
  348. }
  349. TInt TTmHighlightExtensions::RightExtension() const
  350. {
  351. return iRightExtension;
  352. }
  353. TInt TTmHighlightExtensions::TopExtension() const
  354. {
  355. return iTopExtension;
  356. }
  357. TInt TTmHighlightExtensions::BottomExtension() const
  358. {
  359. return iBottomExtension;
  360. }
  361. TBool TTmHighlightExtensions::Extends() const
  362. {
  363. if (iTopExtension>0 || iBottomExtension>0 || iLeftExtension>0 || iRightExtension>0)
  364. return ETrue;
  365. else
  366. return EFalse;
  367. }
  368. inline void TTmHighlightExtensions::ExtendRect(TRect& aRect) const
  369. {
  370. if (iLeftExtension>0)
  371. aRect.iTl.iX-=iLeftExtension;
  372. if (iRightExtension>0)
  373. aRect.iBr.iX+=iRightExtension;
  374. if (iTopExtension>0)
  375. aRect.iTl.iY-=iTopExtension;
  376. if (iBottomExtension>0)
  377. aRect.iBr.iY+=iBottomExtension;
  378. }
  379. inline void TTmHighlightExtensions::AdjustRect(TRect& aRect) const
  380. {
  381. aRect.iTl.iX-=iLeftExtension;
  382. aRect.iTl.iY-=iTopExtension;
  383. aRect.iBr.iX+=iRightExtension;
  384. aRect.iBr.iY+=iBottomExtension;
  385. }
  386. #line 17 "C:\Symbian\9.1\S60_3rd\epoc32\include\frmtlay.h" /* stack depth 9 */
  387. class CWindowGc;
  388. class MLayDoc;
  389. class TLayDocTextSource;
  390. #line 35
  391. class MFormCustomInterfaceProvider
  392.     {
  393.     public:
  394. #line 47
  395. virtual TAny* GetExtendedInterface(const TUid& aInterfaceId) = 0;
  396.     };
  397. #line 58
  398. class TViewYPosQualifier
  399. {
  400. friend class CTextLayout;
  401. friend class CTextView;
  402. public:
  403. enum TPartOfLine
  404. {
  405. EFViewTopOfLine = 1,
  406. EFViewBaseLine = 0,
  407. EFViewBottomOfLine = 2
  408. };
  409. enum TFullyVisible
  410. {
  411. EFViewForceLineFullyVisible = ETrue,
  412. EFViewDontForceLineFullyVisible = EFalse
  413. };
  414. public:
  415. inline TViewYPosQualifier();
  416. __declspec(dllexport) void SetHotSpot(TPartOfLine aHotSpot);
  417. __declspec(dllexport) void SetFillScreen(TBool aFillScreen = ETrue);
  418. __declspec(dllexport) void SetMakeLineFullyVisible(TFullyVisible aMakeLineFullyVisible = EFViewForceLineFullyVisible);
  419. private:
  420. TPartOfLine iHotSpot;
  421. TBool iFillScreen;
  422. TFullyVisible iFullyVisible;
  423. };
  424. class TViewRectChanges
  425. {
  426. public:
  427. inline TViewRectChanges();
  428. void AdjustAll(TInt aDelta);
  429. public:
  430. TInt iFormattedFrom;
  431. TInt iFormattedTo;
  432. TInt iScrollAtTop;
  433. TInt iScrollAtBottom;
  434. };
  435. #line 131
  436. class TCursorSelection
  437. {
  438. public:
  439. inline TCursorSelection();
  440. inline TCursorSelection(TInt aCursorPos,TInt aAnchorPos);
  441. inline void SetSelection(TInt aCursorPos,TInt aAnchorPos);
  442. inline TInt LowerPos() const;
  443. inline TInt HigherPos() const;
  444. inline TInt Length() const;
  445. public:
  446. TInt iCursorPos;
  447. TInt iAnchorPos;
  448. };
  449. #line 160
  450. class TDrawTextLayoutContext
  451. {
  452. private:
  453. enum TDrawMode
  454. {
  455. EFDrawText=0x001,
  456. EFDrawGraphics=0x002,
  457. EFUseClippingRect=0x004,
  458. EFUseWindowGc=0x008,
  459. EFUseGcClear=0x020,
  460. EFUseBackgroundColor=0x040,
  461. EFUseOverrideTextColor=0x080,
  462. EFParagraphFillTextOnly=0x100,
  463. EFAllFlags=0xfff
  464. };
  465. public:
  466. __declspec(dllexport) TDrawTextLayoutContext();
  467. __declspec(dllexport) void SetGc(CGraphicsContext* aGc,CGraphicsContext* aPictureGc=0 );
  468. __declspec(dllexport) void SetBitmapGc(CBitmapContext* aGc,CBitmapContext* aPictureGc=0 );
  469. __declspec(dllexport) void SetWindowGc(CWindowGc* aGc,CWindowGc* aPictureGc=0 );
  470. __declspec(dllexport) void SetDrawToEveryPixel(TBool aDrawToEveryPixel);
  471. __declspec(dllexport) void SetTextColorOverride(const TRgb *aOverrideColor);
  472. __declspec(dllexport) void SetDrawTextOnly();
  473. __declspec(dllexport) void SetDrawGraphicsOnly();
  474. __declspec(dllexport) void SetDrawTextAndGraphics();
  475. __declspec(dllexport) void SetClipping(TBool aClipping);
  476. __declspec(dllexport) void SetParagraphFillTextOnly(TBool aFillTextOnly);
  477. __declspec(dllexport) const TRgb* TextOverrideColor() const;
  478. __declspec(dllexport) CGraphicsContext* PrimaryGc() const;
  479. __declspec(dllexport) CGraphicsContext* PictureGc() const;
  480. __declspec(dllexport) TBool UseClippingRect() const;
  481. __declspec(dllexport) TBool UseGcClear() const;
  482. __declspec(dllexport) TBool DrawText() const;
  483. __declspec(dllexport) TBool DrawGraphics() const;
  484. __declspec(dllexport) TBool UseBackgroundColor() const;
  485. __declspec(dllexport) TBool ParagraphFillTextOnly() const;
  486. __declspec(dllexport) TRect TextArea() const;
  487. __declspec(dllexport) TInt DisplayHeight() const;
  488. __declspec(dllexport) TPoint TopLeftTextArea() const;
  489. __declspec(dllexport) TRect TotalMargin() const;
  490. __declspec(dllexport) TRect LabelMargin() const;
  491. __declspec(dllexport) TBool IsLabelMargin() const;
  492. __declspec(dllexport) TRect GutterMargin() const;
  493. __declspec(dllexport) TBool IsGutterMargin() const;
  494. __declspec(dllexport) TPoint TopLeftText() const;
  495. __declspec(dllexport) void WindowToText(TPoint& aWinPos) const;
  496. __declspec(dllexport) void WindowToText(TRect& aRect) const;
  497. __declspec(dllexport) void TextToWindow(TPoint& aTextAreaPos) const;
  498. __declspec(dllexport) void TextToWindow(TRect& aRect) const;
  499. public:
  500. TRect iViewRect;
  501. TInt iLabelMarginWidth;
  502. TInt iGutterMarginWidth;
  503. TInt iTextStartX;
  504. TLogicalRgb iBackgroundColor;
  505. private:
  506. CGraphicsContext* iGc;
  507. CGraphicsContext* iPictureGc;
  508. TLogicalRgb iOverrideTextColor;
  509. TUint iDrawMode;
  510. };
  511. #line 256
  512. class MFormCustomDraw
  513. {
  514. public:
  515. class TParam
  516. {
  517. public:
  518. TParam(CGraphicsContext& aGc,MGraphicsDeviceMap& aMap,const TPoint& aTextLayoutTopLeft,const TRect& aDrawRect):
  519. iGc(aGc), iMap(aMap), iTextLayoutTopLeft(aTextLayoutTopLeft), iDrawRect(aDrawRect) { }
  520. CGraphicsContext& iGc;
  521. MGraphicsDeviceMap& iMap;
  522. const TPoint& iTextLayoutTopLeft;
  523. const TRect& iDrawRect;
  524. };
  525. class TLineInfo
  526. {
  527. public:
  528. TLineInfo(const TRect& aOuterRect,const TRect& aInnerRect,TInt aBaseline):
  529. iOuterRect(aOuterRect), iInnerRect(aInnerRect), iBaseline(aBaseline) { }
  530. const TRect& iOuterRect;
  531. const TRect& iInnerRect;
  532. TInt iBaseline;
  533. };
  534. __declspec(dllexport) virtual void DrawBackground(const TParam& aParam,const TRgb& aBackground,TRect& aDrawn) const;
  535. __declspec(dllexport) virtual void DrawLineGraphics(const TParam& aParam,const TLineInfo& aLineInfo) const;
  536. __declspec(dllexport) virtual void DrawText(const TParam& aParam,const TLineInfo& aLineInfo,const TCharFormat& aFormat,
  537.    const TDesC& aText,const TPoint& aTextOrigin,TInt aExtraPixels) const;
  538. __declspec(dllexport) virtual TRgb SystemColor(TUint aColorIndex,TRgb aDefaultColor) const;
  539. __declspec(dllexport) virtual void MFormCustomDraw_Reserved_1();
  540. __declspec(dllexport) virtual void MFormCustomDraw_Reserved_2();
  541. };
  542. #line 326
  543. class MFormCustomWrap
  544. {
  545. public:
  546. __declspec(dllexport) virtual TUint LineBreakClass(TUint aCode,TUint& aRangeStart,TUint& aRangeEnd) const;
  547. __declspec(dllexport) virtual TBool LineBreakPossible(TUint aPrevClass,TUint aNextClass,TBool aHaveSpaces) const;
  548. __declspec(dllexport) virtual TBool GetLineBreakInContext(const TDesC& aText,TInt aMinBreakPos,TInt aMaxBreakPos,
  549.  TBool aForwards,TInt& aBreakPos) const;
  550. __declspec(dllexport) virtual TBool IsHangingCharacter(TUint aChar) const;
  551. private:
  552. __declspec(dllexport) virtual void MFormCustomWrap_Reserved_1();
  553. __declspec(dllexport) virtual void MFormCustomWrap_Reserved_2();
  554. };
  555. #line 349
  556. class MFormCustomInvisibleCharacterRemapper
  557. {
  558. public:
  559. __declspec(dllexport) static TUint DefaultMapping(TUint aChar, const TNonPrintingCharVisibility aNonPrintingCharVisibility, const TLayDocTextSource& aLayDoc);
  560. #line 373
  561. virtual TUint Remap(TUint aChar, const TNonPrintingCharVisibility aNonPrintingCharVisibility, const TLayDocTextSource& aLayDoc) = 0;
  562. };
  563. class TLayDocTextSource : public MTmSource, public MFormLabelApi, public MTmTextDrawExt
  564. {
  565. public:
  566. enum
  567. {
  568. EDefaultFontHeightIncreaseFactor = 7,
  569. EDefaultMinimumLineDescent = 3
  570. };
  571. TLayDocTextSource();
  572. MGraphicsDeviceMap& FormatDevice() const;
  573. MGraphicsDeviceMap& InterpretDevice() const;
  574. TInt DocumentLength() const;
  575. void GetText(TInt aPos,TPtrC& aText,TTmCharFormat& aFormat) const;
  576. void GetParagraphFormatL(TInt aPos,RTmParFormat& aFormat) const;
  577. TInt ParagraphStart(TInt aPos) const;
  578. TRgb SystemColor(TUint aColorIndex,TRgb aDefaultColor) const;
  579. CPicture* PictureL(TInt aPos) const;
  580. TInt GetPictureSizeInTwipsL(TInt aPos,TSize& aSize) const;
  581. TBool LabelModeSelect(TLabelType aType, TInt aPos);
  582. void LabelModeCancel();
  583. void LabelMetrics(TLabelType aType, TSize& aLabelSize, TInt& aMarginSize) const;
  584. TUint Map(TUint aChar) const;
  585. void SetLineHeight(const TLineHeightParam& aParam,TInt& aAscent,TInt& aDescent) const;
  586. TBool PageBreakInRange(TInt aStartPos,TInt aEndPos) const;
  587. void DrawBackground(CGraphicsContext& aGc,const TPoint& aTextLayoutTopLeft,const TRect& aRect,
  588. const TLogicalRgb& aBackground,TRect& aRectDrawn) const;
  589. void DrawLineGraphics(CGraphicsContext& aGc,const TPoint& aTextLayoutTopLeft,const TRect& aRect,
  590.   const TTmLineInfo& aLineInfo) const;
  591. void DrawText(CGraphicsContext& aGc,const TPoint& aTextLayoutTopLeft,const TRect& aRect,
  592.   const TTmLineInfo& aLineInfo,const TTmCharFormat& aFormat,
  593.   const TDesC& aText,const TPoint& aTextOrigin,TInt aExtraPixels) const;
  594. virtual void DrawPicture(CGraphicsContext& aGc,
  595.  const TPoint& aTextLayoutTopLeft, const TRect& aRect,
  596.  MGraphicsDeviceMap& aDevice, const CPicture& aPicture) const;
  597. TBool LineBreakPossible(TUint aPrevClass,TUint aNextClass,TBool aHaveSpaces) const;
  598. TUint LineBreakClass(TUint aCode,TUint& aRangeStart,TUint& aRangeEnd) const;
  599. TBool GetLineBreakInContext(const TDesC& aText,TInt aMinBreakPos,TInt aMaxBreakPos,
  600.  TBool aForwards,TInt& aBreakPos) const;
  601. TBool IsHangingCharacter(TUint aChar) const;
  602. TBool CanMap() const;
  603. TAny* GetExtendedInterface(const TUid& aInterfaceId);
  604. virtual void DrawLine(CGraphicsContext& aGc, const TPoint& aPt1, const TPoint& aPt2) const;
  605. virtual void DrawText(CGraphicsContext& aGc, const TDesC& aText, const TPoint& aPt) const;
  606. virtual void DrawRect(CGraphicsContext& aGc, const TRect& aRc) const;
  607. void SetOpaque(CGraphicsContext& aGc) const;
  608. void ResetOpaque(CGraphicsContext& aGc) const;
  609. enum
  610. {
  611. EWrap = 1,
  612. ETruncateWithEllipsis = 2,
  613. EUseLabelsDevice = 4
  614. };
  615. MLayDoc* iLayDoc;
  616. TUint iFlags;
  617. TInt iWidth;
  618. TChar iEllipsis;
  619. TInt iLabelsWidth;
  620. TInt iLabelsGutter;
  621. CLayoutData::TFormatMode iFormatMode;
  622. MGraphicsDeviceMap* iImageDevice;
  623. MGraphicsDeviceMap* iLabelsDevice;
  624. MGraphicsDeviceMap* iFormatDevice;
  625. TInt iFontHeightIncreaseFactor;
  626. TInt iMinimumLineDescent;
  627. TNonPrintingCharVisibility iNonPrintingCharVisibility;
  628. const MFormParam* iFormParam;
  629. const MFormCustomDraw* iCustomDraw;
  630. const MFormCustomWrap* iCustomWrap;
  631. MFormCustomInterfaceProvider* iInterfaceProvider;
  632. TBool iDrawOpaque;
  633. TInt iExcessHeightRequired;
  634. MFormCustomInvisibleCharacterRemapper* iInvisibleCharacterRemapper;
  635. };
  636. #line 513
  637. class CTextLayout: public CBase
  638. {
  639. public:
  640. enum TDiscard
  641. {
  642. EFViewDiscardAllFormat = 1 ,
  643. EFViewDontDiscardFormat = 0
  644. };
  645. enum TAllowDisallow
  646. {
  647. EFAllowScrollingBlankSpace = 1 ,
  648. EFDisallowScrollingBlankSpace = 0
  649. };
  650. enum
  651. {
  652. EFCharacterInsert,
  653. EFParagraphDelimiter,
  654. EFLeftDelete,
  655. EFRightDelete
  656. };
  657. enum
  658. {
  659. EFScrollRedrawWholeScreen = CLayoutData::EFLargeNumber,
  660. EFMaximumLineWidth = CLayoutData::EFBodyWidthForNoWrapping,
  661. };
  662. enum
  663. {
  664. EFAllParagraphsNotWrapped = 1 ,
  665. EFParagraphsWrappedByDefault = 0
  666. };
  667. enum TAmountFormatted
  668. {
  669. EFFormatAllText = 0 ,
  670. EFFormatBand = 1 ,
  671. };
  672. enum TScrollFlags
  673. {
  674. EFScrollOnlyToTopsOfLines = 1
  675. };
  676. enum TCurrentFormat
  677. {
  678. EFNoCurrentFormat = -1,
  679. EFNotInCurrentFormat = 0
  680. };
  681. public:
  682. class TRangeChange
  683. #line 618
  684. {
  685. public:
  686. enum TChangeType
  687. {
  688. ESet,
  689. EClear
  690. };
  691. __declspec(dllexport) TRangeChange(TInt aStart, TInt aEnd, TChangeType aChange);
  692. __declspec(dllexport) TRangeChange();
  693. __declspec(dllexport) void Set(TInt aStart, TInt aEnd, TChangeType aChange);
  694. __declspec(dllexport) TChangeType Get(TInt& aStart, TInt& aEnd) const;
  695. __declspec(dllexport) void OptimizeWith(TRangeChange& aBuddy);
  696. __declspec(dllexport) TBool NonNull() const;
  697. __declspec(dllexport) TBool Clip(TInt aMin, TInt aMax);
  698. private:
  699. TInt iA;
  700. TInt iB;
  701. };
  702. public:
  703. class TTagmaForwarder: public MTmTextLayoutForwarder
  704. #line 652
  705. {
  706. public:
  707. inline TTagmaForwarder(const CTextLayout& aLayout);
  708. private:
  709. inline const CTmTextLayout& TextLayout() const;
  710. inline void GetOrigin(TPoint& aPoint) const;
  711. const CTextLayout& iLayout;
  712. };
  713. class TUtf32SourceCache
  714. {
  715. public:
  716. TUtf32SourceCache(const MTmSource& aSource);
  717. TUtf32SourceCache(const CTextLayout& aLayout);
  718. TText GetUtf16(TInt aIndex);
  719. TChar GetUtf32(TInt aIndex);
  720. private:
  721. const MTmSource* iSource;
  722. TPtrC16 iCurrentView;
  723. TInt iCurrentViewIndex;
  724. };
  725. friend class TUtf32SourceCache;
  726. __declspec(dllexport) static CTextLayout *NewL(MLayDoc *aDoc,TInt aWrapWidth);
  727. __declspec(dllexport) ~CTextLayout();
  728. __declspec(dllexport) void DiscardFormat();
  729. __declspec(dllexport) void SetLayDoc(MLayDoc *aDoc);
  730. __declspec(dllexport) void SetWrapWidth(TInt aWrapWidth);
  731. __declspec(dllexport) void SetBandHeight(TInt aHeight);
  732. __declspec(dllexport) TInt BandHeight() const;
  733. __declspec(dllexport) void SetImageDeviceMap(MGraphicsDeviceMap *aGd);
  734. __declspec(dllexport) void SetLabelsDeviceMap(MGraphicsDeviceMap *aDeviceMap);
  735. __declspec(dllexport) void SetAmountToFormat(TAmountFormatted aAmountOfFormat = EFFormatBand);
  736. __declspec(dllexport) TBool IsFormattingBand() const;
  737. __declspec(dllexport) void SetFormatMode(CLayoutData::TFormatMode aFormatMode,TInt aWrapWidth,MGraphicsDeviceMap* aFormatDevice);
  738. __declspec(dllexport) void ForceNoWrapping(TBool aNoWrapping = EFAllParagraphsNotWrapped);
  739. __declspec(dllexport) TBool IsWrapping() const;
  740. __declspec(dllexport) void SetTruncating(TBool aOn);
  741. __declspec(dllexport) TBool Truncating() const;
  742. __declspec(dllexport) void SetTruncatingEllipsis(TChar aEllipsis);
  743. __declspec(dllexport) TChar TruncatingEllipsis() const;
  744. __declspec(dllexport) void SetLabelsMarginWidth(TInt aWidth);
  745. __declspec(dllexport) void SetNonPrintingCharsVisibility(TNonPrintingCharVisibility aVisibility);
  746. __declspec(dllexport) TNonPrintingCharVisibility NonPrintingCharsVisibility() const;
  747. __declspec(dllexport) TBool IsBackgroundFormatting() const;
  748. __declspec(dllexport) void NotifyTerminateBackgroundFormatting();
  749. __declspec(dllexport) void SetExcludePartialLines(TBool aExcludePartialLines = 1 );
  750. __declspec(dllexport) TBool ExcludingPartialLines() const;
  751. __declspec(dllexport) void SetFontHeightIncreaseFactor(TInt aPercentage);
  752. __declspec(dllexport) TInt FontHeightIncreaseFactor() const;
  753. __declspec(dllexport) void SetMinimumLineDescent(TInt aPixels);
  754. __declspec(dllexport) TInt MinimumLineDescent() const;
  755. __declspec(dllexport) TInt DocumentLength() const;
  756. __declspec(dllexport) TInt ToParagraphStart(TInt& aDocPos) const;
  757. __declspec(dllexport) TInt PixelsAboveBand() const;
  758. __declspec(dllexport) TInt YBottomLastFormattedLine() const;
  759. __declspec(dllexport) TInt FormattedHeightInPixels() const;
  760. __declspec(dllexport) TInt PosRangeInBand(TInt& aDocPos) const;
  761. __declspec(dllexport) TBool PosInBand(const TTmDocPos& aDocPos,TTmLineInfo* aLineInfo = 0 ) const;
  762. __declspec(dllexport) TBool PosInBand(TTmDocPos aDocPos,TPoint& aXyPos) const;
  763. __declspec(dllexport) TBool PosInBand(TInt aDocPos,TPoint& aXyPos) const;
  764. __declspec(dllexport) TBool PosIsFormatted(TInt aDocPos) const;
  765. __declspec(dllexport) TInt FirstCharOnLine(TInt aLineNo) const;
  766. __declspec(dllexport) TInt FormattedLength() const;
  767. __declspec(dllexport) TInt FirstFormattedPos() const;
  768. __declspec(dllexport) TInt NumFormattedLines() const;
  769. __declspec(dllexport) TInt FirstLineInBand() const;
  770. __declspec(dllexport) TInt GetLineRect(TInt aYPos,TRect& aLine) const;
  771. __declspec(dllexport) TInt ParagraphHeight(TInt aDocPos) const;
  772. __declspec(dllexport) TRect ParagraphRectL(TInt aDocPos) const;
  773. __declspec(dllexport) TBool CalculateHorizontalExtremesL(TInt& aLeftX,TInt& aRightX,TBool aOnlyVisibleLines,
  774. TBool aIgnoreWrapCharacters = 0 ) const;
  775. __declspec(dllexport) void GetCharacterHeightAndAscentL(TInt aDocPos,TInt& aHeight,TInt& aAscent) const;
  776. __declspec(dllexport) void GetFontHeightAndAscentL(const TFontSpec& aFontSpec,TInt& aHeight,TInt& aAscent) const;
  777. __declspec(dllexport) TInt XyPosToDocPosL(TPoint &aPos, TUint aFlags = 0) const;
  778. __declspec(dllexport) TBool DocPosToXyPosL(TInt aDocPos, TPoint& aPos, TUint aFlags = 0) const;
  779. __declspec(dllexport) TBool FindXyPos(const TPoint& aXyPos,TTmPosInfo2& aPosInfo,TTmLineInfo* aLineInfo = 0 ) const;
  780. __declspec(dllexport) TBool FindDocPos(const TTmDocPosSpec& aDocPos,TTmPosInfo2& aPosInfo,TTmLineInfo* aLineInfo = 0 ) const;
  781. __declspec(dllexport) TRect GetLineRectL(TInt aDocPos1,TInt aDocPos2) const;
  782. __declspec(dllexport) TBool PictureRectangleL(TInt aDocPos,TRect& aPictureRect,TBool* aCanScaleOrCrop = 0 ) const;
  783. __declspec(dllexport) TBool PictureRectangleL(const TPoint& aXyPos,TRect& aPictureRect,TBool* aCanScaleOrCrop = 0 ) const;
  784. __declspec(dllexport) TInt FirstDocPosFullyInBand() const;
  785. __declspec(dllexport) void GetMinimumSizeL(TInt aWrapWidth,TSize& aSize);
  786. __declspec(dllexport) void GetMinimumSizeL(TInt aWrapWidth,TBool aAllowLegalLineBreaksOnly,TSize& aSize);
  787. __declspec(dllexport) TInt MajorVersion() const;
  788. __declspec(dllexport) TInt SetViewL(const TTmDocPos& aDocPos,TInt& aYPos,TViewYPosQualifier aYPosQualifier,
  789.    TDiscard aDiscardFormat = EFViewDontDiscardFormat);
  790. __declspec(dllexport) TInt SetViewL(TInt aDocPos,TInt& aYPos,TViewYPosQualifier aYPosQualifier,
  791.    TDiscard aDiscardFormat = EFViewDontDiscardFormat);
  792. __declspec(dllexport) void FormatBandL();
  793. __declspec(dllexport) void FormatCharRangeL(TInt aStartDocPos,TInt aEndDocPos);
  794. void FormatCharRangeL(TInt aStartDocPos,TInt aEndDocPos,TInt aPixelOffset);
  795. __declspec(dllexport) TBool FormatNextLineL(TInt& aBotPixel);
  796. __declspec(dllexport) TBool FormatLineL(CParaFormat* aParaFormat,TInt& aDocPos,TInt& aHeight,TBool& aPageBreak);
  797. __declspec(dllexport) TInt ScrollParagraphsL(TInt& aNumParas,TAllowDisallow aScrollBlankSpace);
  798. __declspec(dllexport) TInt ScrollLinesL(TInt& aNumLines,TAllowDisallow aScrollBlankSpace = EFDisallowScrollingBlankSpace);
  799. __declspec(dllexport) TInt ChangeBandTopL(TInt& aPixels,TAllowDisallow aScrollBlankSpace = EFDisallowScrollingBlankSpace);
  800. __declspec(dllexport) void PageUpL(TInt& aYCursorPos,TInt& aPixelsScrolled);
  801. __declspec(dllexport) void PageDownL(TInt& aYCursorPos,TInt& aPixelsScrolled);
  802. __declspec(dllexport) TBool HandleCharEditL(TUint aType,TInt& aCursorPos,TInt& aGood,TInt& aFormattedUpTo,
  803.    TInt& aFormattedFrom,TInt& aScroll,TBool aFormatChanged);
  804. __declspec(dllexport) void HandleBlockChangeL(TCursorSelection aSelection,TInt aOldCharsChanged,TViewRectChanges& aViewChanges,
  805.  TBool aFormatChanged);
  806. __declspec(dllexport) void HandleAdditionalCharactersAtEndL(TInt& aFirstPixel,TInt& aLastPixel);
  807. __declspec(dllexport) void ReformatVerticalSpaceL();
  808. __declspec(dllexport) void AdjustVerticalAlignment(CParaFormat::TAlignment aVerticalAlignment);
  809. __declspec(dllexport) static void DrawBorders(const MGraphicsDeviceMap* aGd,CGraphicsContext& aGc,const TRect& aRect,
  810.  const TParaBorderArray& aBorder,const TRgb* aBackground = 0 ,
  811.  TRegion* aClipRegion = 0 ,const TRect* aDrawRect = 0 );
  812. __declspec(dllexport) void DrawL(const TRect& aDrawRect,const TDrawTextLayoutContext* aDrawTextLayoutContext,
  813. const TCursorSelection* aHighlight = 0 );
  814. __declspec(dllexport) TBool GetNextVisualCursorPos(const TTmDocPosSpec& aDocPos,
  815. TTmPosInfo2& aPosInfo, TBool aToLeft) const;
  816. __declspec(dllexport) void InvertRangeL(const TCursorSelection& aHighlight,const TRect& aDrawRect,
  817.    const TDrawTextLayoutContext* aDrawTextLayoutContext);
  818. __declspec(dllexport) void Highlight(const TRangeChange& aHighlight,const TRect& aDrawRect,
  819. const TDrawTextLayoutContext* aDrawTextLayoutContext);
  820. __declspec(dllexport) void SetCustomDraw(const MFormCustomDraw* aCustomDraw);
  821. __declspec(dllexport) const MFormCustomDraw* CustomDraw() const;
  822. __declspec(dllexport) void SetCustomWrap(const MFormCustomWrap* aCustomWrap);
  823. __declspec(dllexport) const MFormCustomWrap* CustomWrap() const;
  824. __declspec(dllexport) void ExtendFormattingToCoverYL(TInt aYPos);
  825. __declspec(dllexport) void ExtendFormattingToCoverPosL(TInt aDocPos);
  826. __declspec(dllexport) TInt GetLineNumber(TInt aDocPos);
  827. __declspec(dllexport) void SetHighlightExtensions(TInt aLeftExtension, TInt aRightExtension, TInt aTopExtension, TInt aBottomExtension);
  828. void SetExcessHeightRequired(TInt aExcessHeightRequired);
  829.     __declspec(dllexport) void SetInterfaceProvider( MFormCustomInterfaceProvider* aProvider );
  830. inline const CTmTextLayout& TagmaTextLayout() const;
  831. inline void GetOrigin(TPoint& aPoint) const;
  832. inline void RestrictScrollToTopsOfLines(TBool aRestrict);
  833. void DrawBackground(CGraphicsContext& aGc,const TPoint& aTopLeft,const TRect& aClipRect,
  834. const TLogicalRgb& aBackground) const;
  835. TBool CalculateHorizontalExtremes(TInt& aLeftX,TInt& aRightX,TBool aOnlyVisibleLines) const;
  836. TBool GetCursor(const TTmDocPos& aDocPos,TTmCursorPlacement aPlacement,
  837.     TRect& aLineRect,TPoint& aOrigin,TInt& aWidth,TInt& aAscent,TInt& aDescent) const;
  838. void GetParagraphRect(const TTmDocPos& aDocPos,TRect& aRect) const;
  839. TInt ScrollDocPosIntoViewL(const TTmDocPos& aDocPos);
  840. TInt PictureRectangleAndPosL(const TPoint& aXyPos, TRect& aPictureRect,
  841. TBool* aCanScaleOrCrop = 0) const;
  842. void HighlightUsingExtensions(const CTextLayout::TRangeChange& aChangeHighlight,const TRangeChange& aFullHighlight,
  843. const TRect& aDrawRect, const TDrawTextLayoutContext* aDrawTextLayoutContext);
  844. inline const TTmHighlightExtensions& HighlightExtensions() const;
  845. void GetHighlightRemnants(const TRect& aRect, const TDrawTextLayoutContext& aDrawTextLayoutContext, TRect* aRemainderRects) const;
  846. void ClearHighlightRemnants(const TRect& aDrawRect, const TDrawTextLayoutContext& aDrawTextLayoutContext);
  847. TInt WrapWidth() const;
  848. void SetOpaqueLC();
  849. __declspec(dllexport) void SetCustomInvisibleCharacterRemapper(MFormCustomInvisibleCharacterRemapper* aInvisibleCharacterRemapper);
  850. __declspec(dllexport) MFormCustomInvisibleCharacterRemapper* GetCustomInvisibleCharacterRemapper();
  851. TBool __DbgIsFormattingUpToDate() const;
  852. enum TPanicNumber
  853. {
  854. EUnimplemented,
  855. ENoMemory,
  856. EDrawingBorderError,
  857. EFormatDeviceNotSet,
  858. EImageDeviceNotSet,
  859. EPixelNotInFormattedLine,
  860. EInvalidDocPos,
  861. ENoCharRangeToFormat,
  862. ECharacterNotFormatted,
  863. EPrintPreviewModeError,
  864. EBadCharacterEditType,
  865. EInvalidLineNumber,
  866. EPosNotFormatted,
  867. EMustFormatAllText,
  868. EPageScrollError
  869. };
  870. static void Panic(TPanicNumber aNumber);
  871. private:
  872. __declspec(dllexport) CTextLayout();
  873.   __declspec(dllexport) void ConstructL(MLayDoc *aDoc,TInt aWrapWidth);
  874. void InitFormatParam(TTmFormatParamBase& aParam);
  875. TInt ScrollL(TInt aDy,TAllowDisallow aScrollBlankSpace);
  876. void FormatBandL(TInt aStartDocPos,TInt aEndDocPos);
  877. void PruneFormat(TBool aFromStart);
  878. TInt VisibleHeightInPixels() const;
  879. TInt BandHeightInPixels() const;
  880. TInt SuggestCursorPos(TInt aCurrentCursorPos) const;
  881. TInt SetBandTop();
  882. static void ResetOpaque(void* aThis);
  883. CTmTextLayout iText;
  884. TInt iExcessHeightRequired;
  885. TInt iDummy[16];
  886. TInt iBandTop;
  887. TInt iVisibleHeight;
  888. TInt iBandHeight;
  889. TInt iScrollFlags;
  890. TInt iUnformattedStart;
  891. TBool iParInvalid;
  892. TTmHighlightExtensions iHighlightExtensions;
  893. TLayDocTextSource iSource;
  894. };
  895. #line 894
  896. class TCursorPosition
  897. {
  898. public:
  899. enum TMovementType
  900. {
  901. EFNoMovement,
  902. EFLeft,
  903. EFRight,
  904. EFLineUp,
  905. EFLineDown,
  906. EFPageUp,
  907. EFPageDown,
  908. EFLineBeg,
  909. EFLineEnd
  910. };
  911. enum TVisualEnd
  912. {
  913. EVisualLeft,
  914. EVisualRight
  915. };
  916. enum TPosHint
  917. {
  918. EPosHintUndefined           = 0,
  919. EInsertStrongL2R = 1,
  920. EInsertStrongR2L = 2,
  921. EPosHintLast
  922. };
  923. inline TCursorPosition();
  924. inline void SetLayout(CTextLayout *aLayout);
  925. inline void UpdateLatentX(TInt aX);
  926. inline void SetToPreviousHighlight();
  927. inline void SetToCurrentHighlight();
  928. inline void CancelHighlight();
  929. inline void SetDocPos(const TTmDocPos& aDocPos);
  930. void UpdateLatentPosition();
  931. TInt SetSelectionL(const TCursorSelection& aSelection);
  932. void SetPendingSelection(const TCursorSelection& aSelection);
  933. void GetOldSelection(TCursorSelection& aSelection) const;
  934. void GetSelection(TCursorSelection& aSelection) const;
  935. TInt SetDocPosL(TBool aDragSelectOn,const TTmDocPos& aDocPos);
  936. TInt SetXyPosL(TBool aDragSelectOn,TPoint aPos,TBool aAllowPictureFrame);
  937. TInt MoveL(TBool aDragSelectOn,TMovementType& aMovement,TBool aAllowPictureFrame);
  938. const TTmDocPos& VisualEndOfRunL(
  939. const TTmDocPos& aStart, const TTmDocPos& aEnd,
  940. TVisualEnd aDirection);
  941. void TextMoveVertically();
  942. inline void DontDrawOldPictureFrame();
  943. inline TBool IsSelection() const;
  944. inline TBool IsSelectionToDraw() const;
  945. TBool IsPictureFrame() const;
  946. TBool IsNewPictureFrame() const;
  947. inline const TTmDocPos& TmDocPos() const;
  948. inline TInt DocPos() const;
  949. inline TBool DrawHighlight() const;
  950. inline TBool DrawOldPictureFrame() const;
  951. inline TBool DrawNewPictureFrame() const;
  952. TBool GetCursor(TTmCursorPlacement aPlacement,TPoint& aOrigin,TInt& aWidth,TInt& aAscent,TInt& aDescent) const;
  953. TPosHint PositioningHint() const { return iPositioningHint; }
  954. void SetPositioningHint (TPosHint aHint)
  955. {iPositioningHint = aHint;}
  956. TTmPosInfo2& ChoosePosition(TTmPosInfo2& aPreferred,
  957. TTmPosInfo2& aBackup);
  958. private:
  959. enum
  960. {
  961. EFAbove = -1,
  962. EFInside = 0,
  963. EFBelow = 1
  964. };
  965. enum
  966. {
  967. EDrawHighlight = 1,
  968. EDrawOldPictureFrame = 2,
  969. EDrawNewPictureFrame = 4,
  970. EReturnPreviousHighlight = 8,
  971. ESelected = 16
  972. };
  973. TInt ViewTopOfLineL(const TTmDocPos& aDocPos,TInt& aYPos);
  974. void CheckSelection(TBool aSelect);
  975. void CheckNullSelection();
  976. inline void UpdateLatentY(TInt aY);
  977. TInt CheckCursorOnScreenL(TInt& aY);
  978. TBool LeftRightL(TTmPosInfo2& aPos, TTmLineInfo& aLine, TMovementType& aMove);
  979. void StartEndL(TTmPosInfo2& aPos, TTmLineInfo& aLine, TMovementType& aMove);
  980. void UpDownL(TTmPosInfo2& aPos, TTmLineInfo& aLine, TMovementType& aMove);
  981. TInt PageScrollL(TMovementType& aMove);
  982. TInt DoSetDocPosL(const TTmDocPos& aDocPos);
  983. TInt DoSetVisibleDocPosL(const TTmDocPos& aDocPos);
  984. void DoSetXyPos(TPoint& aXy);
  985. void SetPictureFrame(const TTmDocPos& aDocPos,TInt aAnchor,const TRect& aPictureRect);
  986. inline TBool CalculateCursorPos(TPoint& aCurPos);
  987. TTmDocPos iDocPos;
  988. TInt iAnchor;
  989. TInt iOldDocPos;
  990. TInt iOldAnchor;
  991. TUint iFlags;
  992. TInt iLatentX;
  993. TInt iLatentY;
  994. CTextLayout* iLayout;
  995. TPosHint iPositioningHint;
  996. };
  997. inline const CTmTextLayout& CTextLayout::TagmaTextLayout() const
  998. {
  999. return iText;
  1000. }
  1001. inline void CTextLayout::GetOrigin(TPoint& aPoint) const
  1002. {
  1003. aPoint.iX = 0;
  1004. aPoint.iY = -iBandTop;
  1005. }
  1006. inline CTextLayout::TTagmaForwarder::TTagmaForwarder(const CTextLayout& aLayout):
  1007. iLayout(aLayout)
  1008. {
  1009. }
  1010. inline const CTmTextLayout& CTextLayout::TTagmaForwarder::TextLayout() const
  1011. {
  1012. return iLayout.TagmaTextLayout();
  1013. }
  1014. inline void CTextLayout::TTagmaForwarder::GetOrigin(TPoint& aPoint) const
  1015. {
  1016. iLayout.GetOrigin(aPoint);
  1017. }
  1018. inline const TTmHighlightExtensions& CTextLayout::HighlightExtensions() const
  1019. {
  1020. return iHighlightExtensions;
  1021. }
  1022. void CTextLayout::RestrictScrollToTopsOfLines(TBool a)
  1023. {
  1024. if (a)
  1025. iScrollFlags |= EFScrollOnlyToTopsOfLines;
  1026. else
  1027. iScrollFlags &= ~EFScrollOnlyToTopsOfLines;
  1028. }
  1029. inline TViewYPosQualifier::TViewYPosQualifier():
  1030. iHotSpot(EFViewBaseLine),
  1031. iFillScreen(EFalse),
  1032. iFullyVisible(EFViewDontForceLineFullyVisible)
  1033. {
  1034. }
  1035. inline TViewRectChanges::TViewRectChanges():
  1036. iScrollAtTop(0),
  1037. iScrollAtBottom(0)
  1038. {
  1039. }
  1040. inline TCursorSelection::TCursorSelection():
  1041. iCursorPos(0),
  1042. iAnchorPos(0)
  1043. {
  1044. }
  1045. inline TCursorSelection::TCursorSelection(TInt aCursorPos,TInt aAnchorPos):
  1046. iCursorPos(aCursorPos),
  1047. iAnchorPos(aAnchorPos)
  1048. {
  1049. }
  1050. inline void TCursorSelection::SetSelection(TInt aCursorPos,TInt aAnchorPos)
  1051. {
  1052. iCursorPos = aCursorPos;
  1053. iAnchorPos = aAnchorPos;
  1054. }
  1055. inline TInt TCursorSelection::LowerPos() const
  1056. {
  1057. return Min(iCursorPos,iAnchorPos);
  1058. }
  1059. inline TInt TCursorSelection::HigherPos() const
  1060. {
  1061. return Max(iCursorPos,iAnchorPos);
  1062. }
  1063. inline TInt TCursorSelection::Length() const
  1064. {
  1065. return Abs(iCursorPos - iAnchorPos);
  1066. }
  1067. inline TCursorPosition::TCursorPosition():
  1068. iAnchor(0),
  1069. iOldDocPos(0),
  1070. iOldAnchor(0),
  1071. iFlags(0),
  1072. iLatentX(0),
  1073. iLatentY(0),
  1074. iLayout(0 ),
  1075. iPositioningHint(EPosHintUndefined)
  1076. {
  1077. }
  1078. inline void TCursorPosition::SetLayout(CTextLayout *aLayout)
  1079. {
  1080. iLayout = aLayout;
  1081. }
  1082. inline TBool TCursorPosition::IsSelection() const
  1083. {
  1084. return iFlags & ESelected;
  1085. }
  1086. inline TBool TCursorPosition::IsSelectionToDraw() const
  1087. {
  1088. return iFlags & (EDrawHighlight | EDrawOldPictureFrame | EDrawNewPictureFrame);
  1089. }
  1090. inline void TCursorPosition::SetToPreviousHighlight()
  1091. {
  1092. iFlags |= EReturnPreviousHighlight;
  1093. }
  1094. inline void TCursorPosition::SetToCurrentHighlight()
  1095. {
  1096. iFlags &= ~EReturnPreviousHighlight;
  1097. }
  1098. inline void TCursorPosition::CancelHighlight()
  1099. {
  1100. iFlags &= ~(ESelected | EDrawHighlight | EDrawOldPictureFrame | EDrawNewPictureFrame);
  1101. }
  1102. inline void TCursorPosition::UpdateLatentX(TInt aX)
  1103. {
  1104. iLatentX = aX;
  1105. }
  1106. inline void TCursorPosition::UpdateLatentY(TInt aY)
  1107. {
  1108. iLatentY = aY;
  1109. }
  1110. inline TBool TCursorPosition::CalculateCursorPos(TPoint& aPos)
  1111. {
  1112. TTmPosInfo2 pos_info;
  1113. TBool result = iLayout->FindDocPos(iDocPos,pos_info);
  1114. aPos = pos_info.iEdge;
  1115. return result;
  1116. }
  1117. inline const TTmDocPos& TCursorPosition::TmDocPos() const
  1118. {
  1119. return iDocPos;
  1120. }
  1121. inline TInt TCursorPosition::DocPos() const
  1122. {
  1123. return iDocPos.iPos;
  1124. }
  1125. inline void TCursorPosition::SetDocPos(const TTmDocPos& aDocPos)
  1126. {
  1127. iDocPos = aDocPos;
  1128. }
  1129. inline TBool TCursorPosition::DrawHighlight() const
  1130. {
  1131. return iFlags & EDrawHighlight;
  1132. }
  1133. inline TBool TCursorPosition::DrawOldPictureFrame() const
  1134. {
  1135. return iFlags & EDrawOldPictureFrame;
  1136. }
  1137. inline TBool TCursorPosition::DrawNewPictureFrame() const
  1138. {
  1139. return iFlags & EDrawNewPictureFrame;
  1140. }
  1141. inline void TCursorPosition::DontDrawOldPictureFrame()
  1142. {
  1143. iFlags &= ~EDrawOldPictureFrame;
  1144. }
  1145. #line 13 "C:\Symbian\9.1\S60_3rd\epoc32\include\lafmain.h" /* stack depth 8 */
  1146. class CCoeControl;
  1147. class CFont;
  1148. class TLogicalFont;
  1149. class MLafEnv;
  1150. class CLafEdwinCustomDrawBase : public CBase, public MFormCustomDraw
  1151. #line 31
  1152. {
  1153. public:
  1154. __declspec(dllexport) static CLafEdwinCustomDrawBase* NewL(const MLafEnv& aEnv,const CCoeControl& aControl);
  1155. public:
  1156. __declspec(dllexport) void DrawBackground(const TParam& aParam,const TRgb& aBackground,TRect& aDrawn) const;
  1157. __declspec(dllexport) TRgb SystemColor(TUint aColorIndex,TRgb aDefaultColor) const;
  1158. public:
  1159. __declspec(dllexport) virtual void LineSpacingChanged();
  1160. protected:
  1161. __declspec(dllexport) CLafEdwinCustomDrawBase(const MLafEnv& aEnv,const CCoeControl& aControl);
  1162. protected:
  1163. const MLafEnv& iEnv;
  1164. const CCoeControl& iControl;
  1165. private:
  1166. TInt iSpare;
  1167. };
  1168. class CLafEdwinCustomWrapBase : public CBase, public MFormCustomWrap
  1169. #line 90
  1170. {
  1171. public:
  1172. __declspec(dllexport) static CLafEdwinCustomWrapBase* NewL(const CCoeControl& aControl);
  1173. __declspec(dllexport) ~CLafEdwinCustomWrapBase();
  1174. public:
  1175. #line 111
  1176. __declspec(dllexport) TUint LineBreakClass(TUint aCode,TUint& aRangeStart,TUint& aRangeEnd) const;
  1177. #line 123
  1178. __declspec(dllexport) TBool LineBreakPossible(TUint aPrevClass,TUint aNextClass,TBool aHaveSpaces) const;
  1179. #line 142
  1180. __declspec(dllexport) TBool GetLineBreakInContext(const TDesC& aText,TInt aMinBreakPos,TInt aMaxBreakPos,TBool aForwards,TInt& aBreakPos) const;
  1181. __declspec(dllexport) TBool IsHangingCharacter(TUint aChar) const;
  1182. private:
  1183. __declspec(dllexport) void MFormCustomWrap_Reserved_1();
  1184. __declspec(dllexport) void MFormCustomWrap_Reserved_2();
  1185. protected:
  1186. __declspec(dllexport) CLafEdwinCustomWrapBase(const CCoeControl& aControl);
  1187. protected:
  1188. const CCoeControl& iControl;
  1189. private:
  1190. TInt iSpare;
  1191. };
  1192. class MLafEnv
  1193. #line 178
  1194. {
  1195. public:
  1196. virtual const CFont* Font(const TLogicalFont& aLogicalFont) const=0;
  1197. virtual const CFbsBitmap* Bitmap(TUid aBmpUid) const=0;
  1198. #line 201
  1199. virtual TRgb ControlColor(TLogicalColor aLogicalColor, const CCoeControl& aControl) const=0;
  1200. #line 210
  1201. virtual TRgb Color(TLogicalColor aLogicalColor, TUid aColorListUid=TUid::Null() ) const=0;
  1202. virtual TDisplayMode DefaultDisplayMode() const=0;
  1203. };
  1204. class MLafClientRectResolver
  1205. #line 228
  1206. {
  1207. public:
  1208. enum TScreenFurniture
  1209. {
  1210. EMenuBar,
  1211. EButtonGroup,
  1212. EToolBand,
  1213. ETitleBand,
  1214. EStatusPane,
  1215. ECba
  1216. };
  1217. public:
  1218. virtual void ReduceRect(TScreenFurniture aScreenFurniture,TRect& aRect) const=0;
  1219. };
  1220. #line 23 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikenv.h" /* stack depth 7 */
  1221. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikvcurs.h" /* stack depth 8 */
  1222. #line 16
  1223. class TEikVirtualCursor
  1224. {
  1225. public:
  1226. enum TState
  1227. {
  1228. EOff=0,
  1229. EOn,
  1230. ESuspended
  1231. };
  1232. public:
  1233. TEikVirtualCursor();
  1234. private:
  1235. inline TEikVirtualCursor(const TEikVirtualCursor&);
  1236. public:
  1237. __declspec(dllexport) void SetCursorStateL(TState aState, CCoeEnv& aEnv);
  1238. __declspec(dllexport) TState CursorState(CCoeEnv& aEnv);
  1239. public:
  1240. void HandleAppToForeground(CCoeEnv& aEnv);
  1241. private:
  1242. void SwitchOffEmulationAndBitmap(CCoeEnv& aEnv);
  1243. void SwitchOnEmulationAndBitmap(CCoeEnv& aEnv);
  1244. private:
  1245. TState iState;
  1246. };
  1247. inline TEikVirtualCursor::TEikVirtualCursor(const TEikVirtualCursor&)
  1248. {}
  1249. #line 24 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikenv.h" /* stack depth 7 */
  1250. class CEikProcess;
  1251. class MEikInfoMsgWin;
  1252. class MEikBusyMsgWin;
  1253. class CEikAppUi;
  1254. class CEikHotKeyTable;
  1255. class CCoeControl;
  1256. class CParaFormatLayer;
  1257. class CCharFormatLayer;
  1258. class CCoeBrushAndPenContext;
  1259. class CEikCommandButton;
  1260. class CPrintSetup;
  1261. class CDictionaryStore;
  1262. class CApaWindowGroupName;
  1263. class CEikErrorIdler;
  1264. class CEikApplication;
  1265. class MEikInfoDialog;
  1266. class MEikAlertWin;
  1267. class CEikDialog;
  1268. class MEikDebugKeys;
  1269. class CEikLibrary;
  1270. class MEikAppUiFactory;
  1271. class MEikIrFactory;
  1272. class CGulIcon;
  1273. class CApaMaskedBitmap;
  1274. class CEikLogicalBorder;
  1275. class CEikLafEnv;
  1276. class TLogicalFont;
  1277. class CEikPictureFactory;
  1278. class CEikEnvExtra;
  1279. class TApaApplicationFactory;
  1280. class CEikAppServer;
  1281. class CLafSystemFont;
  1282. const TInt KEikDefaultCursorWidth=2;
  1283. const TInt KTimeBetweenClicks=1000000;
  1284. const TInt KDoubleClickDistance=10;
  1285. const TInt KKeyboardRepeatRate=50000;
  1286. const TInt KKeyboardRepeatInitialDelay=800000;
  1287. const TUid KSystemIniFileUid = {0x1000010C};
  1288. const TUid KUikonLibraryUid = {0x10004CC1 };
  1289. const TInt KEikErrorResolverMaxTextLength = 256;
  1290. const TInt KLastSystemWideErrCode = KErrPermissionDenied;
  1291. typedef void (*TRequestDialogFunc)();
  1292. const static TLitC8<sizeof( "-DebugMemFail:")> KDebugStart={sizeof( "-DebugMemFail:")-1, "-DebugMemFail:"} ;
  1293. #line 132
  1294. typedef CEikLibrary* (*EikLibraryEntryPoint)();
  1295. class MEikPictureFactory
  1296. {
  1297. public:
  1298. __declspec(dllexport) virtual TUid Id() const;
  1299. virtual TBool SupportsPictureType(TUid aPictureType) const=0;
  1300. virtual const MPictureFactory* PictureFactory(TUid aPictureType) const=0;
  1301. virtual TPictureHeader InsertL(TUid aPictureType,CBase* aData)=0;
  1302. virtual void EditL(const TPictureHeader& aPictureHeader,TBool aReadOnly)=0;
  1303. private:
  1304. __declspec(dllexport) virtual void MEikPictureFactory_Reserved_1();
  1305. __declspec(dllexport) virtual void MEikPictureFactory_Reserved_2();
  1306. };
  1307. class CEikonEnv : public CCoeEnv
  1308. #line 188
  1309. {
  1310. public:
  1311. enum TErrorValidity
  1312. { EErrorNumValid, EErrorNumInvalid };
  1313. public:
  1314. __declspec(dllexport) ~CEikonEnv();
  1315. __declspec(dllexport) CEikonEnv();
  1316. __declspec(dllexport) void ConstructL();
  1317. __declspec(dllexport) void ConstructL(TBool aInitialFocusState);
  1318. __declspec(dllexport) void ConstructL(TBool aInitialFocusState, TInt aWindowGroupID);
  1319. __declspec(dllexport) void ConstructAppFromCommandLineL(const TApaApplicationFactory& aApplicationFactory,const CApaCommandLine& aCommandLine);
  1320. __declspec(dllexport) void ControlStackReadyL();
  1321. __declspec(dllexport) static TVersion Version();
  1322. inline static CEikonEnv* Static();
  1323. __declspec(dllexport) const CFont* AnnotationFont() const;
  1324. __declspec(dllexport) const CFont* TitleFont() const;
  1325. __declspec(dllexport) const CFont* LegendFont() const;
  1326. __declspec(dllexport) const CFont* SymbolFont() const;
  1327. __declspec(dllexport) const CFont* DenseFont() const;
  1328. __declspec(dllexport) const CFont* Font(const TLogicalFont& aLogicalFont) const;
  1329. public:
  1330. __declspec(dllexport) const CFbsBitmap* TexturedBitmap() const;
  1331. public:
  1332. __declspec(dllexport) const CFbsBitmap* GrayBitmap() const;
  1333. __declspec(dllexport) const CFbsBitmap* OptionBitmap() const;
  1334. __declspec(dllexport) const CFbsBitmap* HighlightedOptionBitmap() const;
  1335. __declspec(dllexport) const CFbsBitmap* OptionMaskBitmap() const;
  1336. public:
  1337. __declspec(dllexport) const CFbsBitmap* Bitmap(TUid aUidBmp) const;
  1338. void InitSystemBitmapsL();
  1339. public:
  1340. __declspec(dllexport) MLafEnv& LafEnv() const;
  1341. inline TInt EditableControlStandardHeight() const;
  1342. public:
  1343. inline CEikProcess* Process() const;
  1344. inline const MEikAlertWin* Alert() const;
  1345. __declspec(dllexport) MPictureFactory* PictureFactory()const;
  1346. __declspec(dllexport) MEikPictureFactory* ExtendedPictureFactory(TUid aPictureType) const;
  1347. __declspec(dllexport) void AddPictureFactoryL(MEikPictureFactory& aFactory);
  1348. __declspec(dllexport) void RemovePictureFactory(TUid aFactoryId);
  1349. __declspec(dllexport) void SetAlertWin(MEikAlertWin* aAlertWin);
  1350. __declspec(dllexport) void AlertWin(const TDesC& aMsg);
  1351. __declspec(dllexport) void AlertWin(const TDesC& aMsg1,const TDesC& aMsg2);
  1352. __declspec(dllexport) void LeaveWithInfoMsg(TInt aResourceId,...);
  1353. public:
  1354. __declspec(dllexport) void LeaveWithErrorContext(TInt aError,const TDesC& aContextText);
  1355. __declspec(dllexport) void GetErrorText(TDes& aDes,TInt aError) const;
  1356. __declspec(dllexport) TErrorValidity GetErrorText(TDes& aDes,TInt aError,TUid aAppUid) const;
  1357. public:
  1358. __declspec(dllexport) void ResolveError(TInt aError,TUid aAppUid=TUid::Null() ) const;
  1359. __declspec(dllexport) void InfoMsg(const TDesC& aDes);
  1360. __declspec(dllexport) void InfoMsgWithAlignment(TGulAlignment aCorner,const TDesC& aDes);
  1361. __declspec(dllexport) void InfoMsg(TInt aResourceId,...);
  1362. __declspec(dllexport) void InfoMsg(TInt aResourceId,VA_LIST aList);
  1363. __declspec(dllexport) void InfoMsgWithAlignment(TGulAlignment aCorner,TInt aResourceId,...);
  1364. __declspec(dllexport) void InfoMsgWithAlignment(TGulAlignment aCorner,TInt aResourceId,VA_LIST aList);
  1365. __declspec(dllexport) void InfoMsgWithDuration(const TDesC& aDes, TTimeIntervalMicroSeconds32 aDuration);
  1366. __declspec(dllexport) void InfoMsgWithDuration(TInt aResourceId, TTimeIntervalMicroSeconds32 aDuration,...);
  1367. __declspec(dllexport) void InfoMsgWithDuration(TInt aResourceId, TTimeIntervalMicroSeconds32 aDuration, VA_LIST aList);
  1368. __declspec(dllexport) void InfoMsgWithAlignmentAndDuration(TGulAlignment aCorner,const TDesC& aDes, TTimeIntervalMicroSeconds32 aDuration);
  1369. __declspec(dllexport) void InfoMsgWithAlignmentAndDuration(TGulAlignment aCorner,TInt aResourceId, TTimeIntervalMicroSeconds32 aDuration,...);
  1370. __declspec(dllexport) void InfoMsgWithAlignmentAndDuration(TGulAlignment aCorner,TInt aResourceId, TTimeIntervalMicroSeconds32 aDuration,VA_LIST aList);
  1371. __declspec(dllexport) void InfoMsgCancel();
  1372. __declspec(dllexport) void VerboseInfoMsg(const TDesC& aDes);
  1373. public:
  1374. __declspec(dllexport) void SetVerboseInfoReporting(TBool aVerbose);
  1375. public:
  1376. __declspec(dllexport) void BusyMsgL(const TDesC& aDes);
  1377. __declspec(dllexport) void BusyMsgL(const TDesC& aDes,TGulAlignment aCorner);
  1378. __declspec(dllexport) void BusyMsgL(TInt aResourceId);
  1379. __declspec(dllexport) void BusyMsgL(const TDesC& aDes,TTimeIntervalMicroSeconds32 aInitialDelay);
  1380. __declspec(dllexport) void BusyMsgL(const TDesC& aDes,TGulAlignment aCorner,TTimeIntervalMicroSeconds32 aInitialDelay);
  1381. __declspec(dllexport) void BusyMsgL(TInt aResourceId,TTimeIntervalMicroSeconds32 aInitialDelay);
  1382. __declspec(dllexport) void BusyMsgCancel();
  1383. __declspec(dllexport) TBool ConfirmLossOfAllChangesL() const;
  1384. __declspec(dllexport) static TBool QueryWinL(const TDesC& aFirstLine,const TDesC& aSecondLine);
  1385. __declspec(dllexport) TBool QueryWinL(TInt aFirstLineId,TInt aSecondLineId=0) const;
  1386. __declspec(dllexport) static void InfoWinL(const TDesC& aFirstLine,const TDesC& aSecondLine);
  1387. __declspec(dllexport) void InfoWinL(TInt aFirstLineId,TInt aSecondLineId=0) const;
  1388. __declspec(dllexport) void SetQueryDialog(MEikInfoDialog* aQueryDialog);
  1389. __declspec(dllexport) void SetInfoDialog(MEikInfoDialog* aInfoDialog);
  1390. __declspec(dllexport) void SetRequestQueryDialogFunc(TRequestDialogFunc aQueryDialogFunc);
  1391. __declspec(dllexport) void SetRequestInfoDialogFunc(TRequestDialogFunc aInfoDialogFunc);
  1392. __declspec(dllexport) void AllocInfoMsg();
  1393. __declspec(dllexport) void WservAllocInfoMsg();
  1394. __declspec(dllexport) void FservAllocInfoMsg();
  1395. __declspec(dllexport) static void Beep();
  1396. __declspec(dllexport) CWsBitmap* CreateBitmapL(const TDesC& aFileName,TInt aId);
  1397. __declspec(dllexport) CWsBitmap* CreateBitmapL(const TDesC& aFileName,TInt aId, TBool aShowDlgIfErr);
  1398. __declspec(dllexport) CGulIcon* CreateIconL(const TDesC& aFileName,TInt aBitmapId,TInt aMaskId=-1);
  1399. __declspec(dllexport) static CGulIcon* CreateIconFromMaskedBitmapL(const CApaMaskedBitmap& aApaMaskedBitmap);
  1400. public:
  1401. __declspec(dllexport) void SetDebugKeys(MEikDebugKeys* aDebugKeys);
  1402. __declspec(dllexport) void LaunchPopupMenuL(TInt aResourceId,const TPoint& aTargetPos,TPopupTargetPosType aTargetType=EPopupTargetTopLeft,const CEikHotKeyTable* aHotKeyTable=0 );
  1403. public:
  1404. __declspec(dllexport) static void AddWindowShadow(CCoeControl* aWinArea);
  1405. __declspec(dllexport) RAnimDll& ClockDllL();
  1406. __declspec(dllexport) CParaFormatLayer* SystemSingleLineParaFormatLayerL();
  1407. __declspec(dllexport) CParaFormatLayer* SystemParaFormatLayerL();
  1408. __declspec(dllexport) CCharFormatLayer* SystemCharFormatLayerL();
  1409. __declspec(dllexport) static CParaFormatLayer* NewDefaultSingleLineParaFormatLayerL();
  1410. __declspec(dllexport) static CParaFormatLayer* NewDefaultParaFormatLayerL();
  1411. __declspec(dllexport) static CCharFormatLayer* NewDefaultCharFormatLayerL();
  1412. __declspec(dllexport) static void GetPrinterNamesL(CPrinterModelList* aModelNameList,CDesCArray& aPrinterNameList);
  1413. inline CEikAppUi* EikAppUi() const;
  1414. __declspec(dllexport) void AddDialogLikeControlToStackL(CCoeControl* aControl);
  1415. __declspec(dllexport) void AddAlertDialogLikeControlToStackL(CCoeControl* aControl);
  1416. __declspec(dllexport) void RemoveFromStack(CCoeControl* aControl);
  1417. __declspec(dllexport) void AddSleepingDialogToStackL(CCoeControl* aControl);
  1418. __declspec(dllexport) void AddSleepingAlertDialogToStackL(CCoeControl* aControl);
  1419. __declspec(dllexport) void RouseSleepingDialog(CCoeControl* aControl,TBool aRoused);
  1420. __declspec(dllexport) void DrawCursor(const CCoeControl* aControl,const TPoint& aPosition,TInt aWidth);
  1421. __declspec(dllexport) void DrawCursor(const CCoeControl* aControl,const TPoint& aPosition,TInt aWidth,TInt aAscent,TInt aHeight);
  1422. __declspec(dllexport) void HideCursor(const CCoeControl* aControl);
  1423. __declspec(dllexport) void UpdateTaskNameL();
  1424. __declspec(dllexport) void BringForwards(TBool aForwards,TInt aPriority=ECoeWinPriorityAlwaysAtFront);
  1425. __declspec(dllexport) void SetAutoForwarding(TBool aForwarding);
  1426. public:
  1427. __declspec(dllexport) TPtrC KeyPressLabel(TInt aIndex) const;
  1428. public:
  1429. __declspec(dllexport) CPrintSetup* NewDefaultPrintSetupL();
  1430. public:
  1431. __declspec(dllexport) void DisplayTaskList();
  1432. __declspec(dllexport) void DismissTaskList();
  1433. __declspec(dllexport) void SendEventToEikonServer(TInt aEvent,const TAny* aPtr,TInt aLength);
  1434. public:
  1435. __declspec(dllexport) void SetBusy(TBool aBusy);
  1436. __declspec(dllexport) TBool IsBusy() const;
  1437. __declspec(dllexport) void SetSystem(TBool aSystem);
  1438. __declspec(dllexport) TBool IsSystem() const;
  1439. __declspec(dllexport) void SetDocNameIsAFile(TBool aDocNameIsAFile);
  1440. __declspec(dllexport) TBool DocNameIsAFile() const;
  1441. __declspec(dllexport) void SetRespondsToShutdownEvent(TBool aRespondsToShutdownEvent);
  1442. __declspec(dllexport) TBool RespondsToShutdownEvent() const;
  1443. __declspec(dllexport) void SetRespondsToSwitchFilesEvent(TBool aRespondsToSwitchFilesEvent);
  1444. __declspec(dllexport) TBool RespondsToSwitchFilesEvent() const;
  1445. __declspec(dllexport) TEikVirtualCursor& VirtualCursor();
  1446. __declspec(dllexport) void NotifyIdleErrorWhileRedrawing(TInt aError);
  1447. __declspec(dllexport) void NotifyIdleError(TInt aError,TInt aContextRid);
  1448. __declspec(dllexport) void HandleErrorWithContext(TInt aError,TInt aContextRid);
  1449. __declspec(dllexport) MEikAppUiFactory* AppUiFactory() const;
  1450. __declspec(dllexport) MEikAppUiFactory* AppUiFactory(const CEikAppUi& aAppUi) const;
  1451. public:
  1452. __declspec(dllexport) void SetAppUiFactoryL(MEikAppUiFactory* aAppUiFactory);
  1453. __declspec(dllexport) void AddAppUiFactoryL(MEikAppUiFactory* aAppUiFactory);
  1454. __declspec(dllexport) void RemoveAppUiFactory();
  1455. __declspec(dllexport) CColorList* PopulateColorArrayL();
  1456. public:
  1457. __declspec(dllexport) TInt AddLibraryL(TCreateByTypeFunction aControlFactory, TFileName* aResourceFile);
  1458. inline TInt AddLibraryL(TCreateByTypeFunction aControlFactory);
  1459. inline TInt AddLibraryL(TFileName* aResourceFile);
  1460. __declspec(dllexport) void RemoveLibrary(TCreateByTypeFunction aControlFactory, TInt aResourceFileOffset);
  1461. inline void RemoveLibrary(TCreateByTypeFunction aControlFactory);
  1462. inline void RemoveLibrary(TInt aResourceFileOffset);
  1463. inline TChar NudgeCharMinus() const;
  1464. inline TChar NudgeCharPlus() const;
  1465. inline CColorList& ColorList() const;
  1466. inline TRgb Color(TLogicalColor aLogicalColor) const;
  1467. inline void SetColor(TLogicalColor aLogicalColor, TRgb aColor);
  1468. __declspec(dllexport) TRgb ControlColor(TLogicalColor aLogicalColor,const CCoeControl& aControl) const;
  1469. inline CColorArray& CustomColorArray() const;
  1470. __declspec(dllexport) CColorList* CreateSystemColorListL();
  1471. __declspec(dllexport) CColorList* CreateSystemColorListL(const CColorList& aColorList);
  1472. __declspec(dllexport) void UpdateSystemColorListL(const CColorList& aColorList);
  1473. __declspec(dllexport) void UpdateSystemFontsL();
  1474. public:
  1475. inline void SetCDlgDialogFactory(MEikCDlgDialogFactory* aDialogFactory);
  1476. inline void SetPrintDialogFactory(MEikPrintDialogFactory* aDialogFactory);
  1477. inline void SetFileDialogFactory(MEikFileDialogFactory* aDialogFactory);
  1478. inline void SetIrFactory(MEikIrFactory* aIrFactory);
  1479. inline MEikCDlgDialogFactory* CDlgDialogFactory() const;
  1480. inline MEikPrintDialogFactory* PrintDialogFactory() const;
  1481. inline MEikFileDialogFactory* FileDialogFactory() const;
  1482. inline MEikIrFactory* IrFactory() const;
  1483. CArrayFix<TCreateByTypeFunction> * ControlFactoryFuncArray() const;
  1484. inline TInt StatusPaneCoreResId() const;
  1485. inline void SetStatusPaneCoreResId(TInt aStatusPaneCoreResId);
  1486. __declspec(dllexport) void AddAutoMenuTitleL(CEikAutoMenuTitle* aTitle);
  1487. inline CEikAutoMenuTitleArray* AutoMenuTitleArray() const;
  1488. public:
  1489. __declspec(dllexport) TDisplayMode DefaultDisplayMode() const;
  1490. public:
  1491. __declspec(dllexport) void SetExtension(CBase* aExtension);
  1492. inline CBase* Extension() const;
  1493. public:
  1494. __declspec(dllexport) void HandleError(TInt aError);
  1495. public:
  1496. __declspec(dllexport) void WriteInternalStateOfStackedControlsL();
  1497. public:
  1498. void UpdateColorListL();
  1499. void PostAppUiInitializeL();
  1500. __declspec(dllexport) void DoGetErrorText(TDes& aDes,TInt aError) const;
  1501. public:
  1502. __declspec(dllexport) void DestroyEnvironment();
  1503. private:
  1504. __declspec(dllexport) virtual void CEikonEnv_Reserved_1();
  1505. __declspec(dllexport) virtual void CEikonEnv_Reserved_2();
  1506. __declspec(dllexport) virtual void CEikonEnv_Reserved_3();
  1507. __declspec(dllexport) virtual void CEikonEnv_Reserved_4();
  1508. __declspec(dllexport) virtual void CEikonEnv_Reserved_5();
  1509. private:
  1510. __declspec(dllexport) void DestroyScreen();
  1511. __declspec(dllexport) void InitSystemFontsL();
  1512. __declspec(dllexport) TInt ResourceFileVersionNumber() const;
  1513. __declspec(dllexport) void Reserved_1();
  1514. __declspec(dllexport) void Reserved_2();
  1515. public:
  1516. __declspec(dllexport) MEikInfoDialog* QueryDialog() const;
  1517. __declspec(dllexport) MEikInfoDialog* InfoDialog() const;
  1518. public:
  1519. __declspec(dllexport) CEikAppServer* AppServer() const;
  1520. __declspec(dllexport) TBool StartedAsServerApp() const;
  1521. protected:
  1522. friend class CEikServAppUi;
  1523. private:
  1524. void InitSystemResourceFileL();
  1525. void InitPrivateResourceFileL();
  1526. void InitInfoMsgL();
  1527. void PrepareBusyMsgL();
  1528. void InitAlertWinL();
  1529. TErrorHandlerResponse PrepareToHandleError(TInt aError);
  1530. void DoHandleError(TErrorHandlerResponse aType);
  1531. static TInt IdleErrorCallBack(TAny* aThis);
  1532. void InitColorsL();
  1533. void LoadParserListL();
  1534. void LoadLibrariesL();
  1535. void CloseLibraries();
  1536. TRequestDialogFunc RequestQueryDialogFunc();
  1537. TRequestDialogFunc RequestInfoDialogFunc();
  1538. void SetAppReady();
  1539. TBool IsEiksrvThread() const;
  1540. TBool InfoWinOrQueryWinL(TInt aFirstLineId,TInt aSecondLineId,TBool aIsQueryWin=EFalse) const;
  1541. void SetCommandLineDebugMemFailL(const CApaCommandLine& aCommandLine);
  1542. void StoreAppLanguageL();
  1543. public:
  1544. TLanguage ApplicationLanguage() const;
  1545. public:
  1546. void PostAppUiDestroy();
  1547. private:
  1548. __declspec(dllexport) virtual void CEikonEnv_Reserved_6();
  1549. __declspec(dllexport) virtual void CEikonEnv_Reserved_7();
  1550. __declspec(dllexport) virtual void CEikonEnv_Reserved_8();
  1551. __declspec(dllexport) virtual void CEikonEnv_Reserved_9();
  1552. __declspec(dllexport) virtual void CEikonEnv_Reserved_10();
  1553. private:
  1554. class TEikAppUiFactory
  1555. {
  1556. public:
  1557. MEikAppUiFactory* iFactory;
  1558. CEikAppUi* iAppUi;
  1559. };
  1560. private:
  1561. TBitFlags iEikonEnvFlags;
  1562. TInt iForwardsCount;
  1563. TInt iBusyCount;
  1564. CEikProcess* iProcess;
  1565. RAnimDll* iClockDll;
  1566. CArrayPtr<
  1567. CLafSystemFont
  1568. > * iFontArray;
  1569. MEikInfoMsgWin* iInfoMsgWin;
  1570. MEikBusyMsgWin* iBusyMsgWin;
  1571. MEikAlertWin* iAlertWin;
  1572. TInt iSystemResourceFileOffset;
  1573. HBufC8* iKeyPressLabels;
  1574. CParaFormatLayer* iSingleLineParaFormatLayer;
  1575. CParaFormatLayer* iParaFormatLayer;
  1576. CCharFormatLayer* iCharFormatLayer;
  1577. const CCoeControl* iCursorWindow;
  1578. TInt iEditableControlStandardHeight;
  1579. CApaWindowGroupName* iWgName;
  1580. CEikErrorIdler* iErrorIdler;
  1581. TInt iPrivateResourceFileOffset;
  1582. CColorList* iColorList;
  1583. CEikPictureFactory* iPictureFactory;
  1584. TBuf<2> iNudgeChars;
  1585. MEikInfoDialog* iQueryDialog;
  1586. MEikInfoDialog* iInfoDialog;
  1587. TRequestDialogFunc iQueryDialogFunc;
  1588. TRequestDialogFunc iInfoDialogFunc;
  1589. CArrayFix<TCreateByTypeFunction> * iControlFactoryFuncArray;
  1590. CArrayFix<TInt> * iResourceFileOffsetArray;
  1591. TBool iAlertWinInitialized;
  1592. MEikDebugKeys* iDebugKeys;
  1593. MEikCDlgDialogFactory* iCDlgDialogFactory;
  1594. MEikPrintDialogFactory* iPrintDialogFactory;
  1595. MEikFileDialogFactory* iFileDialogFactory;
  1596. CArrayFix<TEikAppUiFactory> * iAppUiFactoryArray;
  1597. MEikIrFactory* iIrFactory;
  1598. CArrayPtr<CEikLibrary> * iLibraries;
  1599. TInt iEmbeddedAppLevel;
  1600. TInt iAutoLoadedResourceFiles;
  1601. TInt iAutoLoadedControlFactories;
  1602. CBase* iExtension;
  1603. TInt iStatusPaneCoreResId;
  1604. CEikAutoMenuTitleArray* iAutoMenuTitleArray;
  1605. TEikVirtualCursor iVirtualCursor;
  1606. CEikLogicalBorder* iLogicalBorder;
  1607. CEikLafEnv* iLafEnv;
  1608. CArrayPtrFlat<CFbsBitmap> * iBitmapArray;
  1609. CEikEnvExtra* iEikEnvExtra;
  1610. HBufC* iOOMErrorText;
  1611. TInt iSpare3;
  1612. };
  1613. class MEikInfoDialog
  1614. #line 542
  1615. {
  1616. public:
  1617. #line 553
  1618. virtual TBool RunDlgLD(TInt aResource, const TDesC& aTitle, const TDesC& aMsg) = 0;
  1619. };
  1620. class MEikAlertWin
  1621. {
  1622. public:
  1623. virtual void ConstructL() = 0;
  1624. virtual void RunAlert(const TDesC& aTitle, const TDesC& aMsg) = 0;
  1625. virtual void Release() = 0;
  1626. virtual CEikDialog* AsEikDialog() = 0;
  1627. inline const CEikDialog* AsEikDialog() const;
  1628. __declspec(dllexport) virtual CCoeControl* AsCoeControl();
  1629. inline const CCoeControl* AsCoeControl() const;
  1630. private:
  1631. __declspec(dllexport) virtual void MEikAlertWin_Reserved2();
  1632. __declspec(dllexport) virtual void MEikAlertWin_Reserved3();
  1633. };
  1634. class MEikDebugKeys
  1635. {
  1636. public:
  1637. virtual void ConstructL() = 0;
  1638. virtual void Release() = 0;
  1639. private:
  1640. __declspec(dllexport) virtual void MEikDebugKeys_Reserved1();
  1641. __declspec(dllexport) virtual void MEikDebugKeys_Reserved2();
  1642. __declspec(dllexport) virtual void MEikDebugKeys_Reserved3();
  1643. };
  1644. inline CEikonEnv* CEikonEnv::Static()
  1645. #line 604
  1646. { return((CEikonEnv*)(CCoeEnv::Static())); }
  1647. inline TInt CEikonEnv::EditableControlStandardHeight() const
  1648. { return(iEditableControlStandardHeight); }
  1649. inline CEikProcess* CEikonEnv::Process() const
  1650. { return(iProcess); }
  1651. inline CEikAppUi* CEikonEnv::EikAppUi() const
  1652. { return((CEikAppUi*)iAppUi); }
  1653. inline const MEikAlertWin* CEikonEnv::Alert() const
  1654. { return(iAlertWin); }
  1655. inline TChar CEikonEnv::NudgeCharMinus() const
  1656. {return(iNudgeChars[0]);}
  1657. inline TChar CEikonEnv::NudgeCharPlus() const
  1658. {return(iNudgeChars[1]);}
  1659. inline TRgb CEikonEnv::Color(TLogicalColor aLogicalColor) const
  1660. {return ColorList().Color(aLogicalColor); }
  1661. inline CColorArray& CEikonEnv::CustomColorArray() const
  1662. {return *(ColorList().ColorArray(TUid::Uid(KEikCustomColorsArrayValue)));}
  1663. inline CColorList& CEikonEnv::ColorList() const
  1664. {(void)((iColorList)||(User::Invariant(),0)) ; return *iColorList; }
  1665. inline void CEikonEnv::SetColor(TLogicalColor aLogicalColor, TRgb aColor)
  1666. { ColorList().SetColor(aLogicalColor, aColor); }
  1667. inline void CEikonEnv::SetCDlgDialogFactory(MEikCDlgDialogFactory* aDialogFactory)
  1668. {iCDlgDialogFactory=aDialogFactory;}
  1669. inline void CEikonEnv::SetPrintDialogFactory(MEikPrintDialogFactory* aDialogFactory)
  1670. {iPrintDialogFactory=aDialogFactory;}
  1671. inline void CEikonEnv::SetFileDialogFactory(MEikFileDialogFactory* aDialogFactory)
  1672. {iFileDialogFactory=aDialogFactory;}
  1673. inline void CEikonEnv::SetIrFactory(MEikIrFactory* aIrFactory)
  1674. {iIrFactory=aIrFactory;}
  1675. inline MEikCDlgDialogFactory* CEikonEnv::CDlgDialogFactory() const
  1676. {return iCDlgDialogFactory;}
  1677. inline MEikPrintDialogFactory* CEikonEnv::PrintDialogFactory() const
  1678. {return iPrintDialogFactory;}
  1679. inline MEikFileDialogFactory* CEikonEnv::FileDialogFactory() const
  1680. {return iFileDialogFactory;}
  1681. inline MEikIrFactory* CEikonEnv::IrFactory() const
  1682. {return iIrFactory;}
  1683. inline TInt CEikonEnv::AddLibraryL(TCreateByTypeFunction aControlFactory)
  1684. {return(AddLibraryL(aControlFactory, 0 ));}
  1685. inline TInt CEikonEnv::AddLibraryL(TFileName* aResourceFile)
  1686. {return(AddLibraryL(0 , aResourceFile));}
  1687. inline void CEikonEnv::RemoveLibrary(TCreateByTypeFunction aControlFactory)
  1688. {RemoveLibrary(aControlFactory, 0 );}
  1689. inline void CEikonEnv::RemoveLibrary(TInt aResourceFileOffset)
  1690. {RemoveLibrary(0 , aResourceFileOffset);}
  1691. inline CBase* CEikonEnv::Extension() const
  1692. {return iExtension;}
  1693. inline TInt CEikonEnv::StatusPaneCoreResId() const
  1694. {return iStatusPaneCoreResId;}
  1695. inline void CEikonEnv::SetStatusPaneCoreResId(TInt aStatusPaneCoreResId)
  1696. {iStatusPaneCoreResId=aStatusPaneCoreResId;}
  1697. inline CEikAutoMenuTitleArray* CEikonEnv::AutoMenuTitleArray() const
  1698. {return iAutoMenuTitleArray;}
  1699. inline const CEikDialog* MEikAlertWin::AsEikDialog() const
  1700. {return (const CEikDialog*)const_cast<MEikAlertWin*>(this)->AsEikDialog();}
  1701. inline const CCoeControl* MEikAlertWin::AsCoeControl() const
  1702. {return (const CCoeControl*)const_cast<MEikAlertWin*>(this)->AsCoeControl();}
  1703. enum TEikPortFlag
  1704. {
  1705. ESerialPort =0x01,
  1706. EParallelPort =0x02,
  1707. EIrdaPort= 0x04,
  1708. EFilePort=0x08,
  1709. EViaPCPort=0x10
  1710. };
  1711. __declspec(dllexport) void InternalizeL(TEikPortFlag& aThing,RReadStream& aStream);
  1712. inline RWriteStream& operator<<(RWriteStream& aStream,const TEikPortFlag& aThing)
  1713. {aStream.WriteUint8L(aThing);return aStream;}
  1714. inline RReadStream& operator>>(RReadStream& aStream,TEikPortFlag& aThing)
  1715. {InternalizeL(aThing,aStream);return aStream;}
  1716. #line 14 "C:\Symbian\9.1\S60_3rd\epoc32\include\eiksrvs.h" /* stack depth 6 */
  1717. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\eiksrv.pan" /* stack depth 7 */
  1718. #line 17
  1719. enum TEikServPanic
  1720. {
  1721. EEikServPanicNotifyBadDescriptor,
  1722. EEikServPanicAlarmAlertServiceNotSupported,
  1723. EEikServPanicNoTaskListDialog,
  1724. EEikServPanicTaskNull,
  1725. EEsPanicAlarmAlert,
  1726. EEikServPanicAlarmAlertServerAlreadyConnected,
  1727. EEikServEnvPanicNullAppUi,
  1728. EEikServPanicNoSuchLabelInAlarm,
  1729. EEikServPanicDriveIndexOutOfRange,
  1730. EEikServPanicNotiferArrayNotNull,
  1731. EEikServPanicChannelIndexOutOfRange,
  1732. EEikServPanicNullObservedList,
  1733. EEikServPanicQueueIndexOutOfRange,
  1734. EEikServPanicNotifyAlertQueueEmpty,
  1735. EEikSrvClientPanicInconsistentMessageParameters,
  1736. };
  1737. extern void Panic(TEikServPanic aPanic);
  1738. #line 18 "C:\Symbian\9.1\S60_3rd\epoc32\include\eiksrvs.h" /* stack depth 6 */
  1739. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\apgtask.h" /* stack depth 7 */
  1740. #line 13
  1741. class RWsSession;
  1742. struct TKeyEvent;
  1743. #line 25
  1744. enum TApaSystemEvent
  1745. {
  1746. EApaSystemEventShutdown=1,
  1747. EApaSystemEventBackupStarting,
  1748. EApaSystemEventBackupComplete,
  1749. EApaSystemEventBroughtToForeground
  1750. };
  1751. #line 71
  1752. const TInt KUidApaMessageSwitchOpenFileValue16=0x10003A39;
  1753. const TUid KUidApaMessageSwitchOpenFile16={KUidApaMessageSwitchOpenFileValue16};
  1754. const TInt KUidApaMessageSwitchCreateFileValue16=0x10003A3A;
  1755. const TUid KUidApaMessageSwitchCreateFile16={KUidApaMessageSwitchCreateFileValue16};
  1756. class TApaTask
  1757. #line 105
  1758. {
  1759. public:
  1760. __declspec(dllexport) TApaTask(RWsSession& aWsSession);
  1761. __declspec(dllexport) void SetWgId(TInt aWgId);
  1762. __declspec(dllexport) TInt WgId() const;
  1763. __declspec(dllexport) TBool Exists() const;
  1764. __declspec(dllexport) TThreadId ThreadId() const;
  1765. __declspec(dllexport) void BringToForeground();
  1766. __declspec(dllexport) void SendToBackground();
  1767. __declspec(dllexport) void EndTask();
  1768. __declspec(dllexport) void KillTask();
  1769. __declspec(dllexport) void SendKey(TInt aKeyCode,TInt aModifiers);
  1770. __declspec(dllexport) void SendKey(const TKeyEvent& aKey);
  1771. __declspec(dllexport) void SendSystemEvent(TApaSystemEvent aEvent);
  1772. __declspec(dllexport) TInt SwitchOpenFile(const TDesC& aFilename);
  1773. __declspec(dllexport) TInt SwitchCreateFile(const TDesC& aFilename);
  1774. __declspec(dllexport) TInt SendMessage(TUid aUid, const TDesC8& aParams);
  1775. private:
  1776. TInt CheckSwitchFile() const;
  1777. private:
  1778. RWsSession& iWsSession;
  1779. TInt iWgId;
  1780. TInt iTApaTask_Reserved1;
  1781. };
  1782. class TApaTaskList
  1783. #line 144
  1784. {
  1785. public:
  1786. enum TCycleDirection
  1787. {
  1788. EForwards,
  1789. EBackwards
  1790. };
  1791. public:
  1792. __declspec(dllexport) TApaTaskList(RWsSession& aWsSession);
  1793. __declspec(dllexport) TApaTask FindApp(const TDesC& aAppName);
  1794. __declspec(dllexport) TApaTask FindDoc(const TDesC& aDocName);
  1795. __declspec(dllexport) TApaTask FindByPos(TInt aPos);
  1796. __declspec(dllexport) TApaTask FindApp(TUid aAppUid);
  1797. __declspec(dllexport) TInt CycleTasks(TUid aAppUid,TCycleDirection aDirection=EForwards);
  1798. private:
  1799. void FindByPosL(TApaTask& aTask,TInt aPos);
  1800. private:
  1801. RWsSession& iWsSession;
  1802. TInt iTApaTaskList_Reserved1;
  1803. };
  1804. #line 22 "C:\Symbian\9.1\S60_3rd\epoc32\include\eiksrvs.h" /* stack depth 6 */
  1805. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\eiksrv.h" /* stack depth 7 */
  1806. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\vwsappst.h" /* stack depth 8 */
  1807. #line 9
  1808. class MVwsAppStarter
  1809. #line 18
  1810. {
  1811. public:
  1812. virtual void StartAppL(TUid aAppUid,TThreadId& aThreadId)=0;
  1813. };
  1814. #line 12 "C:\Symbian\9.1\S60_3rd\epoc32\include\eiksrv.h" /* stack depth 7 */
  1815. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikunder.h" /* stack depth 8 */
  1816. #line 13
  1817. class RThread;
  1818. class MEikUndertakerObserver
  1819. {
  1820. public:
  1821. virtual void HandleThreadExitL(RThread& aThread)=0;
  1822. };
  1823. class CEikUndertaker : public CActive
  1824. {
  1825. public:
  1826. __declspec(dllexport) static CEikUndertaker* NewL(MEikUndertakerObserver& aObserver);
  1827. __declspec(dllexport) ~CEikUndertaker();
  1828. private:
  1829. CEikUndertaker(MEikUndertakerObserver& aObserver);
  1830. void ConstructL();
  1831. void Request();
  1832. private:
  1833. virtual void DoCancel();
  1834. virtual void RunL();
  1835. private:
  1836. MEikUndertakerObserver& iObserver;
  1837. RUndertaker iUndertaker;
  1838. TInt iThreadHandle;
  1839. };
  1840. #line 13 "C:\Symbian\9.1\S60_3rd\epoc32\include\eiksrv.h" /* stack depth 7 */
  1841. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikcycledef.h" /* stack depth 8 */
  1842. #line 9
  1843. enum TTaskCycleDirection
  1844. {
  1845. EBackwards,
  1846. EForwards
  1847. };
  1848. #line 14 "C:\Symbian\9.1\S60_3rd\epoc32\include\eiksrv.h" /* stack depth 7 */
  1849. class CDictionaryFileStore;
  1850. class CVwsSessionWrapper;
  1851. enum TEikAppUiServPanic
  1852. {
  1853. EEikSrvDefault,
  1854. EEikSrvSvrCreateServer,
  1855. EEikSrvSvrStartServer,
  1856. EEikSrvSrvNotFound,
  1857. EEikSrvBadDescriptor,
  1858. EEikSrvIllegalError,
  1859. EEikSrvBadRequestSequence
  1860. };
  1861. class CEikServAppUiSession;
  1862. class CEikServAppUiServer : public CPolicyServer
  1863. {
  1864. friend class CEikServAppUiSession;
  1865. public:
  1866. enum {EPriority=EPriorityAbsoluteHigh};
  1867. __declspec(dllexport) static CEikServAppUiServer* NewL();
  1868. virtual CSession2* NewSessionL(const TVersion &aVersion,const RMessage2& aMessage) const;
  1869. static TInt ThreadFunction(TAny* aStarted);
  1870. CEikAppUi& AppUi();
  1871. private:
  1872. CEikServAppUiServer(TInt aPriority=EPriority);
  1873. void ConstructL();
  1874. CEikServAppUiSession* NewSessionL();
  1875. private:
  1876. CEikAppUi* iAppUi;
  1877. };
  1878. class MEikServAppUiSessionHandler
  1879. {
  1880. public:
  1881. virtual void NotifyAlarmServerOfTaskChangeL() = 0;
  1882. virtual void LaunchTaskListL() = 0;
  1883. virtual void CycleTasksL(enum TTaskCycleDirection aDirection) = 0;
  1884. virtual void SetStatusPaneFlags(TInt aFlags) = 0;
  1885. virtual void SetStatusPaneLayoutL(TInt aLayoutResId) = 0;
  1886. virtual void BlankScreenL() = 0;
  1887. virtual void UnblankScreen() = 0;
  1888. virtual void EnableTaskListL() = 0;
  1889. virtual void Extension(TUid aExtensionUid,const TDesC8& aBuffer,RMessagePtr2 aMessage) = 0;
  1890. protected:
  1891. __declspec(dllexport) MEikServAppUiSessionHandler();
  1892. private:
  1893. __declspec(dllexport) virtual void MEikServAppUiSessionHandler_Reserved1();
  1894. __declspec(dllexport) virtual void MEikServAppUiSessionHandler_Reserved2();
  1895. private:
  1896. TInt iMEikServAppUiSessionHandler_Reserved1;
  1897. };
  1898. class CEikServAppUiSession : public CSession2
  1899. {
  1900. public:
  1901. __declspec(dllexport) CEikServAppUiSession(MEikServAppUiSessionHandler* aHandler);
  1902. __declspec(dllexport) ~CEikServAppUiSession();
  1903. __declspec(dllexport) virtual void ConstructL();
  1904. __declspec(dllexport) virtual void ServiceL(const RMessage2& aMessage);
  1905. __declspec(dllexport) virtual void ServiceError(const RMessage2& aMessage,TInt aError);
  1906. private:
  1907. void PanicClient(const RMessage2& aMessage, TEikAppUiServPanic aCode);
  1908. inline CEikServAppUiServer& Server() {return *(static_cast<CEikServAppUiServer*>((const_cast<CServer2*>(CSession2::Server())))) ;}
  1909. protected:
  1910. __declspec(dllexport) MEikServAppUiSessionHandler* SessionHandler() const;
  1911. protected:
  1912. CEikServAppUiServer* iAppUiServer;
  1913. TBool iScreenBlanked;
  1914. MEikServAppUiSessionHandler* iSessionHandler;
  1915. private:
  1916. TInt iNotUsed1;
  1917. TInt iNotUsed2;
  1918. };
  1919. class CEikPasswordModeCategory : public CBase
  1920. #line 118
  1921. {
  1922. public:
  1923. __declspec(dllexport) static CEikPasswordModeCategory* NewLC(RFs& aFs);
  1924. __declspec(dllexport) ~CEikPasswordModeCategory();
  1925. __declspec(dllexport) void GetPasswordModeL(TPasswordMode& aMode) const;
  1926. __declspec(dllexport) void SetPasswordModeL(TPasswordMode aMode);
  1927. private:
  1928. CEikPasswordModeCategory();
  1929. void ConstructL(RFs& aFs);
  1930. private:
  1931. CDictionaryFileStore* iStore;
  1932. };
  1933. class CEikServNotifyServer;
  1934. class CNotifierServerExtended;
  1935. class CEikServBackupServer;
  1936. class CEikServAlarmAlertServer;
  1937. class CEikKeyWindow;
  1938. class CEikUndertaker;
  1939. class CEikPasswordControl;
  1940. class CEikTaskListDialog;
  1941. class MEikServNotifyAlert;
  1942. class MEikServAlarmFactory;
  1943. class CEikServDllClose;
  1944. class TEikServCtrlFactories
  1945. {
  1946. public:
  1947. inline TEikServCtrlFactories();
  1948. inline TEikServCtrlFactories(MEikServNotifyAlert* aAlert,MEikServAlarmFactory* aAlarmAlert);
  1949. public:
  1950. MEikServNotifyAlert* iAlert;
  1951. MEikServAlarmFactory* iAlarmAlert;
  1952. private:
  1953. TInt iTEikServCtrlFactories_Reserved1;
  1954. };
  1955. class MEikServAppUiSessionFactory
  1956. {
  1957. public:
  1958. virtual CEikServAppUiSession* CreateSessionL() = 0;
  1959. protected:
  1960. __declspec(dllexport) MEikServAppUiSessionFactory();
  1961. private:
  1962. __declspec(dllexport) virtual void MEikServAppUiSessionFactory_Reserved1();
  1963. __declspec(dllexport) virtual void MEikServAppUiSessionFactory_Reserved2();
  1964. private:
  1965. TInt iMEikServAppUiSessionFactory_Reserved1;
  1966. };
  1967. class CEikServEnv : public CEikonEnv
  1968. {
  1969. public:
  1970. __declspec(dllexport) CEikServEnv();
  1971. __declspec(dllexport) ~CEikServEnv();
  1972. __declspec(dllexport) void DestroyEnvironment();
  1973. public:
  1974. __declspec(dllexport) void SetEikServAppUiSessionFactory(MEikServAppUiSessionFactory* aSessionFactory);
  1975. __declspec(dllexport) MEikServAppUiSessionFactory* EikServAppUiSessionFactory() const;
  1976. __declspec(dllexport) TBool IsTaskListEnabled() const;
  1977. __declspec(dllexport) void EnableTaskList();
  1978. public:
  1979. void SetEikServer(CEikServAppUiServer* aServer);
  1980. __declspec(dllexport) void SetUiDll(RLibrary& aDll);
  1981. private:
  1982. __declspec(dllexport) virtual void CEikServEnv_Reserved1();
  1983. __declspec(dllexport) virtual void CEikServEnv_Reserved2();
  1984. __declspec(dllexport) virtual void CEikonEnv_Reserved1();
  1985. __declspec(dllexport) virtual void CEikonEnv_Reserved2();
  1986. __declspec(dllexport) virtual void MApaAppStarter_Reserved1();
  1987. __declspec(dllexport) virtual void MApaAppStarter_Reserved2();
  1988. __declspec(dllexport) virtual void Reserved_1();
  1989. __declspec(dllexport) virtual void Reserved_2();
  1990. private:
  1991. RLibrary iUiDll;
  1992. CEikServAppUiServer* iServer;
  1993. MEikServAppUiSessionFactory* iSessionFactory;
  1994. TBool iIsTaskListEnabled;
  1995. TInt iCEikServEnv_Reserved1;
  1996. };
  1997. inline TEikServCtrlFactories::TEikServCtrlFactories()
  1998. : iAlert(0 ), iAlarmAlert(0 )
  1999. {}
  2000. inline TEikServCtrlFactories::TEikServCtrlFactories(MEikServNotifyAlert* aAlert,MEikServAlarmFactory* aAlarmAlert)
  2001. : iAlert(aAlert), iAlarmAlert(aAlarmAlert)
  2002. {}
  2003. class CEikServSecureData : public CBase
  2004. {
  2005. public:
  2006. __declspec(dllexport) static void GetInstalledFepNameL(TDes& aName);
  2007. __declspec(dllexport) static void SetInstalledFepNameL(const TDesC& aName, TBool aRaiseFileError);
  2008. __declspec(dllexport) static void OpenFepAttributesL();
  2009. __declspec(dllexport) static void GetFepAttributeL(TUid aAttribUid, TDes8& aAttribData);
  2010. __declspec(dllexport) static void SetFepAttributeL(TUid aAttribUid, const TDesC8& aAttribData);
  2011. __declspec(dllexport) static void CommitFepAttributesL();
  2012. __declspec(dllexport) static void CloseFepAttributes();
  2013. __declspec(dllexport) static CBufBase* GetBufferedSystemColorListL();
  2014. __declspec(dllexport) static void SetBufferedSystemColorListL(const TDesC8& aBuffer);
  2015. protected:
  2016. __declspec(dllexport) CEikServSecureData();
  2017. private:
  2018. __declspec(dllexport) virtual void CEikServSecureData_Reserved1();
  2019. __declspec(dllexport) virtual void CEikServSecureData_Reserved2();
  2020. private:
  2021. TInt iCEikServSecureData_Reserved1;
  2022. };
  2023. #line 26 "C:\Symbian\9.1\S60_3rd\epoc32\include\eiksrvs.h" /* stack depth 6 */
  2024. class CDictionaryFileStore;
  2025. const static TLitC<sizeof(L"!EikAppUiServer")/2> EIKAPPUI_SERVER_NAME={sizeof(L"!EikAppUiServer")/2-1,L"!EikAppUiServer"} ;
  2026. const static TLitC<sizeof(L"EikAppUiServerThread")/2> EIKAPPUI_SERVER_THREAD_NAME={sizeof(L"EikAppUiServerThread")/2-1,L"EikAppUiServerThread"} ;
  2027. const static TLitC<sizeof(L"EikAppUiServerStartSemaphore")/2> EIKAPPUI_SERVER_SEMAPHORE={sizeof(L"EikAppUiServerStartSemaphore")/2-1,L"EikAppUiServerStartSemaphore"} ;
  2028. const TInt KEikSrvDefaultHeapSize=0x10000;
  2029. const TInt KEikSrvDefaultMaxHeapSize=0x100000;
  2030. enum TEikAppUiRanges
  2031. {
  2032. EFirstUnrestrictedOpcodeInEikAppUi
  2033. };
  2034. enum TEikUiOpCode
  2035. {
  2036. EEikAppUiFirst=EFirstUnrestrictedOpcodeInEikAppUi,
  2037. EEikAppUiLaunchTaskList,
  2038. EEikAppUiCycleTasks,
  2039. EEikAppUiSetStatusPaneFlags,
  2040. EEikAppUiSetStatusPaneLayout,
  2041. EEikAppUiBlankScreen,
  2042. EEikAppUiUnblankScreen,
  2043. EEikAppUiResolveError,
  2044. EEikAppUiExtension,
  2045. EEikAppUiEnableTaskList,
  2046. EEikAppUiFirstUnusedOpcode,
  2047. };
  2048. extern void PanicServer(TEikAppUiServPanic aPanic);
  2049. #line 9 "C:\Symbian\9.1\S60_3rd\epoc32\include\eiksrvc.h" /* stack depth 5 */
  2050. const TInt KNumConnectRetries=5;
  2051. typedef TThreadFunction* (*EikSrvEntrypoint)();
  2052. class REikAppUiSession : public RSessionBase
  2053. {
  2054. public:
  2055. __declspec(dllexport) REikAppUiSession();
  2056. __declspec(dllexport) TInt Connect();
  2057. __declspec(dllexport) void Close();
  2058. __declspec(dllexport) TVersion Version() const;
  2059. __declspec(dllexport) void LaunchTaskList() const;
  2060. __declspec(dllexport) void CycleTasks(TTaskCycleDirection aDirection) const;
  2061. __declspec(dllexport) TInt SetStatusPaneFlags(TInt aFlags) const;
  2062. __declspec(dllexport) TInt SetStatusPaneLayout(TInt aLayoutResId) const;
  2063. __declspec(dllexport) TInt BlankScreen() const;
  2064. __declspec(dllexport) TInt UnblankScreen() const;
  2065. __declspec(dllexport) CEikonEnv::TErrorValidity ResolveError(TDes& aText,TInt aError,TUid aAppUid) const;
  2066. __declspec(dllexport) void Extension(TUid aExtensionUid,const TDesC8& aBuffer,TRequestStatus& aRequestStatus) const;
  2067. __declspec(dllexport) TInt GetInstalledFepName(TDes& aName) const;
  2068. __declspec(dllexport) TInt SetInstalledFepName(const TDesC& aName, TBool aRaiseFileError) const;
  2069. __declspec(dllexport) CColorList* GetSystemColorsL() const;
  2070. __declspec(dllexport) void SetSystemColorsL(const CColorList& aColorList) const;
  2071. __declspec(dllexport) TInt OpenFepAttributes() const;
  2072. __declspec(dllexport) TInt GetFepAttribute(TUid aAttribUid, TDes8& aAttribData) const;
  2073. __declspec(dllexport) TInt SetFepAttribute(TUid aAttribUid, const TDesC8& aAttribData) const;
  2074. __declspec(dllexport) TInt CommitFepAttributes() const;
  2075. __declspec(dllexport) void CloseFepAttributes() const;
  2076. __declspec(dllexport) TInt EnableTaskList() const;
  2077. __declspec(dllexport) virtual void REikAppUiSession_Reserved1();
  2078. __declspec(dllexport) virtual void REikAppUiSession_Reserved2();
  2079. private:
  2080. class CExtension;
  2081. void StartServerL();
  2082. private:
  2083. RLibrary iNotUsed;
  2084. private:
  2085. CExtension* iExtension;
  2086. };
  2087. #line 68
  2088. extern void PanicServer(TEikAppUiServPanic aPanic);
  2089. #line 18 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikspmod.h" /* stack depth 4 */
  2090. class TResourceReader;
  2091. class CEikStatusPaneLayoutTree;
  2092. class CEikonEnv;
  2093. class CAknSgcClient;
  2094. const TInt KEikStatusPaneDirectionBit = 0x04;
  2095. const TInt KEikStatusPaneHiddenBit = 0x08;
  2096. const TInt KEikStatusPaneInitInitializedBit = 0x80000000;
  2097. typedef TUid TPaneId;
  2098. class TEikStatusPaneInit
  2099. {
  2100. public:
  2101. TEikStatusPaneInit();
  2102. TEikStatusPaneInit(const TEikStatusPaneInit& aCopy);
  2103. TEikStatusPaneInit& operator=(const TEikStatusPaneInit& aCopy);
  2104. inline TPaneId Id() const;
  2105. void LoadDefaults(TResourceReader& aResource);
  2106. inline TBool AppOwned() const;
  2107. inline TInt ControlTypeId() const;
  2108. inline TInt ControlResourceId() const;
  2109. inline void SetHidden();
  2110. inline void ClearHidden();
  2111. inline TBool IsHidden() const;
  2112. private:
  2113. inline TBool Initialized();
  2114. inline void SetInitialized();
  2115. private:
  2116. TPaneId iId;
  2117. TInt iControlId;
  2118. TInt iControlResource;
  2119. TInt iFlags;
  2120. };
  2121. class CEikStatusPaneSetInit : public CArrayFixFlat<TEikStatusPaneInit>
  2122. {
  2123. public:
  2124. static CEikStatusPaneSetInit* NewL();
  2125. ~CEikStatusPaneSetInit();
  2126. void LoadDefaultsL(TResourceReader& aResource);
  2127. TEikStatusPaneInit& FindL(const TPaneId& aPaneId);
  2128. private:
  2129. CEikStatusPaneSetInit();
  2130. };
  2131. class MEikStatusPaneLayoutTreeVisitor
  2132. {
  2133. public:
  2134. virtual void VisitL(CEikStatusPaneLayoutTree* aNode) = 0;
  2135. };
  2136. class CEikStatusPaneLayoutTree : public CBase
  2137. {
  2138. public:
  2139. enum TDirection
  2140. {
  2141. EHorizontal,
  2142. EVertical
  2143. };
  2144. public:
  2145. ~CEikStatusPaneLayoutTree();
  2146. static CEikStatusPaneLayoutTree* NewL(TResourceReader& aResource, TDirection aDefaultDirection = EHorizontal);
  2147. CEikStatusPaneLayoutTree* Find(const TPaneId& aPaneId);
  2148. void AcceptL(MEikStatusPaneLayoutTreeVisitor* aVisitor);
  2149. inline TPaneId Id() const;
  2150. inline TRect Rect() const;
  2151. private:
  2152. CEikStatusPaneLayoutTree(TDirection aDefaultDirection);
  2153. void ConstructL(TResourceReader& aResource);
  2154. void SetRect(const TRect& aRect);
  2155. inline TDirection Direction();
  2156. void SetDirection(TDirection aDirection);
  2157. inline TInt Size();
  2158. inline TBool Stretchable();
  2159. void SetStretchable(TBool aStretchable);
  2160. void Layout();
  2161. #line 130
  2162. void Layout(TInt aLayoutResourceId);
  2163. #line 143
  2164.     TRect AknLayoutRect(TInt aLayoutResourceId, TPaneId aPaneId);
  2165. #line 153
  2166.     void SetAknLayoutUsed(TBool aAknLayoutUsed);
  2167. #line 163
  2168.     TBool AknLayoutUsed();
  2169. private:
  2170. TPaneId iId;
  2171. TInt iFlags;
  2172. TRect iRect;
  2173. TInt iSize;
  2174. typedef CArrayPtrFlat<CEikStatusPaneLayoutTree> CSubPaneArray;
  2175. CSubPaneArray* iSubPanes;
  2176. private:
  2177. friend class CEikStatusPaneLayout;
  2178. };
  2179. class CEikStatusPaneLayout : public CBase
  2180. {
  2181. public:
  2182. static CEikStatusPaneLayout* NewL(TResourceReader& aResource, const TRect& aScreenRect);
  2183. static CEikStatusPaneLayout* NewL(TResourceReader& aResource, const TRect& aScreenRect, TInt aLayoutId);
  2184. ~CEikStatusPaneLayout();
  2185. inline CEikStatusPaneLayoutTree* Find(const TPaneId& aPaneId) const;
  2186. inline void AcceptL(MEikStatusPaneLayoutTreeVisitor* aVisitor);
  2187. inline TRect Rect() const;
  2188. #line 198
  2189. void AknLayoutRefresh(TInt aLayoutResourceId);
  2190. #line 209
  2191.     TBool AknLayoutUsed();
  2192. private:
  2193. CEikStatusPaneLayout();
  2194. void ConstructL(TResourceReader& aResource, const TRect& aScreenRect, TInt aLayoutId);
  2195. private:
  2196. CEikStatusPaneLayoutTree* iRoot;
  2197. };
  2198. class CEikStatusPaneModelBase : public CBase
  2199. {
  2200. public:
  2201. __declspec(dllexport) ~CEikStatusPaneModelBase();
  2202. inline CEikStatusPaneSetInit* PaneInits() const;
  2203. __declspec(dllexport) virtual void SetLayoutL(TInt aLayoutResId, TBool aChangeStatusPaneNow = ETrue);
  2204. inline CEikStatusPaneLayout* CurrentLayout() const;
  2205. __declspec(dllexport) TInt CurrentLayoutResId() const;
  2206. #line 238
  2207. void AknLayoutRefresh();
  2208. #line 250
  2209. TBool AknLayoutUsed(TInt aLayoutId);
  2210. protected:
  2211. class CIdLayoutPair : public CBase
  2212. {
  2213. public:
  2214. CIdLayoutPair(TInt aResId, CEikStatusPaneLayout* aLayout);
  2215. ~CIdLayoutPair();
  2216. public:
  2217. TInt iResId;
  2218. CEikStatusPaneLayout* iLayout;
  2219. };
  2220. typedef CArrayPtrFlat<CIdLayoutPair> CLayoutIdSet;
  2221. typedef CArrayFixFlat<TInt> CIdSet;
  2222. protected:
  2223. __declspec(dllexport) CEikStatusPaneModelBase(CEikonEnv& aEikEnv);
  2224. __declspec(dllexport) void BaseConstructL(TInt aCoreResId);
  2225. __declspec(dllexport) CEikStatusPaneLayout* LoadLayoutL(TInt aLayoutResId);
  2226. inline CIdSet* LegalIds() const;
  2227. TBool IsLegalId(TInt aLayoutResId) const;
  2228. private:
  2229. CEikStatusPaneLayout* Layout(TInt aLayoutResId);
  2230. void CheckLayoutL(CEikStatusPaneLayout* aLayout);
  2231. private:
  2232. __declspec(dllexport) virtual void Reserved_1();
  2233. private:
  2234. class TLayoutChecker : public MEikStatusPaneLayoutTreeVisitor
  2235. {
  2236. public:
  2237. TLayoutChecker(CEikStatusPaneSetInit* aPanes);
  2238. void VisitL(CEikStatusPaneLayoutTree* aNode);
  2239. private:
  2240. CEikStatusPaneSetInit* iPanes;
  2241. };
  2242. protected:
  2243. CLayoutIdSet* iLayouts;
  2244. TInt iCurrentResId;
  2245. CEikonEnv& iEikEnv;
  2246. private:
  2247. CEikStatusPaneSetInit* iPanes;
  2248. CEikStatusPaneLayout* iCurrentLayout;
  2249. CIdSet* iLegalIds;
  2250. };
  2251. class CEikAppStatusPaneModel : public CEikStatusPaneModelBase
  2252. {
  2253. public:
  2254. static CEikAppStatusPaneModel* NewL(CEikonEnv& aEikEnv, TInt aCoreResId, TInt aAppResId = 0 , TBool aChangeStatusPaneNow = ETrue);
  2255. ~CEikAppStatusPaneModel();
  2256. void ApplyCurrentLayoutL();
  2257. public:
  2258. void SetLayoutL(TInt aLayoutResId, TBool aChangeStatusPaneNow = ETrue);
  2259. public:
  2260. void SetLayoutL(TInt aLayoutResId, TBool aChangeStatusPaneNow, TBool aNotfiyServerSide);
  2261. private:
  2262. CEikAppStatusPaneModel(CEikonEnv& aEikEnv);
  2263. void ConstructL(TInt aCoreResId, TInt aAppResId, TBool aChangeStatusPaneNow = ETrue);
  2264. };
  2265. inline TPaneId TEikStatusPaneInit::Id() const { return iId; }
  2266. inline TBool TEikStatusPaneInit::AppOwned() const { return iFlags & 1 ; }
  2267. inline TInt TEikStatusPaneInit::ControlTypeId() const { return iControlId; }
  2268. inline TInt TEikStatusPaneInit::ControlResourceId() const { return iControlResource; }
  2269. inline void TEikStatusPaneInit::SetHidden() {iFlags|=KEikStatusPaneHiddenBit;}
  2270. inline void TEikStatusPaneInit::ClearHidden() {iFlags&=~KEikStatusPaneHiddenBit;}
  2271. inline TBool TEikStatusPaneInit::IsHidden() const {return iFlags&KEikStatusPaneHiddenBit;}
  2272. inline CEikStatusPaneLayoutTree* CEikStatusPaneLayout::Find(const TPaneId& aPaneId) const { return iRoot->Find(aPaneId); }
  2273. inline void CEikStatusPaneLayout::AcceptL(MEikStatusPaneLayoutTreeVisitor* aVisitor) { iRoot->AcceptL(aVisitor); }
  2274. inline TRect CEikStatusPaneLayout::Rect() const { return iRoot->Rect(); }
  2275. inline TPaneId CEikStatusPaneLayoutTree::Id() const { return iId; }
  2276. inline TRect CEikStatusPaneLayoutTree::Rect() const { return iRect; }
  2277. inline CEikStatusPaneSetInit* CEikStatusPaneModelBase::PaneInits() const { return iPanes; }
  2278. inline CEikStatusPaneLayout* CEikStatusPaneModelBase::CurrentLayout() const { return iCurrentLayout; }
  2279. inline CEikStatusPaneModelBase::CIdSet* CEikStatusPaneModelBase::LegalIds() const { return iLegalIds; }
  2280. #line 10 "C:\Symbian\9.1\S60_3rd\epoc32\include\Eikspane.h" /* stack depth 3 */
  2281. #line 21
  2282. class CCoeBrushAndPenContext;
  2283. class CEikStatusPaneContainer;
  2284. class TEikStatusPaneSyncDrawer;
  2285. class CEikStatusPaneBaseExtension;
  2286. class CAknStatuspaneClearer;
  2287. const TInt KStatusPaneCapsPresentBit = 1;
  2288. const TInt KStatusPaneCapsAppOwnedBit = 2;
  2289. const TInt KStatusPaneCapsInCurrentLayoutBit = 4;
  2290. #line 38
  2291. class MEikStatusPaneObserver
  2292. {
  2293. public:
  2294. virtual void HandleStatusPaneSizeChange() = 0;
  2295. };
  2296. class CEikStatusPaneBase : public CBase
  2297. {
  2298. public:
  2299. class TPaneCapabilities
  2300. {
  2301. public:
  2302. TPaneCapabilities();
  2303. inline TBool IsPresent() const;
  2304. inline TBool IsAppOwned() const;
  2305. inline TBool IsInCurrentLayout() const;
  2306. private:
  2307. inline void SetPresent();
  2308. inline void SetAppOwned();
  2309. inline void SetInCurrentLayout();
  2310. private:
  2311. TInt iFlags;
  2312. private:
  2313. friend class CEikStatusPaneBase;
  2314. };
  2315. public:
  2316. __declspec(dllexport) ~CEikStatusPaneBase();
  2317. __declspec(dllexport) static CEikStatusPaneBase* Current();
  2318. inline   void SetObserver(MEikStatusPaneObserver* aObserver);
  2319. __declspec(dllexport) void ReduceRect(TRect& aBoundingRect) const;
  2320. __declspec(dllexport) void GetShapeL(TRegion& aRegion, TBool aIncludeAppPanes, TBool aIncludeServerPanes) const;
  2321. __declspec(dllexport) virtual void SwitchLayoutL(TInt aLayoutResourceId);
  2322. __declspec(dllexport) virtual void MakeVisible(TBool aVisible);
  2323. __declspec(dllexport) virtual void SetDimmed(TBool aDimmed);
  2324. __declspec(dllexport) virtual void SetFaded(TBool aFaded);
  2325. __declspec(dllexport) virtual void HandleResourceChange(TInt aType);
  2326. __declspec(dllexport) virtual TBool OkToChangeStatusPaneNow();
  2327. __declspec(dllexport) void SetFlags(TInt aFlags);
  2328. __declspec(dllexport) TInt Flags() const;
  2329. __declspec(dllexport) TBool IsVisible() const;
  2330. __declspec(dllexport) TBool IsDimmed() const;
  2331. __declspec(dllexport) TBool IsFaded() const;
  2332. __declspec(dllexport) TPaneCapabilities PaneCapabilities(TPaneId aPaneId) const;
  2333. __declspec(dllexport) TRect PaneRectL(TPaneId aPaneId) const;
  2334. __declspec(dllexport) CCoeControl* ControlL(TPaneId aPaneId) const;
  2335. __declspec(dllexport) CCoeControl* SwapControlL(TPaneId aPaneId, CCoeControl* aNewControl);
  2336. __declspec(dllexport) CCoeControl* ContainerControlL(TPaneId aPaneId) const;
  2337. inline RWindowGroup* WindowGroup() const;
  2338. __declspec(dllexport) void DrawNow();
  2339. __declspec(dllexport) TInt CurrentLayoutResId() const;
  2340. protected:
  2341. __declspec(dllexport) CEikStatusPaneBase(CEikonEnv& aEikEnv, RWindowGroup* aParent);
  2342. __declspec(dllexport) void BaseConstructL(TInt aCoreResId);
  2343. virtual CEikStatusPaneModelBase* CreateModelL(TInt aCoreResId) const = 0;
  2344. void CreatePanesL();
  2345. void CreatePaneL(const TEikStatusPaneInit& aPaneInit);
  2346. CEikStatusPaneContainer* Find(TPaneId aPaneId) const;
  2347. virtual TBool IsApp() const = 0;
  2348. inline TRect Rect() const;
  2349. enum TDrawCmd { ENoDraw, EDrawNow, EDrawDeferred };
  2350. void DoDrawNow(TDrawCmd aDraw);
  2351. CAknStatuspaneClearer* Clearer();
  2352. __declspec(dllexport) void DisableClearer(TBool aDisabled);
  2353. __declspec(dllexport) void CommonPrepareForAppExit();
  2354. private:
  2355. void DoSwitchLayoutL(TInt aLayoutResourceId, TDrawCmd aDraw);
  2356. void ApplyLayoutL(CEikStatusPaneLayout* aLayout, TDrawCmd aDraw);
  2357. void SetAllInvisible();
  2358. void SetNotNeededInvisible();
  2359. public:
  2360.     void ReportSizeChange();
  2361. private:
  2362. class TSetRectAndVisibility : public MEikStatusPaneLayoutTreeVisitor
  2363. {
  2364. public:
  2365. TSetRectAndVisibility(TBool aIsApp, CEikStatusPaneBase* aStatusPane);
  2366. void VisitL(CEikStatusPaneLayoutTree* aNode);
  2367. private:
  2368. TBool iIsApp;
  2369. CEikStatusPaneBase* iStatusPane;
  2370. };
  2371. friend class TSetRectAndVisibility;
  2372. private:
  2373.     void SetLastUsedResourceId(TInt aResourceId);
  2374.     TInt LastUsedResourceId();
  2375.     TInt ReadInitialUsedResourceIdL(TInt aCoreResId);
  2376.     TInt InitialUsedResourceId();
  2377.     TRect LargestBoundingRect(TRegion& aWholeRegion, TRegion& aRemovedRegion) const;
  2378. protected:
  2379.     void SetInitialUsedResourceId(TInt aResourceId);
  2380. protected:
  2381. CEikonEnv& iEikEnv;
  2382. CEikStatusPaneModelBase* iModel;
  2383. TInt iFlags;
  2384. private:
  2385. typedef CArrayPtrFlat<CEikStatusPaneContainer> CContainerControls;
  2386. CContainerControls* iControls;
  2387. MEikStatusPaneObserver* iObserver;
  2388. RWindowGroup* iParentWindowGroup;
  2389. CEikStatusPaneBaseExtension* iExtension;
  2390. };
  2391. class CEikStatusPane : public CEikStatusPaneBase, public MCoeForegroundObserver
  2392. {
  2393. public:
  2394. __declspec(dllexport) static CEikStatusPane* NewL(CEikonEnv& aEikEnv, RWindowGroup* aParent, TInt aCoreStatusPaneModelResId, TInt aAppStatusPaneModelResId=0 );
  2395. __declspec(dllexport) ~CEikStatusPane();
  2396. __declspec(dllexport) void ApplyCurrentSettingsL();
  2397. __declspec(dllexport) void PrepareForAppExit();
  2398. __declspec(dllexport) virtual void MakeVisible(TBool aVisible);
  2399. __declspec(dllexport) virtual void SetDimmed(TBool aDimmed);
  2400. __declspec(dllexport) virtual void SetFaded(TBool aFaded);
  2401. __declspec(dllexport) virtual void HandleResourceChange(TInt aType);
  2402. __declspec(dllexport) virtual TBool OkToChangeStatusPaneNow();
  2403. private:
  2404. CEikStatusPane(CEikonEnv& aEikEnv, RWindowGroup* aParent, TInt aAppStatusPaneModelId);
  2405. void ConstructL(TInt aCoreStatusPaneModelResId);
  2406. virtual CEikStatusPaneModelBase* CreateModelL(TInt aCoreResId) const;
  2407. TBool IsApp() const;
  2408. void ApplyCurrentFlags();
  2409. void HideAppPanes(TBool aHide);
  2410. private:
  2411. void HandleGainingForeground();
  2412. void HandleLosingForeground();
  2413. private:
  2414.     TInt ReadInitialUsedResourceIdL(TInt aCoreResId, TInt aAppStatusPaneModelResId);
  2415.     void DoHandleLosingForegroundL();
  2416. private:
  2417. TInt iAppDeclId;
  2418. TEikStatusPaneSyncDrawer* iSyncDrawer;
  2419. TInt iSpare;
  2420. };
  2421. #line 216
  2422. inline TBool CEikStatusPaneBase::TPaneCapabilities::IsPresent() const { return iFlags & KStatusPaneCapsPresentBit; }
  2423. inline TBool CEikStatusPaneBase::TPaneCapabilities::IsAppOwned() const { return iFlags & KStatusPaneCapsAppOwnedBit; }
  2424. inline TBool CEikStatusPaneBase::TPaneCapabilities::IsInCurrentLayout() const { return iFlags & KStatusPaneCapsInCurrentLayoutBit; }
  2425. inline void CEikStatusPaneBase::SetObserver(MEikStatusPaneObserver* aObserver) { iObserver = aObserver; }
  2426. inline TRect CEikStatusPaneBase::Rect() const { return iModel->CurrentLayout()->Rect(); }
  2427. inline RWindowGroup* CEikStatusPaneBase::WindowGroup() const { return iParentWindowGroup; }
  2428. #line 25 "C:\Symbian\9.1\S60_3rd\epoc32\include\aknappui.h" /* stack depth 2 */
  2429. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikcba.h" /* stack depth 3 */
  2430. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikctgrp.h" /* stack depth 4 */
  2431. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikbctrl.h" /* stack depth 5 */
  2432. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\AknControl.h" /* stack depth 6 */
  2433. #line 33
  2434. class CAknControl : public CCoeControl
  2435.   {
  2436.   public:
  2437.       __declspec(dllexport) CAknControl();
  2438.       __declspec(dllexport) ~CAknControl();
  2439.   private:
  2440.       __declspec(dllexport) virtual void* ExtensionInterface( TUid aInterface );
  2441.   private:
  2442.       TInt iSpare[6];
  2443.   };
  2444. #line 17 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikbctrl.h" /* stack depth 5 */
  2445. class CEikBorderedControl : public CAknControl
  2446. {
  2447. public:
  2448. __declspec(dllexport) CEikBorderedControl();
  2449. __declspec(dllexport) CEikBorderedControl(const TGulBorder& aBorder);
  2450. public:
  2451. __declspec(dllexport) TBool HasBorder() const;
  2452. __declspec(dllexport) void SetAdjacent(TInt aAdjacent);
  2453. __declspec(dllexport) void GetColorUseListL(CArrayFix<TCoeColorUse>& aColorUseList) const;
  2454. __declspec(dllexport) void HandleResourceChange(TInt aType);
  2455.     __declspec(dllexport) void HandlePointerEventL(const TPointerEvent& aPointerEvent);
  2456. public:
  2457. __declspec(dllexport) void SetBorder(TGulBorder::TBorderType aBorderType);
  2458. __declspec(dllexport) void SetBorder(TInt aBorderType);
  2459. __declspec(dllexport) TGulBorder Border() const;
  2460. protected:
  2461. __declspec(dllexport) void Draw(const TRect& aRect) const;
  2462. __declspec(dllexport) void WriteInternalStateL(RWriteStream& aWriteStream) const;
  2463. private:
  2464.     __declspec(dllexport) void* ExtensionInterface( TUid aInterface );
  2465. protected:
  2466. TGulBorder iBorder;
  2467. private:
  2468.     TInt iSpare[2];
  2469. };
  2470. #line 10 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikctgrp.h" /* stack depth 4 */
  2471. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\lafpublc.h" /* stack depth 5 */
  2472. #line 25
  2473. const TInt KLafScrollBarButtonPositionMask = 0x00C0;
  2474. struct SLafScrollButton
  2475. {
  2476. enum TType
  2477. {
  2478. ENudgeLeft,
  2479. ENudgeUp,
  2480. ENudgeRight,
  2481. ENudgeDown,
  2482. EPageLeft,
  2483. EPageUp,
  2484. EPageRight,
  2485. EPageDown,
  2486. EHome,
  2487. ETop,
  2488. EEnd,
  2489. EBottom
  2490. };
  2491. };
  2492. struct SLafScrollBar
  2493. {
  2494. enum TEikScrollBarFlags
  2495. {
  2496. EEikScrollBarDefaultBehaviour =0x0000,
  2497. EEikScrollBarNoNudgeButtons =0x0001,
  2498. EEikScrollBarHasPageButtons =0x0002,
  2499. EEikScrollBarHasHomeEndButtons  =0x0004,
  2500. EEikScrollBarNoShaftOrThumb  =0x0008,
  2501. EEikScrollBarShaftButNoThumb  =0x0010,
  2502. EButtonsAtStartOfShaft   =0x0040,
  2503. EButtonsAtEndOfShaft  =0x0080,
  2504. EButtonsEitherSideOfShaft  =EButtonsAtStartOfShaft|EButtonsAtEndOfShaft,
  2505. ENoAutoDimming =0x0100
  2506. };
  2507. enum TOrientation
  2508. {
  2509. EVertical,
  2510. EHorizontal
  2511. };
  2512. };
  2513. struct SLafListBox
  2514. {
  2515. enum TFlags
  2516. {
  2517. EMultipleSelection = 0x0001,
  2518. ENoExtendedSelection = 0x0002,
  2519. EIncrementalMatching = 0x0004,
  2520. EPopout = 0x0008,
  2521. ELeftDownInViewRect = 0x0010,
  2522. EItemDoubleClicked = 0x0020,
  2523. EKeepModel = 0x0040,
  2524. EScrollBarSizeExcluded = 0x0080,
  2525. EStateChanged = 0x0100,
  2526. ECreateOwnWindow = 0x0200,
  2527.         ENoFirstLetterMatching      = 0x0400,
  2528. EPaintedSelection = 0x0800,
  2529. ES60StyleMultiselection     = 0x00010000,
  2530. ES60StyleMarkable           = 0x00020000
  2531. };
  2532.     enum TListItemAttribute
  2533.         {
  2534. ECurrent    = 0x0001,
  2535. EEmphasized = 0x0002,
  2536. ESelected   = 0x0004,
  2537. EMask = 0x0007
  2538.         };
  2539. enum TListItemFlags
  2540. {
  2541. EItemDrawMarkSelection = 0x0001,
  2542. EItemPaintedSelection = 0x0002,
  2543. EItemDrawOnlyActiveSelection = 0x0004
  2544. };
  2545. };
  2546. struct SLafScrollThumb
  2547. {
  2548. enum TOrientation
  2549. {
  2550. EVertical,
  2551. EHorizontal
  2552. };
  2553. };
  2554. struct SLafScrollBarFrame
  2555. {
  2556. enum TScrollBarVisibility
  2557. {
  2558. EOff,
  2559. EOn,
  2560. EAuto
  2561. };
  2562. enum TScrollBarSide
  2563. {
  2564. EBottomOrRight,
  2565. ETopOrLeft
  2566. };
  2567. enum TScrollBarManagement
  2568. {
  2569. EComponent,
  2570. EFloating,
  2571. EApplicationScrollBar
  2572. };
  2573. };
  2574. struct SLafControlGroup
  2575. {
  2576. enum TStartCorner
  2577. {
  2578. EFromTopLeft=0x1,
  2579. EFromTopRight=0x2,
  2580. EFromBottomLeft=0x3,
  2581. EFromBottomRight=0x4
  2582. };
  2583. enum TOrientation
  2584. {
  2585. ELayHorizontally=0x10,
  2586. ELayVertically=0x20
  2587. };
  2588. };
  2589. struct SLafButtonGroupContainer
  2590. {
  2591. enum TUse
  2592. {
  2593. EView,
  2594. EDialog,
  2595. EToolbar,
  2596. ECba,
  2597. EDialogButtons
  2598. };
  2599. enum TOrientation
  2600. {
  2601. EVertical,
  2602. EHorizontal
  2603. };
  2604. enum TLocation
  2605. {
  2606. EInternal,
  2607. EExternal
  2608. };
  2609. };
  2610. struct SLafMenuBar
  2611. {
  2612. enum { ENominalTextLength = 40 };
  2613. };
  2614. struct SLafMenuPane
  2615. {
  2616. enum THighlightType
  2617. {
  2618. ENoHighlight,
  2619. EDrawHighlight,
  2620. ERemoveHighlight
  2621. };
  2622. };
  2623. struct SLafButtonBase
  2624. {
  2625. enum TDrawState
  2626. {
  2627. EDrawClear =0x00,
  2628. EDrawSet =0x01,
  2629. EDrawIndeterminate =0x02,
  2630. EDrawClearPressed =0x10,
  2631. EDrawSetPressed =0x11,
  2632. EDrawIndeterminatePressed =0x12
  2633. };
  2634. };
  2635. #line 13 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikctgrp.h" /* stack depth 4 */
  2636. class TEikGroupControl
  2637. {
  2638. public:
  2639. inline TEikGroupControl();
  2640. inline TEikGroupControl(CCoeControl* aControl,TInt aId,TInt aLength,TInt aFlags);
  2641. public:
  2642. CCoeControl* iControl;
  2643. TInt iId;
  2644. TInt iLongId;
  2645. public:
  2646. inline TBool IsLengthSet() const;
  2647. inline TInt Length() const;
  2648. inline TBool IsStretchable() const;
  2649. inline void SetLength(TInt aLength);
  2650. inline void SetStretchable();
  2651. public:
  2652. enum TControlFlags
  2653. {
  2654. ESetLength =0x01,
  2655. EAllowStretch =0x02
  2656. };
  2657. private:
  2658. TInt iLength;
  2659. TInt iFlags;
  2660. };
  2661. class CEikControlGroup : public CEikBorderedControl
  2662. {
  2663. friend class CTestControlGroup;
  2664. friend class CEikCba;
  2665. public:
  2666. enum TStartCorner
  2667. {
  2668. EFromTopLeft=SLafControlGroup::EFromTopLeft,
  2669. EFromTopRight=SLafControlGroup::EFromTopRight,
  2670. EFromBottomLeft=SLafControlGroup::EFromBottomLeft,
  2671. EFromBottomRight=SLafControlGroup::EFromBottomRight
  2672. };
  2673. enum TOrientation
  2674. {
  2675. ELayHorizontally=SLafControlGroup::ELayHorizontally,
  2676. ELayVertically =SLafControlGroup::ELayVertically
  2677. };
  2678. public:
  2679. __declspec(dllexport) CEikControlGroup();
  2680. __declspec(dllexport) ~CEikControlGroup();
  2681. __declspec(dllexport) void ConstructL(TStartCorner aStart,TOrientation aOrientation);
  2682. __declspec(dllexport) virtual void AddControlL(CCoeControl* aControl,TInt aId);
  2683. __declspec(dllexport) virtual void AddControlL(TEikGroupControl& aGroupControl);
  2684. __declspec(dllexport) void InsertControlL(TEikGroupControl& aGroupControl,TInt aIndex);
  2685. __declspec(dllexport) void DeleteControl(TInt aIndex,TInt aCount);
  2686. __declspec(dllexport) void SetLengthInPixels(TInt aLength);
  2687. __declspec(dllexport) void SetBreadthInPixels(TInt aBreadth);
  2688. __declspec(dllexport) void SetControlSpacing(TInt aHSpacing,TInt aVSpacing);
  2689. __declspec(dllexport) void SetControlLayout(TStartCorner aStart,TOrientation aOrientation);
  2690. __declspec(dllexport) void SetNumberOfLines(TInt aNumLines,TBool aDistributeEvenly);
  2691. __declspec(dllexport) void SetControlsAllSameSize();
  2692. __declspec(dllexport) void LayoutControls();
  2693. __declspec(dllexport) CCoeControl* ControlById(TInt aId) const;
  2694. __declspec(dllexport) TInt IndexById(TInt aId) const;
  2695. __declspec(dllexport) void Reset();
  2696. __declspec(dllexport) TInt ControlId(CCoeControl* aControl) const;
  2697. __declspec(dllexport) CCoeControl* Control(TInt aIndex) const;
  2698. __declspec(dllexport) CArrayFix<TEikGroupControl> * ControlArray() const;
  2699. __declspec(dllexport) TOrientation Orientation() const;
  2700. __declspec(dllexport) void ControlSpacing(TInt& aHSpacing,TInt& aVSpacing) const;
  2701. public:
  2702. __declspec(dllexport) TSize MinimumSize();
  2703.     __declspec(dllexport) TInt CountComponentControls() const;
  2704. __declspec(dllexport) virtual void GetColorUseListL(CArrayFix<TCoeColorUse>& aColorUseList) const;
  2705. __declspec(dllexport) virtual void HandleResourceChange(TInt aType);
  2706.     __declspec(dllexport) void HandlePointerEventL(const TPointerEvent& aPointerEvent);
  2707. protected:
  2708. enum
  2709. {
  2710. EDistributeEvenly =0x40,
  2711. EAllSameSize =0x80
  2712. };
  2713. protected:
  2714.     __declspec(dllexport) CCoeControl* ComponentControl(TInt aIndex) const;
  2715. __declspec(dllexport) void WriteInternalStateL(RWriteStream& aWriteStream) const;
  2716. private:
  2717. __declspec(dllexport) void Reserved_2();
  2718. private:
  2719.     __declspec(dllexport) void* ExtensionInterface( TUid aInterface );
  2720. private:
  2721. __declspec(dllexport) TInt Adjacent(TInt aRow,TInt aColumn,TInt aCtrlIndex,TInt aTotalRows,TInt aTotalColumns) const;
  2722. __declspec(dllexport) TStartCorner StartCorner() const;
  2723. __declspec(dllexport) void DeleteAllComponents();
  2724. __declspec(dllexport) TSize ControlMinimumSize(TInt aIndex) const;
  2725. __declspec(dllexport) TInt ControlMinimumLength(TInt aIndex);
  2726. __declspec(dllexport) TSize LargestControlSize() const;
  2727. __declspec(dllexport) TBool DistributeEvenly() const;
  2728. __declspec(dllexport) TBool AllSameSize();
  2729. private:
  2730.     __declspec(dllexport) void SizeChanged();
  2731. __declspec(dllexport) void Draw(const TRect& aRect) const;
  2732. protected:
  2733. CArrayFix<TEikGroupControl> * iControlArray;
  2734. private:
  2735. TInt iLayout;
  2736. TInt iLines;
  2737. TInt iHSpacing;
  2738. TInt iVSpacing;
  2739. TInt iBreadth;
  2740. TInt iLength;
  2741. TSize iLargestControl;
  2742. };
  2743. inline TEikGroupControl::TEikGroupControl()
  2744. { iControl=0 ; iId=iFlags=iLength=0; }
  2745. inline TEikGroupControl::TEikGroupControl(CCoeControl* aControl,TInt aId,TInt aLength,TInt aFlags)
  2746. : iControl(aControl),iId(aId),iLength(aLength),iFlags(aFlags)
  2747. {}
  2748. inline TBool TEikGroupControl::IsLengthSet() const
  2749. { return iFlags&ESetLength; }
  2750. inline TInt TEikGroupControl::Length() const
  2751. { return iLength; }
  2752. inline TBool TEikGroupControl::IsStretchable() const
  2753. { return iFlags&EAllowStretch; }
  2754. inline void TEikGroupControl::SetLength(TInt aLength)
  2755. { iLength=aLength; iFlags|=ESetLength; }
  2756. inline void TEikGroupControl::SetStretchable()
  2757. { iFlags|=EAllowStretch; }
  2758. #line 10 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikcba.h" /* stack depth 3 */
  2759. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikbtgrp.h" /* stack depth 4 */
  2760. #line 13
  2761. class CCoeControl;
  2762. class CEikCommandButton;
  2763. class CFbsBitmap;
  2764. class MEikButtonGroup
  2765. {
  2766. public:
  2767. void Release();
  2768. virtual void SetCommandL(TInt aPosition,TInt aCommandId,const TDesC* aText,const CFbsBitmap* aBitmap,const CFbsBitmap* aMask)=0;
  2769. virtual void SetCommandL(TInt aPosition,TInt aResourceId)=0;
  2770. virtual void SetCommandSetL(TInt aResourceId)=0;
  2771. virtual void AddCommandL(TInt aPosition,TInt aCommandId,const TDesC* aText,const CFbsBitmap* aBitmap,const CFbsBitmap* aMask)=0;
  2772. virtual void AddCommandToStackL(TInt aPosition,TInt aCommandId,const TDesC* aText,const CFbsBitmap* aBitmap,const CFbsBitmap* aMask)=0;
  2773. virtual void AddCommandToStackL(TInt aPosition,TInt aResourceId)=0;
  2774. virtual void AddCommandSetToStackL(TInt aResourceId)=0;
  2775. virtual void SetDefaultCommand(TInt aCommandId)=0;
  2776. virtual TSize CalcMinimumSizeL(TInt aResourceId)=0;
  2777. virtual void RemoveCommandFromStack(TInt aPosition,TInt aCommandId)=0;
  2778. virtual TInt CommandPos(TInt aCommandId) const=0;
  2779. virtual void DimCommand(TInt aCommandId,TBool aDimmed)=0;
  2780. virtual TBool IsCommandDimmed(TInt aCommandId) const=0;
  2781. virtual void MakeCommandVisible(TInt aCommandId,TBool aVisible)=0;
  2782. virtual TBool IsCommandVisible(TInt aCommandId) const=0;
  2783. __declspec(dllexport) virtual void AnimateCommand(TInt aCommandId);
  2784. virtual CCoeControl* AsControl()=0;
  2785. virtual const CCoeControl* AsControl() const=0;
  2786. virtual void SetBoundingRect(const TRect& aBoundingRect)=0;
  2787. virtual void ReduceRect(TRect& aBoundingRect) const=0;
  2788. virtual CCoeControl* GroupControlById(TInt aCommandId) const=0;
  2789. virtual CEikCommandButton* GroupControlAsButton(TInt aCommandId) const=0;
  2790. virtual TInt CommandId(TInt aCommandPos) const=0;
  2791. virtual TInt ButtonCount() const=0;
  2792. virtual TUint ButtonGroupFlags() const=0;
  2793. private:
  2794. __declspec(dllexport) void Reserved_1();
  2795. };
  2796. class MEikEnhancedButtonGroup : public MEikButtonGroup
  2797. {
  2798. public:
  2799. __declspec(dllexport) virtual void OfferCommandListL(const RArray<TInt>& aCommandList)=0;
  2800. __declspec(dllexport) virtual void OfferCommandListL(const TInt aResourceId)=0;
  2801. __declspec(dllexport) virtual TBool IsCommandInGroup(const TInt aCommandId) const=0;
  2802. __declspec(dllexport) virtual void ReplaceCommand(const TInt aCommandId, const TInt aResourceId)=0;
  2803. };
  2804. #line 18 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikcba.h" /* stack depth 3 */
  2805. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\eiksbobs.h" /* stack depth 4 */
  2806. #line 12
  2807. enum TEikScrollEvent
  2808. {
  2809. EEikScrollLeft=1,
  2810. EEikScrollUp,
  2811. EEikScrollRight,
  2812. EEikScrollDown,
  2813. EEikScrollPageLeft,
  2814. EEikScrollPageUp,
  2815. EEikScrollPageRight,
  2816. EEikScrollPageDown,
  2817. EEikScrollHome,
  2818. EEikScrollTop,
  2819. EEikScrollEnd,
  2820. EEikScrollBottom,
  2821. EEikScrollThumbDragHoriz,
  2822. EEikScrollThumbDragVert,
  2823. EEikScrollThumbReleaseHoriz,
  2824. EEikScrollThumbReleaseVert
  2825. };
  2826. class CEikScrollBar;
  2827. class MEikScrollBarObserver
  2828. {
  2829. public:
  2830. virtual void HandleScrollEventL(CEikScrollBar* aScrollBar, TEikScrollEvent aEventType)=0;
  2831. };
  2832. #line 22 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikcba.h" /* stack depth 3 */
  2833. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\eiksbfrm.h" /* stack depth 4 */
  2834. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\aknscrlb.h" /* stack depth 5 */
  2835. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikscrlb.h" /* stack depth 6 */
  2836. #line 1 "C:\Symbian\9.1\S60_3rd\epoc32\include\aknscbut.h" /* stack depth 7 */
  2837. #line 31
  2838. class CAknScrollIndicator;
  2839. class CAknScrollButton : public CAknControl
  2840. {
  2841. public:
  2842. enum TType
  2843. {
  2844. ENudgeLeft,
  2845. ENudgeUp,
  2846. ENudgeRight,
  2847. ENudgeDown,
  2848. EPageLeft,
  2849. EPageUp,
  2850. EPageRight,
  2851. EPageDown,
  2852. EHome,
  2853. ETop,
  2854. EEnd,
  2855. EBottom
  2856. };
  2857. public:
  2858. enum TTypeOfScrollBar
  2859. {
  2860. ENormal =0x00,
  2861. EArrowHead =0x01
  2862. };
  2863. public:
  2864. __declspec(dllexport) static CAknScrollButton* NewL(TType aType);
  2865. __declspec(dllexport) ~CAknScrollButton();
  2866. __declspec(dllexport) TType Type() const;
  2867. __declspec(dllexport) void CreateWindowOnlyForArrowsL(const CCoeControl* aParent);
  2868. __declspec(dllexport) TBool IsNormalScrollBarUsingButton() const;
  2869. __declspec(dllexport) void SetTypeOfScrollBarUsingButton(TTypeOfScrollBar aTypeOfScrollBar);
  2870. __declspec(dllexport) void SetPosition(const TInt aFocusPosition, const TInt aScrollSpan);
  2871. #line 138
  2872. __declspec(dllexport) static CAknScrollButton* NewL(TType aType, TTypeOfScrollBar aTypeOfScrollBar);
  2873. private:
  2874. CAknScrollButton(TType aType);
  2875. void ConstructL();
  2876. void SizeChanged();
  2877. void DrawIndicator() const;
  2878. void ConstructL(TTypeOfScrollBar aTypeOfScrollBar);
  2879. private:
  2880. virtual void Draw(const TRect& aRect) const;
  2881. private:
  2882. friend class CAknScrollBar;
  2883. TType iType;
  2884. TInt iFlag;
  2885. CAknScrollIndicator* iScrollIndicator;
  2886. TRect iOldRect;
  2887. };
  2888. #line 18 "C:\Symbian\9.1\S60_3rd\epoc32\include\eikscrlb.h" /* stack depth 6 */
  2889. class CEikCba;
  2890. class CAknDoubleSpanScrollIndicator;
  2891. class CEikScrollBarExtensionImpl;
  2892. class CEikScrollBarExtension;
  2893. class CAknDoubleSpanScrollBarExtension;
  2894. const TInt KEikScrollEventFromVBar=0;
  2895. const TInt KEikScrollEventFromHBar=0x01;
  2896. const TInt KEikScrollEventBarMask=0x01;
  2897. const TInt KButtonPositionMask=KLafScrollBarButtonPositionMask;
  2898. const TInt KDisplayComponentsMask=0x1f;
  2899. class TEikScrollBarModel
  2900. {
  2901. public:
  2902. inline TEikScrollBarModel();
  2903. __declspec(dllexport) TEikScrollBarModel(TInt aScrollSpan,TInt aThumbSpan=0,TInt aThumbPosition=0);
  2904. __declspec(dllexport) TBool operator==(const TEikScrollBarModel aModel) const;
  2905. inline TBool operator!=(const TEikScrollBarModel aModel) const;
  2906. public:
  2907. __declspec(dllexport) TBool ScrollBarUseful() const;
  2908. __declspec(dllexport) TInt MaxThumbPos() const;
  2909. __declspec(dllexport) void CheckBounds();
  2910.     enum TEikScrollBarModelType
  2911. {
  2912. EEikScrollBarModel               = 0x00000000,
  2913. EAknDoubleSpanScrollBarModel     = 0x80000000
  2914. };
  2915.     TEikScrollBarModel::TEikScrollBarModelType ScrollBarModelType() const;
  2916. public:
  2917. TInt iScrollSpan;
  2918. TInt iThumbSpan;
  2919. TInt iThumbPosition;
  2920. };
  2921. inline TEikScrollBarModel::TEikScrollBarModel() {}
  2922. inline TBool TEikScrollBarModel::operator!=(const TEikScrollBarModel aModel) const { return !(*this==aModel); }
  2923. #line 81
  2924. class TAknDoubleSpanScrollBarModel : public TEikScrollBarModel
  2925. {
  2926. public:
  2927.     __declspec(dllexport) TAknDoubleSpanScrollBarModel();
  2928. #line 117
  2929.     __declspec(dllexport) TAknDoubleSpanScrollBarModel(const TEikScrollBarModel& aEikModel);
  2930. #line 143
  2931.     __declspec(dllexport) void SetScrollSpan(TInt aValue);
  2932.     __declspec(dllexport) void SetFocusPosition(TInt aValue);
  2933.     __declspec(dllexport) void SetWindowSize(TInt aValue);
  2934.     __declspec(dllexport) void SetFieldSize(TInt aValue);
  2935.     __declspec(dllexport) void SetFieldPosition(TInt aValue);
  2936. #line 162
  2937.     __declspec(dllexport) TInt ScrollSpan() const;
  2938.     __declspec(dllexport) TInt FocusPosition() const;
  2939.     __declspec(dllexport) TInt WindowSize() const;
  2940.     __declspec(dllexport) TInt FieldSize() const;
  2941.     __declspec(dllexport) TInt FieldPosition() const;
  2942. #line 187
  2943.     static TBool ModelIsSupported();
  2944. private:
  2945.     TUint16 Scale() const;
  2946. #line 206
  2947.     void SetScale(TUint16 aScale);
  2948. private:
  2949.     TInt16 ScrollSpanValue() const;
  2950.     TInt16 FocusPositionValue() const;
  2951.     TInt16 FieldPositionValue() const;
  2952.     TInt16 FieldSizeValue() const;
  2953.     TInt16 WindowSizeValue() const;
  2954. #line 229
  2955.     void SetScrollSpanValue(TInt16 aValue);
  2956.     void SetFocusPositionValue(TInt16 aValue);
  2957.     void SetFieldPositionValue(TInt16 aValue);
  2958.     void SetFieldSizeValue(TInt16 aValue);
  2959.     void SetWindowSizeValue(TInt16 aValue);
  2960. #line 242
  2961.     TInt16 LowBytes(TInt aInt) const;
  2962. #line 251
  2963.     TInt16 HighBytes(TInt aInt) const;
  2964. #line 261
  2965.     void SetLowBytes(TInt& aInt, TInt16 aValue);
  2966. #line 270
  2967.     void SetHighBytes(TInt& aInt, TInt16 aValue);
  2968. #line 281
  2969.     TInt16 PrepareScaledValue(TInt aNonScaledValue);
  2970. #line 291
  2971.     void ReScale(TUint16 aNewScale);
  2972. #line 301
  2973.     void SetScrollBarModelType(TEikScrollBarModelType aModelType);
  2974. #line 312
  2975.     TInt CheckMinMaxValue(TInt aValue);
  2976.     };
  2977. class CEikScrollThumb;
  2978. class CEikScrollBarFrame;
  2979. class CEikScrollBar : public CEikBorderedControl, public MCoeControlObserver
  2980. {
  2981. friend class CEikScrollBarExtension;
  2982. friend class CAknDoubleSpanScrollBarExtension;
  2983. public:
  2984. enum TOrientation
  2985. {
  2986. EVertical = SLafScrollBar::EVertical,
  2987. EHorizontal = SLafScrollBar::EHorizontal
  2988. };
  2989. enum TScrollBarType
  2990. {
  2991. ENormalScrollBar =0x0,
  2992. EArrowHead =0x200,
  2993. EDoubleSpan =0x400
  2994. };
  2995. enum TEikScrollBarFlags
  2996. {
  2997. EEikScrollBarDefaultBehaviour   =SLafScrollBar::EEikScrollBarDefaultBehaviour,
  2998. EEikScrollBarNoNudgeButtons =SLafScrollBar::EEikScrollBarNoNudgeButtons,
  2999. EEikScrollBarHasPageButtons =SLafScrollBar::EEikScrollBarHasPageButtons,
  3000. EEikScrollBarHasHomeEndButtons =SLafScrollBar::EEikScrollBarHasHomeEndButtons,
  3001. EEikScrollBarNoShaftOrThumb =SLafScrollBar::EEikScrollBarNoShaftOrThumb,
  3002. EEikScrollBarShaftButNoThumb =SLafScrollBar::EEikScrollBarShaftButNoThumb,
  3003. EButtonsAtStartOfShaft =SLafScrollBar::EButtonsAtStartOfShaft,
  3004. EButtonsAtEndOfShaft =SLafScrollBar::EButtonsAtEndOfShaft,
  3005. EButtonsEitherSideOfShaft =SLafScrollBar::EButtonsEitherSideOfShaft,
  3006. ENoAutoDimming =SLafScrollBar::ENoAutoDimming
  3007. };
  3008. typedef TEikScrollBarFlags TAknScrollBarFlags;
  3009. public:
  3010. __declspec(dllexport) ~CEikScrollBar();
  3011. __declspec(dllexport) CEikScrollBar();
  3012. public:
  3013. __declspec(dllexport) virtual void ConstructL(MEikScrollBarObserver* aScrollBarObserver,const CCoeControl* aParent,
  3014. TOrientation aOrientation,TInt aLength,TInt aScrollBarFlags=EEikScrollBarDefaultBehaviour);
  3015. __declspec(dllexport) void SetLengthL(TInt aLength);
  3016. __declspec(dllexport) void SetModelL(const TEikScrollBarModel* aModel);
  3017. __declspec(dllexport) void SetModel(const TEikScrollBarModel* aModel);
  3018. __declspec(dllexport) void SetLengthAndModelL(TInt aLength,const TEikScrollBarModel* aModel);
  3019. __declspec(dllexport) void SetModelThumbPosition(TInt aThumbPos);
  3020. __declspec(dllexport) void SetFocusPosToThumbPos(TInt aFocusPosition);
  3021. __declspec(dllexport) static TInt DefaultScrollBarBreadth();
  3022. #line 387
  3023.     void SetScrollBarObserver(MEikScrollBarObserver* aScrollBarObserver);
  3024. inline const TEikScrollBarModel* Model() const;
  3025. __declspec(dllexport) TInt ThumbPosition() const;
  3026. __declspec(dllexport) TInt ScrollBarBreadth() const;
  3027. __declspec(dllexport) static TInt MinVisibleLength(const TInt aScrollBarFlags);
  3028. __declspec(dllexport) void SetDecreaseButtonsDimmed(TBool aDimmed);
  3029. __declspec(dllexport) void SetIncreaseButtonsDimmed(TBool aDimmed);
  3030. __declspec(dllexport) void SetAllButtonsDimmed(TBool aDimmed);
  3031. inline CAknScrollButton* IncreaseNudgeButton() const;
  3032. inline CAknScrollButton* DecreaseNudgeButton() const;
  3033. __declspec(dllexport) void SetContainingCba(CEikCba* aCba);
  3034. __declspec(dllexport) void MakeVisible(TBool aVisible);
  3035.     __declspec(dllexport) void HandlePointerEventL(const TPointerEvent& aPointerEvent);
  3036. protected:
  3037. __declspec(dllexport) CCoeControl* ComponentControl(TInt aIndex) const;
  3038. __declspec(dllexport) TInt CountComponentControls() const;
  3039. private:
  3040. __declspec(dllexport) virtual void HandleControlEventL(CCoeControl* aControl, TCoeEvent aEventType);
  3041. private:
  3042. __declspec(dllexport) virtual void Reserved_2();
  3043. private:
  3044.     __declspec(dllexport) void* ExtensionInterface( TUid aInterface );
  3045. protected:
  3046. friend class CEikScrollBarFrame;
  3047. enum TPrivateScrollBarFlags
  3048. {
  3049. ENoComponentsToDisplay          =0x10000,
  3050. EIncreaseButtonsDimmed          =0x20000,
  3051. EDecreaseButtonsDimmed          =0x40000
  3052. };
  3053. enum TPointerDownOn
  3054. {
  3055. ENone,
  3056. EHomeButton,
  3057. EDecreasePageButton,
  3058. EDecreaseNudgeButton,
  3059. EDecreaseShaft,
  3060. EThumb,
  3061. EIncreaseShaft,
  3062. EIncreaseNudgeButton,
  3063. EIncreasePageButton,
  3064. EEndButton
  3065. };
  3066. enum TShaftRedrawRequired
  3067. {
  3068. ENoRedrawRequired,
  3069. ERedrawShaft
  3070. };
  3071. enum TWhichButtons
  3072. {
  3073. EIncreaseOnly,
  3074. EDecreaseOnly,
  3075. EAll
  3076. };
  3077. struct SEikScrollBarButtons
  3078. {
  3079. CAknScrollButton* iDecreaseNudge;
  3080. CAknScrollButton* iIncreaseNudge;
  3081. };
  3082. private:
  3083. __declspec(dllexport) virtual void CreateButtonL(CAknScrollButton*& aButton,CAknScrollButton::TType aType);
  3084. void SizeChanged();
  3085. void DoSetModel(const TEikScrollBarModel* aModel);
  3086. CEikCba* Cba() const;
  3087. void AddExternalFrameL(CEikScrollBarFrame* aFrame);
  3088. void RemoveExternalFrame(CEikScrollBarFrame* aFrame);
  3089. void DisconnectExternalFrames();
  3090. protected:
  3091. void CreateRequiredComponentsL();
  3092. void DestroyButton(CAknScrollButton*& aButton);
  3093. __declspec(dllexport) virtual void SetButtonPositionL(CAknScrollButton* aButton);
  3094. public:
  3095.     TScrollBarType ScrollBarType();
  3096. public:
  3097. TDblQueLink iSBLink;
  3098. protected:
  3099. SEikScrollBarButtons iButtons;
  3100. TOrientation iOrientation;
  3101. private:
  3102. TEikScrollBarModel iModel;
  3103. protected:
  3104.     CEikScrollBarExtensionImpl* iExtension;
  3105.   };
  3106. #line 512
  3107. class CEikArrowHeadScrollBar : public CEikScrollBar
  3108. {
  3109. public:
  3110. __declspec(dllexport) CEikArrowHeadScrollBar(CCoeControl* aParentWindow);
  3111. __declspec(dllexport) ~CEikArrowHeadScrollBar();
  3112. public:
  3113. __declspec(dllexport) void ConstructL(MEikScrollBarObserver* aScrollBarObserver,const CCoeControl* aParent,
  3114. TOrientation aOrientation,TInt aLength,TInt aScrollBarFlags=EEikScrollBarDefaultBehaviour);
  3115. public:
  3116.     __declspec(dllexport) void HandlePointerEventL(const TPointerEvent& aPointerEvent);
  3117. private:
  3118. void CreateButtonL(CAknScrollButton*& aButton,CAknScrollButton::TType aType);
  3119. void SetButtonPositionL(CAknScrollButton* aButton);
  3120. private:
  3121. private:
  3122.     __declspec(dllexport) void* ExtensionInterface( TUid aInterface );
  3123. private:
  3124. CCoeControl* iParentControl;
  3125.     TInt iSpare;
  3126. };
  3127. #line 551
  3128. class CAknDoubleSpanScrollBar : public CEikScrollBar
  3129. {
  3130. public:
  3131. __declspec(dllexport) CAknDoubleSpanScrollBar(CCoeControl* aParentWindow);
  3132. __declspec(dllexport) ~CAknDoubleSpanScrollBar();
  3133. #line 565
  3134.     __declspec(dllexport) void SetFixedLayoutRect(TRect aScrollBarRect);
  3135. #line 579
  3136.     __declspec(dllexport) void ConstructL(TBool aWindowOwning, MEikScrollBarObserver* aScrollBarObserver,const CCoeControl* aParent,
  3137. TOrientation aOrientation,TInt aLength,TInt aScrollBarFlags=EEikScrollBarDefaultBehaviour);
  3138.     TRect FixedLayoutRect();
  3139. public:
  3140. __declspec(dllexport) void ConstructL(MEikScrollBarObserver* aScrollBarObserver,const CCoeControl* aParent,
  3141. TOrientation aOrientation,TInt aLength,TInt aScrollBarFlags=EEikScrollBarDefaultBehaviour);
  3142.     __declspec(dllexport) void MakeVisible(TBool aVisible);
  3143. public:
  3144.     __declspec(dllexport) void HandlePointerEventL(const TPointerEvent& aPointerEvent);
  3145. protected:
  3146. __declspec(dllexport) CCoeControl* ComponentControl(TInt aIndex) const;
  3147.     __declspec(dllexport) TInt CountComponentControls() const;
  3148. private:
  3149.     __declspec(dllexport) void SizeChanged();
  3150. private:
  3151.     __declspec(dllexport) void* ExtensionInterface( TUid aInterface );
  3152. private:
  3153. void CreateButtonL(CAknScrollButton*& aButton,CAknScrollButton::TType aType);
  3154. void SetButtonPositionL(CAknScrollButton* aButton);
  3155. #line 619
  3156.     void SetTransparentBackground(TBool aTransparentBackground);
  3157. private:
  3158. CCoeControl* iParentControl;
  3159.     TInt iSpare;
  3160. };
  3161. inline const TEikScrollBarModel* CEikScrollBar::Model() const
  3162. { return &iModel; }
  3163. inline CAknScrollButton* CEikScrollBar::IncreaseNudgeButton() const
  3164. { return iButtons.iIncreaseNudge; }
  3165. inline CAknScrollButton* CEikScrollBar::DecreaseNudgeButton() const
  3166. { return iButtons.iDecreaseNudge; }
  3167. #line 10 "C:\Symbian\9.1\S60_3rd\epoc32\include\aknscrlb.h" /* stack depth 5 */
  3168. #line 11 "C:\Symbian\9.1\S60_3rd\epoc32\include\eiksbfrm.h" /* stack depth 4 */
  3169. class CEikCba;
  3170. class TEikScrollBarFrameLayout
  3171. {
  3172. public:
  3173. enum TTilingMode
  3174. {
  3175. EClientRectConstant,
  3176. EInclusiveRectConstant
  3177. };
  3178. public:
  3179. __declspec(dllexport) TEikScrollBarFrameLayout();
  3180. __declspec(dllexport) void SetInclusiveMargin(TInt aMargin);
  3181. __declspec(dllexport) void SetClientMargin(TInt aMargin);
  3182. public:
  3183. TMargins iInclusiveMargin;
  3184. TMargins iClientMargin;
  3185. TSize iClientAreaGranularity;
  3186. TTilingMode iTilingMode;
  3187. };
  3188. class CEikCornerWindow;
  3189. class CEikScrollBarFrameExtension;
  3190. class CEikScrollBarFrame : public CBase
  3191. {
  3192. public:
  3193. enum { ETypeId = 0x101F8672 };
  3194. enum TScrollBarVisibility
  3195. {
  3196. EOff,
  3197. EOn,
  3198. EAuto
  3199. };
  3200. enum TScrollBarType
  3201. {
  3202. ENormalScrollBar =0x0,
  3203. EArrowHead =0x200,
  3204. EDoubleSpan =0x400
  3205. };
  3206. enum TScrollBarSide
  3207. {
  3208. EBottomOrRight =0x0,
  3209. ETopOrLeft =0x800
  3210. };
  3211. enum TScrollBarManagement
  3212. {
  3213. EComponent ,
  3214. EFloating ,
  3215. EApplicationScrollBar
  3216. };
  3217. enum TScrollBarFrameFlags
  3218. {
  3219. EHVisible =0x01,
  3220. EVVisible =0x02,
  3221. };
  3222. private:
  3223. enum TMarginsAdjustmentMode
  3224. {
  3225. EGrow,
  3226. EShrink
  3227. };
  3228. public:
  3229. CEikScrollBarFrame(){}
  3230. __declspec(dllexport) CEikScrollBarFrame(CCoeControl* aParentWindow, MEikScrollBarObserver* aObserver, TBool aPreAlloc=EFalse);
  3231. __declspec(dllexport) ~CEikScrollBarFrame();
  3232. CEikScrollBarFrame(CCoeControl* aParentWindow, MEikScrollBarObserver* aObserver, TBool aPreAlloc, TBool aDoubleSpan);
  3233.     void InitExtension(CCoeControl* aParentWindow, MEikScrollBarObserver* aObserver);
  3234. __declspec(dllexport) void DrawScrollBarsNow() const;
  3235.     __declspec(dllexport) void SetScrollBarVisibilityL(TScrollBarVisibility aHVisibility, TScrollBarVisibility aVVisibility);
  3236. #line 132
  3237.     inline TScrollBarVisibility VScrollBarVisibility() const;
  3238. #line 141
  3239. __declspec(dllexport) void SetScrollBarFrameObserver(MEikScrollBarObserver* aObserver);
  3240. #line 153
  3241.     __declspec(dllexport) TBool Tile(TEikScrollBarModel* aVModel);
  3242. #line 181
  3243.     __declspec(dllexport) TBool TileL(TEikScrollBarModel* aHModel, TEikScrollBarModel* aVModel,
  3244.   TRect& aClientRect, TRect& aInclusiveRect, const TEikScrollBarFrameLayout& aLayout);
  3245. #line 196
  3246.     __declspec(dllexport) void MoveThumbsBy(TInt aDeltaX, TInt aDeltaY);
  3247. #line 207
  3248. __declspec(dllexport) void MoveHorizThumbTo(TInt aHorizThumbPos);
  3249. #line 218
  3250.     __declspec(dllexport) void MoveVertThumbTo(TInt aVertThumbPos);
  3251. #line 228
  3252.     __declspec(dllexport) void SetVFocusPosToThumbPos(TInt aFocusPosition);
  3253. #line 237
  3254.   __declspec(dllexport) TInt ScrollBarBreadth(CEikScrollBar::TOrientation aOrientation) const;
  3255. #line 246
  3256.     __declspec(dllexport) void SetAdjustsHorizontalModel(TBool aAdjusts);
  3257.     __declspec(dllexport) void SetAdjustsVerticalModel(TBool aAdjusts);
  3258. #line 263
  3259.     inline void SetScrollBarFrameFlags(TInt aMask);
  3260. #line 272
  3261.     __declspec(dllexport) TBool ScrollBarExists(CEikScrollBar::TOrientation aOrientation) const;
  3262. #line 282
  3263.     __declspec(dllexport) TInt CountComponentControls() const;
  3264. #line 291
  3265.     __declspec(dllexport) CCoeControl* ComponentControl(TInt aIndex) const;