256 "changed", |
256 "changed", |
257 G_CALLBACK(ui_listview_selection_event), |
257 G_CALLBACK(ui_listview_selection_event), |
258 event); |
258 event); |
259 } |
259 } |
260 // TODO: destroy callback |
260 // TODO: destroy callback |
|
261 |
261 |
262 |
262 GtkTreeSelection *selection = gtk_tree_view_get_selection (GTK_TREE_VIEW(view)); |
263 GtkTreeSelection *selection = gtk_tree_view_get_selection (GTK_TREE_VIEW(view)); |
263 gtk_tree_selection_set_mode(selection, GTK_SELECTION_MULTIPLE); |
264 gtk_tree_selection_set_mode(selection, GTK_SELECTION_MULTIPLE); |
264 |
265 |
265 // add widget to the current container |
266 // add widget to the current container |
333 return targets; |
334 return targets; |
334 } |
335 } |
335 |
336 |
336 void ui_table_dragsource(UIWIDGET tablewidget, int actions, char *target0, ...) { |
337 void ui_table_dragsource(UIWIDGET tablewidget, int actions, char *target0, ...) { |
337 va_list ap; |
338 va_list ap; |
|
339 va_start(ap, target0); |
338 int nelm; |
340 int nelm; |
339 char **targets = targets2array(target0, ap, &nelm); |
341 char **targets = targets2array(target0, ap, &nelm); |
340 va_end(ap); |
342 va_end(ap); |
341 ui_table_dragsource_a(tablewidget, actions, targets, nelm); |
343 ui_table_dragsource_a(tablewidget, actions, targets, nelm); |
342 free(targets); |
344 free(targets); |
353 free(t); |
355 free(t); |
354 } |
356 } |
355 |
357 |
356 void ui_table_dragdest(UIWIDGET tablewidget, int actions, char *target0, ...) { |
358 void ui_table_dragdest(UIWIDGET tablewidget, int actions, char *target0, ...) { |
357 va_list ap; |
359 va_list ap; |
|
360 va_start(ap, target0); |
358 int nelm; |
361 int nelm; |
359 char **targets = targets2array(target0, ap, &nelm); |
362 char **targets = targets2array(target0, ap, &nelm); |
360 va_end(ap); |
363 va_end(ap); |
361 ui_table_dragdest_a(tablewidget, actions, targets, nelm); |
364 ui_table_dragdest_a(tablewidget, actions, targets, nelm); |
362 free(targets); |
365 free(targets); |