diff options
Diffstat (limited to 'demos/modules/gwin/list/main.c')
-rw-r--r-- | demos/modules/gwin/list/main.c | 62 |
1 files changed, 51 insertions, 11 deletions
diff --git a/demos/modules/gwin/list/main.c b/demos/modules/gwin/list/main.c index 03d99d58..fca5f018 100644 --- a/demos/modules/gwin/list/main.c +++ b/demos/modules/gwin/list/main.c @@ -29,8 +29,9 @@ #include "gfx.h" -static GListener gl; -static GHandle ghList1; +GListener gl; +GHandle ghLabel1, ghLabel2; +GHandle ghList1, ghList2; static void createWidgets(void) { GWidgetInit wi; @@ -39,17 +40,38 @@ static void createWidgets(void) { wi.customDraw = 0; wi.customParam = 0; wi.customStyle = 0; + wi.g.show = TRUE; + + // Create the label for the first list + wi.g.width = 150; wi.g.height = 20; wi.g.x = 10, wi.g.y = 80; + wi.text = "List 1: Default"; + ghLabel1 = gwinLabelCreate(NULL, &wi); + + // Create the label for the second list + wi.g.width = 150; wi.g.height = 20; wi.g.x = 165, wi.g.y = 80; + wi.text = "List 2: Smooth scrolling"; + ghLabel1 = gwinLabelCreate(NULL, &wi); + + // Make list widgets invisible by default as they would issue + // a re-render at every time an item is added wi.g.show = FALSE; - // Apply the list parameters - wi.g.width = 100; - wi.g.height = 80; - wi.g.y = 10; + // The first list widget + wi.g.width = 150; + wi.g.height = 100; + wi.g.y = 100; wi.g.x = 10; - wi.text = "List Name"; - - // Create the actual list + wi.text = "Name of list 1"; ghList1 = gwinListCreate(0, &wi, FALSE); + + // The second list widget + wi.g.width = 150; + wi.g.height = 100; + wi.g.y = 100; + wi.g.x = 165; + wi.text = "Name of list 2"; + ghList2 = gwinListCreate(0, &wi, FALSE); + gwinListSetScroll(ghList2, scrollSmooth); } int main(void) { @@ -59,7 +81,7 @@ int main(void) { gfxInit(); // Set the widget defaults - gwinSetDefaultFont(gdispOpenFont("UI2")); + gwinSetDefaultFont(gdispOpenFont("DejaVuSans12_AA")); gwinSetDefaultStyle(&WhiteWidgetStyle, FALSE); gdispClear(White); @@ -73,7 +95,7 @@ int main(void) { geventListenerInit(&gl); gwinAttachListener(&gl); - // Add some items to the list widget + // Add some items to the first list widget gwinListAddItem(ghList1, "Item 0", FALSE); gwinListAddItem(ghList1, "Item 1", FALSE); gwinListAddItem(ghList1, "Item 2", FALSE); @@ -89,7 +111,25 @@ int main(void) { gwinListAddItem(ghList1, "Item 12", FALSE); gwinListAddItem(ghList1, "Item 13", FALSE); + // Add some items to the second list widget + gwinListAddItem(ghList2, "Item 0", FALSE); + gwinListAddItem(ghList2, "Item 1", FALSE); + gwinListAddItem(ghList2, "Item 2", FALSE); + gwinListAddItem(ghList2, "Item 3", FALSE); + gwinListAddItem(ghList2, "Item 4", FALSE); + gwinListAddItem(ghList2, "Item 5", FALSE); + gwinListAddItem(ghList2, "Item 6", FALSE); + gwinListAddItem(ghList2, "Item 7", FALSE); + gwinListAddItem(ghList2, "Item 8", FALSE); + gwinListAddItem(ghList2, "Item 9", FALSE); + gwinListAddItem(ghList2, "Item 10", FALSE); + gwinListAddItem(ghList2, "Item 11", FALSE); + gwinListAddItem(ghList2, "Item 12", FALSE); + gwinListAddItem(ghList2, "Item 13", FALSE); + + // Make all the lists visible gwinSetVisible(ghList1, TRUE); + gwinSetVisible(ghList2, TRUE); while(1) { // Get an Event |