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
Child:
14:e6515b19f5a0
Cleaned up SpinnerWidget; Started on SpinnerDialog - will extract Dialog later

Who changed what in which revision?

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