#include <mw/eikfrlb.h>
class CFormattedCellListBoxItemDrawer : public CTextListItemDrawer |
Protected Attributes | |
---|---|
CArrayFix< SListProperties > * | iPropertyArray |
TInt | iTopItemIndex |
Public Member Functions | |
---|---|
CFormattedCellListBoxItemDrawer(MTextListBoxModel *, const CFont *, CFormattedCellListBoxData *) | |
~CFormattedCellListBoxItemDrawer() | |
IMPORT_C void | ClearAllPropertiesL() |
IMPORT_C CFormattedCellListBoxData * | ColumnData() |
virtual IMPORT_C void | DrawEmptyItem(TInt, TPoint, TBool) |
virtual IMPORT_C void | DrawItemMark(TBool, TBool, const TPoint &) |
virtual IMPORT_C void | DrawItemText(TInt, const TRect &, TBool, TBool, TBool) |
IMPORT_C CFormattedCellListBoxData * | FormattedCellData() |
virtual IMPORT_C TInt | ItemWidthInPixels(TInt) |
TSize | LafItemSize() |
virtual IMPORT_C TSize | MinimumCellSize() |
virtual IMPORT_C TListItemProperties | Properties(TInt) |
virtual IMPORT_C void | SetItemCellSize(const TSize &) |
IMPORT_C void | SetPropertiesL(TInt, TListItemProperties) |
IMPORT_C void | SetTopItemIndex(TInt) |
Protected Member Functions | |
---|---|
void | DrawBackgroundAndSeparatorLines(const TRect &, TBool) |
void | WordWrapListItem(TPtr &, const TDesC &, TInt, TInt, TInt) |
Inherited Enumerations | |
---|---|
CListItemDrawer:TFlags | |
CListItemDrawer:TListItemAttribute |
CFormattedCellListBoxItemDrawer draws a single list item and manages list item properties.
CArrayFix< SListProperties > * | iPropertyArray | [protected] |
Array for list box item's properties. Own.
IMPORT_C | CFormattedCellListBoxItemDrawer | ( | MTextListBoxModel * | aTextListBoxModel, |
const CFont * | aFont, | |||
CFormattedCellListBoxData * | aFormattedCellData | |||
) |
C++ default constructor.
Parameter | Description |
---|---|
aTextListBoxModel | The list box model class. |
aFont | Font to be used in listbox. |
aFormattedCellData | Pointer to the list layout drawer class. |
IMPORT_C CFormattedCellListBoxData * | ColumnData | ( | ) | const |
Gets the list layout drawer.
Returns: Pointer to the list layout drawer object.
IMPORT_C void | DrawItemMark | ( | TBool | aItemIsSelected, |
TBool | aViewIsDimmed, | |||
const TPoint & | aMarkPos | |||
) | const [virtual] |
Reimplemented from CListItemDrawer::DrawItemMark(TBool,TBool,const TPoint &)const
From CTextListItemDrawer.
Draws an item tick mark.
A tick mark is used in multiple selection lists to indicate the item is selected.
This function is invoked by the framework to draw an item mark if iDrawMark is set. The mark should be drawn into this list item drawer's graphics context; by default, DrawItemMark() draws a tick using the standard symbol font.
This function does not need to be re-implemented for derived classes which do not draw item marks.
Parameter | Description |
---|---|
aItemIsSelected | Whether the item to draw for is selected. |
aViewIsDimmed | Whether the item is dimmed. |
aMarkPos | Position of the mark. |
IMPORT_C void | DrawItemText | ( | TInt | aItemIndex, |
const TRect & | aItemTextRect, | |||
TBool | aItemIsCurrent, | |||
TBool | aViewIsEmphasized, | |||
TBool | aItemIsSelected | |||
) | const [virtual] |
Reimplemented from CTextListItemDrawer::DrawItemText(TInt,const TRect &,TBool,TBool,TBool)const
From CTextListItemDrawer.
Draw an item in a list box.
Parameter | Description |
---|---|
aItemIndex | The index into the model's item array of the item to draw. |
aItemTextRect | The item s text rectangle. |
aItemIsCurrent | ETrue if the item is current. EFalse otherwise. |
aViewIsEmphasized | ETrue if the view is emphasized. EFalse otherwise. |
aItemIsSelected | ETrue if the item is selected. EFalse otherwise. |
IMPORT_C CFormattedCellListBoxData * | FormattedCellData | ( | ) | const |
Gets the list layout drawer.
Returns: Pointer to the list layout drawer object.
Reimplemented from CTextListItemDrawer::ItemWidthInPixels(TInt)const
From CListItemDrawer.
Gets the width in pixels of the specified item.
Parameter | Description |
---|---|
aItemIndex | The index of the item for which the width is obtained. |
Returns: The specified item's width in pixels.
IMPORT_C TSize | MinimumCellSize | ( | ) | const [virtual] |
Reimplemented from CTextListItemDrawer::MinimumCellSize()const
From CListItemDrawer.
Gets the minimum size of a cell based on the font and the number of characters in the cell.
Returns: The minimum size for a cell in pixels.
IMPORT_C TListItemProperties | Properties | ( | TInt | aItemIndex | ) | const [virtual] |
Reimplemented from CListItemDrawer::Properties(TInt)const
Function for getting properties of a certain list box item.
Parameter | Description |
---|---|
aItemIndex | The listbox item index. |
Returns: Colour and style properties of wanted list box item.
IMPORT_C void | SetItemCellSize | ( | const TSize & | aSizeInPixels | ) | [virtual] |
Reimplemented from CListItemDrawer::SetItemCellSize(const TSize &)
From CListItemDrawer.
Sets the item cell size.
The cell size is the on-screen size of the entire item, including its text and its item mark.
Parameter | Description |
---|---|
aSizeInPixels | New size for the item cell. |
IMPORT_C void | SetPropertiesL | ( | TInt | aItemIndex, |
TListItemProperties | properties | |||
) |
The SetProperties is convenience method for normal cases. NOTE that it does NOT work correctly if you can insert/delete items from the list -- You need to update all properties if any changes to the item text array happen! Often it is convenient to override the Properties() method. Further, use this only for small lists.
It has been implemented as sorted list of (index,Property) pairs.
If you're using find, aItemIndex for this method is the same as you give in MdcaPoint() points the default Properties() does conversion between indexes.
Parameter | Description |
---|---|
aItemIndex | List box item index. |
properties | Colour and style properties for the list box item. |
IMPORT_C void | SetTopItemIndex | ( | TInt | aTop | ) |
This function sets top item index.
Parameter | Description |
---|---|
aTop | Item index value. |
void | WordWrapListItem | ( | TPtr & | aTarget, |
const TDesC & | aItemString, | |||
TInt | aFirstIndex, | |||
TInt | aSecondIndex, | |||
TInt | aItemIndex | |||
) | const [protected] |
WordWrapListItem is used with CAknDouble* style listboxes. If listbox does not have 2nd line defined, WordWrapListItem wraps 1st line to 2nd line, if text does not fit to 1st line. If listbox does have 2nd line defined, this method truncates both lines.