use local listbox styles for servicelist
[enigma2.git] / lib / service / listboxservice.h
index 59d4d9200c2c360f3146a34f02258ce4f2c7fdfd..40c7c64dea9ac516321aee94429a7b82065f7861 100644 (file)
@@ -1,6 +1,7 @@
 #ifndef __lib_service_listboxservice_h
 #define __lib_service_listboxservice_h
 
+#include <lib/gdi/gpixmap.h>
 #include <lib/gui/elistbox.h>
 #include <lib/service/iservice.h>
 #include <set>
@@ -58,6 +59,7 @@ public:
                picDVB_S,
                picDVB_T,
                picDVB_C,
+               picServiceGroup,
                picFolder,
                picMarker,
                picElements
@@ -72,6 +74,20 @@ public:
        int setCurrentMarked(bool);
 
        void setNumberOffset(int offset) { m_numberoffset = offset; }
+       
+       int getItemHeight() { return m_itemheight; }
+       int setItemHeight(int height);
+
+       enum {
+               markedForeground,
+               markedForegroundSelected,
+               markedBackground,
+               markedBackgroundSelected,
+               serviceNotAvail,
+               colorElements
+       };
+       
+       void setColor(int color, gRGB &col);
 protected:
        void cursorHome();
        void cursorEnd();
@@ -95,6 +111,8 @@ protected:
        eRect m_element_position[celElements];
        ePtr<gFont> m_element_font[celElements];
        ePtr<gPixmap> m_pixmaps[picElements];
+       gRGB m_color[colorElements];
+       bool m_color_set[colorElements];
 private:
        typedef std::list<eServiceReference> list;
        
@@ -106,6 +124,7 @@ private:
        
        eSize m_itemsize;
        ePtr<iServiceHandler> m_service_center;
+       ePtr<iListableService> m_lst;
        
        eServiceReference m_root;
 
@@ -119,6 +138,8 @@ private:
        int m_numberoffset;
 
        eServiceReference m_is_playable_ignore;
+
+       int m_itemheight;
 };
 
 #endif