| 93 listview->onactivate = args->onactivate; |
93 listview->onactivate = args->onactivate; |
| 94 listview->onactivatedata = args->onactivatedata; |
94 listview->onactivatedata = args->onactivatedata; |
| 95 listview->onselection = args->onselection; |
95 listview->onselection = args->onselection; |
| 96 listview->onselectiondata = args->onselectiondata; |
96 listview->onselectiondata = args->onselectiondata; |
| 97 |
97 |
| |
98 char **static_elements = args->static_elements; |
| |
99 size_t static_nelm = args->static_nelm; |
| 98 if(var) { |
100 if(var) { |
| 99 UiList *list = var->value; |
101 UiList *list = var->value; |
| 100 list->obj = listview; |
102 list->obj = listview; |
| 101 list->update = ui_listview_update; |
103 list->update = ui_listview_update; |
| 102 list->getselection = ui_listview_getselection; |
104 list->getselection = ui_listview_getselection; |
| 103 list->setselection = ui_listview_setselection; |
105 list->setselection = ui_listview_setselection; |
| 104 ui_listview_update(list, 0); |
106 ui_listview_update(list, 0); |
| |
107 } else if(static_elements && static_nelm > 0) { |
| |
108 XmStringTable items = calloc(static_nelm, sizeof(XmString)); |
| |
109 for(int i=0;i<static_nelm;i++) { |
| |
110 items[i] = XmStringCreateLocalized(static_elements[i]); |
| |
111 } |
| |
112 XtVaSetValues( |
| |
113 listview->widget, |
| |
114 XmNitems, items, |
| |
115 XmNitemCount, |
| |
116 static_nelm, |
| |
117 NULL); |
| |
118 for (int i=0;i<static_nelm;i++) { |
| |
119 XmStringFree(items[i]); |
| |
120 } |
| |
121 free(items); |
| 105 } |
122 } |
| 106 |
123 |
| 107 XtAddCallback( |
124 XtAddCallback( |
| 108 widget, |
125 widget, |
| 109 XmNdestroyCallback, |
126 XmNdestroyCallback, |
| 314 listview->onactivate = args->onactivate; |
331 listview->onactivate = args->onactivate; |
| 315 listview->onactivatedata = args->onactivatedata; |
332 listview->onactivatedata = args->onactivatedata; |
| 316 listview->onselection = args->onselection; |
333 listview->onselection = args->onselection; |
| 317 listview->onselectiondata = args->onselectiondata; |
334 listview->onselectiondata = args->onselectiondata; |
| 318 |
335 |
| |
336 char **static_elements = args->static_elements; |
| |
337 size_t static_nelm = args->static_nelm; |
| 319 if(var) { |
338 if(var) { |
| 320 UiList *list = var->value; |
339 UiList *list = var->value; |
| 321 list->obj = listview; |
340 list->obj = listview; |
| 322 list->update = ui_listview_update; |
341 list->update = ui_listview_update; |
| 323 list->getselection = ui_dropdown_getselection; |
342 list->getselection = ui_dropdown_getselection; |
| 324 list->setselection = ui_dropdown_setselection; |
343 list->setselection = ui_dropdown_setselection; |
| 325 ui_listview_update(list, 0); |
344 ui_listview_update(list, 0); |
| |
345 } else if(static_elements && static_nelm > 0) { |
| |
346 XmStringTable items = calloc(static_nelm, sizeof(XmString)); |
| |
347 for(int i=0;i<static_nelm;i++) { |
| |
348 items[i] = XmStringCreateLocalized(static_elements[i]); |
| |
349 } |
| |
350 XtVaSetValues( |
| |
351 listview->widget, |
| |
352 XmNitems, items, |
| |
353 XmNitemCount, |
| |
354 static_nelm, |
| |
355 NULL); |
| |
356 for (int i=0;i<static_nelm;i++) { |
| |
357 XmStringFree(items[i]); |
| |
358 } |
| |
359 free(items); |
| 326 } |
360 } |
| 327 |
361 |
| 328 XtAddCallback( |
362 XtAddCallback( |
| 329 widget, |
363 widget, |
| 330 XmNdestroyCallback, |
364 XmNdestroyCallback, |