X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fservice%2Flistboxservice.h;h=982d7e14226521b5414f2e777de8eaa21cacbc1f;hp=a742b061ffde88bfb625fca0e158879a913d3686;hb=1398385cff4a4fc4d770afa1e9d1f6d560431b23;hpb=36940d42cf3cc58b40a5a6f5fe86bad50ff48ad7;ds=sidebyside diff --git a/lib/service/listboxservice.h b/lib/service/listboxservice.h index a742b06..982d7e1 100644 --- a/lib/service/listboxservice.h +++ b/lib/service/listboxservice.h @@ -1,6 +1,7 @@ #ifndef __lib_service_listboxservice_h #define __lib_service_listboxservice_h +#include #include #include #include @@ -11,12 +12,18 @@ class eListboxServiceContent: public virtual iListboxContent public: eListboxServiceContent(); + void addService(const eServiceReference &ref, bool beforeCurrent=false); + void removeCurrent(); + void FillFinished(); + void setIgnoreService( const eServiceReference &service ); - void setRoot(const eServiceReference &ref); + void setRoot(const eServiceReference &ref, bool justSet=false); void getCurrent(eServiceReference &ref); int getNextBeginningWithChar(char c); - + int getPrevMarkerPos(); + int getNextMarkerPos(); + /* support for marked services */ void initMarked(); void addMarked(const eServiceReference &ref); @@ -39,21 +46,54 @@ public: /* only in complex mode: */ enum { - celIcon, celServiceNumber, + celMarkerPixmap, + celFolderPixmap, + celServiceEventProgressbar, celServiceName, + celServiceTypePixmap, celServiceInfo, // "now" event celElements }; - + + enum { + picDVB_S, + picDVB_T, + picDVB_C, + picServiceGroup, + picFolder, + picMarker, + picServiceEventProgressbar, + picElements + }; + void setElementPosition(int element, eRect where); void setElementFont(int element, gFont *font); + void setPixmap(int type, ePtr &pic); void sort(); int setCurrentMarked(bool); void setNumberOffset(int offset) { m_numberoffset = offset; } + + int getItemHeight() { return m_itemheight; } + void setItemHeight(int height); + + enum { + markedForeground, + markedForegroundSelected, + markedBackground, + markedBackgroundSelected, + serviceNotAvail, + serviceEventProgressbarColor, + serviceEventProgressbarColorSelected, + serviceEventProgressbarBorderColor, + serviceEventProgressbarBorderColorSelected, + colorElements + }; + + void setColor(int color, gRGB &col); protected: void cursorHome(); void cursorEnd(); @@ -76,6 +116,9 @@ protected: /* for complex mode */ eRect m_element_position[celElements]; ePtr m_element_font[celElements]; + ePtr m_pixmaps[picElements]; + gRGB m_color[colorElements]; + bool m_color_set[colorElements]; private: typedef std::list list; @@ -87,6 +130,7 @@ private: eSize m_itemsize; ePtr m_service_center; + ePtr m_lst; eServiceReference m_root; @@ -100,6 +144,8 @@ private: int m_numberoffset; eServiceReference m_is_playable_ignore; + + int m_itemheight; }; #endif