work on (premiere) subservice selection
[enigma2.git] / lib / service / listboxservice.h
index d64805c5ed4eef64586f66a27b8526cb538a628d..1d5dc2a200b11e0b4bf6bbc643bd59866b36b105 100644 (file)
@@ -3,12 +3,14 @@
 
 #include <lib/gui/elistbox.h>
 #include <lib/service/iservice.h>
-
 #include <set>
 
+class eEPGCache;
+
 class eListboxServiceContent: public virtual iListboxContent
 {
        DECLARE_REF(eListboxServiceContent);
+       eEPGCache *epgcache;
 public:
        eListboxServiceContent();
        void setRoot(const eServiceReference &ref);
@@ -25,7 +27,8 @@ public:
        int markedQueryNext(eServiceReference &ref);
 
        int lookupService(const eServiceReference &ref);
-       
+       void setCurrent(const eServiceReference &ref);
+
        enum {
                visModeSimple,
                visModeComplex
@@ -35,9 +38,9 @@ public:
        
                /* only in complex mode: */
        enum {
-               celServiceName,
-               celServiceNumber,
                celIcon,
+               celServiceNumber,
+               celServiceName,
                celServiceInfo, // "now" event
                celElements
        };
@@ -49,6 +52,7 @@ public:
 
        int setCurrentMarked(bool);
 
+       void setNumberOffset(int offset) { m_numberoffset = offset; }
 protected:
        void cursorHome();
        void cursorEnd();
@@ -91,7 +95,8 @@ private:
 
                /* support for movemode */
        bool m_current_marked;
-       list::iterator m_swap;
+
+       int m_numberoffset;
 };
 
 #endif