ui/gtk/tree.c

changeset 29
3fc287f06305
parent 0
2483f517c562
equal deleted inserted replaced
28:1ecc1183f046 29:3fc287f06305
41 void* ui_strmodel_getvalue(void *elm, int column) { 41 void* ui_strmodel_getvalue(void *elm, int column) {
42 return column == 0 ? elm : NULL; 42 return column == 0 ? elm : NULL;
43 } 43 }
44 44
45 45
46 UIWIDGET ui_listview_str(UiObject *obj, UiList *list, ui_callback f, void *udata) { 46
47 return ui_listview(obj, list, ui_strmodel_getvalue, f, udata);
48 }
49 47
50 UIWIDGET ui_listview_var(UiObject *obj, UiVar *var, ui_getvaluefunc getvalue, ui_callback f, void *udata) { 48 UIWIDGET ui_listview_var(UiObject *obj, UiVar *var, ui_getvaluefunc getvalue, ui_callback f, void *udata) {
51 // create treeview 49 // create treeview
52 GtkWidget *view = gtk_tree_view_new(); 50 GtkWidget *view = gtk_tree_view_new();
53 GtkCellRenderer *renderer = gtk_cell_renderer_text_new(); 51 GtkCellRenderer *renderer = gtk_cell_renderer_text_new();
117 ct->current = view; 115 ct->current = view;
118 116
119 return scroll_area; 117 return scroll_area;
120 } 118 }
121 119
122 UIWIDGET ui_listview(UiObject *obj, UiList *list, ui_getvaluefunc getvalue, ui_callback f, void *udata) { 120 UIWIDGET ui_listview_deprecated(UiObject *obj, UiList *list, ui_getvaluefunc getvalue, ui_callback f, void *udata) {
123 UiVar *var = malloc(sizeof(UiVar)); 121 UiVar *var = malloc(sizeof(UiVar));
124 var->value = list; 122 var->value = list;
125 var->type = UI_VAR_SPECIAL; 123 var->type = UI_VAR_SPECIAL;
126 return ui_listview_var(obj, var, getvalue, f, udata); 124 return ui_listview_var(obj, var, getvalue, f, udata);
127 } 125 }
268 ct->current = view; 266 ct->current = view;
269 267
270 return scroll_area; 268 return scroll_area;
271 } 269 }
272 270
273 UIWIDGET ui_table(UiObject *obj, UiList *list, UiModel *model, UiListCallbacks cb) { 271 UIWIDGET ui_table_deprecated(UiObject *obj, UiList *list, UiModel *model, UiListCallbacks cb) {
274 UiVar *var = malloc(sizeof(UiVar)); 272 UiVar *var = malloc(sizeof(UiVar));
275 var->value = list; 273 var->value = list;
276 var->type = UI_VAR_SPECIAL; 274 var->type = UI_VAR_SPECIAL;
277 return ui_table_var(obj, var, model, cb); 275 return ui_table_var(obj, var, model, cb);
278 } 276 }
327 va_list ap; 325 va_list ap;
328 va_start(ap, target0); 326 va_start(ap, target0);
329 int nelm; 327 int nelm;
330 char **targets = targets2array(target0, ap, &nelm); 328 char **targets = targets2array(target0, ap, &nelm);
331 va_end(ap); 329 va_end(ap);
332 ui_table_dragsource_a(tablewidget, actions, targets, nelm); 330
331 // disabled
332 //ui_table_dragsource_a(tablewidget, actions, targets, nelm);
333
333 free(targets); 334 free(targets);
334 } 335 }
335 336
337 /*
336 void ui_table_dragsource_a(UIWIDGET tablewidget, int actions, char **targets, int nelm) { 338 void ui_table_dragsource_a(UIWIDGET tablewidget, int actions, char **targets, int nelm) {
337 GtkTargetEntry* t = targetstr2gtktargets(targets, nelm); 339 GtkTargetEntry* t = targetstr2gtktargets(targets, nelm);
338 gtk_tree_view_enable_model_drag_source( 340 gtk_tree_view_enable_model_drag_source(
339 GTK_TREE_VIEW(ui_get_tree_widget(tablewidget)), 341 GTK_TREE_VIEW(ui_get_tree_widget(tablewidget)),
340 GDK_BUTTON1_MASK, 342 GDK_BUTTON1_MASK,
342 nelm, 344 nelm,
343 GDK_ACTION_COPY|GDK_ACTION_MOVE|GDK_ACTION_LINK); 345 GDK_ACTION_COPY|GDK_ACTION_MOVE|GDK_ACTION_LINK);
344 free(t); 346 free(t);
345 } 347 }
346 348
349
347 void ui_table_dragdest(UIWIDGET tablewidget, int actions, char *target0, ...) { 350 void ui_table_dragdest(UIWIDGET tablewidget, int actions, char *target0, ...) {
348 va_list ap; 351 va_list ap;
349 va_start(ap, target0); 352 va_start(ap, target0);
350 int nelm; 353 int nelm;
351 char **targets = targets2array(target0, ap, &nelm); 354 char **targets = targets2array(target0, ap, &nelm);
361 t, 364 t,
362 nelm, 365 nelm,
363 GDK_ACTION_COPY|GDK_ACTION_MOVE|GDK_ACTION_LINK); 366 GDK_ACTION_COPY|GDK_ACTION_MOVE|GDK_ACTION_LINK);
364 free(t); 367 free(t);
365 } 368 }
366 369 */
370
367 void ui_listview_update(UiList *list, int i) { 371 void ui_listview_update(UiList *list, int i) {
368 UiListView *view = list->obj; 372 UiListView *view = list->obj;
369 UiListModel *model = ui_list_model_new(view->obj, view->var, view->model); 373 UiListModel *model = ui_list_model_new(view->obj, view->var, view->model);
370 gtk_tree_view_set_model(GTK_TREE_VIEW(view->widget), GTK_TREE_MODEL(model)); 374 gtk_tree_view_set_model(GTK_TREE_VIEW(view->widget), GTK_TREE_MODEL(model));
371 g_object_unref(G_OBJECT(model)); 375 g_object_unref(G_OBJECT(model));
462 } 466 }
463 467
464 468
465 /* --------------------------- ComboBox --------------------------- */ 469 /* --------------------------- ComboBox --------------------------- */
466 470
467 UIWIDGET ui_combobox_str(UiObject *obj, UiList *list, ui_callback f, void *udata) { 471 UIWIDGET ui_combobox_deprecated(UiObject *obj, UiList *list, ui_getvaluefunc getvalue, ui_callback f, void *udata) {
468 return ui_combobox(obj, list, ui_strmodel_getvalue, f, udata);
469 }
470
471 UIWIDGET ui_combobox(UiObject *obj, UiList *list, ui_getvaluefunc getvalue, ui_callback f, void *udata) {
472 UiVar *var = malloc(sizeof(UiVar)); 472 UiVar *var = malloc(sizeof(UiVar));
473 var->value = list; 473 var->value = list;
474 var->type = UI_VAR_SPECIAL; 474 var->type = UI_VAR_SPECIAL;
475 return ui_combobox_var(obj, var, getvalue, f, udata); 475 return ui_combobox_var(obj, var, getvalue, f, udata);
476 } 476 }

mercurial