API published in: S60 1st Ed
Link against: avkon.lib eikctl.lib eikcoctl.lib
Required Capabilities
None
#include <eikfrlbd.h>
Inherits CListBoxData.
Inherited by CFormattedCellGridData, CFormGraphicListBoxData, CPopupFormattedListBoxData, and CSettingItemEditingListBoxData.
CFormattedCellListBoxData
can draw list items.
This is similar class than CColumnListBoxData
, but it can more freely layout the list items; more parameters can be used to position the elements. In particular, the position
of the elements is free, and not tied to fixed width columns.
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 |
|
Destructor. |
|
C++ default constructor. |
|
This method should be called before drawing animated highlight. It will sync the animation with the background under the current highlight (only when current item index has changed). |
|
Second phase constructor for subclasses that want to override highlight animation creation.
|
|
Second phase constructor. Highlight animation will be created by default (if it is provided by the skin). |
|
Ability for a skin subsystem to access Mop chain through current listbox control.
|
|
Creates marquee control. Called by the listbox. |
|
Creates pictograph interface. Only effective in Japanese variant. Called by the listbox. |
|
Tells whether current item has clipped text cells.
|
|
Gets the current list item index that is / was drawn by marquee.
|
|
From
|
|
Renders a default animated highlight.
|
|
Main drawing algorithm used for drawing S60 list item.
|
|
Draws list items.
|
|
The preferred method for drawing highlight animation in derived classes. Before calling this method you should check that highlight animation exists by calling HasHighlightAnim. In case of draw failure you should default to normal skinned highlight drawing. For example: TBool drawOk = EFalse; if( HasHighlightAnim() ) { drawOk = DrawHighlightAnim( gc, rect ); } if( !drawOk ) { ...do normal skinned draw }
|
|
Draws a popup frame.
|
|
Renders a popup animated highlight.
|
|
Renders a settings animated highlight.
|
|
Enables or disables marquee.
|
|
|
Gets list box extension, which is used for adding more funtionality to list boxes without destroying compatibility with previous versions.
|
|
Gets list box extension, which is used for adding more funtionality to list boxes without destroying compatibility with previous versions.
|
|
Function that is called when the owning control has gained the focus. Causes that animation is continued because the control is visible and focused. |
|
Function that is called when the owning control has lost the focus. Causes the animation to pause, even if the control is partially visible. |
|
Font access to the font used in subcell.
|
|
Gets the size of the subcell's icon. |
|
Handles the skin change situation. Causes change of animation.
|
|
|
|
|
Gets animation used for drawing the list highlight. May return NULL, in which case the normal skinned highlight should be drawn. This pointer is valid only during the draw -> you should not store it locally outside draw scope.
|
|
Gets the icon array used when drawing bitmaps for the listbox items. |
|
Checks if the list is transparent and drawing the background that would fall behind it.
|
|
Determines if marquee is on.
|
|
Is the listbox drawing the background behind the scrollbar or not.
|
|
Gets layout data needed for separator lines drawing.
|
|
Gets LayOutInit flag used for drawing separator lines in lists. |
|
Two-phased constructor.
Reimplemented in CSettingItemEditingListBoxData, CFormGraphicListBoxData, CPopupFormattedListBoxData, and CFormattedCellGridData. |
|
Resets the marquee animation data. |
|
|
Gets RespectFocus flag.
|
|
Gets font attached to the row and cell.
|
|
|
Gets separator line position.
|
|
Modify properties of the skin context (background).
|
|
|
Support for new layouts. |
|
Ability for a skin subsystem to access mop chain through current listbox control.
|
|
Sets the current list item index (not for marquee). Since Symbian 3.0 causes highlight animation to change its background (only if the current item index changes). Don't call this method if the index is not the current item index.
|
|
|
Sets the current list item index that was drawn by marquee.
|
|
Enables or disables transparency effect i.e. does the listbox draw its own background or not.
|
|
Enables or disables drawing background after scrollbar.
|
|
Set a highlighted text color if enhanced skin support is available. |
|
Sets a text color if enhanced skin support is available. |
|
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.
|
|
Set window line layout for the defined sub cell. |
|
Sets the observer for overriding default highlight input layer drawing functionality.
Note that you should still call
|
|
SetIconArray sets the icon array used when drawing bitmaps.
The array can be modified (no need to call this method when modifying), even in The most common way to crash a listbox is by forgetting to call this method, or the list item string for graphics cell is not an index of a bitmap.
|
|
Sets the icon array used when drawing bitmaps.
The array can be modified (no need to call this method when modifying), even in The most common way to crash a listbox is by forgetting to call this method, or the list item string for graphics cell is not an index of a bitmap.
|
|
Changes item cell size and resizes highlight animation. Called by list when item cell size changes. If you are using non-standard highlight sizes make sure to sync the list item cell size.
|
|
Sets LayOutInit flag used for drawing separator lines in lists. |
|
Modify properties of the skin context (list ending)*.
|
|
Customizes marquee default behavior.
Use this before enabling marquee (
|
|
Sets whether drawing algorithm always draws the cell.
|
|
Sets whether the cell is used for numbers.
|
|
Sets RespectFocus flag.
|
|
Sets position of listbox separator line.
|
|
Sets whether skins are enabled on this list.
The default value is determined from global setting from
Reimplemented from CListBoxData. |
|
Set list higlight skin style.
|
|
Modify position of the parent for list default context.
|
|
Set popup skin style.
|
|
Set popup skin frame position.
|
|
Modify properties of the skin context (AB-column).
|
|
|
|
|
Sets the alignment attached to the cell.
|
|
Sets baseline position from top of the cell.
|
|
Sets colours attached to the cell.
|
|
Sets the font attached to the cell for each row separately.
|
|
Sets the font attached to the cell.
|
|
Sets the size of the subcell's icon. |
|
Sets margins for the content inside the cell.
|
|
Sets cell position inside an item.
|
|
|
|
Sets whether vertical line is drawn to the right side of the cell.
|
|
Sets cell size in pixels.
|
|
Sets the amount of pixels truncation grows a text element.
|
|
Enables or disables underlining per text subcell only if
If this method is not called and
|
|
Support for new layouts. Set text line layout for the defined sub cell. |
|
Modifies whether the cell can overlap with one of the previous cells.
|
|
Create and set the defaul skin context. Needed by the dynamic skin support. |
|
Disables logical-to-visual conversion in subcells between indexes.
|
|
Access to the background context of the listbox.
|
|
SkinEnabled checks whether skins are enabled on this list.
|
|
|
Gets the alignment attached to the cell.
|
|
Gets baseline position from top of the cell.
|
|
Gets colours attached to the cell.
|
|
Gets font attached to the cell.
|
|
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.
|
|
Checks whether drawing algorithm always draws the cell or whether empty string in list item can disable the drawing of the cell.
|
|
Checks whether the cell is used for numbers.
|
|
Determines whether this cell can overlap with one of the previous cells.
|
|
Gets margins used for the content inside the cell.
|
|
Gets cell position inside an item.
|
|
|
|
Checks whether vertical line is drawn to the right side of the cell.
|
|
Gets cell size in pixels.
|
|
|
Gets the amount of pixels text margins is grown if it is truncated. This is usually very small number used to make the layout look more balanced when text is truncated. (the glyph used for truncation is almost empty and on narrow text elements, it looks odd if the truncated text element is exactly same size as non-truncated version.)
|
|
|
|
enables certain highlight skinning for radibutton / checkbox set style lists should be used only by avkon internally |
|
Enable or disable logical to visual reordering in listbox data text drawing. By default, it is enabled. This has any effect only when bidirectional text is rendered.
If you convert text to visual order prior to passing it to the listbox (for example by wrapping text to lines with methods
in
|
|
|
Checks if the list box uses scalable layouts. |
|
Indicates if sub cell is using its own colors rather than common colors.
|
|
|