Foundation classes for a basic GUI implementing simple widgets and events. (Fork for custom changes.)
Fork of SimpleGUI by
Dialogs/OKCancelDialog.cpp@20:ef07d42ea062, 2016-10-18 (annotated)
- Committer:
- elh
- Date:
- Tue Oct 18 19:43:15 2016 +0000
- Revision:
- 20:ef07d42ea062
- Parent:
- 14:e6515b19f5a0
Initialize Textwidgets _text to NULL preventing crash if widget is draw until a text was set.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
duncanFrance | 14:e6515b19f5a0 | 1 | #include "OKCancelDialog.h" |
duncanFrance | 14:e6515b19f5a0 | 2 | #include "BitmapWidget.h" |
duncanFrance | 14:e6515b19f5a0 | 3 | #include "GreenTick_64x64_bmp.h" |
duncanFrance | 14:e6515b19f5a0 | 4 | #include "RedCross_64x64_bmp.h" |
duncanFrance | 14:e6515b19f5a0 | 5 | |
duncanFrance | 14:e6515b19f5a0 | 6 | OKCancelDialog::OKCancelDialog(GraphicsContext *context) : ContainerWidget(context) |
duncanFrance | 14:e6515b19f5a0 | 7 | { |
duncanFrance | 14:e6515b19f5a0 | 8 | |
duncanFrance | 14:e6515b19f5a0 | 9 | setLayout(FIXED); |
duncanFrance | 14:e6515b19f5a0 | 10 | setSize( |
duncanFrance | 14:e6515b19f5a0 | 11 | context->display()->width(), |
duncanFrance | 14:e6515b19f5a0 | 12 | context->display()->height() |
duncanFrance | 14:e6515b19f5a0 | 13 | ); |
duncanFrance | 14:e6515b19f5a0 | 14 | |
duncanFrance | 14:e6515b19f5a0 | 15 | |
duncanFrance | 14:e6515b19f5a0 | 16 | BitmapWidget *apply = new BitmapWidget(context); |
duncanFrance | 14:e6515b19f5a0 | 17 | apply->setBitmap(GreenTick_64x64_bmp, 64, 64); |
duncanFrance | 14:e6515b19f5a0 | 18 | apply->setLocation( |
duncanFrance | 14:e6515b19f5a0 | 19 | 0, |
duncanFrance | 14:e6515b19f5a0 | 20 | context->display()->height() - apply->height() |
duncanFrance | 14:e6515b19f5a0 | 21 | ); |
duncanFrance | 14:e6515b19f5a0 | 22 | attach(apply); |
duncanFrance | 14:e6515b19f5a0 | 23 | |
duncanFrance | 14:e6515b19f5a0 | 24 | BitmapWidget *cancel = new BitmapWidget(context); |
duncanFrance | 14:e6515b19f5a0 | 25 | cancel->setBitmap(RedCross_64x64_bmp, 64, 64); |
duncanFrance | 14:e6515b19f5a0 | 26 | cancel->setLocation( |
duncanFrance | 14:e6515b19f5a0 | 27 | context->display()->width() - cancel->width(), |
duncanFrance | 14:e6515b19f5a0 | 28 | context->display()->height() - cancel->height() |
duncanFrance | 14:e6515b19f5a0 | 29 | ); |
duncanFrance | 14:e6515b19f5a0 | 30 | attach(cancel); |
duncanFrance | 14:e6515b19f5a0 | 31 | |
duncanFrance | 14:e6515b19f5a0 | 32 | EventHandler *ok = new EventHandler(TOUCH_TAP, this, &OKCancelDialog::_handleOK); |
duncanFrance | 14:e6515b19f5a0 | 33 | EventHandler *cancelled = new EventHandler(TOUCH_TAP, this, &OKCancelDialog::_handleCancel); |
duncanFrance | 14:e6515b19f5a0 | 34 | apply->setEventHandler(ok); |
duncanFrance | 14:e6515b19f5a0 | 35 | cancel->setEventHandler(cancelled); |
duncanFrance | 14:e6515b19f5a0 | 36 | } |
duncanFrance | 14:e6515b19f5a0 | 37 | |
duncanFrance | 14:e6515b19f5a0 | 38 | |
duncanFrance | 14:e6515b19f5a0 | 39 | void OKCancelDialog::_handleOK(Event e) { |
duncanFrance | 14:e6515b19f5a0 | 40 | _onOK.call(e); |
duncanFrance | 14:e6515b19f5a0 | 41 | } |
duncanFrance | 14:e6515b19f5a0 | 42 | |
duncanFrance | 14:e6515b19f5a0 | 43 | void OKCancelDialog::_handleCancel(Event e) { |
duncanFrance | 14:e6515b19f5a0 | 44 | _onCancel.call(e); |
duncanFrance | 14:e6515b19f5a0 | 45 | } |