code cleanup / more flexible code
[enigma2.git] / lib / gui / elistboxcontent.h
index acf6525b92824d571ac24bf7f9da4c14dc2f4423..466a825bd05abbb141df62e31a70a376cf7b39dc 100644 (file)
@@ -11,7 +11,7 @@ public:
        eListboxPythonStringContent();
        ~eListboxPythonStringContent();
 
-       void setList(PyObject *list);
+       void setList(SWIG_PYOBJECT(ePyObject) list);
        PyObject *getCurrentSelection();
        int getCurrentSelectionIndex() { return m_cursor; }
        void invalidateEntry(int index);
@@ -38,11 +38,14 @@ protected:
        
                /* the following functions always refer to the selected item */
        virtual void paint(gPainter &painter, eWindowStyle &style, const ePoint &offset, int selected);
+       
+       int getItemHeight() { return m_itemheight; }
 
 protected:
-       PyObject *m_list;
+       ePyObject m_list;
        int m_cursor, m_saved_cursor;
        eSize m_itemsize;
+       int m_itemheight;
 #endif
 };
 
@@ -58,14 +61,33 @@ private:
 
 class eListboxPythonMultiContent: public eListboxPythonStringContent
 {
+       ePyObject m_buildFunc;
+       eRect m_selection_clip;
+       gRegion m_temp_clip;
 public:
+       eListboxPythonMultiContent();
+       ~eListboxPythonMultiContent();
        enum { TYPE_TEXT, TYPE_PROGRESS, TYPE_PIXMAP, TYPE_PIXMAP_ALPHATEST };
        void paint(gPainter &painter, eWindowStyle &style, const ePoint &offset, int selected);
        int currentCursorSelectable();
        
        void setFont(int fnt, gFont *fnt);
+       void setBuildFunc(SWIG_PYOBJECT(ePyObject) func);
+       void setItemHeight(int height);
+       void setSelectionClip(eRect &rect, bool update=true);
 private:
        std::map<int, ePtr<gFont> > m_font;
 };
 
+#ifdef SWIG
+#define RT_HALIGN_LEFT 0
+#define RT_HALIGN_RIGHT 1
+#define RT_HALIGN_CENTER 2
+#define RT_HALIGN_BLOCK 4
+#define RT_VALIGN_TOP 0
+#define RT_VALIGN_CENTER 8
+#define RT_VALIGN_BOTTOM 16
+#define RT_WRAP 32
+#endif // SWIG
+
 #endif