fix linked tuners (i hope)
[enigma2.git] / lib / gui / elistboxcontent.h
index 7ef6011616a192f61000957ba06cdb2ecd6c8206..11a9d080f5525cea7af91fd88b360eb4c0090c2f 100644 (file)
@@ -6,7 +6,7 @@
 
 class eListboxTestContent: public virtual iListboxContent
 {
-       DECLARE_REF;
+       DECLARE_REF(eListboxTestContent);
 public:
 
 #ifndef SWIG
@@ -37,7 +37,7 @@ private:
 
 class eListboxStringContent: public virtual iListboxContent
 {
-       DECLARE_REF;
+       DECLARE_REF(eListboxStringContent);
 public:
        eListboxStringContent();
        void setList(std::list<std::string> &list);
@@ -55,8 +55,6 @@ protected:
        void cursorRestore();
        int size();
        
-       RESULT connectItemChanged(const Slot0<void> &itemChanged, ePtr<eConnection> &connection);
-       
        // void setOutputDevice ? (for allocating colors, ...) .. requires some work, though
        void setSize(const eSize &size);
        
@@ -77,13 +75,16 @@ private:
 
 class eListboxPythonStringContent: public virtual iListboxContent
 {
-       DECLARE_REF;
+       DECLARE_REF(eListboxPythonStringContent);
 public:
        eListboxPythonStringContent();
        ~eListboxPythonStringContent();
 
        void setList(PyObject *list);
        PyObject *getCurrentSelection();
+       int getCurrentSelectionIndex() { return m_cursor; }
+       void invalidateEntry(int index);
+       void invalidate();
 #ifndef SWIG
 protected:
        void cursorHome();
@@ -103,13 +104,32 @@ protected:
        void setSize(const eSize &size);
        
                /* the following functions always refer to the selected item */
-       void paint(gPainter &painter, eWindowStyle &style, const ePoint &offset, int selected);
+       virtual void paint(gPainter &painter, eWindowStyle &style, const ePoint &offset, int selected);
 
-private:
+protected:
        PyObject *m_list;
        int m_cursor, m_saved_cursor;
        eSize m_itemsize;
 #endif
 };
 
+class eListboxPythonConfigContent: public eListboxPythonStringContent
+{
+public:
+       void paint(gPainter &painter, eWindowStyle &style, const ePoint &offset, int selected);
+       void setSeperation(int sep) { m_seperation = sep; }
+private:
+       int m_seperation;
+};
+
+class eListboxPythonMultiContent: public eListboxPythonStringContent
+{
+public:
+       void paint(gPainter &painter, eWindowStyle &style, const ePoint &offset, int selected);
+       
+       void setFont(int fnt, gFont *fnt);
+private:
+       std::map<int, ePtr<gFont> > m_font;
+};
+
 #endif