CheckBox
From uGFX Wiki
A checkbox is a small stand-alone GUI element which only knows the two states checked and unchecked. The text attribute of a checkbox gets drawn by default on the left side of the checkbox. The width of the widget is supposed to be larger in order to contain the text.
API reference
The API reference of the checkbox widget can be found here.
Custom Draw Routines
The checkbox widget predefines a number of custom draw routines. They can be set using gwinSetCustomDraw()
or by specifying the custom draw routine in the GWidgetInit structure during creation. The predefined custom draw routines are:
Custom Draw Routine | Description |
---|---|
gwinCheckboxDraw_CheckOnLeft | The check is on the left of the text (default). |
gwinCheckboxDraw_CheckOnRight | The check is on the right of the text. |
Example
The following example shows how to use the checkbox widget:
#include "gfx.h" static GListener gl; static GHandle ghCheckbox1; static void createWidgets(void) { GWidgetInit wi; // Apply some default values for GWIN wi.customDraw = 0; wi.customParam = 0; wi.customStyle = 0; wi.g.show = TRUE; // Apply the checkbox parameters wi.g.width = 100; // includes text wi.g.height = 20; wi.g.y = 10; wi.g.x = 10; wi.text = "Checkbox"; // Create the actual checkbox ghCheckbox1 = gwinCheckboxCreate(NULL, &wi); } int main(void) { GEvent* pe; // Initialize the display gfxInit(); // Set the widget defaults gwinSetDefaultFont(gdispOpenFont("UI2")); gwinSetDefaultStyle(&WhiteWidgetStyle, FALSE); gdispClear(White); // Attach the mouse input gwinAttachMouse(0); // create the widget createWidgets(); // We want to listen for widget events geventListenerInit(&gl); gwinAttachListener(&gl); while(1) { // Get an Event pe = geventEventWait(&gl, TIME_INFINITE); switch(pe->type) { case GEVENT_GWIN_CHECKBOX: if (((GEventGWinCheckbox*)pe)->gwin== ghCheckbox1) { // The state of our checkbox has changed printf("Checkbox state: %d\r\n", ((GEventGWinCheckbox*)pe)->isChecked); } break; default: break; } } return 0; }