mirror of
https://github.com/Ryujinx/GtkSharp.git
synced 2024-09-09 08:23:19 +02:00
2005-04-01 Mike Kestner <mkestner@novell.com>
* gtk/TreeModelFilter.custom : manually implement SetVisibleFunc and SetModifyFunc to handle delegate persistence. * gtk/Gtk.metadata : hide methods. svn path=/trunk/gtk-sharp/; revision=42471
This commit is contained in:
parent
3b333bf2b5
commit
75509454d5
@ -1,3 +1,9 @@
|
|||||||
|
2005-04-01 Mike Kestner <mkestner@novell.com>
|
||||||
|
|
||||||
|
* gtk/TreeModelFilter.custom : manually implement SetVisibleFunc and
|
||||||
|
SetModifyFunc to handle delegate persistence.
|
||||||
|
* gtk/Gtk.metadata : hide methods.
|
||||||
|
|
||||||
2005-04-01 Mike Kestner <mkestner@novell.com>
|
2005-04-01 Mike Kestner <mkestner@novell.com>
|
||||||
|
|
||||||
* gtk/Clipboard.custom : manually implement SetWithData and
|
* gtk/Clipboard.custom : manually implement SetWithData and
|
||||||
|
@ -341,6 +341,8 @@
|
|||||||
<attr path="/api/namespace/object[@cname='GtkToolItem']/signal[@name='SetTooltip']" name="name">TooltipSet</attr>
|
<attr path="/api/namespace/object[@cname='GtkToolItem']/signal[@name='SetTooltip']" name="name">TooltipSet</attr>
|
||||||
<attr path="/api/namespace/object[@cname='GtkTreeModelFilter']/method[@name='ConvertIterToChildIter']/*/*[@name='child_iter']" name="pass_as">out</attr>
|
<attr path="/api/namespace/object[@cname='GtkTreeModelFilter']/method[@name='ConvertIterToChildIter']/*/*[@name='child_iter']" name="pass_as">out</attr>
|
||||||
<attr path="/api/namespace/object[@cname='GtkTreeModelFilter']/method[@name='ConvertChildIterToIter']/*/*[@name='filter_iter']" name="pass_as">out</attr>
|
<attr path="/api/namespace/object[@cname='GtkTreeModelFilter']/method[@name='ConvertChildIterToIter']/*/*[@name='filter_iter']" name="pass_as">out</attr>
|
||||||
|
<attr path="/api/namespace/object[@cname='GtkTreeModelFilter']/method[@name='SetVisibleFunc']" name="hidden">1</attr>
|
||||||
|
<attr path="/api/namespace/object[@cname='GtkTreeModelFilter']/method[@name='SetModifyFunc']" name="hidden">1</attr>
|
||||||
<attr path="/api/namespace/object[@cname='GtkTreeModelSort']/constructor[@cname='gtk_tree_model_sort_new_with_model']/*/*[@name='child_model']" name="property_name">model</attr>
|
<attr path="/api/namespace/object[@cname='GtkTreeModelSort']/constructor[@cname='gtk_tree_model_sort_new_with_model']/*/*[@name='child_model']" name="property_name">model</attr>
|
||||||
<attr path="/api/namespace/object[@cname='GtkTreeModelSort']/method[@name='ConvertChildIterToIter']/*/*[@name='sort_iter']" name="pass_as">out</attr>
|
<attr path="/api/namespace/object[@cname='GtkTreeModelSort']/method[@name='ConvertChildIterToIter']/*/*[@name='sort_iter']" name="pass_as">out</attr>
|
||||||
<attr path="/api/namespace/object[@cname='GtkTreeModelSort']/method[@name='ConvertIterToChildIter']/*/*[@name='child_iter']" name="pass_as">out</attr>
|
<attr path="/api/namespace/object[@cname='GtkTreeModelSort']/method[@name='ConvertIterToChildIter']/*/*[@name='child_iter']" name="pass_as">out</attr>
|
||||||
|
@ -57,3 +57,54 @@
|
|||||||
val.Dispose ();
|
val.Dispose ();
|
||||||
return ret;
|
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);
|
||||||
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user