X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/6dcb75c26bbfec04b381bb99d75404f9fe50635d..7373f39fe2ebe1b5007ed56ddd86d9ce0ad3efb7:/lib/gui/elistboxcontent.h diff --git a/lib/gui/elistboxcontent.h b/lib/gui/elistboxcontent.h index d86d592d..d3d2a089 100644 --- a/lib/gui/elistboxcontent.h +++ b/lib/gui/elistboxcontent.h @@ -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: ePyObject m_list; int m_cursor, m_saved_cursor; eSize m_itemsize; + int m_itemheight; #endif }; @@ -59,17 +62,38 @@ private: class eListboxPythonMultiContent: public eListboxPythonStringContent { ePyObject m_buildFunc; + ePyObject m_selectableFunc; + ePyObject m_template; + eRect m_selection_clip; + gRegion m_clip, m_old_clip; public: eListboxPythonMultiContent(); ~eListboxPythonMultiContent(); - enum { TYPE_TEXT, TYPE_PROGRESS, TYPE_PIXMAP, TYPE_PIXMAP_ALPHATEST }; + enum { TYPE_TEXT, TYPE_PROGRESS, TYPE_PIXMAP, TYPE_PIXMAP_ALPHATEST, TYPE_PIXMAP_ALPHABLEND }; void paint(gPainter &painter, eWindowStyle &style, const ePoint &offset, int selected); int currentCursorSelectable(); - - void setFont(int fnt, gFont *fnt); + void setList(SWIG_PYOBJECT(ePyObject) list); + void setFont(int fnt, gFont *font); void setBuildFunc(SWIG_PYOBJECT(ePyObject) func); + void setSelectableFunc(SWIG_PYOBJECT(ePyObject) func); + void setItemHeight(int height); + void setSelectionClip(eRect &rect, bool update=false); + void updateClip(gRegion &); + void entryRemoved(int idx); + void setTemplate(SWIG_PYOBJECT(ePyObject) tmplate); private: std::map > 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