00001 #ifndef _LCD_WIDGET_H_
00002 #define _LCD_WIDGET_H_
00003
00012 #include "LCDElement.h"
00013 #include <list>
00014 #include <string>
00015
00023 class LCDWidget : public LCDElement
00024 {
00025 protected:
00026 int _x, _y;
00027 LCDWidget(const std::string &id, LCDElement *parent, const std::string &widgetType);
00028 std::string _widgetType;
00029 void setWidgetParameters(const std::string &properties);
00030
00031 public:
00032 enum Direction
00033 {
00034 Horizontal = 'h',
00035 Vertical = 'v'
00036 };
00042 typedef std::list<std::string> ParameterList;
00043 LCDWidget(const std::string &widgetType);
00044
00045 virtual void notifyChanged() = 0;
00055 void move(int x, int y = 1);
00056
00064 void set(const ParameterList &pList);
00065 virtual void valueCallback(std::string value) = 0;
00066 };
00067
00068 #endif