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 void ActivateL ()
IMPORT_C void AddItemChangeObserverL ( MListBoxItemChangeObserver *)
IMPORT_C void AddSelectionObserverL ( MListBoxSelectionObserver *)
IMPORT_C TBool BackgroundDrawingSuppressed ()
IMPORT_C TInt BottomItemIndex ()
IMPORT_C TInt CalcHeightBasedOnNumOfItems ( TInt )
IMPORT_C TSize CalcSizeInPixels ( TInt , TInt )
IMPORT_C TInt CalcWidthBasedOnNumOfChars ( TInt )
IMPORT_C TInt CalcWidthBasedOnRequiredItemWidth ( TInt )
IMPORT_C void CalculatePopoutRect ( TInt , TInt , TRect &, TInt )
void ChangeSelectionMode ( TBool )
IMPORT_C void ClearSelection ()
IMPORT_C void ConstructL ( MListBoxModel *, CListItemDrawer *, const CCoeControl *, TInt )
IMPORT_C void ConstructL ( 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 TInt CurrentItemIndex ()
IMPORT_C void DisableItemSpecificMenu ()
IMPORT_C void DisableScrolling ( TBool )
IMPORT_C void DisableSingleClick ( TBool )
void DoShiftMSKMarkingL ()
IMPORT_C void DrawItem ( TInt )
IMPORT_C void EditItemL ( TInt )
IMPORT_C void EnableMSKObserver ( TBool )
IMPORT_C TInt EventModifiers ()
IMPORT_C void GetColorUseListL ( CArrayFix < TCoeColorUse > &)
IMPORT_C void HandleItemAdditionL ()
IMPORT_C void HandleItemAdditionL ( CArrayFix < TInt > &)
IMPORT_C void HandleItemRemovalL ()
IMPORT_C void HandleItemRemovalL ( CArrayFix < TInt > &)
IMPORT_C void HandlePhysicsScrollEventL ( TInt )
IMPORT_C void HandlePointerEventL (const TPointerEvent &)
IMPORT_C void HandleResourceChange ( TInt )
IMPORT_C void HandleScrollEventL ( CEikScrollBar *, TEikScrollEvent )
IMPORT_C TRect HighlightRect ()
void InformMSKButtonGroupDeletion ()
IMPORT_C TCoeInputCapabilities InputCapabilities ()
IMPORT_C TBool IsHighlightEnabled ()
IMPORT_C TBool IsMultiselection ()
IMPORT_C MEikListBoxEditor * ItemEditor ()
IMPORT_C TInt ItemHeight ()
IMPORT_C TInt ItemsInSingleLine ()
IMPORT_C void MakeVisible ( TBool )
IMPORT_C TSize MinimumSize ()
IMPORT_C MListBoxModel * Model ()
IMPORT_C TKeyResponse OfferKeyEventL (const TKeyEvent &, TEventCode )
IMPORT_C void RedrawItem ( TInt )
IMPORT_C TBool RemoveItemChangeObserver ( MListBoxItemChangeObserver *)
IMPORT_C void RemoveSelectionObserver ( MListBoxSelectionObserver *)
IMPORT_C void Reset ()
IMPORT_C void ResetItemEditor ()
IMPORT_C CEikScrollBarFrame *const ScrollBarFrame ()
IMPORT_C void ScrollToMakeItemVisible ( TInt )
IMPORT_C TBool ScrollingDisabled ()
IMPORT_C const CListBoxView::CSelectionIndexArray * SelectionIndexes ()
IMPORT_C void SetContainerWindowL (const CCoeControl &)
IMPORT_C void SetCurrentItemIndex ( TInt )
IMPORT_C void SetCurrentItemIndexAndDraw ( TInt )
IMPORT_C void SetDimmed ( TBool )
IMPORT_C void SetItemEditor ( MEikListBoxEditor *)
IMPORT_C void SetItemHeightL ( TInt )
IMPORT_C void SetItemsInSingleLine ( TInt )
IMPORT_C void SetLaunchingButton ( CEikButtonBase *)
IMPORT_C void SetListBoxObserver ( MEikListBoxObserver *)
IMPORT_C void SetMarkingMode ( TBool )
IMPORT_C void SetMarkingModeObserver ( MAknMarkingModeObserver *)
IMPORT_C void SetPointerEventFilterDisabledL (const CArrayFix < TInt > &)
IMPORT_C void SetScrollBarFrame ( CEikScrollBarFrame *, TScrollBarOwnerShip )
IMPORT_C void SetSelectionIndexesL ( CListBoxView::CSelectionIndexArray *)
IMPORT_C void SetShortcutValueFromPrevList ( TInt )
IMPORT_C void SetTopItemIndex ( TInt )
IMPORT_C TInt ShortcutValueForNextList ()
IMPORT_C void StopEditingL ( TBool )
IMPORT_C void SuspendEffects ( TBool )
IMPORT_C TInt TopItemIndex ()
IMPORT_C void UpdateScrollBarsL ()
IMPORT_C TInt VerticalInterItemGap ()
IMPORT_C CListBoxView * View ()
Protected Member Functions
IMPORT_C TInt AdjustRectHeightToWholeNumberOfItems ( TRect &)
IMPORT_C void AdjustTopItemIndex ()
IMPORT_C TRgb BackColor ()
CMatchBuffer * Buffer ()
void CheckCreateBufferL ()
TBool CheckCreateExtension ()
void CheckCreateExtensionL ()
IMPORT_C void ClearMargins ()
IMPORT_C void ClearMatchBuffer ()
IMPORT_C CCoeControl * ComponentControl ( TInt )
IMPORT_C void ConstructL (const CCoeControl *, TInt )
IMPORT_C TInt CountComponentControls ()
IMPORT_C void CreateMatchBufferL ()
IMPORT_C void CreateScrollBarFrameLayout ( TEikScrollBarFrameLayout &)
IMPORT_C void CreateViewL ()
IMPORT_C void Draw (const TRect &)
IMPORT_C void DrawMatcherCursor ()
IMPORT_C void FireItemChange ()
IMPORT_C void FocusChanged ( TDrawNow )
IMPORT_C void HandleDragEventL ( TPoint )
IMPORT_C void HandleLeftArrowKeyL ( CListBoxView::TSelectionMode )
IMPORT_C void HandleRightArrowKeyL ( CListBoxView::TSelectionMode )
IMPORT_C void HandleViewRectSizeChangeL ()
IMPORT_C TInt HorizScrollGranularityInPixels ()
IMPORT_C TInt HorizontalMargin ()
IMPORT_C TInt HorizontalNudgeValue ()
IMPORT_C TInt InterItemGap ()
IMPORT_C TBool IsMatchBuffer ()
IMPORT_C TBool ItemExists ( TInt )
IMPORT_C TBool LastCharMatched ()
IMPORT_C TMargins8 ListBoxMargins ()
IMPORT_C CListBoxView * MakeViewClassInstanceL ()
IMPORT_C RIncrMatcherBase * MatchBuffer ()
IMPORT_C void MatchTypedCharL ( TUint )
IMPORT_C TReasonForFocusLost ReasonForFocusLostL ()
IMPORT_C void ReportListBoxEventL ( MEikListBoxObserver::TListBoxEvent )
IMPORT_C void RestoreClientRectFromViewRect ( TRect &)
IMPORT_C void RestoreCommonListBoxPropertiesL ( TResourceReader &)
IMPORT_C void SetHorizontalMargin ( TInt )
IMPORT_C void SetReasonForFocusLostL ( TReasonForFocusLost )
IMPORT_C void SetVerticalMargin ( TInt )
IMPORT_C void SetViewRectFromClientRect (const TRect &)
IMPORT_C void SetViewRectHeightAdjustment ( TInt )
IMPORT_C void SimulateArrowKeyEventL ( TKeyCode )
IMPORT_C void SizeChanged ()
IMPORT_C void UndoLastChar ()
IMPORT_C void UpdateCurrentItem ( TInt )
IMPORT_C void UpdateItemDrawerColors ()
void UpdateMarkUnmarkMSKL ()
IMPORT_C void UpdateScrollBarThumbs ()
IMPORT_C void UpdateViewColors ()
IMPORT_C TInt VerticalMargin ()
IMPORT_C TInt ViewRectHeightAdjustment ()
Private Member Functions
IMPORT_C void CEikListBox_Reserved ()
void ClearMargins ( CWindowGc &)
TKeyResponse DoOfferKeyEventL (const TKeyEvent &, TEventCode )
void DrawItemInView ( TInt )
IMPORT_C void * ExtensionInterface ( TUid )
void HandleItemRemovalWithoutSelectionsL ()
TBool HandlePhysicsPointerEventL (const TPointerEvent &)
void HorizontalScroll ( TInt )
TBool MarkingMode ()
MAknMarkingModeObserver * MarkingModeObserver ()
void ScrollView (const TInt , TBool )
void UpdateHighlightL ( TInt )
void UpdateScrollBarColors ( CEikScrollBar *)
void UpdateScrollBarsColors ()
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
enum TFlags {
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
}
enum TScrollBarOwnerShip { ENotOwnedExternally  = 0x0000, EOwnedExternally  = 0x0001 }
Protected Member Enumerations
enum TReasonForFocusLost { 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_C CEikListBox ( )

C++ default constructor.

~CEikListBox()

IMPORT_C ~CEikListBox ( )

Destructor.

Member Functions Documentation

ActivateL()

IMPORT_C void ActivateL ( ) [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 void AddItemChangeObserverL ( 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 * aObserver Must be non-NULL.

AddSelectionObserverL(MListBoxSelectionObserver *)

IMPORT_C void AddSelectionObserverL ( 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 * aObserver Must be non-NULL.

AdjustRectHeightToWholeNumberOfItems(TRect &)

IMPORT_C TInt AdjustRectHeightToWholeNumberOfItems ( 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 & aRect The rectangle to be modified.

AdjustTopItemIndex()

IMPORT_C void AdjustTopItemIndex ( ) 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 TRgb BackColor ( ) const [protected]

Gets the background colour.

BackgroundDrawingSuppressed()

IMPORT_C TBool BackgroundDrawingSuppressed ( ) 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 TInt BottomItemIndex ( ) const

Gets for the bottom items index.

Buffer()

CMatchBuffer * Buffer ( ) const [protected]

Gets the list box match buffer.

CEikListBox_Reserved()

IMPORT_C void CEikListBox_Reserved ( ) [private, virtual]

CalcHeightBasedOnNumOfItems(TInt)

IMPORT_C TInt CalcHeightBasedOnNumOfItems ( TInt aNumOfItems ) 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 aNumOfItems The number of items.

CalcSizeInPixels(TInt, TInt)

IMPORT_C TSize CalcSizeInPixels ( TInt aWidthAsNumOfChars,
TInt aHeightAsNumOfItems
) 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 aWidthAsNumOfChars Width of list box in characters.
TInt aHeightAsNumOfItems Height of list box in characters.

CalcWidthBasedOnNumOfChars(TInt)

IMPORT_C TInt CalcWidthBasedOnNumOfChars ( TInt aNumOfChars ) 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 aNumOfChars The number of characters.

CalcWidthBasedOnRequiredItemWidth(TInt)

IMPORT_C TInt CalcWidthBasedOnRequiredItemWidth ( TInt aTextWidthInPixels ) 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 aTextWidthInPixels Width of list box text in pixels.

CalculatePopoutRect(TInt, TInt, TRect &, TInt)

IMPORT_C void CalculatePopoutRect ( TInt aTargetItemIndex,
TInt aTargetYPos,
TRect & aListBoxRect,
TInt aMinHeightInNumOfItems = 1
)

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

Parameters

TInt aTargetItemIndex The item from which the popout originates.
TInt aTargetYPos Vertical position of the item from which the popout originates.
TRect & aListBoxRect The list box rectangle.
TInt aMinHeightInNumOfItems = 1 The minimum number of items for the popout.

ChangeSelectionMode(TBool)

void ChangeSelectionMode ( TBool aEnable )

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

Since
3.2

Parameters

TBool aEnable ETrue when entering into selection mode, EFalse when leaving

CheckCreateBufferL()

void CheckCreateBufferL ( ) [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()

void CheckCreateExtensionL ( ) [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 void ClearMargins ( ) const [protected]

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

ClearMargins(CWindowGc &)

void ClearMargins ( CWindowGc & aGc ) const [private]

Parameters

CWindowGc & aGc

ClearMatchBuffer()

IMPORT_C void ClearMatchBuffer ( ) const [protected]

Empties the match buffer .

ClearSelection()

IMPORT_C void ClearSelection ( )

Clears the selection from the view.

ComponentControl(TInt)

IMPORT_C CCoeControl * ComponentControl ( TInt aIndex ) 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 aIndex The index of the control.

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

IMPORT_C void ConstructL ( MListBoxModel * aListBoxModel,
CListItemDrawer * aListItemDrawer,
const CCoeControl * aParent,
TInt aFlags = 0
)

Handles 2nd phase construction.

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

Parameters

MListBoxModel * aListBoxModel List box model that is to be used with the list box.
CListItemDrawer * aListItemDrawer List item drawer that is to be used with the list box.
const CCoeControl * aParent Host CoeControl for the list box.
TInt aFlags = 0 Construction flags (TFlags) for the list box.

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

IMPORT_C void ConstructL ( MListBoxModel * aListBoxModel,
CListItemDrawer * aListItemDrawer,
const CCoeControl * aParent,
TGulBorder aBorder,
TInt aFlags = 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 * aListBoxModel List box model that is to be used with the list box.
CListItemDrawer * aListItemDrawer List item drawer that is to be used with the list box.
const CCoeControl * aParent Host CoeControl for the list box.
TGulBorder aBorder Border to be drawn outside the list box.
TInt aFlags = 0 Construction flags (TFlags) for the list box.

ConstructL(const CCoeControl *, TInt)

IMPORT_C void ConstructL ( const CCoeControl * aParent,
TInt aFlags = 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 * aParent The parent control. May be NULL.
TInt aFlags = 0 Construction flags.

CountComponentControls()

IMPORT_C TInt CountComponentControls ( ) 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 void CreateMatchBufferL ( ) [protected]

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

CreateScrollBarFrameL(TBool)

IMPORT_C CEikScrollBarFrame * CreateScrollBarFrameL ( TBool aPreAlloc = EFalse )

Creates a scrollbar frame.

Parameters

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

CreateScrollBarFrameL(TBool, TBool)

IMPORT_C CEikScrollBarFrame * CreateScrollBarFrameL ( TBool aPreAlloc,
TBool aRemote
)

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 aPreAlloc Is the scrollbar created immediately or when taking in to use
TBool aRemote If 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 ( TBool aPreAlloc,
TBool aRemote,
TBool aWindowOwning
)

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 aPreAlloc Is the scrollbar created immediately or when taking in to use
TBool aRemote If 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 aWindowOwning Does the created scrollbar create own window or is it compound control. The listbox uses a window owning scrollbar by default.

CreateScrollBarFrameLayout(TEikScrollBarFrameLayout &)

IMPORT_C void CreateScrollBarFrameLayout ( TEikScrollBarFrameLayout & aLayout ) const [protected]

Creates a scroll bar frame layout according to aLayout .

Parameters

TEikScrollBarFrameLayout & aLayout Defines the layout.

CreateViewL()

IMPORT_C void CreateViewL ( ) [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 TInt CurrentItemIndex ( ) const

Gets the index number of the selected item.

DisableItemSpecificMenu()

IMPORT_C void DisableItemSpecificMenu ( )

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 void DisableScrolling ( TBool aDisabled )

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

Since
5.0

Parameters

TBool aDisabled ETrue to disable kinetic scrolling, EFalse otherwise.

DisableSingleClick(TBool)

IMPORT_C void DisableSingleClick ( TBool aDisabled )

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

Since
S60 5.2

Parameters

TBool aDisabled ETrue to disable single click EFalse does currently nothing

DoOfferKeyEventL(const TKeyEvent &, TEventCode)

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

Parameters

const TKeyEvent & aKeyEvent
TEventCode aType

DoShiftMSKMarkingL()

void DoShiftMSKMarkingL ( )

Called from MSK observer when shift+MSK have been pressed

S60 3.1

Draw(const TRect &)

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

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

Parameters

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

DrawItem(TInt)

IMPORT_C void DrawItem ( TInt aItemIndex ) 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 aItemIndex Index of the item to reveal.

DrawItemInView(TInt)

void DrawItemInView ( TInt aItemIndex ) const [private]

Parameters

TInt aItemIndex

DrawMatcherCursor()

IMPORT_C void DrawMatcherCursor ( ) 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 void EditItemL ( TInt aMaxLength ) [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 aMaxLength Maximum length of characters to edit.

EnableMSKObserver(TBool)

IMPORT_C void EnableMSKObserver ( TBool aEnable )

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 aEnable If EFalse, disables default middle softkey observer for markable lists. ETrue enables observer again.

EventModifiers()

IMPORT_C TInt EventModifiers ( )

ExtensionInterface(TUid)

IMPORT_C void * ExtensionInterface ( TUid aInterface ) [private, virtual]

Parameters

TUid aInterface

FireItemChange()

IMPORT_C void FireItemChange ( ) [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 void FocusChanged ( TDrawNow aDrawNow ) [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 aDrawNow Contains the value that was passed to it by SetFocus().

GetColorUseListL(CArrayFix< TCoeColorUse > &)

IMPORT_C void GetColorUseListL ( 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 > & aColorUseList List of logical colours.

HandleDragEventL(TPoint)

IMPORT_C void HandleDragEventL ( TPoint aPointerPos ) [protected, virtual]

Handles drag events.

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

Parameters

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

HandleItemAdditionL()

IMPORT_C void HandleItemAdditionL ( )

Handles the addition of item to the list box.

HandleItemAdditionL(CArrayFix< TInt > &)

IMPORT_C void HandleItemAdditionL ( 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 > & aArrayOfNewIndexesAfterAddition Array of new indexes to be added.

HandleItemRemovalL()

IMPORT_C void HandleItemRemovalL ( )

Handles the removal of an item from the list box.

HandleItemRemovalL(CArrayFix< TInt > &)

IMPORT_C void HandleItemRemovalL ( 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 > & aArrayOfOldIndexesBeforeRemoval Array of indexes to be removed.

HandleItemRemovalWithoutSelectionsL()

void HandleItemRemovalWithoutSelectionsL ( ) [private]

HandleLeftArrowKeyL(CListBoxView::TSelectionMode)

IMPORT_C void HandleLeftArrowKeyL ( CListBoxView::TSelectionMode aSelectionMode ) [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 aSelectionMode Not 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 void HandlePhysicsScrollEventL ( TInt aDeltaPixels )

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 aDeltaPixels Amount of pixels to scroll the view.

HandlePointerEventL(const TPointerEvent &)

IMPORT_C void HandlePointerEventL ( 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 & aPointerEvent Details of the pointer event that is being handled.

HandleResourceChange(TInt)

IMPORT_C void HandleResourceChange ( TInt aType ) [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 aType The type of resources that have changed.

HandleRightArrowKeyL(CListBoxView::TSelectionMode)

IMPORT_C void HandleRightArrowKeyL ( CListBoxView::TSelectionMode aSelectionMode ) [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 aSelectionMode Not used.

HandleScrollEventL(CEikScrollBar *, TEikScrollEvent)

IMPORT_C void HandleScrollEventL ( CEikScrollBar * aScrollBar,
TEikScrollEvent aEventType
) [virtual]

Used for scrolling through the items in the list box.

Parameters

CEikScrollBar * aScrollBar Scroll bar for the list box.
TEikScrollEvent aEventType Type of the event that occured.

HandleViewRectSizeChangeL()

IMPORT_C void HandleViewRectSizeChangeL ( ) [protected, virtual]

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

HighlightRect()

IMPORT_C TRect HighlightRect ( ) const

Gets the position and the size of the list box.

HorizScrollGranularityInPixels()

IMPORT_C TInt HorizScrollGranularityInPixels ( ) 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 TInt HorizontalMargin ( ) 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 TInt HorizontalNudgeValue ( ) 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)

void HorizontalScroll ( TInt aScrollAmountInPixels ) [private]

Parameters

TInt aScrollAmountInPixels

InformMSKButtonGroupDeletion()

void InformMSKButtonGroupDeletion ( )

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

S60 3.1

InputCapabilities()

IMPORT_C TCoeInputCapabilities InputCapabilities ( ) const [virtual]

From CCoeControl .

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

InterItemGap()

IMPORT_C TInt InterItemGap ( ) [protected, static]

Gets the vertical gap between elements in the list box.

IsHighlightEnabled()

IMPORT_C TBool IsHighlightEnabled ( )

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 TBool IsMatchBuffer ( ) const [protected]

Tests whether the list box match buffer exists.

IsMultiselection()

IMPORT_C TBool IsMultiselection ( )

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 TBool ItemExists ( TInt aItemIndex ) const [protected]

Tests whether an item exists.

Parameters

TInt aItemIndex Index to test.

ItemHeight()

IMPORT_C TInt ItemHeight ( ) const

Gets height of the item.

ItemsInSingleLine()

IMPORT_C TInt ItemsInSingleLine ( ) 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 TBool LastCharMatched ( ) const [protected]

Checks if the last character matched with the string.

ListBoxMargins()

IMPORT_C TMargins8 ListBoxMargins ( ) 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 void MakeVisible ( TBool aVisible ) [virtual]

Sets this control as visible or invisible.

Since
5.2

Parameters

TBool aVisible ETrue 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 void MatchTypedCharL ( TUint aCode ) [protected]

Checks matching for the given character.

Parameters

TUint aCode Character code.

MinimumSize()

IMPORT_C TSize MinimumSize ( ) [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 TKeyResponse OfferKeyEventL ( const TKeyEvent & aKeyEvent,
TEventCode aType
) [virtual]

Informs the CEikListbox of a key press.

Parameters

const TKeyEvent & aKeyEvent Details of the key event that is being handled.
TEventCode aType Defines what kind of key event is being handled e.g. EEventKeyUp.

ReasonForFocusLostL()

IMPORT_C TReasonForFocusLost ReasonForFocusLostL ( ) [protected]

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

RedrawItem(TInt)

IMPORT_C void RedrawItem ( TInt aItemIndex )
Redraws list item.
Since
3.2

Parameters

TInt aItemIndex index of item to be redrawn.

RemoveItemChangeObserver(MListBoxItemChangeObserver *)

IMPORT_C TBool RemoveItemChangeObserver ( MListBoxItemChangeObserver * aObserver )

Removes an item change observer from the listbox.

Since
3.0

Parameters

MListBoxItemChangeObserver * aObserver The observer to be removed.

RemoveSelectionObserver(MListBoxSelectionObserver *)

IMPORT_C void RemoveSelectionObserver ( MListBoxSelectionObserver * aObserver )

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

Since
3.2

Parameters

MListBoxSelectionObserver * aObserver The observer to be removed.

ReportListBoxEventL(MEikListBoxObserver::TListBoxEvent)

IMPORT_C void ReportListBoxEventL ( MEikListBoxObserver::TListBoxEvent aEvent ) [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 aEvent The event to report.

Reset()

IMPORT_C void Reset ( )

Deletes the item editor

ResetItemEditor()

IMPORT_C void ResetItemEditor ( )

Resets the list boxes item editor.

Deletes and NULLs the item editor.

Since
ER5U

RestoreClientRectFromViewRect(TRect &)

IMPORT_C void RestoreClientRectFromViewRect ( 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 & aClientRect On return contains a size for the client area in pixels.

RestoreCommonListBoxPropertiesL(TResourceReader &)

IMPORT_C void RestoreCommonListBoxPropertiesL ( 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 & aReader A resource reader.

ScrollBarFrame()

IMPORT_C CEikScrollBarFrame *const ScrollBarFrame ( )

Gets pointer for the scroll bar frame.

ScrollToMakeItemVisible(TInt)

IMPORT_C void ScrollToMakeItemVisible ( TInt aItemIndex ) const

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

Parameters

TInt aItemIndex Index of the item to reveal.

ScrollView(const TInt, TBool)

void ScrollView ( const TInt aOffset,
TBool aDrawNow
) [private]

Scrolls the view by the given amount of pixels.

Parameters

const TInt aOffset Amount of offset in pixels.
TBool aDrawNow Whether or not the view is be drawn. If EFalse then only the logical state is updated.

ScrollingDisabled()

IMPORT_C TBool ScrollingDisabled ( )

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 void SetContainerWindowL ( 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 & aContainer Defines the container where the list box will be drawn.

SetCurrentItemIndex(TInt)

IMPORT_C void SetCurrentItemIndex ( TInt aItemIndex ) 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 aItemIndex Defines the index of the selected item.

SetCurrentItemIndexAndDraw(TInt)

IMPORT_C void SetCurrentItemIndexAndDraw ( TInt aItemIndex ) const

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

Parameters

TInt aItemIndex Defines the index of the selected item.

SetDimmed(TBool)

IMPORT_C void SetDimmed ( TBool aDimmed ) [virtual]

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

Parameters

TBool aDimmed ETrue dimmed. EFalse not dimmed.

SetHorizontalMargin(TInt)

IMPORT_C void SetHorizontalMargin ( TInt aMargin ) [protected]

Sets the horizontal margin.

Parameters

TInt aMargin The required horizontal margin.

SetItemEditor(MEikListBoxEditor *)

IMPORT_C void SetItemEditor ( MEikListBoxEditor * aEditor )

Selects an item editor for the list box.

Sets the item editor to aEditor and transfers ownership.

Since
ER5U

Parameters

MEikListBoxEditor * aEditor The editor that has been selected for usage.

SetItemHeightL(TInt)

IMPORT_C void SetItemHeightL ( TInt aHeight ) [virtual]

Sets the height of the item to the selected value.

Parameters

TInt aHeight New height for the item.

SetItemsInSingleLine(TInt)

IMPORT_C void SetItemsInSingleLine ( TInt aItems )

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

Since
S60 5.0

Parameters

TInt aItems Number of items in one grid line.

SetLaunchingButton(CEikButtonBase *)

IMPORT_C void SetLaunchingButton ( CEikButtonBase * aButton )

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

Parameters

CEikButtonBase * aButton The button which just launched a popout menu.

SetListBoxObserver(MEikListBoxObserver *)

IMPORT_C void SetListBoxObserver ( MEikListBoxObserver * aObserver )

Sets the observer for the list box.

Parameters

MEikListBoxObserver * aObserver Wanted observer for the list box.

SetMarkingMode(TBool)

IMPORT_C void SetMarkingMode ( TBool aEnable )

Turns the marking mode on / off.

Since
S60 5.2

Parameters

TBool aEnable ETrue to turn marking mode on EFalse to turn marking mode off

SetMarkingModeObserver(MAknMarkingModeObserver *)

IMPORT_C void SetMarkingModeObserver ( MAknMarkingModeObserver * aObserver )

Sets the marking mode observer.

Since
S60 5.2

Parameters

MAknMarkingModeObserver * aObserver Marking mode observer, NULL removes the existing observer.

SetPointerEventFilterDisabledL(const CArrayFix< TInt > &)

IMPORT_C void SetPointerEventFilterDisabledL ( 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 > & aItemIndexes Array of item indexes to be added.

SetReasonForFocusLostL(TReasonForFocusLost)

IMPORT_C void SetReasonForFocusLostL ( TReasonForFocusLost aReasonForFocusLost ) [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 aReasonForFocusLost The reason for the loss of focus.

SetScrollBarFrame(CEikScrollBarFrame *, TScrollBarOwnerShip)

IMPORT_C void SetScrollBarFrame ( CEikScrollBarFrame * aScrollBarFrame,
TScrollBarOwnerShip aOwnerShip
)

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

Parameters

CEikScrollBarFrame * aScrollBarFrame The new frame that is going to be used.
TScrollBarOwnerShip aOwnerShip Ownership level of the scroll bar frame.

SetSelectionIndexesL(CListBoxView::CSelectionIndexArray *)

IMPORT_C void SetSelectionIndexesL ( CListBoxView::CSelectionIndexArray * aArrayOfSelectionIndexes )

Assigns a array of selection indexes for the list box.

Parameters

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

SetShortcutValueFromPrevList(TInt)

IMPORT_C void SetShortcutValueFromPrevList ( TInt aValue ) [virtual]

No Implementation.

Parameters

TInt aValue Not Used.

SetTopItemIndex(TInt)

IMPORT_C void SetTopItemIndex ( TInt aItemIndex ) const [virtual]

Sets the selected item to be the top item.

Parameters

TInt aItemIndex Index for the item to be set as the top item.

SetVerticalMargin(TInt)

IMPORT_C void SetVerticalMargin ( TInt aMargin ) [protected]

Sets the vertical margin.

Parameters

TInt aMargin The required vertical margin.

SetViewRectFromClientRect(const TRect &)

IMPORT_C void SetViewRectFromClientRect ( const TRect & aClientRect ) [protected]

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

Parameters

const TRect & aClientRect The client rectangle

SetViewRectHeightAdjustment(TInt)

IMPORT_C void SetViewRectHeightAdjustment ( TInt aAdjustment ) [protected]

Sets the view rectangle height adjustment.

Parameters

TInt aAdjustment New adjustment.

ShortcutValueForNextList()

IMPORT_C TInt ShortcutValueForNextList ( ) [virtual]

No Implementation.

SimulateArrowKeyEventL(TKeyCode)

IMPORT_C void SimulateArrowKeyEventL ( TKeyCode aKeyCode ) [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 aKeyCode A key code.

SizeChanged()

IMPORT_C void SizeChanged ( ) [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 void StopEditingL ( TBool aUpdateModel )

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 aUpdateModel If ETrue the list box model is updated.

SuspendEffects(TBool)

IMPORT_C void SuspendEffects ( TBool aSuspend )

Suspends transitions effects.

Since
S60 5.0

Parameters

TBool aSuspend ETrue to suspend effects, EFalse to re-enable them.

TopItemIndex()

IMPORT_C TInt TopItemIndex ( ) const

Gets the index number of the top item.

UndoLastChar()

IMPORT_C void UndoLastChar ( ) [protected]

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

UpdateCurrentItem(TInt)

IMPORT_C void UpdateCurrentItem ( TInt aItemIndex ) 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 aItemIndex The index of the list box item to update.

UpdateHighlightL(TInt)

void UpdateHighlightL ( TInt aItemIndex ) [private]

Selects an item and draws highlight to it.

Parameters

TInt aItemIndex Index of the highlighted item.

UpdateItemDrawerColors()

IMPORT_C void UpdateItemDrawerColors ( ) [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()

void UpdateMarkUnmarkMSKL ( ) const [protected]

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

UpdateScrollBarColors(CEikScrollBar *)

void UpdateScrollBarColors ( CEikScrollBar * aScrollBar ) [private]

Parameters

CEikScrollBar * aScrollBar

UpdateScrollBarThumbs()

IMPORT_C void UpdateScrollBarThumbs ( ) 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()

void UpdateScrollBarsColors ( ) [private]

UpdateScrollBarsL()

IMPORT_C void UpdateScrollBarsL ( ) [virtual]

Updates all scroll bars.

UpdateViewColors()

IMPORT_C void UpdateViewColors ( ) [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 TInt VerticalInterItemGap ( ) 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 TInt VerticalMargin ( ) 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 TInt ViewRectHeightAdjustment ( ) 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]