CAknListBoxFilterItems Class Reference

API published in: S60 1st Ed

Link against: avkon.lib eikcore.lib

Capability Information

Required Capabilities

None


#include <aknutils.h>

Detailed Description

Listbox item filtering.

This class is designed to be stored inside a listbox model and the model should call this in its NumberOfItems() and ItemText() implementation. The model must be given to this class and it must have MatchableTextArray() implemented correctly. HandleOfferKeyEvent() should be called from the same offer key event implementation which forwards the keys to listbox and search field

If you have both markable list and find at the same time, you should call ResetFiltering() before executing the command for marked items. This ensures that the ListBox's SelectionIndexes() returns all items instead of only those items that are visible. Selected *items can be found under CAknListBoxFilterItems::SelectionIndexes().


Public Member Functions

IMPORT_C  CAknListBoxFilterItems (CEikListBox *aListBox, CAknSearchField *aSearchField, MListBoxModel *aModel, CListBoxView *aView)
  Base class default constructor.
IMPORT_C void  ConstructL ()
  This is for setting empty list text.
IMPORT_C void  ResetFilteringL ()
  This function is to be called when filter is cleared.
IMPORT_C void  UpdateCachedDataL ()
  This function will update filter items state from the search field and listbox.
IMPORT_C  ~CAknListBoxFilterItems ()
  Destructor.
IMPORT_C CArrayFix< TInt > *  SelectionIndexes ()
  This one gives all indices, not just the ones that are visible.
IMPORT_C void  UpdateSelectionIndexesL ()
  This will synchronise the selection indices from the listbox.
IMPORT_C void  UpdateSelectionIndexL (TInt aVisibleIndex)
  This will synchronise the selected index from the listbox.
IMPORT_C TInt  FilteredNumberOfItems () const
  This is used to ask how many list items are available after filter has been used.
IMPORT_C TInt  FilteredItemIndex (TInt aVisibleItemIndex) const
  This is used to fetch the content of a list item after filter has been used.
IMPORT_C TInt  NonFilteredNumberOfItems () const
  Returns number of original list items.
IMPORT_C TInt  VisibleItemIndex (TInt aOriginalIndex) const
  Finds the list item on the screen when the item array index is given.
IMPORT_C TPtrC  DefaultMatchableItemFromItem (TPtrC aText)
  For building MdcaPoint() of the model's MatchableTextArray.
IMPORT_C void  HandleOfferkeyEventL ()
  Applications should call this in OfferKeyEventL() which gives keys to listbox and search field.
IMPORT_C void  HandleItemArrayChangeL ()
  When you change the list item array you should call this method.
IMPORT_C void  SetObserver (MCoeControlObserver *aObserver)
  Sets the observer.
IMPORT_C void  HandleControlEventL (CCoeControl *aControl, TCoeEvent aEventType)
  Editor sends messages to this object as control events.
IMPORT_C void  DeferredSendKeyEventToFepL (TUint aValue)
  Sends key events to FEP.
IMPORT_C void  SetParentControl (CCoeControl *aControl)
  AknFind uses this to inform us who is the parent control owning the listbox and search field.
IMPORT_C void  SetPopup ()
  AknFind uses this to inform us that we have popup find.
IMPORT_C void  SetListBox (CEikListBox *aListBox)
  Attaches or detaches list used by the filtering.
IMPORT_C void  SetSearchField (CAknSearchField *aSearchField)
  Attaches or detaches find pane used by the filtering.
IMPORT_C void  SetModel (MListBoxModel *aModel)
  Attaches or detaches list model used by the filtering.
IMPORT_C void  SetView (CListBoxView *aView)
  Attaches or detaches list view used by the filtering.
IMPORT_C CCoeControl *  FindBox () const
  This function just returns pointer to the search field.

Static Public Member Functions

static TInt  IdleCallBack (TAny *aFilterItems)
  This gets called from DeferredSendKeyEventToFepL().

Constructor & Destructor Documentation

IMPORT_C CAknListBoxFilterItems::CAknListBoxFilterItems CEikListBox aListBox,
CAknSearchField aSearchField,
MListBoxModel aModel,
CListBoxView aView
 

Base class default constructor.

Parameters:
aListBox  Listbox to be filtered,
aSearchField  Listbox search field.
aModel  Listbox model,
aView  A list box view that displays the list items which are currently visible in a list box.
IMPORT_C CAknListBoxFilterItems::~CAknListBoxFilterItems  ) 
 

Destructor.

Frees all resources owned by the object prior to its destruction.


Member Function Documentation

IMPORT_C void CAknListBoxFilterItems::ConstructL  ) 
 

This is for setting empty list text.

IMPORT_C TPtrC CAknListBoxFilterItems::DefaultMatchableItemFromItem TPtrC  aText  ) 
 

For building MdcaPoint() of the model's MatchableTextArray.

This method builds the default value for MatchableTextArray.

Parameters:
aText  Pointer descriptor.
Returns:
Modified text.
IMPORT_C void CAknListBoxFilterItems::DeferredSendKeyEventToFepL TUint  aValue  ) 
 

Sends key events to FEP.

This is used to resend key event to FEP if AknFind's HandleOfferKeyEventL() gets the key while search field has no focus. If search field has a focus, the key events go directly to the editor and this is not called.

Parameters:
aValue  The character code for an EEventKey.
IMPORT_C TInt CAknListBoxFilterItems::FilteredItemIndex TInt  aVisibleItemIndex  )  const
 

This is used to fetch the content of a list item after filter has been used.

Parameters:
aVisibleItemIndex  The index of visible item.
Returns:
Index to the original item array.
IMPORT_C TInt CAknListBoxFilterItems::FilteredNumberOfItems  )  const
 

This is used to ask how many list items are available after filter has been used.

Counts visible list items.

Returns:
Number of items visible.
IMPORT_C CCoeControl* CAknListBoxFilterItems::FindBox  )  const
 

This function just returns pointer to the search field.

Returns:
Pointer to the search field.
IMPORT_C void CAknListBoxFilterItems::HandleControlEventL CCoeControl *  aControl,
TCoeEvent  aEventType
 

Editor sends messages to this object as control events.

Parameters:
aControl  The control that sent the event.
aEventType  The event type.
IMPORT_C void CAknListBoxFilterItems::HandleItemArrayChangeL  ) 
 

When you change the list item array you should call this method.

IMPORT_C void CAknListBoxFilterItems::HandleOfferkeyEventL  ) 
 

Applications should call this in OfferKeyEventL() which gives keys to listbox and search field.

static TInt CAknListBoxFilterItems::IdleCallBack TAny *  aFilterItems  )  [static]
 

This gets called from DeferredSendKeyEventToFepL().

This does the actual sending of a key event. Does not support more than one event at the time.

Parameters:
aFilterItems  Pointer to the CAknListBoxFilterItems object.
Returns:
Always returns 0.
IMPORT_C TInt CAknListBoxFilterItems::NonFilteredNumberOfItems  )  const
 

Returns number of original list items.

Returns:
Number of all items.
IMPORT_C void CAknListBoxFilterItems::ResetFilteringL  ) 
 

This function is to be called when filter is cleared.

IMPORT_C CArrayFix<TInt>* CAknListBoxFilterItems::SelectionIndexes  ) 
 

This one gives all indices, not just the ones that are visible.

Returns:
Pointer to the array that has all indices.
IMPORT_C void CAknListBoxFilterItems::SetListBox CEikListBox aListBox  ) 
 

Attaches or detaches list used by the filtering.

Parameters:
aListBox  Pointer to listbox or NULL.
IMPORT_C void CAknListBoxFilterItems::SetModel MListBoxModel aModel  ) 
 

Attaches or detaches list model used by the filtering.

Parameters:
aModel  a pointer to list model or NULL.
IMPORT_C void CAknListBoxFilterItems::SetObserver MCoeControlObserver *  aObserver  ) 
 

Sets the observer.

Parameters:
aObserver  Pointer to the observer.
IMPORT_C void CAknListBoxFilterItems::SetParentControl CCoeControl *  aControl  ) 
 

AknFind uses this to inform us who is the parent control owning the listbox and search field.

This control should be window-owning control and it will be used to resize the listbox when changes to the filtering happens.

Parameters:
aControl  Pointer to the control.
IMPORT_C void CAknListBoxFilterItems::SetPopup  ) 
 

AknFind uses this to inform us that we have popup find.

Applications shouldn't call this.

IMPORT_C void CAknListBoxFilterItems::SetSearchField CAknSearchField aSearchField  ) 
 

Attaches or detaches find pane used by the filtering.

Parameters:
aSearchField  Pointer to findbox or NULL.
IMPORT_C void CAknListBoxFilterItems::SetView CListBoxView aView  ) 
 

Attaches or detaches list view used by the filtering.

Parameters:
aView  a pointer to list view or NULL.
IMPORT_C void CAknListBoxFilterItems::UpdateCachedDataL  ) 
 

This function will update filter items state from the search field and listbox.

Also updates selection indexes.

IMPORT_C void CAknListBoxFilterItems::UpdateSelectionIndexesL  ) 
 

This will synchronise the selection indices from the listbox.

If you use SelectionIndexes(), call this before it. This is heavy operation and goes through all list items.

IMPORT_C void CAknListBoxFilterItems::UpdateSelectionIndexL TInt  aVisibleIndex  ) 
 

This will synchronise the selected index from the listbox.

If you use SelectionIndexes(), call this before it. This is heavy operation and goes through all list items.

Parameters:
aVisibleIndex  Index to be updated.
IMPORT_C TInt CAknListBoxFilterItems::VisibleItemIndex TInt  aOriginalIndex  )  const
 

Finds the list item on the screen when the item array index is given.

Parameters:
aOriginalIndex  Item index.
Returns:
Matching index from original array. Returns -1 if the Index is not visible.

The documentation for this class was generated from the following file:

Copyright © Nokia Corporation 2001-2008
Back to top