Mercurial > projects > dwt-linux
diff dwt/widgets/Display.d @ 67:15b21862b0ac
List
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Mon, 14 Jan 2008 02:04:54 +0100 |
parents | bb2217c09e61 |
children | 7cf1deebc8d4 |
line wrap: on
line diff
--- a/dwt/widgets/Display.d Sun Jan 13 23:50:55 2008 +0100 +++ b/dwt/widgets/Display.d Mon Jan 14 02:04:54 2008 +0100 @@ -3783,10 +3783,22 @@ return widget.sizeRequestProc (handle, arg0, user_data); } -int /*long*/ treeSelectionProcMeth (int /*long*/ model, int /*long*/ path, int /*long*/ iter, int /*long*/ data) { +package void doTreeSelectionProcConnect( CallbackData* cbdata, GtkWidget* widget, GtkTreeSelection* selection ){ + cbdata.display = this; + cbdata.data = cast(void*)widget; + OS.gtk_tree_selection_selected_foreach (selection, &treeSelectionProcFunc, widget); +} + +private static extern(C) void treeSelectionProcFunc (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, void* data) { + version(LOG) Stderr.formatln( "Display {}:", __LINE__ ).flush; + auto cbdata = cast(CallbackData*)data; + cbdata.display.treeSelectionProcMeth( model, path, iter, cbdata.data ); +} + +void treeSelectionProcMeth (GtkTreeModel *model, GtkTreePath *path, GtkTreeIter *iter, void* data) { Widget widget = getWidget (cast(GtkWidget*)data); if (widget is null) return 0; - return widget.treeSelectionProc (model, path, iter, treeSelection, treeSelectionLength++); + widget.treeSelectionProc (model, path, iter, treeSelection, treeSelectionLength++); } void saveResources () {