/* * a Button which cycles through multiple choices */ #ifndef cyclebutton_h #define cyclebutton_h #include class CycleButtonChoice { public: const char* label; void* value; }; class CycleButton : public Button { public: CycleButton(ButtonState*, CycleButtonChoice* choices); CycleButton(const char* name, ButtonState*, CycleButtonChoice* choices); virtual ~CycleButton(); protected: virtual void Reconfig(); virtual void Redraw(Coord, Coord, Coord, Coord); virtual void Refresh(); virtual void Press(); virtual void Update(); private: void Init(CycleButtonChoice*); CycleButtonChoice* choices; int count; int current; }; #endif