application/demo_states.c

Mon, 15 Jun 2026 21:16:47 +0200

author
Olaf Wintermann <olaf.wintermann@gmail.com>
date
Mon, 15 Jun 2026 21:16:47 +0200
changeset 1202
412790168d30
parent 1201
fd7dc0716ab6
permissions
-rw-r--r--

fix motif build

1201
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
1 /*
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
2 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
3 *
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
4 * Copyright 2026 Olaf Wintermann. All rights reserved.
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
5 *
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
6 * Redistribution and use in source and binary forms, with or without
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
7 * modification, are permitted provided that the following conditions are met:
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
8 *
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
9 * 1. Redistributions of source code must retain the above copyright
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
10 * notice, this list of conditions and the following disclaimer.
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
11 *
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
12 * 2. Redistributions in binary form must reproduce the above copyright
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
13 * notice, this list of conditions and the following disclaimer in the
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
14 * documentation and/or other materials provided with the distribution.
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
15 *
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
16 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
17 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
18 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
19 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
20 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
21 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
22 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
23 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
24 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
25 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
26 * POSSIBILITY OF SUCH DAMAGE.
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
27 */
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
28
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
29 #include "demo_states.h"
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
30
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
31 #include <inttypes.h>
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
32
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
33 static void *doc1;
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
34 static void *doc2;
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
35
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
36 static void doc1_attachment(UiEvent *event, void *userdata) {
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
37 if(event->intval) {
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
38 printf("attach document 1\n");
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
39 ui_attach_document(event->obj->ctx, doc1);
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
40 } else {
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
41 printf("detach document 1\n");
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
42 ui_detach_document(event->obj->ctx, doc1);
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
43 }
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
44 }
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
45
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
46 static void doc2_attachment(UiEvent *event, void *userdata) {
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
47 UiContext *ctx = ui_document_context(doc1);
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
48 if(event->intval) {
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
49 printf("attach document 2 to document 1\n");
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
50 ui_attach_document(ctx, doc2);
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
51 } else {
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
52 printf("detach document 2 from document 1\n");
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
53 ui_detach_document(ctx, doc2);
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
54 }
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
55 }
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
56
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
57 static void doc_enable_state1(UiEvent *event, void *doc) {
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
58 UiContext *ctx = ui_document_context(doc);
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
59 if(event->intval) {
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
60 ui_set_state(ctx, 1);
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
61 } else {
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
62 ui_unset_state(ctx, 1);
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
63 }
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
64 }
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
65
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
66 static void doc_enable_state2(UiEvent *event, void *doc) {
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
67 UiContext *ctx = ui_document_context(doc);
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
68 if(event->intval) {
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
69 ui_set_state(ctx, 2);
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
70 } else {
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
71 ui_unset_state(ctx, 2);
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
72 }
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
73 }
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
74
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
75 static void doc_enable_state3(UiEvent *event, void *doc) {
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
76 UiContext *ctx = ui_document_context(doc);
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
77 if(event->intval) {
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
78 ui_set_state(ctx, 3);
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
79 } else {
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
80 ui_unset_state(ctx, 3);
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
81 }
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
82 }
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
83
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
84 static void doc_enable_state4(UiEvent *event, void *doc) {
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
85 UiContext *ctx = ui_document_context(doc);
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
86 if(event->intval) {
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
87 ui_set_state(ctx, 4);
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
88 } else {
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
89 ui_unset_state(ctx, 4);
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
90 }
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
91 }
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
92
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
93 static void application_startup(UiEvent *event, void *userdata) {
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
94 UiObject *obj = ui_window("States Demo");
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
95
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
96 doc1 = ui_document_new(8);
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
97 doc2 = ui_document_new(8);
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
98
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
99 ui_hbox(obj, .margin = 10, .spacing = 8) {
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
100 ui_button(obj, .label = "State 1", .states = UI_STATES(1));
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
101 ui_button(obj, .label = "State 2", .states = UI_STATES(2));
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
102 ui_button(obj, .label = "State 3", .states = UI_STATES(3));
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
103 ui_button(obj, .label = "State 4", .states = UI_STATES(4));
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
104 ui_button(obj, .label = "State 1,2", .states = UI_STATES(1, 2));
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
105 ui_button(obj, .label = "State 1,2,3", .states = UI_STATES(1, 2, 3));
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
106 ui_button(obj, .label = "State 1,2,3,4", .states = UI_STATES(1, 2, 3, 4));
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
107 }
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
108
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
109 ui_frame(obj, .label = "Window", .fill = TRUE, .margin = 10, .subcontainer = UI_CONTAINER_VBOX) {
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
110 ui_hbox(obj, .margin = 10, .spacing = 8) {
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
111 ui_togglebutton(obj, .label = "Enable 1", .enable_state = 1);
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
112 ui_togglebutton(obj, .label = "Enable 2", .enable_state = 2);
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
113 ui_togglebutton(obj, .label = "Enable 3", .enable_state = 3);
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
114 ui_togglebutton(obj, .label = "Enable 4", .enable_state = 4);
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
115 }
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
116
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
117 ui_frame(obj, .label = "Doc 1", .fill = TRUE, .margin = 10, .padding = 10, .spacing = 10, .subcontainer = UI_CONTAINER_VBOX) {
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
118 ui_togglebutton(obj, .label = "Attach", .onchange = doc1_attachment);
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
119
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
120 ui_hbox(obj, .margin = 10, .spacing = 8) {
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
121 ui_togglebutton(obj, .label = "Enable 1", .onchange = doc_enable_state1, .onchangedata = doc1);
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
122 ui_togglebutton(obj, .label = "Enable 2", .onchange = doc_enable_state2, .onchangedata = doc1);
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
123 ui_togglebutton(obj, .label = "Enable 3", .onchange = doc_enable_state3, .onchangedata = doc1);
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
124 ui_togglebutton(obj, .label = "Enable 4", .onchange = doc_enable_state4, .onchangedata = doc1);
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
125 }
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
126
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
127 ui_frame(obj, .label = "Doc 2", .fill = TRUE, .margin = 10, .padding = 10, .spacing = 10, .subcontainer = UI_CONTAINER_VBOX) {
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
128 ui_togglebutton(obj, .label = "Attach", .onchange = doc2_attachment);
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
129
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
130 ui_hbox(obj, .margin = 10, .spacing = 8) {
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
131 ui_togglebutton(obj, .label = "Enable 1", .onchange = doc_enable_state1, .onchangedata = doc2);
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
132 ui_togglebutton(obj, .label = "Enable 2", .onchange = doc_enable_state2, .onchangedata = doc2);
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
133 ui_togglebutton(obj, .label = "Enable 3", .onchange = doc_enable_state3, .onchangedata = doc2);
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
134 ui_togglebutton(obj, .label = "Enable 4", .onchange = doc_enable_state4, .onchangedata = doc2);
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
135 }
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
136 }
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
137 }
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
138 }
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
139
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
140 ui_show(obj);
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
141 }
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
142
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
143
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
144 #ifndef UI_WIN32
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
145
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
146 int main(int argc, char **argv) {
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
147 ui_init(NULL, argc, argv);
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
148 ui_onstartup(application_startup, NULL);
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
149 ui_main();
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
150 return 0;
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
151 }
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
152
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
153 #else
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
154
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
155 int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd) {
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
156 //ui_init(NULL, argc, argv);
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
157 //ui_onstartup(application_startup, NULL);
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
158 //ui_main();
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
159 return 0;
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
160 }
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
161
fd7dc0716ab6 change ui_active_states to return also active states from sub-documents
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
162 #endif

mercurial