#include <lib/python/python.h>
#include <lib/gui/elistbox.h>
-class eListboxTestContent: public virtual iListboxContent
-{
- DECLARE_REF(eListboxTestContent);
-public:
-
-#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<void> &itemChanged, ePtr<eConnection> &connection);
-
- // 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);
-private:
- int m_cursor, m_saved_cursor;
- eSize m_size;
-#endif
-};
-
-class eListboxStringContent: public virtual iListboxContent
-{
- DECLARE_REF(eListboxStringContent);
-public:
- eListboxStringContent();
- void setList(std::list<std::string> &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);
-private:
- typedef std::list<std::string> 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
-};
-
class eListboxPythonStringContent: public virtual iListboxContent
{
DECLARE_REF(eListboxPythonStringContent);
eListboxPythonStringContent();
~eListboxPythonStringContent();
- void setList(PyObject *list);
+ void setList(SWIG_PYOBJECT(ePyObject) list);
PyObject *getCurrentSelection();
int getCurrentSelectionIndex() { return m_cursor; }
void invalidateEntry(int index);
void invalidate();
+ eSize getItemSize() { return m_itemsize; }
#ifndef SWIG
protected:
void cursorHome();
int cursorValid();
int cursorSet(int n);
int cursorGet();
-
+ virtual int currentCursorSelectable();
+
void cursorSave();
void cursorRestore();
int size();
/* 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
};
public:
void paint(gPainter &painter, eWindowStyle &style, const ePoint &offset, int selected);
void setSeperation(int sep) { m_seperation = sep; }
+ int currentCursorSelectable();
private:
int m_seperation;
};
class eListboxPythonMultiContent: public eListboxPythonStringContent
{
+ ePyObject m_buildFunc;
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);
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