ui/win32/button.c

changeset 938
be4c88ded783
parent 896
ae0ad20122cc
equal deleted inserted replaced
937:06e03c7e39db 938:be4c88ded783
98 size.height = sz.cy; 98 size.height = sz.cy;
99 } 99 }
100 return size; 100 return size;
101 } 101 }
102 102
103 void ui_button_eventproc(W32Widget *widget, HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { 103 int ui_button_eventproc(W32Widget *widget, HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) {
104 UiWidget *w = (UiWidget*)widget; 104 UiWidget *w = (UiWidget*)widget;
105 105
106 if (uMsg != WM_COMMAND) { 106 if (uMsg != WM_COMMAND) {
107 return; 107 return 0;
108 } 108 }
109 109
110 UiEvent e; 110 UiEvent e;
111 e.obj = w->obj; 111 e.obj = w->obj;
112 e.document = e.obj->ctx->document; 112 e.document = e.obj->ctx->document;
117 e.set = ui_get_setop(); 117 e.set = ui_get_setop();
118 118
119 if (w->callback) { 119 if (w->callback) {
120 w->callback(&e, w->callbackdata); 120 w->callback(&e, w->callbackdata);
121 } 121 }
122
123 return 0;
122 } 124 }
123 125
124 static UIWIDGET create_togglebutton(UiObject *obj, UiToggleArgs *args, unsigned long type) { 126 static UIWIDGET create_togglebutton(UiObject *obj, UiToggleArgs *args, unsigned long type) {
125 HINSTANCE hInstance = GetModuleHandle(NULL); 127 HINSTANCE hInstance = GetModuleHandle(NULL);
126 UiContainerPrivate *container = ui_obj_container(obj); 128 UiContainerPrivate *container = ui_obj_container(obj);
185 WPARAM state = v ? BST_CHECKED : BST_UNCHECKED; 187 WPARAM state = v ? BST_CHECKED : BST_UNCHECKED;
186 SendMessage(btn->widget.hwnd, BM_SETCHECK, state, 0); 188 SendMessage(btn->widget.hwnd, BM_SETCHECK, state, 0);
187 i->value = v; 189 i->value = v;
188 } 190 }
189 191
190 void ui_togglebutton_eventproc(W32Widget *widget, HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { 192 int ui_togglebutton_eventproc(W32Widget *widget, HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) {
191 if (uMsg != WM_COMMAND) { 193 if (uMsg != WM_COMMAND) {
192 return; 194 return 0;
193 } 195 }
194 UiWidget *w = (UiWidget*)widget; 196 UiWidget *w = (UiWidget*)widget;
195 197
196 UiEvent e; 198 UiEvent e;
197 e.obj = w->obj; 199 e.obj = w->obj;
203 e.set = ui_get_setop(); 205 e.set = ui_get_setop();
204 206
205 if (w->callback) { 207 if (w->callback) {
206 w->callback(&e, w->callbackdata); 208 w->callback(&e, w->callbackdata);
207 } 209 }
210
211 return 0;
208 } 212 }
209 213
210 214
211 UIWIDGET ui_radiobutton_create(UiObject *obj, UiToggleArgs *args) { 215 UIWIDGET ui_radiobutton_create(UiObject *obj, UiToggleArgs *args) {
212 HINSTANCE hInstance = GetModuleHandle(NULL); 216 HINSTANCE hInstance = GetModuleHandle(NULL);
254 btn->callbackdata = args->onchangedata; 258 btn->callbackdata = args->onchangedata;
255 259
256 return widget; 260 return widget;
257 } 261 }
258 262
259 void ui_radiobutton_eventproc(W32Widget *widget, HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { 263 int ui_radiobutton_eventproc(W32Widget *widget, HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) {
260 if (uMsg != WM_COMMAND) { 264 if (uMsg != WM_COMMAND) {
261 return; 265 return 0;
262 } 266 }
263 UiWidget *w = (UiWidget*)widget; 267 UiWidget *w = (UiWidget*)widget;
264 268
265 int checked = SendMessage(w->widget.hwnd, BM_GETCHECK, 0, 0); 269 int checked = SendMessage(w->widget.hwnd, BM_GETCHECK, 0, 0);
266 if (!checked) { 270 if (!checked) {
267 return; // ignore uncheck events 271 return 0; // ignore uncheck events
268 } 272 }
269 273
270 int b = 0; 274 int b = 0;
271 if (w->var) { 275 if (w->var) {
272 UiInteger *i = w->var->value; 276 UiInteger *i = w->var->value;
294 e.set = ui_get_setop(); 298 e.set = ui_get_setop();
295 299
296 if (w->callback) { 300 if (w->callback) {
297 w->callback(&e, w->callbackdata); 301 w->callback(&e, w->callbackdata);
298 } 302 }
303
304 return 0;
299 } 305 }
300 306
301 int64_t ui_radiobutton_get(UiInteger *i) { 307 int64_t ui_radiobutton_get(UiInteger *i) {
302 return i->value; 308 return i->value;
303 } 309 }

mercurial