Foundation classes for a basic GUI implementing simple widgets and events
Dependents: TouchScreenGUIDemo
Widgets/SpinnerWidget.h@13:6714534e7974, 2016-05-21 (annotated)
- Committer:
- duncanFrance
- Date:
- Sat May 21 14:40:09 2016 +0000
- Revision:
- 13:6714534e7974
- Parent:
- 12:63db16fea709
- Child:
- 17:5184762fda6c
Cleaned up SpinnerWidget; Started on SpinnerDialog - will extract Dialog later
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
duncanFrance | 11:b485561aa112 | 1 | #ifndef SIMPLEGUI_SPINNER_WIDGET_H |
duncanFrance | 11:b485561aa112 | 2 | #define SIMPLEGUI_SPINNER_WIDGET_H |
duncanFrance | 11:b485561aa112 | 3 | |
duncanFrance | 11:b485561aa112 | 4 | #include "BitmapWidget.h" |
duncanFrance | 11:b485561aa112 | 5 | #include "TextWidget.h" |
duncanFrance | 11:b485561aa112 | 6 | #include "ContainerWidget.h" |
duncanFrance | 11:b485561aa112 | 7 | #include "GUI.h" |
duncanFrance | 11:b485561aa112 | 8 | |
duncanFrance | 11:b485561aa112 | 9 | /** |
duncanFrance | 11:b485561aa112 | 10 | * A spinner widget shows up and down arrows to set a value |
duncanFrance | 13:6714534e7974 | 11 | * It automatically sizes itself to fit the screen dimensions when created |
duncanFrance | 11:b485561aa112 | 12 | **/ |
duncanFrance | 12:63db16fea709 | 13 | class SpinnerWidget : public ContainerWidget |
duncanFrance | 12:63db16fea709 | 14 | { |
duncanFrance | 12:63db16fea709 | 15 | |
duncanFrance | 11:b485561aa112 | 16 | public: |
duncanFrance | 11:b485561aa112 | 17 | |
duncanFrance | 12:63db16fea709 | 18 | SpinnerWidget(GraphicsContext *context); |
duncanFrance | 11:b485561aa112 | 19 | |
duncanFrance | 11:b485561aa112 | 20 | void setMin(float min); |
duncanFrance | 11:b485561aa112 | 21 | void setMax(float max); |
duncanFrance | 11:b485561aa112 | 22 | void setIncrement(float increment); |
duncanFrance | 11:b485561aa112 | 23 | void setValue(float value); |
duncanFrance | 12:63db16fea709 | 24 | void setFormat(const char* format); |
duncanFrance | 12:63db16fea709 | 25 | |
duncanFrance | 12:63db16fea709 | 26 | float getMin(); |
duncanFrance | 12:63db16fea709 | 27 | float getMax(); |
duncanFrance | 12:63db16fea709 | 28 | float getIncrement(); |
duncanFrance | 12:63db16fea709 | 29 | float getValue(); |
duncanFrance | 12:63db16fea709 | 30 | const char* getFormat(); |
duncanFrance | 12:63db16fea709 | 31 | |
duncanFrance | 11:b485561aa112 | 32 | template<typename T> |
duncanFrance | 12:63db16fea709 | 33 | void onChange(T* tptr, void (T::*mptr)(Event e)); |
duncanFrance | 12:63db16fea709 | 34 | |
duncanFrance | 12:63db16fea709 | 35 | // Overrides |
duncanFrance | 12:63db16fea709 | 36 | virtual void setSize(int width, int height); |
duncanFrance | 11:b485561aa112 | 37 | |
duncanFrance | 11:b485561aa112 | 38 | protected: |
duncanFrance | 11:b485561aa112 | 39 | |
duncanFrance | 12:63db16fea709 | 40 | BitmapWidget _upArrow; |
duncanFrance | 12:63db16fea709 | 41 | TextWidget _text; |
duncanFrance | 12:63db16fea709 | 42 | BitmapWidget _downArrow; |
duncanFrance | 11:b485561aa112 | 43 | |
duncanFrance | 12:63db16fea709 | 44 | float _min, _max, _increment, _value; |
duncanFrance | 12:63db16fea709 | 45 | |
duncanFrance | 12:63db16fea709 | 46 | const char* _format; |
duncanFrance | 12:63db16fea709 | 47 | char _buf[64]; |
duncanFrance | 11:b485561aa112 | 48 | |
duncanFrance | 12:63db16fea709 | 49 | FunctionPointerArg1<void,Event> _onChange; |
duncanFrance | 12:63db16fea709 | 50 | |
duncanFrance | 12:63db16fea709 | 51 | virtual void _onUpClick(Event e); |
duncanFrance | 12:63db16fea709 | 52 | virtual void _onDownClick(Event e); |
duncanFrance | 12:63db16fea709 | 53 | |
duncanFrance | 12:63db16fea709 | 54 | /** |
duncanFrance | 12:63db16fea709 | 55 | * Overrides |
duncanFrance | 12:63db16fea709 | 56 | **/ |
duncanFrance | 12:63db16fea709 | 57 | virtual void _dirty(); |
duncanFrance | 11:b485561aa112 | 58 | }; |
duncanFrance | 11:b485561aa112 | 59 | #endif |