Foundation classes for a basic GUI implementing simple widgets and events. (Fork for custom changes.)
Fork of SimpleGUI by
Dialogs/SpinnerDialog.cpp@13:6714534e7974, 2016-05-21 (annotated)
- Committer:
- duncanFrance
- Date:
- Sat May 21 14:40:09 2016 +0000
- Revision:
- 13:6714534e7974
- Child:
- 14:e6515b19f5a0
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 | 13:6714534e7974 | 1 | #include "SpinnerDialog.h" |
duncanFrance | 13:6714534e7974 | 2 | #include "GreenTick_64x64_bmp.h" |
duncanFrance | 13:6714534e7974 | 3 | #include "RedCross_64x64_bmp.h" |
duncanFrance | 13:6714534e7974 | 4 | |
duncanFrance | 13:6714534e7974 | 5 | SpinnerDialog::SpinnerDialog(GraphicsContext *context) : ContainerWidget(context) |
duncanFrance | 13:6714534e7974 | 6 | { |
duncanFrance | 13:6714534e7974 | 7 | |
duncanFrance | 13:6714534e7974 | 8 | setLayout(FIXED); |
duncanFrance | 13:6714534e7974 | 9 | setSize( |
duncanFrance | 13:6714534e7974 | 10 | context->display()->width(), |
duncanFrance | 13:6714534e7974 | 11 | context->display()->height() |
duncanFrance | 13:6714534e7974 | 12 | ); |
duncanFrance | 13:6714534e7974 | 13 | |
duncanFrance | 13:6714534e7974 | 14 | // Now add a Spinner and apply/cancel buttons |
duncanFrance | 13:6714534e7974 | 15 | _spinner = new SpinnerWidget(context); |
duncanFrance | 13:6714534e7974 | 16 | _spinner->setLocation(0,0); |
duncanFrance | 13:6714534e7974 | 17 | attach(_spinner); |
duncanFrance | 13:6714534e7974 | 18 | |
duncanFrance | 13:6714534e7974 | 19 | BitmapWidget *apply = new BitmapWidget(context); |
duncanFrance | 13:6714534e7974 | 20 | apply->setBitmap(GreenTick_64x64_bmp, 64, 64); |
duncanFrance | 13:6714534e7974 | 21 | apply->setLocation( |
duncanFrance | 13:6714534e7974 | 22 | 0, |
duncanFrance | 13:6714534e7974 | 23 | context->display()->height() - apply->height() |
duncanFrance | 13:6714534e7974 | 24 | ); |
duncanFrance | 13:6714534e7974 | 25 | attach(apply); |
duncanFrance | 13:6714534e7974 | 26 | |
duncanFrance | 13:6714534e7974 | 27 | BitmapWidget *cancel = new BitmapWidget(context); |
duncanFrance | 13:6714534e7974 | 28 | cancel->setBitmap(RedCross_64x64_bmp, 64, 64); |
duncanFrance | 13:6714534e7974 | 29 | cancel->setLocation( |
duncanFrance | 13:6714534e7974 | 30 | context->display()->width() - cancel->width(), |
duncanFrance | 13:6714534e7974 | 31 | context->display()->height() - cancel->height() |
duncanFrance | 13:6714534e7974 | 32 | ); |
duncanFrance | 13:6714534e7974 | 33 | attach(cancel); |
duncanFrance | 13:6714534e7974 | 34 | |
duncanFrance | 13:6714534e7974 | 35 | EventHandler *ok = new EventHandler(TOUCH_TAP, this, &SpinnerDialog::_handleOK); |
duncanFrance | 13:6714534e7974 | 36 | EventHandler *cancelled = new EventHandler(TOUCH_TAP, this, &SpinnerDialog::_handleCancel); |
duncanFrance | 13:6714534e7974 | 37 | apply->setEventHandler(ok); |
duncanFrance | 13:6714534e7974 | 38 | cancel->setEventHandler(cancelled); |
duncanFrance | 13:6714534e7974 | 39 | } |
duncanFrance | 13:6714534e7974 | 40 | |
duncanFrance | 13:6714534e7974 | 41 | SpinnerWidget *SpinnerDialog::spinner() |
duncanFrance | 13:6714534e7974 | 42 | { |
duncanFrance | 13:6714534e7974 | 43 | return _spinner; |
duncanFrance | 13:6714534e7974 | 44 | } |
duncanFrance | 13:6714534e7974 | 45 | |
duncanFrance | 13:6714534e7974 | 46 | void SpinnerDialog::_handleOK(Event e) { |
duncanFrance | 13:6714534e7974 | 47 | _onOK.call(e); |
duncanFrance | 13:6714534e7974 | 48 | } |
duncanFrance | 13:6714534e7974 | 49 | |
duncanFrance | 13:6714534e7974 | 50 | void SpinnerDialog::_handleCancel(Event e) { |
duncanFrance | 13:6714534e7974 | 51 | _onCancel.call(e); |
duncanFrance | 13:6714534e7974 | 52 | } |