application/demo_states.c

changeset 1203
35779840ebfd
parent 1201
fd7dc0716ab6
--- a/application/demo_states.c	Mon Jun 15 21:16:47 2026 +0200
+++ b/application/demo_states.c	Tue Jun 16 17:29:14 2026 +0200
@@ -90,6 +90,42 @@
     }
 }
 
+static void doc_suppress_state1(UiEvent *event, void *doc) {
+    UiContext *ctx = ui_document_context(doc);
+    if(event->intval) {
+        ui_suppress_state(ctx, 1);
+    } else {
+        ui_unsuppress_state(ctx, 1);
+    }
+}
+
+static void doc_suppress_state2(UiEvent *event, void *doc) {
+    UiContext *ctx = ui_document_context(doc);
+    if(event->intval) {
+        ui_suppress_state(ctx, 2);
+    } else {
+        ui_unsuppress_state(ctx, 2);
+    }
+}
+
+static void doc_suppress_state3(UiEvent *event, void *doc) {
+    UiContext *ctx = ui_document_context(doc);
+    if(event->intval) {
+        ui_suppress_state(ctx, 3);
+    } else {
+        ui_unsuppress_state(ctx, 3);
+    }
+}
+
+static void doc_suppress_state4(UiEvent *event, void *doc) {
+    UiContext *ctx = ui_document_context(doc);
+    if(event->intval) {
+        ui_suppress_state(ctx, 4);
+    } else {
+        ui_unsuppress_state(ctx, 4);
+    }
+}
+
 static void application_startup(UiEvent *event, void *userdata) {
     UiObject *obj = ui_window("States Demo");
     
@@ -117,21 +153,35 @@
         ui_frame(obj, .label = "Doc 1", .fill = TRUE, .margin = 10, .padding = 10, .spacing = 10, .subcontainer = UI_CONTAINER_VBOX) {
             ui_togglebutton(obj, .label = "Attach", .onchange = doc1_attachment);
             
-            ui_hbox(obj, .margin = 10, .spacing = 8) {
+            ui_grid(obj, .margin = 10, .columnspacing = 8, .rowspacing = 8, .def_hfill = TRUE) {
                 ui_togglebutton(obj, .label = "Enable 1", .onchange = doc_enable_state1, .onchangedata = doc1);
                 ui_togglebutton(obj, .label = "Enable 2", .onchange = doc_enable_state2, .onchangedata = doc1);
                 ui_togglebutton(obj, .label = "Enable 3", .onchange = doc_enable_state3, .onchangedata = doc1);
                 ui_togglebutton(obj, .label = "Enable 4", .onchange = doc_enable_state4, .onchangedata = doc1);
+                
+                ui_newline(obj);
+                
+                ui_togglebutton(obj, .label = "Suppress 1", .onchange = doc_suppress_state1, .onchangedata = doc1);
+                ui_togglebutton(obj, .label = "Suppress 2", .onchange = doc_suppress_state2, .onchangedata = doc1);
+                ui_togglebutton(obj, .label = "Suppress 3", .onchange = doc_suppress_state3, .onchangedata = doc1);
+                ui_togglebutton(obj, .label = "Suppress 4", .onchange = doc_suppress_state4, .onchangedata = doc1);
             }
             
             ui_frame(obj, .label = "Doc 2", .fill = TRUE, .margin = 10, .padding = 10, .spacing = 10, .subcontainer = UI_CONTAINER_VBOX) {
                 ui_togglebutton(obj, .label = "Attach", .onchange = doc2_attachment);
             
-                ui_hbox(obj, .margin = 10, .spacing = 8) {
+                ui_grid(obj, .margin = 10, .columnspacing = 8, .rowspacing = 8, .def_hfill = TRUE) {
                     ui_togglebutton(obj, .label = "Enable 1", .onchange = doc_enable_state1, .onchangedata = doc2);
                     ui_togglebutton(obj, .label = "Enable 2", .onchange = doc_enable_state2, .onchangedata = doc2);
                     ui_togglebutton(obj, .label = "Enable 3", .onchange = doc_enable_state3, .onchangedata = doc2);
                     ui_togglebutton(obj, .label = "Enable 4", .onchange = doc_enable_state4, .onchangedata = doc2);
+                    
+                    ui_newline(obj);
+                    
+                    ui_togglebutton(obj, .label = "Suppress 1", .onchange = doc_suppress_state1, .onchangedata = doc2);
+                    ui_togglebutton(obj, .label = "Suppress 2", .onchange = doc_suppress_state2, .onchangedata = doc2);
+                    ui_togglebutton(obj, .label = "Suppress 3", .onchange = doc_suppress_state3, .onchangedata = doc2);
+                    ui_togglebutton(obj, .label = "Suppress 4", .onchange = doc_suppress_state4, .onchangedata = doc2);
                 }
             }
         }

mercurial