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

Fork of SimpleGUI by Duncan McIntyre

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?

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