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 () {