1 #ifndef __lib_service_listboxservice_h
2 #define __lib_service_listboxservice_h
4 #include <lib/gui/elistbox.h>
5 #include <lib/service/iservice.h>
10 class eListboxServiceContent: public virtual iListboxContent
12 DECLARE_REF(eListboxServiceContent);
14 eListboxServiceContent();
15 void setRoot(const eServiceReference &ref);
16 void getCurrent(eServiceReference &ref);
18 /* support for marked services */
20 void addMarked(const eServiceReference &ref);
21 void removeMarked(const eServiceReference &ref);
22 int isMarked(const eServiceReference &ref);
23 int lookupService(const eServiceReference &ref);
29 int cursorMove(int count=1);
38 // void setOutputDevice ? (for allocating colors, ...) .. requires some work, though
39 void setSize(const eSize &size);
41 /* the following functions always refer to the selected item */
42 void paint(gPainter &painter, eWindowStyle &style, const ePoint &offset, int selected);
44 typedef std::list<eServiceReference> list;
47 list::iterator m_cursor, m_saved_cursor;
49 int m_cursor_number, m_saved_cursor_number;
53 ePtr<eServiceCenter> m_service_center;
55 eServiceReference m_root;
57 /* support for marked services */
58 std::set<eServiceReference> m_marked;