--- 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 <aknlongtapdetector.h>
#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<CWmWidgetData> SortOrder( TSortOrder aOrder );
+
+ /**
+ * linear order for sorting, depending on the sort type being used
+ */
+ TLinearOrder<CWmWidgetOrderData> 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<CWmWidgetData> 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"