#include <lib/python/python.h>
#include <lib/gui/elistbox.h>
-class eListboxTestContent: public virtual iListboxContent
+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();
int cursorValid();
int cursorSet(int n);
int cursorGet();
-
+ virtual int currentCursorSelectable();
+
void cursorSave();
void cursorRestore();
int size();
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;
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);
+ void setSeperation(int sep) { m_seperation = sep; }
+ int currentCursorSelectable();
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
+ int m_seperation;
};
-class eListboxPythonStringContent: public virtual iListboxContent
+class eListboxPythonMultiContent: public eListboxPythonStringContent
{
- DECLARE_REF;
+ 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<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 */
+ 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<int, ePtr<gFont> > m_font;
};
#endif