add a tuxbox plugins plugin to prepare loading of tuxbox plugins when the c++ part...
[enigma2.git] / lib / gui / elistboxcontent.h
index deea30001340a880bd4f017c375a5ce4e98b8c67..a93ba512584c7aaaa59dfed18f33b4292a63224b 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);
@@ -75,13 +75,17 @@ 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();
+       eSize getItemSize() { return m_itemsize; }
 #ifndef SWIG
 protected:
        void cursorHome();
@@ -101,13 +105,33 @@ 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:
+       enum { TYPE_TEXT, TYPE_PROGRESS, TYPE_PIXMAP };
+       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