This class is used to draw most of the S60 list and grid layouts.
It also handles truncation of the text elements, centering and cropping of images, z-order/overlapping cells, bi-directional text drawing, backgrounds for lists, highlight drawing, various text and image properties and finally the parts of the separator lines that are inside list items.
This is a very low level class. The less you use this class, the better. Applications should be using CAknSelectionListDialog
or CAknMarkableListDialog
or CAknListQueryDialog
to use lists. There are enough predefined list layouts available, so there should be no need for applications to use this class. See Style Guide for more information. Use of this class may cause your application to not look ok when properties of the device change.
|
Public Member Functions |
IMPORT_C | ~CFormattedCellListBoxData () |
| Destructor.
|
IMPORT_C const TColors & | SubCellColors (TInt aSubCellIndex) const |
| Gets colours attached to the cell.
|
IMPORT_C void | SetSubCellColorsL (TInt aSubCellIndex, const TColors &aColors) |
| Sets colours attached to the cell.
|
IMPORT_C TInt | SubCellBaselinePos (TInt aSubCellIndex) const |
| Gets baseline position from top of the cell.
|
IMPORT_C void | SetSubCellBaselinePosL (TInt aSubCellIndex, TInt aPos) |
| Sets baseline position from top of the cell.
|
IMPORT_C TSize | SubCellSize (TInt aSubCellIndex) const |
| Gets cell size in pixels.
|
IMPORT_C void | SetSubCellSizeL (TInt aSubCellIndex, TSize aSize) |
| Sets cell size in pixels.
|
IMPORT_C TPoint | SubCellPosition (TInt aSubCellIndex) const |
| Gets cell position inside an item.
|
IMPORT_C void | SetSubCellPositionL (TInt aSubCellIndex, TPoint aPosition) |
| Sets cell position inside an item.
|
IMPORT_C TBool | SubCellIsTransparent (TInt aSubCellIndex) const |
| Determines whether this cell can overlap with one of the previous cells.
|
IMPORT_C void | SetTransparentSubCellL (TInt aSubCellIndex, TBool aIsTransparent) |
| Modifies whether the cell can overlap with one of the previous cells.
|
IMPORT_C TBool | SubCellIsNotAlwaysDrawn (TInt aSubCellIndex) const |
| Checks whether drawing algorithm always draws the cell or whether empty string in list item can disable the drawing of the cell.
|
IMPORT_C void | SetNotAlwaysDrawnSubCellL (TInt aSubCellIndex, TBool aIsNotAlwaysDrawn) |
| Sets whether drawing algorithm always draws the cell.
|
IMPORT_C TMargins | SubCellMargins (TInt aSubCellIndex) const |
| Gets margins used for the content inside the cell.
|
IMPORT_C void | SetSubCellMarginsL (TInt aSubCellIndex, TMargins aMargins) |
| Sets margins for the content inside the cell.
|
IMPORT_C const CFont * | SubCellFont (TInt aSubCellIndex) const |
| Gets font attached to the cell.
|
IMPORT_C void | SetSubCellFontL (TInt aSubCellIndex, const CFont *aFont) |
| Sets the font attached to the cell.
|
IMPORT_C CGraphicsContext::TTextAlign | SubCellAlignment (TInt aSubCellIndex) const |
| Gets the alignment attached to the cell.
|
IMPORT_C void | SetSubCellAlignmentL (TInt aSubCellIndex, CGraphicsContext::TTextAlign aAlign) |
| Sets the alignment attached to the cell.
|
IMPORT_C TBool | SubCellIsGraphics (TInt aSubCellIndex) const |
| Checks whetherdrawing algorithm considers the text string in list item as unicode text string displayable on the screen, or as string representation of an index to icon array.
|
IMPORT_C void | SetGraphicsSubCellL (TInt aSubCellIndex, TBool aIsGraphics) |
| Sets whether drawing algorithm considers the text string in list item as unicode text string displayable on the screen, or as string representation of an index to icon array.
|
IMPORT_C CGraphicsContext::TPenStyle | SubCellRightSeparatorStyle (TInt aColumn) const |
| Checks whether vertical line is drawn to the right side of the cell.
|
IMPORT_C void | SetSubCellRightSeparatorStyleL (TInt aSubCell, CGraphicsContext::TPenStyle aStyle) |
| Sets whether vertical line is drawn to the right side of the cell.
|
IMPORT_C TInt | SubCellTextClipGap (TInt aSubCellIndex) const |
| Gets the amount of pixels text margins is grown if it is truncated.
|
IMPORT_C void | SetSubCellTextClipGapL (TInt aSubCellIndex, TInt aGap) |
| Sets the amount of pixels truncation grows a text element.
|
IMPORT_C TBool | SkinEnabled () const |
| SkinEnabled checks whether skins are enabled on this list.
|
IMPORT_C void | SetSkinEnabledL (TBool aEnabled) |
| Sets whether skins are enabled on this list.
|
IMPORT_C TBool | SubCellIsNumberCell (TInt aSubCellIndex) const |
| Checks whether the cell is used for numbers.
|
IMPORT_C void | SetNumberCellL (TInt aSubCellIndex, TBool aIsNumberCell) |
| Sets whether the cell is used for numbers.
|
IMPORT_C CArrayPtr< CGulIcon > * | IconArray () const |
| Gets the icon array used when drawing bitmaps for the listbox items.
|
IMPORT_C void | SetIconArrayL (CArrayPtr< CGulIcon > *aArray) |
| Sets the icon array used when drawing bitmaps.
|
IMPORT_C void | SetIconArray (CArrayPtr< CGulIcon > *aArray) |
| SetIconArray sets the icon array used when drawing bitmaps.
|
IMPORT_C CFont * | Font (const TListItemProperties &aItemProperties, TInt aSubCellIndex) const |
| Font access to the font used in subcell.
|
virtual IMPORT_C void | Draw (TListItemProperties aProperties, CWindowGc &aGc, const TDesC *aText, const TRect &aRect, TBool aHighlight, const TColors &aColors) const |
| From CListBoxData .
|
IMPORT_C TBool | UseSubCellColors (TInt aSubCell) const |
| Indicates if sub cell is using its own colors rather than common colors.
|
IMPORT_C CCoeControl * | Control () const |
| Ability for a skin subsystem to access Mop chain through current listbox control.
|
IMPORT_C void | SetControl (CCoeControl *aControlOrNull) |
| Ability for a skin subsystem to access mop chain through current listbox control.
|
IMPORT_C MAknsControlContext * | SkinBackgroundContext () const |
| Access to the background context of the listbox.
|
IMPORT_C void | SetBackgroundSkinStyle (const TAknsItemID *aId, const TRect &aRect) |
| Modify properties of the skin context (background).
|
IMPORT_C void | SetSkinStyle (const TAknsItemID *aId, const TRect &aTileRect) |
| Modify properties of the skin context (AB-column).
|
IMPORT_C void | SetSkinParentPos (const TPoint &aPos) |
| Modify position of the parent for list default context.
|
IMPORT_C void | SetListEndSkinStyle (const TAknsItemID *listEndId, const TRect &aRect) |
| Modify properties of the skin context (list ending)*.
|
IMPORT_C TBool | RespectFocus () const |
| Gets RespectFocus flag.
|
IMPORT_C void | SetRespectFocus (TBool aBool) |
| Sets RespectFocus flag.
|
IMPORT_C void | SetSkinHighlightFrame (const TAknsItemID *aFrameId, const TAknsItemID *aFrameCenterId) |
| Set list higlight skin style.
|
IMPORT_C void | SetSkinPopupFrame (const TAknsItemID *aFrameId, const TAknsItemID *aFrameCenterId) |
| Set popup skin style.
|
IMPORT_C void | SetSkinPopupFramePosition (const TRect &aOuterRect, const TRect &aInnerRect) |
| Set popup skin frame position.
|
IMPORT_C void | UseLogicalToVisualConversion (TBool aUseConversion) |
| Enable or disable logical to visual reordering in listbox data text drawing.
|
IMPORT_C void | EnableMarqueeL (TBool aEnable) |
| Enables or disables marquee.
|
IMPORT_C TBool | IsMarqueeOn () |
| Determines if marquee is on.
|
void | FocusGained () |
| Function that is called when the owning control has gained the focus.
|
void | FocusLost () |
| Function that is called when the owning control has lost the focus.
|
void | HandleResourceChange (TInt aType) |
| Handles the skin change situation.
|
IMPORT_C const CAknsEffectAnim * | HighlightAnim () const |
| Gets animation used for drawing the list highlight.
|
IMPORT_C void | AboutToDrawHighlightAnim () const |
| This method should be called before drawing animated highlight.
|
IMPORT_C void | SetHighlightAnimBackgroundDrawer (MListBoxAnimBackgroundDrawer *aDrawer) |
| Sets the observer for overriding default highlight input layer drawing functionality.
|
IMPORT_C void | SetItemCellSize (const TSize &aSize) |
| Changes item cell size and resizes highlight animation.
|
IMPORT_C TBool | HasHighlightAnim () const |
IMPORT_C TBool | DrawHighlightAnim (CBitmapContext &aGc, const TRect &aRect) const |
| The preferred method for drawing highlight animation in derived classes.
|
void | CreatePictographInterfaceL () |
| Creates pictograph interface.
|
void | CreateMarqueeControlL () |
| Creates marquee control.
|
void | ResetMarquee () |
| Resets the marquee animation data.
|
TInt | CurrentMarqueeItemIndex () |
| Gets the current list item index that is / was drawn by marquee.
|
void | SetCurrentMarqueeItemIndex (TInt aIndex) |
| Sets the current list item index that was drawn by marquee.
|
void | SetCurrentItemIndex (TInt aIndex) |
| Sets the current list item index (not for marquee).
|
void | SetCurrentlyDrawnItemIndex (TInt aIndex) |
IMPORT_C void | SetSubCellFontForRowL (TInt aRowIndex, TInt aSubCellIndex, const CFont *aFont) |
| Sets the font attached to the cell for each row separately.
|
IMPORT_C const CFont * | RowAndSubCellFont (TInt aRow, TInt aSubCellIndex) const |
| Gets font attached to the row and cell.
|
IMPORT_C void | SetDrawBackground (const TBool aDrawBackground) |
| Enables or disables transparency effect i.e.
|
TBool | IsBackgroundDrawingEnabled () const |
| Checks if the list is transparent and drawing the background that would fall behind it.
|
void | SetDrawScrollbarBackground (const TBool aDrawBackground) |
| Enables or disables drawing background after scrollbar.
|
TBool | IsScrollbarBackgroundDrawingEnabled () const |
| Is the listbox drawing the background behind the scrollbar or not.
|
IMPORT_C void | SetSeparatorLinePosition (TAknSeparatorLinePosition aPosition) |
| Sets position of listbox separator line.
|
IMPORT_C TAknSeparatorLinePosition | SeparatorLinePosition () const |
| Gets separator line position.
|
IMPORT_C CAknLayoutData * | LayoutData () const |
IMPORT_C TBool | LayoutInit () const |
IMPORT_C void | SetLayoutInit (TBool aValue) |
IMPORT_C void | SetSubcellUnderlined (TBitFlags32 aUnderlinedCells) |
| Enables or disables underlining per text subcell only if TListItemProperties also has underlining enabled.
|
void | UseHighlightIconSwapping (TBool aUse) |
| enables certain highlight skinning for radibutton / checkbox set style lists
|
TBool | UseHighlightIconSwapping () const |
TSize | SubCellRealSize (TInt aSubCellIndex) const |
void | SetSubCellRealSize (TInt aSubCellIndex, TSize aRealSize) const |
TSize | SubCellRealTextSize (TInt aSubCellIndex) const |
void | SetSubCellRealTextSize (TInt aSubCellIndex, TSize aRealSize) const |
IMPORT_C void | SetMarqueeParams (const TInt aLoops, const TInt aScrollAmount, const TInt aScrollDelay, const TInt aInterval) |
| Customizes marquee default behavior.
|
void | SetClippedByWrap (TUint32 aClippedCells, TBool aUseClippedByWrap) |
IMPORT_C TUint32 | CurrentItemTextWasClipped () const |
| Tells whether current item has clipped text cells.
|
void | DrawDefaultHighlight (CWindowGc &aGc, const TRect &aItemRect, TBool aHighlight) const |
| Renders a default animated highlight.
|
void | DrawSettingHighlight (CWindowGc &aGc, const TRect &aItemRect, TBool aHighlight) const |
| Renders a settings animated highlight.
|
void | DrawPopupHighlight (CWindowGc &aGc, const TRect &aItemRect, TBool aHighlight) const |
| Renders a popup animated highlight.
|
void | DrawPopupFrame (CWindowGc &aGc) const |
| Draws a popup frame.
|
void | SetWordWrappedSubcellIndices (TInt aFirstIndex, TInt aSecondIndex) |
| Disables logical-to-visual conversion in subcells between indexes.
|
IMPORT_C void | SetSubCellIconSize (TInt aIndex, TSize aSize) |
| Sets the size of the subcell's icon.
|
TSize | GetSubCellIconSize (TInt aIndex) |
| Gets the size of the subcell's icon.
|
void | SetupSkinContextL () |
| Create and set the defaul skin context.
|
void | SetESSTextColor (TAknsQsnTextColorsIndex aIndex) |
| Sets a text color if enhanced skin support is available.
|
void | SetESSHighlightedTextColor (TAknsQsnTextColorsIndex aIndex) |
| Set a highlighted text color if enhanced skin support is available.
|
void | SetGraphicSubCellL (TInt aSubCell, const TAknWindowLineLayout &aGraphicLayout) |
| Set window line layout for the defined sub cell.
|
void | SetTextSubCellL (TInt aSubCell, const TAknTextLineLayout &aTextLayout) |
| Support for new layouts.
|
void | SetConditionalSubCellL (TInt aSubCell, const TAknTextLineLayout &aTextLayout, TInt aAffectedSubCell) |
| Support for new layouts.
|
TBool | UsesScalableLayoutData () const |
| Checks if the list box uses scalable layouts.
|
void | UseScalableLayoutData (TBool aUse) |
void | SetStretchableGraphicSubCellL (TInt aSubCell, const TAknWindowComponentLayout &aNormalLayout, const TAknWindowComponentLayout &aStretchedLayout) |
void | SetStretchableTextSubCellL (TInt aSubCell, const TAknTextComponentLayout &aNormalLayout, const TAknTextComponentLayout &aStretchedLayout) |
void | SetStretchableConditionalSubCellL (TInt aSubCell, const TAknTextComponentLayout &aNormalLayout, const TAknTextComponentLayout &aStretchedLayout, TInt aNormalSubCell, TInt aStretchedSubCell) |
void | ResetSLSubCellArray () |
void | EnableStretching (const TBool aEnabled) |
TBool | StretchingEnabled () const |
void | HideSecondRow (const TBool aHide) |
TBool | SecondRowHidden () const |
void | SubCellsMightIntersect (const TBool aMightIntersect) |
void | ToggleDropShadows (const TBool aEnable) |
Static Public Member Functions |
static IMPORT_C CFormattedCellListBoxData * | NewL () |
| Two-phased constructor.
|
Protected Member Functions |
IMPORT_C | CFormattedCellListBoxData () |
| C++ default constructor.
|
IMPORT_C void | ConstructLD () |
| Second phase constructor.
|
IMPORT_C void | ConstructLD (const TAknsItemID &aAnimationIID) |
| Second phase constructor for subclasses that want to override highlight animation creation.
|
IMPORT_C void | DrawFormatted (TListItemProperties aProperties, CWindowGc &aGc, const TDesC *aText, const TRect &aRect, TBool aHighlight, const TColors &aColors) const |
| Main drawing algorithm used for drawing S60 list item.
|
void | DrawFormattedSimple (TListItemProperties &aProperties, CWindowGc &aGc, const TDesC *aText, const TRect &aRect, TBool aHighlight, const TColors &aColors) const |
| Draws list items.
|
CFormattedCellListBoxDataExtension * | Extension () |
| Gets list box extension, which is used for adding more funtionality to list boxes without destroying compatibility with previous versions.
|
CFormattedCellListBoxDataExtension * | Extension () const |
| Gets list box extension, which is used for adding more funtionality to list boxes without destroying compatibility with previous versions.
|
Friends |
class | CFormattedCellListBoxDataExtension |
class | CFormattedCellListBoxItemDrawer |
Data Structures |
struct | SSubCell |
class | TColors |