X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/dba614edd2aad3c17e244914eaef3809d8300cb1..1dbaf81816d8994a84716bf1f8ca34645206ae22:/lib/gui/elistboxcontent.h diff --git a/lib/gui/elistboxcontent.h b/lib/gui/elistboxcontent.h index a2e1fd36..f7e5d2b6 100644 --- a/lib/gui/elistboxcontent.h +++ b/lib/gui/elistboxcontent.h @@ -4,11 +4,19 @@ #include #include -class eListboxTestContent: public virtual iListboxContent +class eListboxPythonStringContent: public virtual iListboxContent { - DECLARE_REF(eListboxTestContent); + 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(); @@ -17,7 +25,8 @@ protected: int cursorValid(); int cursorSet(int n); int cursorGet(); - + virtual int currentCursorSelectable(); + void cursorSave(); void cursorRestore(); int size(); @@ -28,86 +37,39 @@ 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); -private: + virtual void paint(gPainter &painter, eWindowStyle &style, const ePoint &offset, int selected); + +protected: + PyObject *m_list; int m_cursor, m_saved_cursor; - eSize m_size; + eSize m_itemsize; #endif }; -class eListboxStringContent: public virtual iListboxContent +class eListboxPythonConfigContent: public eListboxPythonStringContent { - DECLARE_REF(eListboxStringContent); public: - eListboxStringContent(); - void setList(std::list &list); -#ifndef SWI -protected: - - void cursorHome(); - void cursorEnd(); - int cursorMove(int count=1); - int cursorValid(); - int cursorSet(int n); - int cursorGet(); - - void cursorSave(); - void cursorRestore(); - int size(); - - // void setOutputDevice ? (for allocating colors, ...) .. requires some work, though - 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); + void setSeperation(int sep) { m_seperation = sep; } + int currentCursorSelectable(); private: - typedef std::list list; - - list m_list; - list::iterator m_cursor, m_saved_cursor; - - int m_cursor_number, m_saved_cursor_number; - int m_size; - - eSize m_itemsize; -#endif + int m_seperation; }; -class eListboxPythonStringContent: public virtual iListboxContent +class eListboxPythonMultiContent: public eListboxPythonStringContent { - DECLARE_REF(eListboxPythonStringContent); + PyObject *m_buildFunc; public: - eListboxPythonStringContent(); - ~eListboxPythonStringContent(); - - void setList(PyObject *list); - PyObject *getCurrentSelection(); -#ifndef SWIG -protected: - void cursorHome(); - void cursorEnd(); - int cursorMove(int count=1); - int cursorValid(); - int cursorSet(int n); - int cursorGet(); - - void cursorSave(); - void cursorRestore(); - int size(); - - RESULT connectItemChanged(const Slot0 &itemChanged, ePtr &connection); - - // void setOutputDevice ? (for allocating colors, ...) .. requires some work, though - void setSize(const eSize &size); - - /* the following functions always refer to the selected item */ + 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(PyObject *func); private: - PyObject *m_list; - int m_cursor, m_saved_cursor; - eSize m_itemsize; -#endif + std::map > m_font; }; #endif