MCLFCustomGrouper Class Reference

#include <mw/MCLFCustomGrouper.h>

Link against: ContentListingFramework.lib

class MCLFCustomGrouper
Public Member Functions
pure virtual voidGroupItemsL(const TArray< MCLFItem * > &, RPointerArray< MCLFItem > &)
Protected Member Functions
virtual ~MCLFCustomGrouper()

Detailed Description

Custom grouper interface of Content Listing Framework. With this interface, client can add own custom grouper to its List Model. Custom grouper is used for grouping list model items. For example, List Model of music files can be grouped by genre or artist name by using this interface. Use ContentListingFactory to create items for new groups (MCLFModifiableItem). Example:
  // This grouper will overwrite the source list and add three items to model.
  void CMyGrouper::GroupItemsL( const TArray<MCLFItem*>& aSourceList,
                                RPointerArray<MCLFItem>& aGroupedList )
      {
      _LIT( KTest, "test" );
      MCLFModifiableItem* item = ContentListingFactory::NewModifiableItemLC();
      item->AddFieldL( ECLFFieldIdName, KTest );
      aGroupedList.AppendL( item );
      CleanupStack::Pop(); // item

      _LIT( KTest1, "test1" );
      item = ContentListingFactory::NewModifiableItemLC();
      item->AddFieldL( ECLFFieldIdName, KTest1 );
      aGroupedList.AppendL( item );
      CleanupStack::Pop(); // item

      _LIT( KTest2, "test2" );
      item = ContentListingFactory::NewModifiableItemLC();
      item->AddFieldL( ECLFFieldIdName, KTest2 );
      aGroupedList.AppendL( item );
      CleanupStack::Pop(); // item
      }

Custom grouper is activated and removed by calling method MCLFItemListModel::SetCustomGrouper

Since
S60 3.1

Constructor & Destructor Documentation

~MCLFCustomGrouper ( )

~MCLFCustomGrouper()[protected, inline, virtual]

Destructor.

Member Function Documentation

GroupItemsL ( const TArray< MCLFItem * > &, RPointerArray< MCLFItem > & )

voidGroupItemsL(const TArray< MCLFItem * > &aSourceList,
RPointerArray< MCLFItem > &aGroupedList
)[pure virtual]
Abstract method for grouping Content Listing Framework items of list models. This method is called when the grouping process is executed by refreshing the model.
Since
S60 3.1
ParameterDescription
aSourceListSource list. Contains all items that are in the list model when the grouping process starts.
aGroupedListGrouped/destination list. While grouping, each group should be added to this list. The list model will contain only these items when the grouping process is finished.