CEikSnakingListBox Class Reference

class CEikSnakingListBox : public CEikListBox

This is a list box that scrolls horizontally, displaying its items in as many vertical columns as needed. Columns are arranged across the control from left to right; within columns, items are arranged from top to bottom. The flow of items or text ?snakes? across the face of the control.

This is a flexible control class that makes good use of short, wide display areas; for instance, subclasses of CEikSnakingListBox could be used for file lists or for a control panel. A standard user subclass, CEikSnakingTextListBox , also exists.

Since
Symbian 5.0
Public Member Functions
CEikSnakingListBox ()
~CEikSnakingListBox ()
IMPORT_C TInt ColumnWidth ()
IMPORT_C void HandlePointerEventL (const TPointerEvent &)
IMPORT_C CListBoxView * MakeViewClassInstanceL ()
IMPORT_C void SetColumnWidth ( TInt )
IMPORT_C void SetTopItemIndex ( TInt )
Protected Member Functions
IMPORT_C TInt AdjustRectHeightToWholeNumberOfItems ( TRect &)
IMPORT_C void AdjustTopItemIndex ()
IMPORT_C void GetColorUseListL ( CArrayFix < TCoeColorUse > &)
IMPORT_C void HandleDragEventL ( TPoint )
IMPORT_C void HandleLeftArrowKeyL ( CListBoxView::TSelectionMode )
IMPORT_C void HandleResourceChange ( TInt )
IMPORT_C void HandleRightArrowKeyL ( CListBoxView::TSelectionMode )
IMPORT_C void HandleViewRectSizeChangeL ()
IMPORT_C TInt HorizScrollGranularityInPixels ()
IMPORT_C TInt HorizontalNudgeValue ()
IMPORT_C void MoveToNextOrPreviousItemL ( TPoint )
IMPORT_C void RestoreClientRectFromViewRect ( TRect &)
IMPORT_C void SizeChanged ()
Private Member Functions
IMPORT_C void CEikListBox_Reserved ()
IMPORT_C void * ExtensionInterface ( TUid )
IMPORT_C void Reserved_1 ()
IMPORT_C void Reserved_2 ()
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
CEikListBox::ActivateL()
CEikListBox::AddItemChangeObserverL(MListBoxItemChangeObserver *)
CEikListBox::AddSelectionObserverL(MListBoxSelectionObserver *)
CEikListBox::BackColor()const
CEikListBox::BackgroundDrawingSuppressed()const
CEikListBox::BottomItemIndex()const
CEikListBox::Buffer()const
CEikListBox::CEikListBox()
CEikListBox::CalcHeightBasedOnNumOfItems(TInt)const
CEikListBox::CalcSizeInPixels(TInt,TInt)const
CEikListBox::CalcWidthBasedOnNumOfChars(TInt)const
CEikListBox::CalcWidthBasedOnRequiredItemWidth(TInt)const
CEikListBox::CalculatePopoutRect(TInt,TInt,TRect &,TInt)
CEikListBox::ChangeSelectionMode(TBool)
CEikListBox::CheckCreateBufferL()
CEikListBox::CheckCreateExtension()
CEikListBox::CheckCreateExtensionL()
CEikListBox::ClearMargins()const
CEikListBox::ClearMatchBuffer()const
CEikListBox::ClearSelection()
CEikListBox::ComponentControl(TInt)const
CEikListBox::ConstructL(MListBoxModel *,CListItemDrawer *,const CCoeControl *,TGulBorder,TInt)
CEikListBox::ConstructL(MListBoxModel *,CListItemDrawer *,const CCoeControl *,TInt)
CEikListBox::ConstructL(const CCoeControl *,TInt)
CEikListBox::CountComponentControls()const
CEikListBox::CreateMatchBufferL()
CEikListBox::CreateScrollBarFrameL(TBool)
CEikListBox::CreateScrollBarFrameL(TBool,TBool)
CEikListBox::CreateScrollBarFrameL(TBool,TBool,TBool)
CEikListBox::CreateScrollBarFrameLayout(TEikScrollBarFrameLayout &)const
CEikListBox::CreateViewL()
CEikListBox::CurrentItemIndex()const
CEikListBox::DisableItemSpecificMenu()
CEikListBox::DisableScrolling(TBool)
CEikListBox::DisableSingleClick(TBool)
CEikListBox::DoShiftMSKMarkingL()
CEikListBox::Draw(const TRect &)const
CEikListBox::DrawItem(TInt)const
CEikListBox::DrawMatcherCursor()const
CEikListBox::EditItemL(TInt)
CEikListBox::EnableMSKObserver(TBool)
CEikListBox::EventModifiers()
CEikListBox::FireItemChange()
CEikListBox::FocusChanged(TDrawNow)
CEikListBox::HandleItemAdditionL()
CEikListBox::HandleItemAdditionL(CArrayFix< TInt > &)
CEikListBox::HandleItemRemovalL()
CEikListBox::HandleItemRemovalL(CArrayFix< TInt > &)
CEikListBox::HandlePhysicsScrollEventL(TInt)
CEikListBox::HandleScrollEventL(CEikScrollBar *,TEikScrollEvent)
CEikListBox::HighlightRect()const
CEikListBox::HorizontalMargin()const
CEikListBox::InformMSKButtonGroupDeletion()
CEikListBox::InputCapabilities()const
CEikListBox::InterItemGap()
CEikListBox::IsHighlightEnabled()
CEikListBox::IsMatchBuffer()const
CEikListBox::IsMultiselection()
CEikListBox::ItemEditor()
CEikListBox::ItemExists(TInt)const
CEikListBox::ItemHeight()const
CEikListBox::ItemsInSingleLine()const
CEikListBox::LastCharMatched()const
CEikListBox::ListBoxMargins()const
CEikListBox::MakeVisible(TBool)
CEikListBox::MatchBuffer()const
CEikListBox::MatchTypedCharL(TUint)
CEikListBox::MinimumSize()
CEikListBox::Model()const
CEikListBox::OfferKeyEventL(const TKeyEvent &,TEventCode)
CEikListBox::ReasonForFocusLostL()
CEikListBox::RedrawItem(TInt)
CEikListBox::RemoveItemChangeObserver(MListBoxItemChangeObserver *)
CEikListBox::RemoveSelectionObserver(MListBoxSelectionObserver *)
CEikListBox::ReportListBoxEventL(MEikListBoxObserver::TListBoxEvent)
CEikListBox::Reset()
CEikListBox::ResetItemEditor()
CEikListBox::RestoreCommonListBoxPropertiesL(TResourceReader &)
CEikListBox::ScrollBarFrame()
CEikListBox::ScrollToMakeItemVisible(TInt)const
CEikListBox::ScrollingDisabled()
CEikListBox::SelectionIndexes()const
CEikListBox::SetContainerWindowL(const CCoeControl &)
CEikListBox::SetCurrentItemIndex(TInt)const
CEikListBox::SetCurrentItemIndexAndDraw(TInt)const
CEikListBox::SetDimmed(TBool)
CEikListBox::SetHorizontalMargin(TInt)
CEikListBox::SetItemEditor(MEikListBoxEditor *)
CEikListBox::SetItemHeightL(TInt)
CEikListBox::SetItemsInSingleLine(TInt)
CEikListBox::SetLaunchingButton(CEikButtonBase *)
CEikListBox::SetListBoxObserver(MEikListBoxObserver *)
CEikListBox::SetMarkingMode(TBool)
CEikListBox::SetMarkingModeObserver(MAknMarkingModeObserver *)
CEikListBox::SetPointerEventFilterDisabledL(const CArrayFix< TInt > &)
CEikListBox::SetReasonForFocusLostL(TReasonForFocusLost)
CEikListBox::SetScrollBarFrame(CEikScrollBarFrame *,TScrollBarOwnerShip)
CEikListBox::SetSelectionIndexesL(CListBoxView::CSelectionIndexArray *)
CEikListBox::SetShortcutValueFromPrevList(TInt)
CEikListBox::SetVerticalMargin(TInt)
CEikListBox::SetViewRectFromClientRect(const TRect &)
CEikListBox::SetViewRectHeightAdjustment(TInt)
CEikListBox::ShortcutValueForNextList()
CEikListBox::SimulateArrowKeyEventL(TKeyCode)
CEikListBox::StopEditingL(TBool)
CEikListBox::SuspendEffects(TBool)
CEikListBox::TopItemIndex()const
CEikListBox::UndoLastChar()
CEikListBox::UpdateCurrentItem(TInt)const
CEikListBox::UpdateItemDrawerColors()
CEikListBox::UpdateMarkUnmarkMSKL()const
CEikListBox::UpdateScrollBarThumbs()const
CEikListBox::UpdateScrollBarsL()
CEikListBox::UpdateViewColors()
CEikListBox::VerticalInterItemGap()const
CEikListBox::VerticalMargin()const
CEikListBox::View()const
CEikListBox::ViewRectHeightAdjustment()const
CEikListBox::~CEikListBox()
Inherited Enumerations
CCoeControl:TZoomType
CEikListBox:@162
CEikListBox:TFlags
CEikListBox:TReasonForFocusLost
CEikListBox:TScrollBarOwnerShip
Inherited Attributes
CCoeControl::iCoeEnv
CCoeControl::iContext
CCoeControl::iPosition
CCoeControl::iSize
CEikBorderedControl::iBorder
CEikListBox::iItemDrawer
CEikListBox::iItemHeight
CEikListBox::iLaunchingButton
CEikListBox::iListBoxFlags
CEikListBox::iListBoxObserver
CEikListBox::iModel
CEikListBox::iRequiredHeightInNumOfItems
CEikListBox::iSBFrame
CEikListBox::iSBFrameOwned
CEikListBox::iView

Constructor & Destructor Documentation

CEikSnakingListBox()

IMPORT_C CEikSnakingListBox ( )

C++ standard constructor

~CEikSnakingListBox()

IMPORT_C ~CEikSnakingListBox ( )

Destructor

Member Functions Documentation

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.

CEikListBox_Reserved()

IMPORT_C void CEikListBox_Reserved ( ) [private, virtual]

ColumnWidth()

IMPORT_C TInt ColumnWidth ( ) const

Gets the width of this list box?s columns.

ExtensionInterface(TUid)

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

Parameters

TUid aInterface

GetColorUseListL(CArrayFix< TCoeColorUse > &)

IMPORT_C void GetColorUseListL ( CArrayFix < TCoeColorUse > & aColorUseList ) const [protected, 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.

HandleLeftArrowKeyL(CListBoxView::TSelectionMode)

IMPORT_C void HandleLeftArrowKeyL ( CListBoxView::TSelectionMode aSelectionMode ) [protected, virtual]

Handles a left arrow key event.

Moves the cursor into the correct column and clears any matcher buffer that may have been built up.

Parameters

CListBoxView::TSelectionMode aSelectionMode Not used.

HandlePointerEventL(const TPointerEvent &)

IMPORT_C void HandlePointerEventL ( const TPointerEvent & aPointerEvent ) [virtual]

From CCoeControl .

Handles pointer events.

Parameters

const TPointerEvent & aPointerEvent The pointer event.

HandleResourceChange(TInt)

IMPORT_C void HandleResourceChange ( TInt aType ) [protected, 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.

Moves the cursor into the correct column and clears any matcher buffer that may have been built up.

Parameters

CListBoxView::TSelectionMode aSelectionMode Not used.

HandleViewRectSizeChangeL()

IMPORT_C void HandleViewRectSizeChangeL ( ) [protected, virtual]

Handles a change in size of the viewing rectangle.

This function is called by framework functions to update the content, view, and scroll bars of this list box after the viewing rectangle has changed size. This implementation ensures that the current item is visible after a resize.

HorizScrollGranularityInPixels()

IMPORT_C TInt HorizScrollGranularityInPixels ( ) const [protected, virtual]

Gets the granularity for horizontal scrolls.

The granularity is the minimum size of a horizontal move of the client area.

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.

MakeViewClassInstanceL()

IMPORT_C CListBoxView * MakeViewClassInstanceL ( ) [virtual]

Creates an instance of the view class.

This function is called during construction to create (but not second-phase construct) an instance of the correct view class for this list box control. In the case of the snaking list box, a CSnakingListBoxView is returned.

This function overrides CEikListBox::MakeViewClassInstanceL() .

MoveToNextOrPreviousItemL(TPoint)

IMPORT_C void MoveToNextOrPreviousItemL ( TPoint aPoint ) [protected]

Move to next or previous item according to the given parameter.

Parameters

TPoint aPoint Position which defines the moving direction.

Reserved_1()

IMPORT_C void Reserved_1 ( ) [private]

Reserved_2()

IMPORT_C void Reserved_2 ( ) [private, virtual]

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.

SetColumnWidth(TInt)

IMPORT_C void SetColumnWidth ( TInt aColumnWidth )

Sets the width of all columns in the list box.

Parameters

TInt aColumnWidth New column width.

SetTopItemIndex(TInt)

IMPORT_C void SetTopItemIndex ( TInt aItemIndex ) const [virtual]

Sets the top item?s index.

Parameters

TInt aItemIndex Index of the item to set as the top item.

SizeChanged()

IMPORT_C void SizeChanged ( ) [protected, virtual]

From CCoeControl

Updates the viewing rectangle of this control appropriately. The function updates the viewing rectangle, and invokes HandleViewRectSizeChangeL() .