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