#ifndef __lib_service_listboxservice_h
#define __lib_service_listboxservice_h
+#include <lib/gdi/gpixmap.h>
#include <lib/gui/elistbox.h>
#include <lib/service/iservice.h>
#include <set>
public:
eListboxServiceContent();
- void addService(const eServiceReference &ref);
+ void addService(const eServiceReference &ref, bool beforeCurrent=false);
+ void removeCurrent();
void FillFinished();
void setIgnoreService( const eServiceReference &service );
void getCurrent(eServiceReference &ref);
int getNextBeginningWithChar(char c);
-
+ int getPrevMarkerPos();
+ int getNextMarkerPos();
+
/* support for marked services */
void initMarked();
void addMarked(const eServiceReference &ref);
/* only in complex mode: */
enum {
celServiceNumber,
+ celMarkerPixmap,
celFolderPixmap,
celServiceName,
celServiceTypePixmap,
picDVB_S,
picDVB_T,
picDVB_C,
+ picServiceGroup,
picFolder,
+ picMarker,
picElements
};
int setCurrentMarked(bool);
void setNumberOffset(int offset) { m_numberoffset = offset; }
+
+ int getItemHeight() { return m_itemheight; }
+ void setItemHeight(int height);
+
+ enum {
+ markedForeground,
+ markedForegroundSelected,
+ markedBackground,
+ markedBackgroundSelected,
+ serviceNotAvail,
+ colorElements
+ };
+
+ void setColor(int color, gRGB &col);
protected:
void cursorHome();
void cursorEnd();
eRect m_element_position[celElements];
ePtr<gFont> m_element_font[celElements];
ePtr<gPixmap> m_pixmaps[picElements];
+ gRGB m_color[colorElements];
+ bool m_color_set[colorElements];
private:
typedef std::list<eServiceReference> list;
eSize m_itemsize;
ePtr<iServiceHandler> m_service_center;
+ ePtr<iListableService> m_lst;
eServiceReference m_root;
int m_numberoffset;
eServiceReference m_is_playable_ignore;
+
+ int m_itemheight;
};
#endif