00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef __AKNLISTS_H__
00020 #define __AKNLISTS_H__
00021
00022 #include <eikclb.h>
00023 #include <eikfrlb.h>
00024 #include <eikslb.h>
00025 #include <AknGrid.h>
00026 #include <aknutils.h>
00027
00028 #include <aknpanic.h>
00029
00030
00031 class TAknTextLineLayout;
00032 class MAknsSkinInstance;
00033 class MAknsControlContext;
00034
00045
00046
00047
00048
00049
00050
00051
00058 template<class T>
00059 class AknListBoxLinesTemplate : public T
00060 {
00061 public:
00076 IMPORT_C AknListBoxLinesTemplate(TInt aResourceId);
00081 IMPORT_C void SizeChanged();
00086 IMPORT_C void Draw(const TRect& aRect) const;
00091 IMPORT_C TInt CountComponentControls() const;
00096 IMPORT_C CCoeControl* ComponentControl(TInt aIndex) const;
00097
00098 private:
00099 TInt iSpare0;
00100 TAknLayoutRect iVertLine1, iVertLine2;
00101 TAknLayoutRect iHoriLine;
00102 TBool iResized;
00103 TInt iSpare[2];
00104 };
00105
00110 template<class T>
00111 class AknPopupListEmpty : public T
00112 {
00116 IMPORT_C virtual void Draw(const TRect &aRect) const;
00117 };
00118
00119
00145 class CAknColumnListBox : public CEikColumnListBox
00146 {
00147 public:
00153 IMPORT_C virtual CListBoxView* MakeViewClassInstanceL();
00154
00158 IMPORT_C virtual void CreateModelL();
00159
00167 IMPORT_C virtual TInt AdjustRectHeightToWholeNumberOfItems(TRect& aRect) const;
00168
00173 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
00174 private:
00178 IMPORT_C void* ExtensionInterface( TUid aInterface );
00179 private:
00180 IMPORT_C virtual void CEikListBox_Reserved();
00181 };
00182
00183
00184
00185
00186
00187 typedef AknListBoxLinesTemplate<CAknColumnListBox > CEikColumnListBoxTypedef;
00188 typedef AknListBoxLinesTemplate<CEikFormattedCellListBox > CEikFormattedCellListBoxTypedef;
00189 typedef AknListBoxLinesTemplate<CEikSettingsListBox > CEikSettingsListBoxTypedef;
00190 typedef CAknGrid CAknSelectionGridTypedef;
00191
00192
00193 #define AKNCOLUMNLISTBOXNAME(x) AknListBoxLinesTemplate<CAknColumnListBox >(x)
00194 #define AKNDOUBLELISTBOXNAME(x) AknListBoxLinesTemplate<CEikFormattedCellListBox >(x)
00195 #define AKNSETTINGLISTBOXNAME(x) AknListBoxLinesTemplate<CEikSettingsListBox >(x)
00196
00197
00198 #define AKNCOLUMNLISTBOX AknListBoxLinesTemplate<CAknColumnListBox >
00199 #define AKNFORMATTEDLISTBOX AknListBoxLinesTemplate<CEikFormattedCellListBox >
00200 #define AKNSETTINGSLISTBOX AknListBoxLinesTemplate<CEikSettingsListBox >
00201 #define AKNGRID CAknGrid
00202
00203
00204
00205
00206
00207
00208
00209
00210
00211
00212
00213
00214
00215
00216
00224 class CAknSingleStyleListBox : public CEikColumnListBoxTypedef
00225 {
00226 public:
00227 IMPORT_C CAknSingleStyleListBox();
00232 IMPORT_C void SizeChanged();
00237 IMPORT_C TSize MinimumSize();
00242 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
00243 private:
00244 void SizeChangedL();
00245 };
00246
00254 class CAknSingleNumberStyleListBox : public CEikColumnListBoxTypedef
00255 {
00256 public:
00257 IMPORT_C CAknSingleNumberStyleListBox();
00262 IMPORT_C void SizeChanged();
00267 IMPORT_C TSize MinimumSize();
00272 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
00273 private:
00274 void SizeChangedL();
00275 };
00276
00285 class CAknSingleHeadingStyleListBox : public CEikColumnListBoxTypedef
00286 {
00287 public:
00288 IMPORT_C CAknSingleHeadingStyleListBox();
00293 IMPORT_C void SizeChanged();
00298 IMPORT_C TSize MinimumSize();
00303 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
00304
00305 protected:
00310 IMPORT_C virtual void CreateItemDrawerL();
00311
00316 IMPORT_C virtual CListBoxView* MakeViewClassInstanceL();
00317 private:
00318 void SizeChangedL();
00319 };
00320
00321
00329 class CAknSingleGraphicStyleListBox : public CEikColumnListBoxTypedef
00330 {
00331 public:
00332 IMPORT_C CAknSingleGraphicStyleListBox();
00337 IMPORT_C void SizeChanged();
00342 IMPORT_C TSize MinimumSize();
00347 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
00348 private:
00349 void SizeChangedL();
00350 };
00351
00359 class CAknSingleGraphicHeadingStyleListBox : public CEikColumnListBoxTypedef
00360 {
00361 public:
00362 IMPORT_C CAknSingleGraphicHeadingStyleListBox();
00367 IMPORT_C void SizeChanged();
00372 IMPORT_C TSize MinimumSize();
00377 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
00378 protected:
00379 IMPORT_C virtual void CreateItemDrawerL();
00384 IMPORT_C virtual CListBoxView* MakeViewClassInstanceL();
00385 private:
00386 void SizeChangedL();
00387 };
00388
00396 class CAknSingleNumberHeadingStyleListBox : public CEikColumnListBoxTypedef
00397 {
00398 public:
00399 IMPORT_C CAknSingleNumberHeadingStyleListBox();
00404 IMPORT_C void SizeChanged();
00409 IMPORT_C TSize MinimumSize();
00414 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
00415 protected:
00416 IMPORT_C virtual void CreateItemDrawerL();
00421 IMPORT_C virtual CListBoxView* MakeViewClassInstanceL();
00422 private:
00423 void SizeChangedL();
00424 };
00425
00433 class CAknSingleLargeStyleListBox : public CEikColumnListBoxTypedef
00434 {
00435 public:
00436 IMPORT_C CAknSingleLargeStyleListBox();
00441 IMPORT_C void SizeChanged();
00446 IMPORT_C TSize MinimumSize();
00451 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
00452 private:
00453 void SizeChangedL();
00454 };
00455
00463 class CAknDoubleStyleListBox : public CEikFormattedCellListBoxTypedef
00464 {
00465 public:
00466 IMPORT_C CAknDoubleStyleListBox();
00471 IMPORT_C void SizeChanged();
00476 IMPORT_C TSize MinimumSize();
00481 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
00482 private:
00483 void SizeChangedL();
00484 };
00485
00493 class CAknDoubleStyle2ListBox : public CAknDoubleStyleListBox
00494 {
00495 public:
00500 IMPORT_C void SizeChanged();
00505 IMPORT_C void CreateItemDrawerL();
00510 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
00511 private:
00512 void SizeChangedL();
00513 };
00514
00524 class CAknDoubleNumberStyleListBox : public CEikFormattedCellListBoxTypedef
00525 {
00526 public:
00527 IMPORT_C CAknDoubleNumberStyleListBox();
00532 IMPORT_C void SizeChanged();
00537 IMPORT_C TSize MinimumSize();
00542 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
00543 private:
00544 void SizeChangedL();
00545 };
00546
00551 class CAknDoubleTimeStyleListBox : public CEikFormattedCellListBoxTypedef
00552 {
00553 public:
00554 IMPORT_C CAknDoubleTimeStyleListBox();
00559 IMPORT_C void SizeChanged();
00564 IMPORT_C TSize MinimumSize();
00569 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
00570 private:
00571 void SizeChangedL();
00572 };
00573
00586 class CAknDoubleLargeStyleListBox : public CEikFormattedCellListBoxTypedef
00587 {
00588 public:
00589 IMPORT_C CAknDoubleLargeStyleListBox();
00594 IMPORT_C void SizeChanged();
00599 IMPORT_C TSize MinimumSize();
00604 IMPORT_C virtual void CreateItemDrawerL();
00609 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
00610 private:
00611 void SizeChangedL();
00612 };
00613
00614
00623 class CAknDoubleGraphicStyleListBox : public CEikFormattedCellListBoxTypedef
00624 {
00625 public:
00626 IMPORT_C CAknDoubleGraphicStyleListBox();
00631 IMPORT_C void SizeChanged();
00636 IMPORT_C TSize MinimumSize();
00641 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
00642 private:
00643 void SizeChangedL();
00644 };
00645
00646
00655 class CAknDouble2GraphicStyleListBox : public CEikFormattedCellListBoxTypedef
00656 {
00657 public:
00658 IMPORT_C CAknDouble2GraphicStyleListBox();
00663 IMPORT_C void SizeChanged();
00668 IMPORT_C TSize MinimumSize();
00669
00674 IMPORT_C void CreateItemDrawerL();
00679 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
00680 private:
00681 void SizeChangedL();
00682 };
00683
00684
00695 class CAknDouble2LargeStyleListBox : public CEikFormattedCellListBoxTypedef
00696 {
00697 public:
00698 IMPORT_C CAknDouble2LargeStyleListBox();
00703 IMPORT_C void SizeChanged();
00708 IMPORT_C TSize MinimumSize();
00713 IMPORT_C virtual void CreateItemDrawerL();
00718 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
00719 private:
00720 void SizeChangedL();
00721 };
00722
00723
00739 class CAknDouble2GraphicLargeGraphicStyleListBox : public CEikFormattedCellListBoxTypedef
00740 {
00741 public:
00742 IMPORT_C CAknDouble2GraphicLargeGraphicStyleListBox();
00747 IMPORT_C void SizeChanged();
00752 IMPORT_C TSize MinimumSize();
00757 IMPORT_C virtual void CreateItemDrawerL();
00762 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
00763 private:
00764 void SizeChangedL();
00765 };
00766
00767
00776 class CAknFormDoubleGraphicStyleListBox : public CAknDoubleGraphicStyleListBox
00777 {
00778 public:
00783 IMPORT_C void SizeChanged();
00788 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
00789 private:
00790 void SizeChangedL();
00791 };
00792 typedef CAknFormDoubleGraphicStyleListBox CAknSingleBigHeadingGraphicListBox;
00793
00801 class CAknFormDoubleStyleListBox : public CAknDoubleStyleListBox
00802 {
00803 public:
00808 IMPORT_C void SizeChanged();
00813 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
00814 private:
00815 void SizeChangedL();
00816 };
00817 typedef CAknFormDoubleStyleListBox CAknSingleBigHeadingListBox;
00818
00819
00830 class CAknSettingStyleListBox : public CEikSettingsListBoxTypedef
00831 {
00832 public:
00833 IMPORT_C CAknSettingStyleListBox();
00838 IMPORT_C void SizeChanged();
00843 IMPORT_C TSize MinimumSize();
00848 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
00849 private:
00850 void SizeChangedL();
00851 };
00852
00863 class CAknSettingNumberStyleListBox : public CEikSettingsListBoxTypedef
00864 {
00865 public:
00866 IMPORT_C CAknSettingNumberStyleListBox();
00871 IMPORT_C void SizeChanged();
00876 IMPORT_C TSize MinimumSize();
00881 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
00882 private:
00883 void SizeChangedL();
00884 };
00885
00886
00887
00888
00889
00890
00899 class CAknSinglePopupMenuStyleListBox : public AknPopupListEmpty<CEikFormattedCellListBox>
00900 {
00901 public:
00906 IMPORT_C void SizeChanged();
00911 IMPORT_C TSize MinimumSize();
00912 protected:
00917 IMPORT_C virtual void CreateItemDrawerL();
00922 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
00923 private:
00924 void SizeChangedL();
00925 };
00926
00935 class CAknSingleGraphicPopupMenuStyleListBox : public AknPopupListEmpty<CEikFormattedCellListBox>
00936 {
00937 public:
00942 IMPORT_C void SizeChanged();
00947 IMPORT_C TSize MinimumSize();
00948 protected:
00953 IMPORT_C virtual void CreateItemDrawerL();
00958 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
00959 private:
00960 void SizeChangedL();
00961 };
00962
00972 class CAknSingleGraphicBtPopupMenuStyleListBox : public CAknSingleGraphicPopupMenuStyleListBox
00973 {
00974 public:
00979 IMPORT_C virtual void SizeChanged();
00984 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
00985 };
00986
00994 class CAknSingleHeadingPopupMenuStyleListBox : public AknPopupListEmpty<CEikFormattedCellListBox>
00995 {
00996 public:
00997 IMPORT_C CAknSingleHeadingPopupMenuStyleListBox();
01002 IMPORT_C void SizeChanged();
01007 IMPORT_C TSize MinimumSize();
01012 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
01013 protected:
01018 IMPORT_C virtual void CreateItemDrawerL();
01019 private:
01020 void SizeChangedL();
01021 };
01022
01023
01033 class CAknSingleGraphicHeadingPopupMenuStyleListBox : public AknPopupListEmpty<CEikFormattedCellListBox>
01034
01035 {
01036 public:
01037 IMPORT_C CAknSingleGraphicHeadingPopupMenuStyleListBox();
01042 IMPORT_C void SizeChanged();
01047 IMPORT_C TSize MinimumSize();
01052 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
01053 protected:
01058 IMPORT_C virtual void CreateItemDrawerL();
01059 private:
01060 void SizeChangedL();
01061 };
01062
01070 class CAknDoublePopupMenuStyleListBox : public AknPopupListEmpty<CEikFormattedCellListBox>
01071 {
01072 public:
01077 IMPORT_C void SizeChanged();
01082 IMPORT_C TSize MinimumSize();
01087 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
01088 protected:
01093 IMPORT_C virtual void CreateItemDrawerL();
01094 private:
01095 void SizeChangedL();
01096 };
01097
01105 class CAknSinglePopupSubmenuStyleListBox : public AknPopupListEmpty<CEikFormattedCellListBox>
01106 {
01107 public:
01112 IMPORT_C void SizeChanged();
01117 IMPORT_C TSize MinimumSize();
01122 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
01123 private:
01124 void SizeChangedL();
01125 };
01126
01127
01137 class CAknDoubleLargeGraphicPopupMenuStyleListBox : public AknPopupListEmpty<CEikFormattedCellListBox>
01138 {
01139 public:
01144 IMPORT_C void SizeChanged();
01149 IMPORT_C TSize MinimumSize();
01154 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
01155 protected:
01160 IMPORT_C virtual void CreateItemDrawerL();
01161 private:
01162 void SizeChangedL();
01163 };
01164
01165
01173 class CAknDouble2PopupMenuStyleListBox : public AknPopupListEmpty<CEikFormattedCellListBox>
01174 {
01175 public:
01180 IMPORT_C void SizeChanged();
01185 IMPORT_C TSize MinimumSize();
01190 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
01191 protected:
01196 IMPORT_C virtual void CreateItemDrawerL();
01197 private:
01198 void SizeChangedL();
01199 };
01200
01201
01210 class CAknSingle2GraphicPopupMenuStyleListBox : public AknPopupListEmpty<CEikFormattedCellListBox>
01211 {
01212 public:
01213 IMPORT_C CAknSingle2GraphicPopupMenuStyleListBox();
01218 IMPORT_C void SizeChanged();
01223 IMPORT_C TSize MinimumSize();
01224 protected:
01229 IMPORT_C virtual void CreateItemDrawerL();
01234 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
01235 private:
01236 void SizeChangedL();
01237 };
01238
01239
01240
01248 class CAknDoubleGraphicPopupMenuStyleListBox : public AknPopupListEmpty<CEikFormattedCellListBox>
01249 {
01250 public:
01251 IMPORT_C CAknDoubleGraphicPopupMenuStyleListBox();
01256 IMPORT_C void SizeChanged();
01261 IMPORT_C TSize MinimumSize();
01262 protected:
01267 IMPORT_C virtual void CreateItemDrawerL();
01272 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
01273 private:
01274 void SizeChangedL();
01275 };
01276
01277
01278
01279
01280
01288 class CAknSetStyleListBox : public AknPopupListEmpty<CEikFormattedCellListBox>
01289 {
01290 public:
01291 IMPORT_C void ConstructWithWindowL(const CCoeControl *aParent, TInt aFlags);
01296 IMPORT_C void SizeChanged();
01301 IMPORT_C TSize MinimumSize();
01302 IMPORT_C void Draw(const TRect& aRect) const;
01303 IMPORT_C TTypeUid::Ptr MopSupplyObject(TTypeUid aId);
01304
01309 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
01310
01311 protected:
01316 IMPORT_C virtual void CreateItemDrawerL();
01321 IMPORT_C CListBoxView *MakeViewClassInstanceL();
01322 private:
01323 void SizeChangedL();
01324 };
01325
01333 class CAknFormGraphicStyleListBox : public AknPopupListEmpty<CEikFormattedCellListBox>
01334 {
01335 public:
01336 IMPORT_C void ConstructWithWindowL(const CCoeControl *aParent, TInt aFlags);
01341 IMPORT_C void SizeChanged();
01346 IMPORT_C TSize MinimumSize();
01351 IMPORT_C virtual void CreateItemDrawerL();
01354 IMPORT_C virtual TInt AdjustRectHeightToWholeNumberOfItems(TRect &aRect) const;
01360 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
01361 private:
01362 void SizeChangedL();
01363 };
01364
01365 class CAknFormGraphicWideStyleListBox : public CAknFormGraphicStyleListBox
01366 {
01367 public:
01368 IMPORT_C void SizeChanged();
01369 IMPORT_C TSize MinimumSize();
01370
01371 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
01372 private:
01373 void SizeChangedL();
01374 };
01375
01376
01395 class CAknPinbStyleGrid : public CAknSelectionGridTypedef
01396 {
01397 public:
01402 IMPORT_C void SizeChanged();
01407 IMPORT_C TSize MinimumSize();
01408
01413 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
01414
01415 private:
01416 void SizeChangedL();
01417 };
01418
01419
01424 class CAknQdialStyleGrid : public CAknSelectionGridTypedef
01425 {
01426 public:
01431 IMPORT_C virtual void SizeChanged();
01436 IMPORT_C TSize MinimumSize();
01437
01442 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
01443
01444 private:
01445 void SizeChangedL();
01446 };
01447
01452 class CAknCaleMonthStyleGrid : public CAknSelectionGridTypedef
01453 {
01454 public:
01459 IMPORT_C void SizeChanged();
01464 IMPORT_C TSize MinimumSize();
01469 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
01470
01471 private:
01472 void SizeChangedL();
01473 };
01474
01475
01476
01477
01478
01479
01480
01481
01482
01483
01484
01485
01490 class CAknColumnListBoxView : public CColumnListBoxView
01491 {
01492 public:
01493
01498 IMPORT_C void EnableFindEmptyList();
01499
01504 IMPORT_C void SetFindEmptyListState(TBool aUsedWithFind);
01505
01510 IMPORT_C void DrawEmptyList(const TRect &aClientRect) const;
01511
01518 IMPORT_C virtual void CalcBottomItemIndex();
01519 TBool GetFindEmptyListState();
01520 private:
01521 IMPORT_C virtual TAny* Reserved_1();
01522 private:
01523 TBool iEmptyListWithFind;
01524 };
01525
01530 class CAknSetStyleListBoxView : public CFormattedCellListBoxView
01531 {
01532 public:
01533 IMPORT_C void DrawEmptyList(const TRect &aClientRect) const ;
01534 private:
01535 IMPORT_C virtual TAny* Reserved_1();
01536 };
01537
01538
01543 class CSingleHeadingStyleView : public CAknColumnListBoxView
01544 {
01545 public:
01546 IMPORT_C void Draw(const TRect* ) const;
01547 IMPORT_C void DrawEmptyList(const TRect& aClientRect) const;
01548 private:
01549 IMPORT_C virtual TAny* Reserved_1();
01550 };
01551
01555 class CSingleHeadingStyleItemDrawer : public CColumnListBoxItemDrawer
01556 {
01557 public:
01558 IMPORT_C CSingleHeadingStyleItemDrawer(MTextListBoxModel* aTextListBoxModel, const CFont* aFont, CColumnListBoxData* aColumnData);
01559 IMPORT_C ~CSingleHeadingStyleItemDrawer();
01560
01561 IMPORT_C virtual void DrawItem(TInt aItemIndex, TPoint aItemRectPos, TBool aItemIsSelected, TBool aItemIsCurrent, TBool aViewIsEmphasized, TBool aViewIsDimmed) const;
01562
01563 public:
01564 IMPORT_C void SetTopItemIndex(TInt aTop);
01565
01566 private:
01567 TInt iTopItemIndex;
01568 CCoeEnv* iCoeEnv;
01569 };
01570
01574 class CDoubleLargeStyleItemDrawer : public CFormattedCellListBoxItemDrawer
01575 {
01576 public:
01577 IMPORT_C CDoubleLargeStyleItemDrawer(MTextListBoxModel* aTextListBoxModel, const CFont* aFont, CFormattedCellListBoxData* aFormattedCellData, CEikListBox *aListBox);
01578 IMPORT_C void DrawItem(TInt aItemIndex, TPoint aItemRectPos, TBool aItemIsSelected, TBool aItemIsCurrent, TBool aViewIsEmphasized, TBool aViewIsDimmed) const;
01579 private:
01580 IMPORT_C void CFormattedCellListBoxItemDrawer_Reserved();
01581 private:
01582 CEikListBox *iListBox_tmp;
01583 };
01584
01585
01589 class CWordWrappedFormattedCellItemDrawer : public CFormattedCellListBoxItemDrawer
01590 {
01591 public:
01592 IMPORT_C CWordWrappedFormattedCellItemDrawer(MTextListBoxModel* aTextListBoxModel, const CFont* aFont, CFormattedCellListBoxData* aFormattedCellData, CEikListBox *aListBox, TInt aSubCell, TInt aSubCell2);
01593 IMPORT_C void DrawItem(TInt aItemIndex, TPoint aItemRectPos, TBool aItemIsSelected, TBool aItemIsCurrent, TBool aViewIsEmphasized, TBool aViewIsDimmed) const;
01594 IMPORT_C void DrawItemText(TInt aItemIndex,
01595 const TRect &aItemTextRect,
01596 TBool aItemIsCurrent,
01597 TBool,
01598 TBool aItemIsSelected) const;
01599 private:
01600 IMPORT_C void CFormattedCellListBoxItemDrawer_Reserved();
01601 private:
01602 TInt iSubCell, iSubCell2;
01603 };
01604
01605
01606
01607
01608
01609
01610
01611
01612
01613
01614
01615
01616
01617
01637 class AknListBoxLayouts
01638 {
01639 public:
01643 IMPORT_C static void SetupStandardListBox(CEikListBox& aListBox);
01648 static void SetupGridPos(CAknGrid& aGrid,
01649 const TAknWindowLineLayout &aLayout);
01653 IMPORT_C static void SetupGridPos(CAknGrid& aGrid,
01654 TInt l,
01655 TInt t,
01656 TInt ,
01657 TInt ,
01658 TInt W,
01659 TInt H);
01663 IMPORT_C static void SetupListboxPos(CEikListBox& aListBox,
01664 TInt startx,
01665 TInt starty,
01666 TInt,
01667 TInt,
01668 TInt ,
01669 TInt height);
01670
01671
01672
01673
01674 static void SetupListboxPosL( CEikListBox& aListBox,
01675 const TAknWindowLineLayout& aLayout );
01676
01680 IMPORT_C static void SetupStandardColumnListbox(CColumnListBoxItemDrawer* aItemDrawer);
01684 IMPORT_C static void SetupStandardFormListbox(CFormattedCellListBoxItemDrawer* aItemDrawer);
01688 IMPORT_C static void SetupStandardGrid(CAknGrid& aGrid);
01689
01693 IMPORT_C static void SetupColumnGfxCell(CEikListBox& aListBox,
01694 CColumnListBoxItemDrawer* aItemDrawer,
01695 TInt index,
01696 TInt l,
01697 TInt t,
01698 TInt r,
01699 TInt b,
01700 TInt W,
01701 TInt H,
01702 TInt startx,
01703 TInt endx);
01704
01708 IMPORT_C static void SetupColumnTextCell(CEikListBox& aListBox,
01709 CColumnListBoxItemDrawer* aItemDrawer,
01710 TInt index,
01711 const CFont *font,
01712 TInt ,
01713 TInt lm,
01714 TInt rm,
01715 TInt B,
01716 TInt ,
01717 CGraphicsContext::TTextAlign aAlign,
01718 TInt startx,
01719 TInt endx);
01723 IMPORT_C static void SetupColumnTextCell(CEikListBox& aListBox,
01724 CColumnListBoxItemDrawer* aItemDrawer,
01725 TInt index,
01726 const TAknTextLineLayout &aLayout,
01727 TInt startx,
01728 TInt endx);
01729
01733 IMPORT_C static void SetupFormGfxCell(CEikListBox& aListBox,
01734 CFormattedCellListBoxItemDrawer* aItemDrawer,
01735 TInt index,
01736 TInt l,
01737 TInt t,
01738 TInt ,
01739 TInt ,
01740 TInt W,
01741 TInt H,
01742 TPoint p1,
01743 TPoint p2);
01744
01745
01753 IMPORT_C static void SetupGridFormGfxCell(CAknGrid& aListBox,
01754 CFormattedCellListBoxItemDrawer* aItemDrawer,
01755 TInt index,
01756 TInt l,
01757 TInt t,
01758 TInt ,
01759 TInt ,
01760 TInt W,
01761 TInt H,
01762 TPoint aP1,
01763 TPoint aP2);
01773 IMPORT_C static void SetupGridFormGfxCell(CAknGrid& aGrid,
01774 CFormattedCellListBoxItemDrawer* aItemDrawer,
01775 TInt aIndex,
01776 const TAknWindowLineLayout& aLine,
01777 TPoint& aP1,
01778 TPoint& aP2);
01779
01783 IMPORT_C static void SetupFormTextCell(CEikListBox& aListBox,
01784 CFormattedCellListBoxItemDrawer* aItemDrawer,
01785 TInt index,
01786 const CFont *font,
01787 TInt ,
01788 TInt lm,
01789 TInt ,
01790 TInt B,
01791 TInt W,
01792 CGraphicsContext::TTextAlign aAlign,
01793 TPoint p1,
01794 TPoint p2);
01801 IMPORT_C static void SetupFormAntiFlickerTextCell(CEikListBox& aListBox,
01802 CFormattedCellListBoxItemDrawer* aItemDrawer,
01803 TInt index,
01804 const CFont *font,
01805 TInt ,
01806 TInt lm,
01807 TInt ,
01808 TInt B,
01809 TInt W,
01810 CGraphicsContext::TTextAlign aAlign,
01811 TPoint p1,
01812 TPoint p2);
01813
01817 IMPORT_C static void SetupFormTextCell(CEikListBox& aListBox,
01818 CFormattedCellListBoxItemDrawer* aItemDrawer,
01819 TInt index,
01820 const TAknTextLineLayout &aLayout,
01821 const TPoint &p1,
01822 const TPoint &p2);
01828 IMPORT_C static void SetupFormAntiFlickerTextCell(CEikListBox& aListBox,
01829 CFormattedCellListBoxItemDrawer* aItemDrawer,
01830 TInt index,
01831 const TAknTextLineLayout &aLayout,
01832 const TPoint &p1,
01833 const TPoint &p2);
01834
01838 IMPORT_C static void SetupColumnGfxCell(CEikListBox& aListBox,
01839 CColumnListBoxItemDrawer* aItemDrawer,
01840 TInt aIndex,
01841 const TAknWindowLineLayout &aLayout,
01842 TInt startx,
01843 TInt endx);
01844
01848 IMPORT_C static void SetupFormGfxCell(CEikListBox& aListBox,
01849 CFormattedCellListBoxItemDrawer* aItemDrawer,
01850 TInt index,
01851 const TAknWindowLineLayout &aLayout,
01852 const TPoint &p1,
01853 const TPoint &p2);
01854
01855
01859 IMPORT_C static void SetupListboxPos(CEikListBox& aListBox,
01860 const TAknWindowLineLayout &aLayout);
01861
01862
01863 };
01864
01870 class AknListBoxUtils
01871 {
01872 public:
01882 IMPORT_C static void HandleItemRemovalAndPositionHighlightL(CEikListBox *aListBox, TInt aValueOfCurrentItemIndexBeforeRemoval, TBool aCurrentItemWasRemoved);
01883
01893 IMPORT_C static void HandleItemRemovalAndPositionHighlightL(CEikListBox *aListBox, TInt aValueOfCurrentItemIndexBeforeRemoval, CArrayFix<TInt> &aIndexesToRemovedItems);
01894
01898 IMPORT_C static TBool ListBoxLinesShown(MAknsSkinInstance *aInstance, MAknsControlContext *aCc);
01899 };
01900
01901 #endif
01902
01903
01904
01905
01906
01907