CEikListBox Class Reference

class CEikListBox : public CEikBorderedControl

Base class for an on-screen list box control from which one or more items can be selected.

CEikListBox implements the basics of a list box. It has a scroll bar frame, an item drawer, and a model, and reports events to a list box observer.

List boxes display a number of items within a scrolling frame; the items in a list box which are visible at one time are represented by a list box view.

Writing derived classes:

This class may be derived from to provide specialisations of the basic list box behaviour. It is usual when subclassing CEikListBox to also provide specialisations of CListItemDrawer and CListBoxView for representing the data of such a list box effectively

Public Member Functions
CEikListBox()
~CEikListBox()
IMPORT_C voidActivateL()
IMPORT_C voidAddItemChangeObserverL(MListBoxItemChangeObserver *)
IMPORT_C voidAddSelectionObserverL(MListBoxSelectionObserver *)
IMPORT_C TBoolBackgroundDrawingSuppressed()
IMPORT_C TIntBottomItemIndex()
IMPORT_C TIntCalcHeightBasedOnNumOfItems(TInt)
IMPORT_C TSizeCalcSizeInPixels(TInt, TInt)
IMPORT_C TIntCalcWidthBasedOnNumOfChars(TInt)
IMPORT_C TIntCalcWidthBasedOnRequiredItemWidth(TInt)
IMPORT_C voidCalculatePopoutRect(TInt, TInt, TRect &, TInt)
voidChangeSelectionMode(TBool)
IMPORT_C voidClearSelection()
IMPORT_C voidConstructL(MListBoxModel *, CListItemDrawer *, const CCoeControl *, TInt)
IMPORT_C voidConstructL(MListBoxModel *, CListItemDrawer *, const CCoeControl *, TGulBorder, TInt)
IMPORT_C CEikScrollBarFrame *CreateScrollBarFrameL(TBool)
IMPORT_C CEikScrollBarFrame *CreateScrollBarFrameL(TBool, TBool)
IMPORT_C CEikScrollBarFrame *CreateScrollBarFrameL(TBool, TBool, TBool)
IMPORT_C TIntCurrentItemIndex()
IMPORT_C voidDisableItemSpecificMenu()
IMPORT_C voidDisableScrolling(TBool)
IMPORT_C voidDisableSingleClick(TBool)
voidDoShiftMSKMarkingL()
IMPORT_C voidDrawItem(TInt)
IMPORT_C voidEditItemL(TInt)
IMPORT_C voidEnableMSKObserver(TBool)
IMPORT_C TIntEventModifiers()
IMPORT_C voidGetColorUseListL(CArrayFix< TCoeColorUse > &)
IMPORT_C voidHandleItemAdditionL()
IMPORT_C voidHandleItemAdditionL(CArrayFix< TInt > &)
IMPORT_C voidHandleItemRemovalL()
IMPORT_C voidHandleItemRemovalL(CArrayFix< TInt > &)
IMPORT_C voidHandlePhysicsScrollEventL(TInt)
IMPORT_C voidHandlePointerEventL(const TPointerEvent &)
IMPORT_C voidHandleResourceChange(TInt)
IMPORT_C voidHandleScrollEventL(CEikScrollBar *, TEikScrollEvent)
IMPORT_C TRectHighlightRect()
voidInformMSKButtonGroupDeletion()
IMPORT_C TCoeInputCapabilitiesInputCapabilities()
IMPORT_C TBoolIsHighlightEnabled()
IMPORT_C TBoolIsMultiselection()
IMPORT_C MEikListBoxEditor *ItemEditor()
IMPORT_C TIntItemHeight()
IMPORT_C TIntItemsInSingleLine()
IMPORT_C voidMakeVisible(TBool)
IMPORT_C TSizeMinimumSize()
IMPORT_C MListBoxModel *Model()
IMPORT_C TKeyResponseOfferKeyEventL(const TKeyEvent &, TEventCode)
IMPORT_C voidRedrawItem(TInt)
IMPORT_C TBoolRemoveItemChangeObserver(MListBoxItemChangeObserver *)
IMPORT_C voidRemoveSelectionObserver(MListBoxSelectionObserver *)
IMPORT_C voidReset()
IMPORT_C voidResetItemEditor()
IMPORT_C CEikScrollBarFrame *constScrollBarFrame()
IMPORT_C voidScrollToMakeItemVisible(TInt)
IMPORT_C TBoolScrollingDisabled()
IMPORT_C const CListBoxView::CSelectionIndexArray *SelectionIndexes()
IMPORT_C voidSetContainerWindowL(const CCoeControl &)
IMPORT_C voidSetCurrentItemIndex(TInt)
IMPORT_C voidSetCurrentItemIndexAndDraw(TInt)
IMPORT_C voidSetDimmed(TBool)
IMPORT_C voidSetItemEditor(MEikListBoxEditor *)
IMPORT_C voidSetItemHeightL(TInt)
IMPORT_C voidSetItemsInSingleLine(TInt)
IMPORT_C voidSetLaunchingButton(CEikButtonBase *)
IMPORT_C voidSetListBoxObserver(MEikListBoxObserver *)
IMPORT_C voidSetMarkingMode(TBool)
IMPORT_C voidSetMarkingModeObserver(MAknMarkingModeObserver *)
IMPORT_C voidSetPointerEventFilterDisabledL(const CArrayFix< TInt > &)
IMPORT_C voidSetScrollBarFrame(CEikScrollBarFrame *, TScrollBarOwnerShip)
IMPORT_C voidSetSelectionIndexesL(CListBoxView::CSelectionIndexArray *)
IMPORT_C voidSetShortcutValueFromPrevList(TInt)
IMPORT_C voidSetTopItemIndex(TInt)
IMPORT_C TIntShortcutValueForNextList()
IMPORT_C voidStopEditingL(TBool)
IMPORT_C voidSuspendEffects(TBool)
IMPORT_C TIntTopItemIndex()
IMPORT_C voidUpdateScrollBarsL()
IMPORT_C TIntVerticalInterItemGap()
IMPORT_C CListBoxView *View()
Protected Member Functions
IMPORT_C TIntAdjustRectHeightToWholeNumberOfItems(TRect &)
IMPORT_C voidAdjustTopItemIndex()
IMPORT_C TRgbBackColor()
CMatchBuffer *Buffer()
voidCheckCreateBufferL()
TBool CheckCreateExtension()
voidCheckCreateExtensionL()
IMPORT_C voidClearMargins()
IMPORT_C voidClearMatchBuffer()
IMPORT_C CCoeControl *ComponentControl(TInt)
IMPORT_C voidConstructL(const CCoeControl *, TInt)
IMPORT_C TIntCountComponentControls()
IMPORT_C voidCreateMatchBufferL()
IMPORT_C voidCreateScrollBarFrameLayout(TEikScrollBarFrameLayout &)
IMPORT_C voidCreateViewL()
IMPORT_C voidDraw(const TRect &)
IMPORT_C voidDrawMatcherCursor()
IMPORT_C voidFireItemChange()
IMPORT_C voidFocusChanged(TDrawNow)
IMPORT_C voidHandleDragEventL(TPoint)
IMPORT_C voidHandleLeftArrowKeyL(CListBoxView::TSelectionMode)
IMPORT_C voidHandleRightArrowKeyL(CListBoxView::TSelectionMode)
IMPORT_C voidHandleViewRectSizeChangeL()
IMPORT_C TIntHorizScrollGranularityInPixels()
IMPORT_C TIntHorizontalMargin()
IMPORT_C TIntHorizontalNudgeValue()
IMPORT_C TIntInterItemGap()
IMPORT_C TBoolIsMatchBuffer()
IMPORT_C TBoolItemExists(TInt)
IMPORT_C TBoolLastCharMatched()
IMPORT_C TMargins8ListBoxMargins()
IMPORT_C CListBoxView *MakeViewClassInstanceL()
IMPORT_C RIncrMatcherBase *MatchBuffer()
IMPORT_C voidMatchTypedCharL(TUint)
IMPORT_C TReasonForFocusLostReasonForFocusLostL()
IMPORT_C voidReportListBoxEventL(MEikListBoxObserver::TListBoxEvent)
IMPORT_C voidRestoreClientRectFromViewRect(TRect &)
IMPORT_C voidRestoreCommonListBoxPropertiesL(TResourceReader &)
IMPORT_C voidSetHorizontalMargin(TInt)
IMPORT_C voidSetReasonForFocusLostL(TReasonForFocusLost)
IMPORT_C voidSetVerticalMargin(TInt)
IMPORT_C voidSetViewRectFromClientRect(const TRect &)
IMPORT_C voidSetViewRectHeightAdjustment(TInt)
IMPORT_C voidSimulateArrowKeyEventL(TKeyCode)
IMPORT_C voidSizeChanged()
IMPORT_C voidUndoLastChar()
IMPORT_C voidUpdateCurrentItem(TInt)
IMPORT_C voidUpdateItemDrawerColors()
voidUpdateMarkUnmarkMSKL()
IMPORT_C voidUpdateScrollBarThumbs()
IMPORT_C voidUpdateViewColors()
IMPORT_C TIntVerticalMargin()
IMPORT_C TIntViewRectHeightAdjustment()
Private Member Functions
IMPORT_C voidCEikListBox_Reserved()
voidClearMargins(CWindowGc &)
TKeyResponse DoOfferKeyEventL(const TKeyEvent &, TEventCode)
voidDrawItemInView(TInt)
IMPORT_C void *ExtensionInterface(TUid)
voidHandleItemRemovalWithoutSelectionsL()
TBool HandlePhysicsPointerEventL(const TPointerEvent &)
voidHorizontalScroll(TInt)
TBool MarkingMode()
MAknMarkingModeObserver *MarkingModeObserver()
voidScrollView(const TInt, TBool)
voidUpdateHighlightL(TInt)
voidUpdateScrollBarColors(CEikScrollBar *)
voidUpdateScrollBarsColors()
Inherited Functions
CAknControl::CAknControl()
CAknControl::~CAknControl()
CBase::CBase()
CBase::Delete(CBase *)
CBase::Extension_(TUint,TAny *&,TAny *)
CBase::operator new(TUint)
CBase::operator new(TUint,TAny *)
CBase::operator new(TUint,TLeave)
CBase::operator new(TUint,TLeave,TUint)
CBase::operator new(TUint,TUint)
CBase::~CBase()
CCoeControl::AccumulatedZoom()const
CCoeControl::ActivateGc()const
CCoeControl::BackedUpWindow()const
CCoeControl::Background()const
CCoeControl::CCoeControl()
CCoeControl::CCoeControl(CCoeEnv *)
CCoeControl::CCoeControl(const CCoeControl &)
CCoeControl::CapturesPointer()const
CCoeControl::ClaimPointerGrab(TBool)
CCoeControl::ClaimPointerGrab(TInt,TBool)
CCoeControl::CloseWindow()
CCoeControl::ComponentArrayExists()const
CCoeControl::Components()
CCoeControl::Components()const
CCoeControl::ConstructFromResourceL(TResourceReader &)
CCoeControl::ControlContext()const
CCoeControl::ControlEnv()const
CCoeControl::CopyControlContextFrom(const CCoeControl *)
CCoeControl::CreateBackedUpWindowL(RWindowTreeNode &)
CCoeControl::CreateBackedUpWindowL(RWindowTreeNode &,TDisplayMode)
CCoeControl::CreateWindowL()
CCoeControl::CreateWindowL(RWindowGroup *)
CCoeControl::CreateWindowL(RWindowTreeNode &)
CCoeControl::CreateWindowL(const CCoeControl *)
CCoeControl::CustomGc()const
CCoeControl::DeactivateGc()const
CCoeControl::DrawBackground(const TRect &)const
CCoeControl::DrawDeferred()const
CCoeControl::DrawForeground(const TRect &)const
CCoeControl::DrawNow()const
CCoeControl::DrawNow(const TRect &)const
CCoeControl::DrawableWindow()const
CCoeControl::EnableDragEvents()
CCoeControl::EnableReportControlStateChange(TBool)
CCoeControl::EnableWindowTransparency()
CCoeControl::FindBackground()const
CCoeControl::FindFontProvider()const
CCoeControl::GetColor(TInt,TRgb &)const
CCoeControl::GetGc()const
CCoeControl::GetHelpContext(TCoeHelpContext &)const
CCoeControl::GrabbingComponent()const
CCoeControl::GrabbingComponent(TInt)const
CCoeControl::HandleComponentControlsResourceChange(TInt)
CCoeControl::HandleControlArrayEventL(CCoeControlArray::TEvent,const CCoeControlArray *,CCoeControl *,TInt)
CCoeControl::HandlePointerBufferReadyL()
CCoeControl::HandleRedrawEvent(const TRect &)const
CCoeControl::HitTest()const
CCoeControl::IgnoreEventsUntilNextPointerUp()
CCoeControl::Index(const CCoeControl *)const
CCoeControl::InitComponentArrayL()
CCoeControl::IsActivated()const
CCoeControl::IsBackedUp()const
CCoeControl::IsBeingDestroyed()const
CCoeControl::IsBlank()const
CCoeControl::IsDimmed()const
CCoeControl::IsFocused()const
CCoeControl::IsNonFocusing()const
CCoeControl::IsReadyToDraw()const
CCoeControl::IsVisible()const
CCoeControl::LayoutManager()const
CCoeControl::MaximumWidth()const
CCoeControl::MopSupplyObject(TTypeUid)
CCoeControl::NotifyFontChange(const CCoeFontProvider *)
CCoeControl::Observer()const
CCoeControl::OverrideColorL(TInt,TRgb)
CCoeControl::OwnsWindow()const
CCoeControl::Parent()
CCoeControl::Parent()const
CCoeControl::Position()const
CCoeControl::PositionChanged()
CCoeControl::PositionRelativeToScreen()const
CCoeControl::PrepareForFocusGainL()
CCoeControl::PrepareForFocusLossL()
CCoeControl::ProcessPointerBufferReadyL()
CCoeControl::ProcessPointerEventL(const TPointerEvent &)
CCoeControl::Rect()const
CCoeControl::RecursivelyMergeInputCapabilities(TCoeInputCapabilities &)const
CCoeControl::RecursivelyMergedInputCapabilities()const
CCoeControl::RefetchPixelMappingL()
CCoeControl::RemoveFromParent()
CCoeControl::ReportEventL(MCoeControlObserver::TCoeEvent)
CCoeControl::RequestRelayout(const CCoeControl *)
CCoeControl::ResetGc()const
CCoeControl::ScreenFont(const TCoeFont &)const
CCoeControl::SetAllowStrayPointers()
CCoeControl::SetBackground(const MCoeControlBackground *)
CCoeControl::SetBlank()
CCoeControl::SetCanDrawOutsideRect()
CCoeControl::SetComponentsToInheritVisibility(TBool)
CCoeControl::SetContainerWindowL(RBackedUpWindow &)
CCoeControl::SetContainerWindowL(RWindow &)
CCoeControl::SetControlContext(MCoeControlContext *)
CCoeControl::SetCornerAndSize(TGulAlignment,const TSize &)
CCoeControl::SetCustomGc(CWindowGc *)
CCoeControl::SetExtent(const TPoint &,const TSize &)
CCoeControl::SetExtentToWholeScreen()
CCoeControl::SetFocus(TBool,TDrawNow)
CCoeControl::SetFocusing(TBool)
CCoeControl::SetFontProviderL(const CCoeFontProvider &)
CCoeControl::SetGc(CWindowGc *)const
CCoeControl::SetGloballyCapturing(TBool)
CCoeControl::SetHitTest(const MCoeControlHitTest *)
CCoeControl::SetLayoutManagerL(MCoeLayoutManager *)
CCoeControl::SetMaximumWidth(TInt)
CCoeControl::SetMopParent(MObjectProvider *)
CCoeControl::SetNeighbor(CCoeControl *)
CCoeControl::SetNonFocusing()
CCoeControl::SetObserver(MCoeControlObserver *)
CCoeControl::SetParent(CCoeControl *)
CCoeControl::SetPointerCapture(TBool)
CCoeControl::SetPosition(const TPoint &)
CCoeControl::SetRect(const TRect &)
CCoeControl::SetSize(const TSize &)
CCoeControl::SetSizeWithoutNotification(const TSize &)
CCoeControl::SetTextBaselineSpacing(TInt)
CCoeControl::SetUniqueHandle(TInt)
CCoeControl::SetZoomFactorL(TInt,TZoomType)
CCoeControl::Size()const
CCoeControl::SystemGc()const
CCoeControl::TextBaselineOffset(const TSize &)const
CCoeControl::TextDrawer(TInt)const
CCoeControl::UniqueHandle()const
CCoeControl::Window()const
CCoeControl::WriteInternalStateNowL(RWriteStream &)const
CCoeControl::ZoomWithType()const
CCoeControl::operator=(const CCoeControl &)
CCoeControl::~CCoeControl()
CEikBorderedControl::Border()const
CEikBorderedControl::CEikBorderedControl()
CEikBorderedControl::CEikBorderedControl(const TGulBorder &)
CEikBorderedControl::HasBorder()const
CEikBorderedControl::SetAdjacent(TInt)
CEikBorderedControl::SetBorder(TGulBorder::TBorderType)
CEikBorderedControl::SetBorder(TInt)
CEikBorderedControl::WriteInternalStateL(RWriteStream &)const
Public Member Enumerations
enumTFlags {
EMultipleSelection = SLafListBox::EMultipleSelection, ENoExtendedSelection = SLafListBox::ENoExtendedSelection, EIncrementalMatching = SLafListBox::EIncrementalMatching, EPopout = SLafListBox::EPopout, ELeftDownInViewRect = SLafListBox::ELeftDownInViewRect, EItemDoubleClicked = SLafListBox::EItemDoubleClicked, EKeepModel = SLafListBox::EKeepModel, EScrollBarSizeExcluded = SLafListBox::EScrollBarSizeExcluded, EStateChanged = SLafListBox::EStateChanged, ECreateOwnWindow = SLafListBox::ECreateOwnWindow, ENoFirstLetterMatching = SLafListBox::ENoFirstLetterMatching, EPaintedSelection = SLafListBox::EPaintedSelection, ELoopScrolling = 0x1000, EEnterMarks = 0x2000, EShiftEnterMarks = 0x4000, EViewerFlag = 0x8000, EPageAtOnceScrolling = 0x8000, EDisableHighlight = 0x8000, ES60StyleMultiselection = SLafListBox::ES60StyleMultiselection, ES60StyleMarkable = SLafListBox::ES60StyleMarkable, EDisableItemSpecificMenu = 0x00040000, EItemSpecificMenuAlwaysShown = 0x00080000
}
enumTScrollBarOwnerShip { ENotOwnedExternally = 0x0000, EOwnedExternally = 0x0001 }
Protected Member Enumerations
enumTReasonForFocusLost { EFocusLostToExternalControl, EFocusLostToInternalEditor }
Inherited Enumerations
CCoeControl:TZoomType
Protected Attributes
CListItemDrawer *iItemDrawer
TInt iItemHeight
CEikButtonBase *iLaunchingButton
TInt iListBoxFlags
MEikListBoxObserver *iListBoxObserver
MListBoxModel *iModel
TInt iRequiredHeightInNumOfItems
CEikScrollBarFrame *iSBFrame
TScrollBarOwnerShip iSBFrameOwned
CListBoxView *iView
Private Attributes
TRgb iBackColor
MEikListBoxEditor *iItemEditor
TBool iLastCharMatched
TBool *iLbxDestroyed
CListBoxExt *iListBoxExt
TMargins8 iMargins
TInt iSpare
TInt iViewRectHeightAdjustment
Inherited Attributes
CCoeControl::iCoeEnv
CCoeControl::iContext
CCoeControl::iPosition
CCoeControl::iSize
CEikBorderedControl::iBorder

Constructor & Destructor Documentation

CEikListBox()

IMPORT_CCEikListBox()

C++ default constructor.

~CEikListBox()

IMPORT_C~CEikListBox()

Destructor.

Member Functions Documentation

ActivateL()

IMPORT_C voidActivateL()[virtual]

From CCoeControl

Sets the control as ready to be drawn.

The application should call this function on all controls that are not components in a compound control.

The purpose of this function is that controls are not always ready to be drawn as soon as they have been constructed. For example, it may not be possible to set the control's extent during construction, but its extent should always be set before it is drawn. Similarly, if a control is to be made invisible, this should be done before it is activated.

The default implementation sets a flag in the control to indicate it is ready to be drawn. If the control is a compound control, the default implementation also calls ActivateL() for all the control's components. To get the control's components it uses CountComponentControls() and ComponentControl(), which should be implemented by the compound control.

ActivateL() is typically called from the control's ConstructL() function.

Notes:

This function can be overridden. This is useful for doing late initialisation of the control, using information that was not available at the time the control was created. For example, a text editor might override ActivateL() and use it to enquire whether it is focused: if it is, it makes the cursor and any highlighting visible. At the time when the editor is created, it doesn't know whether or not it has keyboard focus.

If overriding ActivateL(), the implementation must include a base call to CCoeControl's ActivateL().

AddItemChangeObserverL(MListBoxItemChangeObserver *)

IMPORT_C voidAddItemChangeObserverL(MListBoxItemChangeObserver *aObserver)

Adds an item change observer to the listbox. Duplicates are not checked (i.e. adding the same observer multiple times is not prevented).

Since
3.0

Parameters

MListBoxItemChangeObserver * aObserverMust be non-NULL.

AddSelectionObserverL(MListBoxSelectionObserver *)

IMPORT_C voidAddSelectionObserverL(MListBoxSelectionObserver *aObserver)

Adds a selection (item marking) observer to the listbox. Duplicates are not checked (i.e. adding the same observer multiple times is not prevented).

Since
3.2

Parameters

MListBoxSelectionObserver * aObserverMust be non-NULL.

AdjustRectHeightToWholeNumberOfItems(TRect &)

IMPORT_C TIntAdjustRectHeightToWholeNumberOfItems(TRect &aRect)const [protected, virtual]

Rounds down the height of the rectangle (if necessary) so that only a whole number of items can be displayed inside the list box.

Parameters

TRect & aRectThe rectangle to be modified.

AdjustTopItemIndex()

IMPORT_C voidAdjustTopItemIndex()const [protected, virtual]

Called by various functions of this class to ensure that the top item index is always a sane value. The implementation in CEikListBox tries to ensure the minimum amount of white space at the bottom of the list box. Note that this function does not affect the current item index.

BackColor()

IMPORT_C TRgbBackColor()const [protected]

Gets the background colour.

BackgroundDrawingSuppressed()

IMPORT_C TBoolBackgroundDrawingSuppressed()const

Checks whether background drawing is suppressed on item level i.e. each list item doesn't draw its background.

Since
S60 5.0

BottomItemIndex()

IMPORT_C TIntBottomItemIndex()const

Gets for the bottom items index.

Buffer()

CMatchBuffer *Buffer()const [protected]

Gets the list box match buffer.

CEikListBox_Reserved()

IMPORT_C voidCEikListBox_Reserved()[private, virtual]

CalcHeightBasedOnNumOfItems(TInt)

IMPORT_C TIntCalcHeightBasedOnNumOfItems(TIntaNumOfItems)const

Gets the height of the list box in pixels based on the width of the list box in characters.

Returns the number of items times the height of the font in pixels.

Parameters

TInt aNumOfItemsThe number of items.

CalcSizeInPixels(TInt, TInt)

IMPORT_C TSizeCalcSizeInPixels(TIntaWidthAsNumOfChars,
TIntaHeightAsNumOfItems
)const

Gets the size of the list box in pixels based on the height of the list box in items and the length of the items in characters.

Returns TSize element consisting of two elements, the height and the width. Height is the number of items times the height of the font in pixels. Width is the number of characters in a single line times the width of the font in pixels.

Parameters

TInt aWidthAsNumOfCharsWidth of list box in characters.
TInt aHeightAsNumOfItemsHeight of list box in characters.

CalcWidthBasedOnNumOfChars(TInt)

IMPORT_C TIntCalcWidthBasedOnNumOfChars(TIntaNumOfChars)const

Gets the width of the list box in pixels based on the width of the list box in characters.

Returns the number of characters times the width of a character in pixels.

Parameters

TInt aNumOfCharsThe number of characters.

CalcWidthBasedOnRequiredItemWidth(TInt)

IMPORT_C TIntCalcWidthBasedOnRequiredItemWidth(TIntaTextWidthInPixels)const

Gets the width of the list box in pixels based on the width of the list box text in pixels.

returns the width of the whole list box in pixels, which includes the text width and the width of elements in the list box that have an effect on the overall width.

Parameters

TInt aTextWidthInPixelsWidth of list box text in pixels.

CalculatePopoutRect(TInt, TInt, TRect &, TInt)

IMPORT_C voidCalculatePopoutRect(TIntaTargetItemIndex,
TIntaTargetYPos,
TRect &aListBoxRect,
TIntaMinHeightInNumOfItems = 1
)

Gets the size of the rectangle required to display a pop out.

Parameters

TInt aTargetItemIndexThe item from which the popout originates.
TInt aTargetYPosVertical position of the item from which the popout originates.
TRect & aListBoxRectThe list box rectangle.
TInt aMinHeightInNumOfItems = 1The minimum number of items for the popout.

ChangeSelectionMode(TBool)

voidChangeSelectionMode(TBoolaEnable)

This switches listbox into selection mode. Basicly only changes MSK and informs selection observers about the change.

Since
3.2

Parameters

TBool aEnableETrue when entering into selection mode, EFalse when leaving

CheckCreateBufferL()

voidCheckCreateBufferL()[protected]

Checks the list box match buffer exists. If a buffer does not exist, one is created.

CheckCreateExtension()

TBool CheckCreateExtension()[protected]

Checks for a list box extension. Creates one if not present.

CheckCreateExtensionL()

voidCheckCreateExtensionL()[protected]

Checks for a list box extension. Attempts to create one if not present.

This function leaves if an extension cannot be created.

ClearMargins()

IMPORT_C voidClearMargins()const [protected]

Clears the list box margins. The list box is redrawn only if redraws are enabled for the list box view.

ClearMargins(CWindowGc &)

voidClearMargins(CWindowGc &aGc)const [private]

Parameters

CWindowGc & aGc

ClearMatchBuffer()

IMPORT_C voidClearMatchBuffer()const [protected]

Empties the match buffer .

ClearSelection()

IMPORT_C voidClearSelection()

Clears the selection from the view.

ComponentControl(TInt)

IMPORT_C CCoeControl *ComponentControl(TIntaIndex)const [protected, virtual]

Gets an indexed component of a compound control.

There are two ways to implement a compound control. One way is to override this function. The other way is to use the CCoeControlArray functionality (see the InitComponentArrayL method).

Note: Within a compound control each component control is identified by an index, where the index depends on the order the controls were added: the first is given an index of 0, the next an index of 1, and so on.

Parameters

TInt aIndexThe index of the control.

ConstructL(MListBoxModel *, CListItemDrawer *, const CCoeControl *, TInt)

IMPORT_C voidConstructL(MListBoxModel *aListBoxModel,
CListItemDrawer *aListItemDrawer,
const CCoeControl *aParent,
TIntaFlags = 0
)

Handles 2nd phase construction.

Sets list box model and list item drawer. Request another ConstructL to handle aParent and aFlags.

Parameters

MListBoxModel * aListBoxModelList box model that is to be used with the list box.
CListItemDrawer * aListItemDrawerList item drawer that is to be used with the list box.
const CCoeControl * aParentHost CoeControl for the list box.
TInt aFlags = 0Construction flags (TFlags) for the list box.

ConstructL(MListBoxModel *, CListItemDrawer *, const CCoeControl *, TGulBorder, TInt)

IMPORT_C voidConstructL(MListBoxModel *aListBoxModel,
CListItemDrawer *aListItemDrawer,
const CCoeControl *aParent,
TGulBorderaBorder,
TIntaFlags = 0
)

Handles 2nd phase construction.

Sets the border that is to be drawn outside the list box. Request another ConstructL to handle list box model, list item drawer, aParent and aFlags.

Parameters

MListBoxModel * aListBoxModelList box model that is to be used with the list box.
CListItemDrawer * aListItemDrawerList item drawer that is to be used with the list box.
const CCoeControl * aParentHost CoeControl for the list box.
TGulBorder aBorderBorder to be drawn outside the list box.
TInt aFlags = 0Construction flags (TFlags) for the list box.

ConstructL(const CCoeControl *, TInt)

IMPORT_C voidConstructL(const CCoeControl *aParent,
TIntaFlags = 0
)[protected, virtual]

Second-phase constructor.

This protected form is overridden non-virtually by the second-phase constructors of each subclass, and should be invoked by them using CEikListBox::ConstructL().

Parameters

const CCoeControl * aParentThe parent control. May be NULL.
TInt aFlags = 0Construction flags.

CountComponentControls()

IMPORT_C TIntCountComponentControls()const [protected, virtual]

Gets the number of controls contained in a compound control.

There are two ways to implement a compound control. One way is to override this function. The other way is to use the CCoeControlArray functionality (see the InitComponentArrayL method).

CreateMatchBufferL()

IMPORT_C voidCreateMatchBufferL()[protected]

Creates a buffer for checking how well two strings match up.

CreateScrollBarFrameL(TBool)

IMPORT_C CEikScrollBarFrame *CreateScrollBarFrameL(TBoolaPreAlloc = EFalse)

Creates a scrollbar frame.

Parameters

TBool aPreAlloc = EFalseBoolean defining if there should be initial memory allocations.

CreateScrollBarFrameL(TBool, TBool)

IMPORT_C CEikScrollBarFrame *CreateScrollBarFrameL(TBoolaPreAlloc,
TBoolaRemote
)

Creates a scrollbar for the listbox. The caller may choose if the scrollbar is requested remotely via the mop chain from parent control

Parameters

TBool aPreAllocIs the scrollbar created immediately or when taking in to use
TBool aRemoteIf True, the scrollbar is obtained via mop-chain from parent control. If used, the listbox only sets the scrollbar values. The scrollbar position and size must set in the parent control's code.

CreateScrollBarFrameL(TBool, TBool, TBool)

IMPORT_C CEikScrollBarFrame *CreateScrollBarFrameL(TBoolaPreAlloc,
TBoolaRemote,
TBoolaWindowOwning
)

Creates a scrollbar for the listbox. The caller may choose if the scrollbar is requested remotely via the mop chain from parent control

Parameters

TBool aPreAllocIs the scrollbar created immediately or when taking in to use
TBool aRemoteIf True, the scrollbar is obtained via mop-chain from parent control. If used, the listbox only sets the scrollbar values. The scrollbar position and size must set in the parent control's code.
TBool aWindowOwningDoes the created scrollbar create own window or is it compound control. The listbox uses a window owning scrollbar by default.

CreateScrollBarFrameLayout(TEikScrollBarFrameLayout &)

IMPORT_C voidCreateScrollBarFrameLayout(TEikScrollBarFrameLayout &aLayout)const [protected]

Creates a scroll bar frame layout according to aLayout.

Parameters

TEikScrollBarFrameLayout & aLayoutDefines the layout.

CreateViewL()

IMPORT_C voidCreateViewL()[protected, virtual]

Completes the list box view?s construction.

This function is called by ConstructL() to complete construction of the resource view, calling its ConstructL() with appropriate arguments and assigning it to iView. Also prepares the view for use.

CurrentItemIndex()

IMPORT_C TIntCurrentItemIndex()const

Gets the index number of the selected item.

DisableItemSpecificMenu()

IMPORT_C voidDisableItemSpecificMenu()

Disables item specific menu from the list. This has the same effect as construction time flag EAknListBoxItemSpecificMenuDisabled and calling this method also turns that flag on.

Since
S60 5.2

DisableScrolling(TBool)

IMPORT_C voidDisableScrolling(TBoolaDisabled)

Disables the kinetic scrolling functionality in the list. By default the feature is enabled.

Since
5.0

Parameters

TBool aDisabledETrue to disable kinetic scrolling, EFalse otherwise.

DisableSingleClick(TBool)

IMPORT_C voidDisableSingleClick(TBoolaDisabled)

Disables the single click functionality in the list. By default the feature is enabled.

Since
S60 5.2

Parameters

TBool aDisabledETrue to disable single click EFalse does currently nothing

DoOfferKeyEventL(const TKeyEvent &, TEventCode)

TKeyResponse DoOfferKeyEventL(const TKeyEvent &aKeyEvent,
TEventCodeaType
)[private]

Parameters

const TKeyEvent & aKeyEvent
TEventCode aType

DoShiftMSKMarkingL()

voidDoShiftMSKMarkingL()

Called from MSK observer when shift+MSK have been pressed

S60 3.1

Draw(const TRect &)

IMPORT_C voidDraw(const TRect &aRect)const [protected, virtual]

Redraws the specified area of this list box into the specified rectangle.

Parameters

const TRect & aRectRectangle to be redrawn. Specified relative to the origin of this control.

DrawItem(TInt)

IMPORT_C voidDrawItem(TIntaItemIndex)const

Draws a list box item, first scrolling the list to make it visible if it is not already.

DrawItem() panics if there is no list box view currently set.

Parameters

TInt aItemIndexIndex of the item to reveal.

DrawItemInView(TInt)

voidDrawItemInView(TIntaItemIndex)const [private]

Parameters

TInt aItemIndex

DrawMatcherCursor()

IMPORT_C voidDrawMatcherCursor()const [protected]

Draws the matcher cursor in the correct location for the current match. If there is no match buffer, this function returns immediately; otherwise the cursor is drawn on the current item using CListBoxView::DrawMatcherCursor() after scrolling to make the current item visible.

A list box control?s matcher cursor is an on-screen cursor which is drawn to indicate to the user the location of the current text. Whether the cursor is drawn is dependent on the CListBoxView::TFlags::EHasMatcherCursor flag, which may be set on the list box?s view.

Note, that CListBoxView::DrawMatcherCursor() is not implemented in S60.

EditItemL(TInt)

IMPORT_C voidEditItemL(TIntaMaxLength)[virtual]

Creates an item editor and starts editing the current item.

The editor can edit the current item up to a maximum length of aMaxLength characters. Also reports an EEventEditingStarted event to any list box observer by default.

The function only creates a new editor if one does not already exist.

Creates an item editor, if one does not already exist, and starts editing the current item up to a maximum length of aMaxLength characters. Also reports an EEventEditingStarted event to any list box observer by default.

Since
ER5U

Parameters

TInt aMaxLengthMaximum length of characters to edit.

EnableMSKObserver(TBool)

IMPORT_C voidEnableMSKObserver(TBoolaEnable)

By default markable listbox has middle softkey observer, which handles Mark / Unmark functionality. By this method, the caller may disable default observer.

Since
S60 3.1

Parameters

TBool aEnableIf EFalse, disables default middle softkey observer for markable lists. ETrue enables observer again.

EventModifiers()

IMPORT_C TIntEventModifiers()

ExtensionInterface(TUid)

IMPORT_C void *ExtensionInterface(TUidaInterface)[private, virtual]

Parameters

TUid aInterface

FireItemChange()

IMPORT_C voidFireItemChange()[protected]

Notifies item change observers about item change. Subclasses must call this method if they have implemented item handling functions (e.g. HandleItemAdditionL or HandleItemRemovalL).

Since
S60 3.0

FocusChanged(TDrawNow)

IMPORT_C voidFocusChanged(TDrawNowaDrawNow)[protected, virtual]

Responds to a change in focus.

This is called whenever the control gains or loses focus, as a result of a call to SetFocus(). A typical use of FocusChanged() is to change the appearance of the control, for example by drawing a focus rectangle around it.

The default implementation is empty, and should be overridden by the CCoeControl-derived class.

Parameters

TDrawNow aDrawNowContains the value that was passed to it by SetFocus().

GetColorUseListL(CArrayFix< TCoeColorUse > &)

IMPORT_C voidGetColorUseListL(CArrayFix< TCoeColorUse > &aColorUseList)const [virtual]

From CCoeControl

Gets the list of logical colours employed in the drawing of the control, paired with an explanation of how they are used. Appends the list to aColorUseList.

Gets the list of logical colors employed in the drawing of the control, paired with an explanation of how they are used. Appends the list to aColorUseList.

Since
ER5U

Parameters

CArrayFix< TCoeColorUse > & aColorUseListList of logical colours.

HandleDragEventL(TPoint)

IMPORT_C voidHandleDragEventL(TPointaPointerPos)[protected, virtual]

Handles drag events.

This function is called by HandlePointerEventL() to handle pointer drag events appropriately.

Parameters

TPoint aPointerPosThe position of the TPointerEvent for which this handler is invoked.

HandleItemAdditionL()

IMPORT_C voidHandleItemAdditionL()

Handles the addition of item to the list box.

HandleItemAdditionL(CArrayFix< TInt > &)

IMPORT_C voidHandleItemAdditionL(CArrayFix< TInt > &aArrayOfNewIndexesAfterAddition)

Handles the addition of new items to the list box and updates selection indexes array.

NOTE. This algorithm can not handle position of the list highlight nor can it update the top item index correctly.

Parameters

CArrayFix< TInt > & aArrayOfNewIndexesAfterAdditionArray of new indexes to be added.

HandleItemRemovalL()

IMPORT_C voidHandleItemRemovalL()

Handles the removal of an item from the list box.

HandleItemRemovalL(CArrayFix< TInt > &)

IMPORT_C voidHandleItemRemovalL(CArrayFix< TInt > &aArrayOfOldIndexesBeforeRemoval)

Handles the removal of items to the list box and updates selection indexes array.

NOTE. This algorithm cannot handle position of the list highlight nor can it update the top item index correctly.

Parameters

CArrayFix< TInt > & aArrayOfOldIndexesBeforeRemovalArray of indexes to be removed.

HandleItemRemovalWithoutSelectionsL()

voidHandleItemRemovalWithoutSelectionsL()[private]

HandleLeftArrowKeyL(CListBoxView::TSelectionMode)

IMPORT_C voidHandleLeftArrowKeyL(CListBoxView::TSelectionModeaSelectionMode)[protected, virtual]

Handles a left arrow key event.

The method used to handle the event depends on the selection mode, e.g. whether the user has pressed the SHIFT or CONTROL key.

Parameters

CListBoxView::TSelectionMode aSelectionModeNot used

HandlePhysicsPointerEventL(const TPointerEvent &)

TBool HandlePhysicsPointerEventL(const TPointerEvent &aPointerEvent)[private]

Handles pointer events if physics are enabled.

Parameters

const TPointerEvent & aPointerEvent

HandlePhysicsScrollEventL(TInt)

IMPORT_C voidHandlePhysicsScrollEventL(TIntaDeltaPixels)

Scrolls the view by the given amount of pixels while keeping the physics parameters up-to-date. This should be called when scrolling the list box view except for when it is done by list dragging (e.g. scrolling with scroll bar).

Since
5.0

Parameters

TInt aDeltaPixelsAmount of pixels to scroll the view.

HandlePointerEventL(const TPointerEvent &)

IMPORT_C voidHandlePointerEventL(const TPointerEvent &aPointerEvent)[virtual]

Handling of pointer event within the CEikListBox. Used for e.g. selecting an item from the list box.

Parameters

const TPointerEvent & aPointerEventDetails of the pointer event that is being handled.

HandleResourceChange(TInt)

IMPORT_C voidHandleResourceChange(TIntaType)[virtual]

From CCoeControl

Handles a change to the list box?s resources of type aType which are shared across the environment, colours or fonts for example.

Handles a change to the control's resources of type aType which are shared across the environment, e.g. colors or fonts.

Since
ER5U

Parameters

TInt aTypeThe type of resources that have changed.

HandleRightArrowKeyL(CListBoxView::TSelectionMode)

IMPORT_C voidHandleRightArrowKeyL(CListBoxView::TSelectionModeaSelectionMode)[protected, virtual]

Handles a right arrow key event.

The method used to handle the event depends on the selection mode, e.g. whether the user has pressed the SHIFT or CONTROL key.

Parameters

CListBoxView::TSelectionMode aSelectionModeNot used.

HandleScrollEventL(CEikScrollBar *, TEikScrollEvent)

IMPORT_C voidHandleScrollEventL(CEikScrollBar *aScrollBar,
TEikScrollEventaEventType
)[virtual]

Used for scrolling through the items in the list box.

Parameters

CEikScrollBar * aScrollBarScroll bar for the list box.
TEikScrollEvent aEventTypeType of the event that occured.

HandleViewRectSizeChangeL()

IMPORT_C voidHandleViewRectSizeChangeL()[protected, virtual]

Handles the change in case that the size of the view rectangle for the list box changes.

HighlightRect()

IMPORT_C TRectHighlightRect()const

Gets the position and the size of the list box.

HorizScrollGranularityInPixels()

IMPORT_C TIntHorizScrollGranularityInPixels()const [protected, virtual]

Get horizontal scroll granularity in pixels. The granularity is the minimum size of a horizontal move of the client area.

HorizontalMargin()

IMPORT_C TIntHorizontalMargin()const [protected]

This function gets the horizontal margin. Use CEikListBox::ListBoxMargins() instead, as this provides a more accurate value due to the bit shifting involved.

Use CEikListBox::ListBoxMargins() @ deprecated Use CEikListBox::ListBoxMargins() instead, to get more accurate values, as use of this method may cause a single pixel error if the laf is being used, due to the bit shifting involved

HorizontalNudgeValue()

IMPORT_C TIntHorizontalNudgeValue()const [protected, virtual]

Gets the number of grains to move horizontally when a nudge button is tapped. For simple list boxes, this value is a fraction of the width of the client area.

HorizontalScroll(TInt)

voidHorizontalScroll(TIntaScrollAmountInPixels)[private]

Parameters

TInt aScrollAmountInPixels

InformMSKButtonGroupDeletion()

voidInformMSKButtonGroupDeletion()

This method is only called by CEikButtonGroupContainer when MSK observer is enabled and CEikButtonGroupContainer is deleted.

S60 3.1

InputCapabilities()

IMPORT_C TCoeInputCapabilitiesInputCapabilities()const [virtual]

From CCoeControl.

Gets the input capabilities of the control and all its components.

InterItemGap()

IMPORT_C TIntInterItemGap()[protected, static]

Gets the vertical gap between elements in the list box.

IsHighlightEnabled()

IMPORT_C TBoolIsHighlightEnabled()

Checks if highlight drawing is enabled. If single click is enabled highlight drawing is by default disabled, but highlight comes visible with hardware keys.

Since
S60 5.2

IsMatchBuffer()

IMPORT_C TBoolIsMatchBuffer()const [protected]

Tests whether the list box match buffer exists.

IsMultiselection()

IMPORT_C TBoolIsMultiselection()

ItemEditor()

IMPORT_C MEikListBoxEditor *ItemEditor()

Gets item editor for the current class.

Returns a pointer to the item editor. Does not imply transfer of ownership.

Since
ER5U

ItemExists(TInt)

IMPORT_C TBoolItemExists(TIntaItemIndex)const [protected]

Tests whether an item exists.

Parameters

TInt aItemIndexIndex to test.

ItemHeight()

IMPORT_C TIntItemHeight()const

Gets height of the item.

ItemsInSingleLine()

IMPORT_C TIntItemsInSingleLine()const

Gets the number of list items in one line. This is more than one for grids only.

Since
S60 5.2

LastCharMatched()

IMPORT_C TBoolLastCharMatched()const [protected]

Checks if the last character matched with the string.

ListBoxMargins()

IMPORT_C TMargins8ListBoxMargins()const [protected]

Gets list box margins.

@ since uikon_1.2 A method which returns a TMargins object for the list box. The TMargins object has 4 values, one for each side of the list box. Depending on use of the Laf, the DFRD can program 2, 3 or 4 margins ... ... but although the application developer can see up to 4 different margins ... ... they can only set 2 (ie. iHorizontalMargin and iVerticalMargin)

MakeViewClassInstanceL()

IMPORT_C CListBoxView *MakeViewClassInstanceL()[protected, virtual]

Creates the list box view.

The function is called by ConstructL() to create an instance of the appropriate list box view class for this list box. The returned instance is owned by this object, and does not have to have its second-phase constructor run. This function is called by CreateViewL().

MakeVisible(TBool)

IMPORT_C voidMakeVisible(TBoolaVisible)[virtual]

Sets this control as visible or invisible.

Since
5.2

Parameters

TBool aVisibleETrue to make the control visible, EFalse to make it invisible.

MarkingMode()

TBool MarkingMode()const [private]

Checks whether marking mode is on or off.

Since
S60 5.2

MarkingModeObserver()

MAknMarkingModeObserver *MarkingModeObserver()[private]

Returns the marking mode observer.

Since
S60 5.2

MatchBuffer()

IMPORT_C RIncrMatcherBase *MatchBuffer()const [protected]

Gets a pointer to the match buffer. Returns NULL if the match buffer does not exist.

MatchTypedCharL(TUint)

IMPORT_C voidMatchTypedCharL(TUintaCode)[protected]

Checks matching for the given character.

Parameters

TUint aCodeCharacter code.

MinimumSize()

IMPORT_C TSizeMinimumSize()[virtual]

Checks the minimum size needed for the list box.

Model()

IMPORT_C MListBoxModel *Model()const

Gets the list box data model.

OfferKeyEventL(const TKeyEvent &, TEventCode)

IMPORT_C TKeyResponseOfferKeyEventL(const TKeyEvent &aKeyEvent,
TEventCodeaType
)[virtual]

Informs the CEikListbox of a key press.

Parameters

const TKeyEvent & aKeyEventDetails of the key event that is being handled.
TEventCode aTypeDefines what kind of key event is being handled e.g. EEventKeyUp.

ReasonForFocusLostL()

IMPORT_C TReasonForFocusLostReasonForFocusLostL()[protected]

Gets the reason for the list box?s loss of focus.

RedrawItem(TInt)

IMPORT_C voidRedrawItem(TIntaItemIndex)
Redraws list item.
Since
3.2

Parameters

TInt aItemIndexindex of item to be redrawn.

RemoveItemChangeObserver(MListBoxItemChangeObserver *)

IMPORT_C TBoolRemoveItemChangeObserver(MListBoxItemChangeObserver *aObserver)

Removes an item change observer from the listbox.

Since
3.0

Parameters

MListBoxItemChangeObserver * aObserverThe observer to be removed.

RemoveSelectionObserver(MListBoxSelectionObserver *)

IMPORT_C voidRemoveSelectionObserver(MListBoxSelectionObserver *aObserver)

Removes a selection (item marking) observer from the listbox.

Since
3.2

Parameters

MListBoxSelectionObserver * aObserverThe observer to be removed.

ReportListBoxEventL(MEikListBoxObserver::TListBoxEvent)

IMPORT_C voidReportListBoxEventL(MEikListBoxObserver::TListBoxEventaEvent)[protected, virtual]

Reports a list box event to any observer of this list box. This function returns immediately if no observer is set.

Parameters

MEikListBoxObserver::TListBoxEvent aEventThe event to report.

Reset()

IMPORT_C voidReset()

Deletes the item editor

ResetItemEditor()

IMPORT_C voidResetItemEditor()

Resets the list boxes item editor.

Deletes and NULLs the item editor.

Since
ER5U

RestoreClientRectFromViewRect(TRect &)

IMPORT_C voidRestoreClientRectFromViewRect(TRect &aClientRect)const [protected, virtual]

Calculates the client area.

This method is called by various functions of this class to recalculate the extent of the client area from iViewRect. This implementation takes into account any rounding of the viewing rectangle made to fit a whole number of items.

Parameters

TRect & aClientRectOn return contains a size for the client area in pixels.

RestoreCommonListBoxPropertiesL(TResourceReader &)

IMPORT_C voidRestoreCommonListBoxPropertiesL(TResourceReader &aReader)[protected]

Restores the list box properties shared by all subclasses from a resource reader. This function is not called within CEikListBox itself, but is used by subclasses which support construction from resources.

Parameters

TResourceReader & aReaderA resource reader.

ScrollBarFrame()

IMPORT_C CEikScrollBarFrame *constScrollBarFrame()

Gets pointer for the scroll bar frame.

ScrollToMakeItemVisible(TInt)

IMPORT_C voidScrollToMakeItemVisible(TIntaItemIndex)const

Makes an item visible in the list, scrolling it if necessary.

Parameters

TInt aItemIndexIndex of the item to reveal.

ScrollView(const TInt, TBool)

voidScrollView(const TIntaOffset,
TBoolaDrawNow
)[private]

Scrolls the view by the given amount of pixels.

Parameters

const TInt aOffsetAmount of offset in pixels.
TBool aDrawNowWhether or not the view is be drawn. If EFalse then only the logical state is updated.

ScrollingDisabled()

IMPORT_C TBoolScrollingDisabled()

Checks if the kinetic scrolling is currently enabled in the list.

Since
5.0

SelectionIndexes()

IMPORT_C const CListBoxView::CSelectionIndexArray *SelectionIndexes()const

Gets for list boxes selection indexes.

SetContainerWindowL(const CCoeControl &)

IMPORT_C voidSetContainerWindowL(const CCoeControl &aContainer)[virtual]

Creates an own window for the list box or draws the list box to an old window defined by the aContainer.

Parameters

const CCoeControl & aContainerDefines the container where the list box will be drawn.

SetCurrentItemIndex(TInt)

IMPORT_C voidSetCurrentItemIndex(TIntaItemIndex)const

Changes the current item index to the selected item index. Does not redraw the list. If the item was not previously visible it is set to the top item in the view.

Parameters

TInt aItemIndexDefines the index of the selected item.

SetCurrentItemIndexAndDraw(TInt)

IMPORT_C voidSetCurrentItemIndexAndDraw(TIntaItemIndex)const

Changes the current item index to the selected item index and redraws the view.

Parameters

TInt aItemIndexDefines the index of the selected item.

SetDimmed(TBool)

IMPORT_C voidSetDimmed(TBoolaDimmed)[virtual]

This function sets a flag within the control which indicates whether or not the control is dimmed (greyed out).

Parameters

TBool aDimmedETrue dimmed. EFalse not dimmed.

SetHorizontalMargin(TInt)

IMPORT_C voidSetHorizontalMargin(TIntaMargin)[protected]

Sets the horizontal margin.

Parameters

TInt aMarginThe required horizontal margin.

SetItemEditor(MEikListBoxEditor *)

IMPORT_C voidSetItemEditor(MEikListBoxEditor *aEditor)

Selects an item editor for the list box.

Sets the item editor to aEditor and transfers ownership.

Since
ER5U

Parameters

MEikListBoxEditor * aEditorThe editor that has been selected for usage.

SetItemHeightL(TInt)

IMPORT_C voidSetItemHeightL(TIntaHeight)[virtual]

Sets the height of the item to the selected value.

Parameters

TInt aHeightNew height for the item.

SetItemsInSingleLine(TInt)

IMPORT_C voidSetItemsInSingleLine(TIntaItems)

Sets the number of list items that form one grid line.

Since
S60 5.0

Parameters

TInt aItemsNumber of items in one grid line.

SetLaunchingButton(CEikButtonBase *)

IMPORT_C voidSetLaunchingButton(CEikButtonBase *aButton)

Provides a call back mechanism to the button which just launched a popout menu.

Parameters

CEikButtonBase * aButtonThe button which just launched a popout menu.

SetListBoxObserver(MEikListBoxObserver *)

IMPORT_C voidSetListBoxObserver(MEikListBoxObserver *aObserver)

Sets the observer for the list box.

Parameters

MEikListBoxObserver * aObserverWanted observer for the list box.

SetMarkingMode(TBool)

IMPORT_C voidSetMarkingMode(TBoolaEnable)

Turns the marking mode on / off.

Since
S60 5.2

Parameters

TBool aEnableETrue to turn marking mode on EFalse to turn marking mode off

SetMarkingModeObserver(MAknMarkingModeObserver *)

IMPORT_C voidSetMarkingModeObserver(MAknMarkingModeObserver *aObserver)

Sets the marking mode observer.

Since
S60 5.2

Parameters

MAknMarkingModeObserver * aObserverMarking mode observer, NULL removes the existing observer.

SetPointerEventFilterDisabledL(const CArrayFix< TInt > &)

IMPORT_C voidSetPointerEventFilterDisabledL(const CArrayFix< TInt > &aItemIndexes)

Removes pointer event filtering for list items.

When there are two pointer up events on the same item at short interval, listbox will only get the first one and drop the second one. This method forces listbox to handle all pointer up events.

Since
S60 5.0

Parameters

const CArrayFix< TInt > & aItemIndexesArray of item indexes to be added.

SetReasonForFocusLostL(TReasonForFocusLost)

IMPORT_C voidSetReasonForFocusLostL(TReasonForFocusLostaReasonForFocusLost)[protected]

Sets the reason for the list box?s loss of focus.

This is required so the list box can determine whether loss of focus is due to an external control or an internal component.

Parameters

TReasonForFocusLost aReasonForFocusLostThe reason for the loss of focus.

SetScrollBarFrame(CEikScrollBarFrame *, TScrollBarOwnerShip)

IMPORT_C voidSetScrollBarFrame(CEikScrollBarFrame *aScrollBarFrame,
TScrollBarOwnerShipaOwnerShip
)

Sets the given scroll bar frame for the list box with the given ownership leve.

Parameters

CEikScrollBarFrame * aScrollBarFrameThe new frame that is going to be used.
TScrollBarOwnerShip aOwnerShipOwnership level of the scroll bar frame.

SetSelectionIndexesL(CListBoxView::CSelectionIndexArray *)

IMPORT_C voidSetSelectionIndexesL(CListBoxView::CSelectionIndexArray *aArrayOfSelectionIndexes)

Assigns a array of selection indexes for the list box.

Parameters

CListBoxView::CSelectionIndexArray * aArrayOfSelectionIndexesThe index array that is to be assigned to the list Box.

SetShortcutValueFromPrevList(TInt)

IMPORT_C voidSetShortcutValueFromPrevList(TIntaValue)[virtual]

No Implementation.

Parameters

TInt aValueNot Used.

SetTopItemIndex(TInt)

IMPORT_C voidSetTopItemIndex(TIntaItemIndex)const [virtual]

Sets the selected item to be the top item.

Parameters

TInt aItemIndexIndex for the item to be set as the top item.

SetVerticalMargin(TInt)

IMPORT_C voidSetVerticalMargin(TIntaMargin)[protected]

Sets the vertical margin.

Parameters

TInt aMarginThe required vertical margin.

SetViewRectFromClientRect(const TRect &)

IMPORT_C voidSetViewRectFromClientRect(const TRect &aClientRect)[protected]

Sets the view rectangle from the client rectangle making sure a whole number of items is displayed.

Parameters

const TRect & aClientRectThe client rectangle

SetViewRectHeightAdjustment(TInt)

IMPORT_C voidSetViewRectHeightAdjustment(TIntaAdjustment)[protected]

Sets the view rectangle height adjustment.

Parameters

TInt aAdjustmentNew adjustment.

ShortcutValueForNextList()

IMPORT_C TIntShortcutValueForNextList()[virtual]

No Implementation.

SimulateArrowKeyEventL(TKeyCode)

IMPORT_C voidSimulateArrowKeyEventL(TKeyCodeaKeyCode)[protected]

Simulates an arrow key event.

If the list box flags include EMultipleSelection, this has the effect of pressing SHIFT with the arrow key represented by aKeyCode. Calls CEikListBox::OfferKeyEventL() with aKeyCode translated into a key event.

Parameters

TKeyCode aKeyCodeA key code.

SizeChanged()

IMPORT_C voidSizeChanged()[protected, virtual]

Responds to changes to the size and position of the contents of this control.

For a simple control this might include text or graphics. For a compound control it sets the size and position of the components. It has an empty default implementation and should be implemented by the CCoeControl-derived class.

The function is called whenever SetExtent(), SetSize(), SetRect(), SetCornerAndSize(), or SetExtentToWholeScreen() are called on the control. Note that the window server does not generate size-changed events: SizeChanged() gets called only as a result of calling the functions listed above. Therefore, if a resize of one control affects the size of other controls, it is up to the application to ensure that it handles the re-sizing of all affected controls.

StopEditingL(TBool)

IMPORT_C voidStopEditingL(TBoolaUpdateModel)

Stops editing and deletes the item editor.

The function reports an EEventEditingStopped event to any list box observer, and updates the list box model if aUpdateModel is ETrue.

Stops editing and deletes the item editor, reporting an EEventEditingStopped event to any list box observer. Updates the list box model if aUpdateModel is ETrue.

Since
ER5U

Parameters

TBool aUpdateModelIf ETrue the list box model is updated.

SuspendEffects(TBool)

IMPORT_C voidSuspendEffects(TBoolaSuspend)

Suspends transitions effects.

Since
S60 5.0

Parameters

TBool aSuspendETrue to suspend effects, EFalse to re-enable them.

TopItemIndex()

IMPORT_C TIntTopItemIndex()const

Gets the index number of the top item.

UndoLastChar()

IMPORT_C voidUndoLastChar()[protected]

Undoes changes from the match buffer that have been caused by the last match with a character.

UpdateCurrentItem(TInt)

IMPORT_C voidUpdateCurrentItem(TIntaItemIndex)const [protected, virtual]

Sets an item as the current item, even if it is not currently visible. Redraws the list box to reflect the change. This should not be called from within another Draw function.

Parameters

TInt aItemIndexThe index of the list box item to update.

UpdateHighlightL(TInt)

voidUpdateHighlightL(TIntaItemIndex)[private]

Selects an item and draws highlight to it.

Parameters

TInt aItemIndexIndex of the highlighted item.

UpdateItemDrawerColors()

IMPORT_C voidUpdateItemDrawerColors()[protected]

Updates the item drawer colours in line with the colours in effect for the Uikon environment. Has no effect if there is no item drawer.

UpdateMarkUnmarkMSKL()

voidUpdateMarkUnmarkMSKL()const [protected]

If MiddleSoftKey is either Mark or Unmark, this method sets MSK according to the current item selection state.

UpdateScrollBarColors(CEikScrollBar *)

voidUpdateScrollBarColors(CEikScrollBar *aScrollBar)[private]

Parameters

CEikScrollBar * aScrollBar

UpdateScrollBarThumbs()

IMPORT_C voidUpdateScrollBarThumbs()const [protected, virtual]

Updates the position of this list box?s scroll bars? thumbs to reflect the horizontal and vertical position of the list view within the list.

UpdateScrollBarsColors()

voidUpdateScrollBarsColors()[private]

UpdateScrollBarsL()

IMPORT_C voidUpdateScrollBarsL()[virtual]

Updates all scroll bars.

UpdateViewColors()

IMPORT_C voidUpdateViewColors()[protected]

Updates the view colours in line with the colours in effect for the Uikon environment. Has no effect if there is no view.

VerticalInterItemGap()

IMPORT_C TIntVerticalInterItemGap()const

Gets the size of the vertical gap between items. This space is used by the view to allow a box to be drawn around each item.

VerticalMargin()

IMPORT_C TIntVerticalMargin()const [protected]

This function gets the vertical margin. This function is deprecated, use CEikListBox::ListBoxMargins() instead, this provides a more accurate value due to the bit shifting involved.

Use CEikListBox::ListBoxMargins() @ deprecated Use CEikListBox::ListBoxMargins() instead, to get more accurate values, as use of this method may cause a single pixel error if the laf is being used, due to the bit shifting involved

View()

IMPORT_C CListBoxView *View()const

Gets the list box view.

ViewRectHeightAdjustment()

IMPORT_C TIntViewRectHeightAdjustment()const [protected]

Gets the view rectangle height adjustment.

These are the adjustments that were made to the view rectangle when the SetViewRectFromClientRect() function was called.

Member Enumerations Documentation

Enum TFlags

Construction flags.

Enumerators

EMultipleSelection = SLafListBox::EMultipleSelection

Construction flag for a list box from which the user can select multiple items.

ENoExtendedSelection = SLafListBox::ENoExtendedSelection

Construction flag for disabling extended selection. If this is set the user cannot select multiple items by using SHIFT button.

EIncrementalMatching = SLafListBox::EIncrementalMatching

Construction flag that sets the list box to match user?s keystrokes incrementally.

EPopout = SLafListBox::EPopout

Construction flag for setting the list box as a pop-out list box. Pop-out list boxes handle certain keystrokes and events differently.

ELeftDownInViewRect = SLafListBox::ELeftDownInViewRect

Construction flag that enables the indication of pointer press inside the view of the list box.

EItemDoubleClicked = SLafListBox::EItemDoubleClicked

Construction flag for enabling CEiklist box item double click indication.

EKeepModel = SLafListBox::EKeepModel

Construction flag for removing the ownership of the supplied list box model from the CEikListBox so that the list box model will not be deleted with the CEikListBoxes destruction.

EScrollBarSizeExcluded = SLafListBox::EScrollBarSizeExcluded

Construction flag for excluding the scroll bar. If the flag is set the scroll bas is drawn ouside the window that describes the scroll bars extent.

EStateChanged = SLafListBox::EStateChanged

Construction flag for enabling CEikListBox change indication.

ECreateOwnWindow = SLafListBox::ECreateOwnWindow

Construction flag that indicates that the list box should be created to its own window.

ENoFirstLetterMatching = SLafListBox::ENoFirstLetterMatching

Construction flag for disabling key matching.

EPaintedSelection = SLafListBox::EPaintedSelection

Construction flag for enabling painting of selected items.

ELoopScrolling = 0x1000

Construction flag for enabling loop scrolling in which the list box jumps from the last item to the first item.

EEnterMarks = 0x2000

Construction flag for enabling Avkon multiselection list.

EShiftEnterMarks = 0x4000

Construction flag for enabling Avkon markable list which enables the marking of several items from the list.

EViewerFlag = 0x8000

Construction flag that combines EPageAtOnceScrolling and EDisableHighlight flags

EPageAtOnceScrolling = 0x8000

Construction flag for enabling scrolling at a page per time so that the whole list box page is scrolled to the next.

EDisableHighlight = 0x8000

Construction flag for disabling the highlighting of the selected item.

ES60StyleMultiselection = SLafListBox::ES60StyleMultiselection

Construction flag for enabling S60 style selection of multiple items from the list box.

ES60StyleMarkable = SLafListBox::ES60StyleMarkable

Construction flag for enabling S60 style markable items.

EDisableItemSpecificMenu = 0x00040000

Construction flag for disabling item specific stylus popup menu.

EItemSpecificMenuAlwaysShown = 0x00080000

Construction flag to make item specific stylus popup menu always shown regardless of list's marking state if the tapped item has associated commands.

Enum TReasonForFocusLost

Used for indicating the reason why the item lost focus.

Enumerators

EFocusLostToExternalControl

Focus has been lost from the list box to an external control.

EFocusLostToInternalEditor

Focus has been moved from the list box to an internal editor.

Enum TScrollBarOwnerShip

Indicates who owns the scroll bar.

Enumerators

ENotOwnedExternally = 0x0000

Indicates that the scrollbar is not owned by an external class.

EOwnedExternally = 0x0001

Indicates that the scrollbar is owned by an external class.

Member Data Documentation

TRgb iBackColor

TRgb iBackColor[private]

CListItemDrawer * iItemDrawer

CListItemDrawer *iItemDrawer[protected]

Item drawer for this list box

MEikListBoxEditor * iItemEditor

MEikListBoxEditor *iItemEditor[private]

TInt iItemHeight

TInt iItemHeight[protected]

Height of each item in the list

TBool iLastCharMatched

TBool iLastCharMatched[private]

CEikButtonBase * iLaunchingButton

CEikButtonBase *iLaunchingButton[protected]

Defines which button launched the popout.

TBool * iLbxDestroyed

TBool *iLbxDestroyed[private]

CListBoxExt * iListBoxExt

CListBoxExt *iListBoxExt[private]

TInt iListBoxFlags

TInt iListBoxFlags[protected]

Flags for this list box

MEikListBoxObserver * iListBoxObserver

MEikListBoxObserver *iListBoxObserver[protected]

The button which just launched a popout menu.

TMargins8 iMargins

TMargins8 iMargins[private]

MListBoxModel * iModel

MListBoxModel *iModel[protected]

Data model for this list box

TInt iRequiredHeightInNumOfItems

TInt iRequiredHeightInNumOfItems[protected]

The required height of this list box expressed in terms of a number of items.

CEikScrollBarFrame * iSBFrame

CEikScrollBarFrame *iSBFrame[protected]

The scroll bar used by this control

TScrollBarOwnerShip iSBFrameOwned

TScrollBarOwnerShip iSBFrameOwned[protected]

Identifies if the scroll bar is owned by this list

TInt iSpare

TInt iSpare[private]

CListBoxView * iView

CListBoxView *iView[protected]

This List box's view

TInt iViewRectHeightAdjustment

TInt iViewRectHeightAdjustment[private]