Foundation classes for a basic GUI implementing simple widgets and events. (Fork for custom changes.)

Fork of SimpleGUI by Duncan McIntyre

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?

UserRevisionLine numberNew 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