diff -r 394f3b06dba1 -r 29b2821d1262 ui/gtk/tree.h --- a/ui/gtk/tree.h Thu May 15 22:13:25 2014 +0200 +++ b/ui/gtk/tree.h Fri May 16 16:19:46 2014 +0200 @@ -41,19 +41,33 @@ GtkWidget *widget; UiListPtr *list; UiModelInfo *modelinfo; - //ui_model_getvalue_f getvalue; } UiTableView; + +typedef struct UiTreeEventData { + UiObject *obj; + ui_callback activate; + ui_callback selection; + void *userdata; +} UiTreeEventData; void* ui_strmodel_getvalue(void *elm, int column); UIWIDGET ui_listview_var(UiObject *obj, UiListPtr *list, ui_model_getvalue_f getvalue, ui_callback f, void *udata); +UIWIDGET ui_table_var(UiObject *obj, UiListPtr *list, UiModelInfo *modelinfo); void ui_listview_update(UiEvent *event, UiTableView *view); -void ui_listview_selected( +void ui_listview_activate_event( GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *column, - UiEventData *event); + UiTreeEventData *event); +void ui_listview_selection_event( + GtkTreeSelection *treeselection, + UiTreeEventData *event); +UiListSelection* ui_listview_selection( + GtkTreeSelection *selection, + UiTreeEventData *event); +int ui_tree_path_list_index(GtkTreePath *path); #ifdef __cplusplus }