Author: mkestner
Date: 2005-04-01 12:38:51 -0500 (Fri, 01 Apr 2005)
New Revision: 42471
Modified:
trunk/gtk-sharp/ChangeLog
trunk/gtk-sharp/gtk/Gtk.metadata
trunk/gtk-sharp/gtk/TreeModelFilter.custom
Log:
2005-04-01 Mike Kestner <[EMAIL PROTECTED]>
* gtk/TreeModelFilter.custom : manually implement SetVisibleFunc and
SetModifyFunc to handle delegate persistence.
* gtk/Gtk.metadata : hide methods.
Modified: trunk/gtk-sharp/ChangeLog
===================================================================
--- trunk/gtk-sharp/ChangeLog 2005-04-01 17:29:55 UTC (rev 42470)
+++ trunk/gtk-sharp/ChangeLog 2005-04-01 17:38:51 UTC (rev 42471)
@@ -1,5 +1,11 @@
2005-04-01 Mike Kestner <[EMAIL PROTECTED]>
+ * gtk/TreeModelFilter.custom : manually implement SetVisibleFunc and
+ SetModifyFunc to handle delegate persistence.
+ * gtk/Gtk.metadata : hide methods.
+
+2005-04-01 Mike Kestner <[EMAIL PROTECTED]>
+
* gtk/Clipboard.custom : manually implement SetWithData and
SetWithOwner to handle delegate persistence.
* gtk/Gtk.metadata : hide methods.
Modified: trunk/gtk-sharp/gtk/Gtk.metadata
===================================================================
--- trunk/gtk-sharp/gtk/Gtk.metadata 2005-04-01 17:29:55 UTC (rev 42470)
+++ trunk/gtk-sharp/gtk/Gtk.metadata 2005-04-01 17:38:51 UTC (rev 42471)
@@ -341,6 +341,8 @@
<attr path="/api/namespace/[EMAIL PROTECTED]'GtkToolItem']/[EMAIL
PROTECTED]'SetTooltip']" name="name">TooltipSet</attr>
<attr path="/api/namespace/[EMAIL PROTECTED]'GtkTreeModelFilter']/[EMAIL
PROTECTED]'ConvertIterToChildIter']/*/[EMAIL PROTECTED]'child_iter']"
name="pass_as">out</attr>
<attr path="/api/namespace/[EMAIL PROTECTED]'GtkTreeModelFilter']/[EMAIL
PROTECTED]'ConvertChildIterToIter']/*/[EMAIL PROTECTED]'filter_iter']"
name="pass_as">out</attr>
+ <attr path="/api/namespace/[EMAIL PROTECTED]'GtkTreeModelFilter']/[EMAIL
PROTECTED]'SetVisibleFunc']" name="hidden">1</attr>
+ <attr path="/api/namespace/[EMAIL PROTECTED]'GtkTreeModelFilter']/[EMAIL
PROTECTED]'SetModifyFunc']" name="hidden">1</attr>
<attr path="/api/namespace/[EMAIL PROTECTED]'GtkTreeModelSort']/[EMAIL
PROTECTED]'gtk_tree_model_sort_new_with_model']/*/[EMAIL
PROTECTED]'child_model']" name="property_name">model</attr>
<attr path="/api/namespace/[EMAIL PROTECTED]'GtkTreeModelSort']/[EMAIL
PROTECTED]'ConvertChildIterToIter']/*/[EMAIL PROTECTED]'sort_iter']"
name="pass_as">out</attr>
<attr path="/api/namespace/[EMAIL PROTECTED]'GtkTreeModelSort']/[EMAIL
PROTECTED]'ConvertIterToChildIter']/*/[EMAIL PROTECTED]'child_iter']"
name="pass_as">out</attr>
Modified: trunk/gtk-sharp/gtk/TreeModelFilter.custom
===================================================================
--- trunk/gtk-sharp/gtk/TreeModelFilter.custom 2005-04-01 17:29:55 UTC (rev
42470)
+++ trunk/gtk-sharp/gtk/TreeModelFilter.custom 2005-04-01 17:38:51 UTC (rev
42471)
@@ -57,3 +57,54 @@
val.Dispose ();
return ret;
}
+
+ [GLib.CDeclCallback]
+ delegate void DestroyNotify (IntPtr data);
+
+ static void ReleaseCallback (IntPtr data)
+ {
+ if (data == IntPtr.Zero)
+ return;
+ GCHandle gch = (GCHandle) data;
+ gch.Free ();
+ }
+
+ static DestroyNotify release_callback;
+
+ [DllImport("libgtk-win32-2.0-0.dll")]
+ static extern void gtk_tree_model_filter_set_visible_func
(IntPtr raw, GtkSharp.TreeModelFilterVisibleFuncNative func, IntPtr data,
GtkSharp.DestroyNotifyNative destroy);
+
+ [Obsolete ("Replaced by SetVisibleFunc
(TreeModelFilterVisibleFunc) overload.")]
+ public void SetVisibleFunc (TreeModelFilterVisibleFunc func,
IntPtr data, Gtk.DestroyNotify destroy)
+ {
+ GtkSharp.TreeModelFilterVisibleFuncWrapper func_wrapper
= new GtkSharp.TreeModelFilterVisibleFuncWrapper (func);
+ GtkSharp.DestroyNotifyWrapper destroy_wrapper = new
GtkSharp.DestroyNotifyWrapper (destroy);
+ gtk_tree_model_filter_set_visible_func (Handle,
func_wrapper.NativeDelegate, data, destroy_wrapper.NativeDelegate);
+ }
+
+ [DllImport("libgtk-win32-2.0-0.dll")]
+ static extern void gtk_tree_model_filter_set_visible_func
(IntPtr raw, GtkSharp.TreeModelFilterVisibleFuncNative func, IntPtr data,
DestroyNotify destroy);
+ public void SetVisibleFunc (TreeModelFilterVisibleFunc func)
+ {
+ GtkSharp.TreeModelFilterVisibleFuncWrapper func_wrapper
= new GtkSharp.TreeModelFilterVisibleFuncWrapper (func);
+ if (release_callback == null)
+ release_callback = new DestroyNotify
(ReleaseCallback);
+ GCHandle gch = GCHandle.Alloc (func_wrapper);
+ gtk_tree_model_filter_set_visible_func (Handle,
func_wrapper.NativeDelegate, (IntPtr) gch, release_callback);
+ }
+
+ [DllImport("libgtk-win32-2.0-0.dll")]
+ static extern void gtk_tree_model_filter_set_modify_func(IntPtr
raw, int n_columns, IntPtr[] types, GtkSharp.TreeModelFilterModifyFuncNative
func, IntPtr data, DestroyNotify destroy);
+
+ public void SetModifyFunc (int n_columns, GLib.GType[] types,
TreeModelFilterModifyFunc func)
+ {
+ GtkSharp.TreeModelFilterModifyFuncWrapper func_wrapper
= new GtkSharp.TreeModelFilterModifyFuncWrapper (func);
+ if (release_callback == null)
+ release_callback = new DestroyNotify
(ReleaseCallback);
+ IntPtr[] native_types = new IntPtr [types.Length];
+ for (int i = 0; i < types.Length; i++)
+ native_types [i] = types [i].Val;
+ GCHandle gch = GCHandle.Alloc (func_wrapper);
+ gtk_tree_model_filter_set_modify_func (Handle,
n_columns, native_types, func_wrapper.NativeDelegate, (IntPtr) gch,
release_callback);
+ }
+
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches