diff -r f966699dea19 -r ff572dfe6d86 idlehomescreen/widgetmanager/inc/wmlistbox.h --- a/idlehomescreen/widgetmanager/inc/wmlistbox.h Fri Feb 19 22:42:37 2010 +0200 +++ b/idlehomescreen/widgetmanager/inc/wmlistbox.h Fri Mar 12 15:41:49 2010 +0200 @@ -32,6 +32,7 @@ #include #include "wmwidgetdataobserver.h" #include "wmwidgetdata.h" +#include "wmwidgetorderdata.h" // FORWARD DECLARATIONS class CWmListBox; @@ -117,27 +118,6 @@ * pointer to the listbox (not owned) */ CWmListBox* iListBox; - - - /** - * add-button colored bitmap (default color) - */ - CFbsBitmap* iAddWidgetBtnImage; - - /** - * add-button mask - */ - CFbsBitmap* iAddWidgetBtnMask; - - /** - * add-button colored bitmap (highlighted color) - */ - CFbsBitmap* iAddWidgetBtnHighlightImage; - - /** - * add-button mask - */ - CFbsBitmap* iAddWidgetBtnHighlightMask; /** * default logo (when widget does not have one) bitmap @@ -272,11 +252,11 @@ }; /** - * sets the list sort order + * Sorts the listbox's visible array * * @param aOrder sort order */ - void SetSortOrderL( TSortOrder aOrder ); + void DoSortToVisibleArray( TSortOrder aOrder ); /** * Responds to layout switched. @@ -295,6 +275,28 @@ */ TSize LogoSize(); + /** + * gets the constant widget order data array + */ + inline const ROrderArray& OrderDataArray(); + + /** + * Sorts the order array + * + * @param aOrder sort order + */ + void DoSortToOrderData( TSortOrder aOrder ); + + /** + * Adds order data to array + */ + void AddOrderDataL( CWmWidgetOrderData* aOrderData ); + + /* + * Returns orderdata object by index + */ + CWmWidgetOrderData* OrderData( TInt aItemIndex ); + private: // from CEikTextListBox /** * Creates the item drawer. @@ -338,7 +340,17 @@ const CCoeControl* aParent, TInt aFlags ); - +private: + /** + * linear order for sorting, depending on the sort type being used + */ + TLinearOrder SortOrder( TSortOrder aOrder ); + + /** + * linear order for sorting, depending on the sort type being used + */ + TLinearOrder SortOrderToOrderData( TSortOrder aOrder ); + protected: // from MWmWidgetDataObserver /** @@ -348,13 +360,6 @@ */ void HandleWidgetDataChanged( CWmWidgetData* aWidgetData ); -private: // own methods - - /** - * linear order for sorting, depending on the sort type being used - */ - TLinearOrder SortOrder( TSortOrder aOrder ); - private: /** @@ -365,7 +370,7 @@ /** * array of widget data objects (the list model) */ - RWidgetDataValues iWidgetDatas; + RWidgetDataValues iVisibleWidgetArray; /** * the currently active item ADD button's rectangle, for push recognition @@ -378,7 +383,12 @@ TBool iFindPaneIsVisible; /** size of logo rect in list item */ - TSize iLogoSize; + TSize iLogoSize; + + /** + * array of widget order objects + */ + ROrderArray iOrderDataArray; }; #include "wmlistbox.inl"