diff -r dd0ae1c62a72 -r 2e384acc89a6 ui/ui/tree.h --- a/ui/ui/tree.h Thu Nov 16 12:04:10 2017 +0100 +++ b/ui/ui/tree.h Sun Nov 19 09:00:16 2017 +0100 @@ -73,6 +73,12 @@ * TODO: return */ void*(*getvalue)(void*, int); + + UiBool(*candrop)(UiEvent*, UiSelection*, UiList*, int); + void(*drop)(UiEvent*, UiSelection*, UiList*, int); + UiBool(*candrag)(UiEvent*, UiList*, int); + void(*data_get)(UiEvent*, UiSelection*, UiList*, int); + void(*data_delete)(UiEvent*, UiList*, int); }; struct UiListCallbacks { @@ -87,7 +93,7 @@ ui_callback selection; /* - * userdata for both callback + * userdata for all callbacks */ void *userdata; }; @@ -114,6 +120,11 @@ UIWIDGET ui_table(UiObject *obj, UiList *data, UiModel *model, UiListCallbacks cb); UIWIDGET ui_table_nv(UiObject *obj, char *varname, UiModel *model, UiListCallbacks cb); +void ui_table_dragsource(UIWIDGET tablewidget, int actions, char *target0, ...); +void ui_table_dragsource_a(UIWIDGET tablewidget, int actions, char **targets, int nelm); +void ui_table_dragdest(UIWIDGET tablewidget, int actions, char *target0, ...); +void ui_table_dragdest_a(UIWIDGET tablewidget, int actions, char **targets, int nelm); + UIWIDGET ui_combobox(UiObject *obj, UiList *list, ui_getvaluefunc getvalue, ui_callback f, void *udata); UIWIDGET ui_combobox_str(UiObject *obj, UiList *list, ui_callback f, void *udata); UIWIDGET ui_combobox_nv(UiObject *obj, char *varname, ui_getvaluefunc getvalue, ui_callback f, void *udata);