#define __lib_gui_elistboxcontent_h
#include <lib/python/python.h>
+#include <lib/gui/elistbox.h>
class eListboxTestContent: public virtual iListboxContent
{
- DECLARE_REF;
+ DECLARE_REF(eListboxTestContent);
public:
+
+#ifndef SWIG
+protected:
void cursorHome();
void cursorEnd();
int cursorMove(int count=1);
private:
int m_cursor, m_saved_cursor;
eSize m_size;
+#endif
};
class eListboxStringContent: public virtual iListboxContent
{
- DECLARE_REF;
+ DECLARE_REF(eListboxStringContent);
public:
eListboxStringContent();
+ void setList(std::list<std::string> &list);
+#ifndef SWI
+protected:
void cursorHome();
void cursorEnd();
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);
-
- void setList(std::list<std::string> &list);
private:
typedef std::list<std::string> list;
int m_size;
eSize m_itemsize;
+#endif
};
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();
+#ifndef SWIG
+protected:
void cursorHome();
void cursorEnd();
int cursorMove(int count=1);
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 setList(PyObject *list);
-
- PyObject *getCurrentSelection();
-
-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_itemsize;
+#endif
+};
+
+class eListboxPythonConfigContent: public eListboxPythonStringContent
+{
+public:
+ void paint(gPainter &painter, eWindowStyle &style, const ePoint &offset, int selected);
+ void setSeperation(int sep) { m_seperation = sep; }
+private:
+ int m_seperation;
+};
+
+class eListboxPythonMultiContent: public eListboxPythonStringContent
+{
+public:
+ void paint(gPainter &painter, eWindowStyle &style, const ePoint &offset, int selected);
+
+ void setFont(int fnt, gFont *fnt);
+private:
+ std::map<int, ePtr<gFont> > m_font;
};
#endif