diff --git a/ChangeLog b/ChangeLog index feafde0c9..609fab9da 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2004-02-11 Mike Kestner + + * gtk/Gtk.metadata : hide the GSList API + * gtk/*.custom : manually wrap GSList api using typed arrays + * gtk/gtk-api.xml : regen. + 2004-02-11 Mike Kestner * gtk/*.custom : don't use element_type ctor for GObject lists. diff --git a/gtk/Accel.custom b/gtk/Accel.custom new file mode 100644 index 000000000..770d277c1 --- /dev/null +++ b/gtk/Accel.custom @@ -0,0 +1,21 @@ +// Accel.custom - customizations to Gtk.Accel +// +// Authors: Mike Kestner +// +// Copyright (c) 2004 Novell, Inc. + + [DllImport("libgtk-win32-2.0-0.dll")] + static extern IntPtr gtk_accel_groups_from_object (IntPtr obj); + + public static AccelGroup[] GroupsFromObject (GLib.Object obj) + { + IntPtr raw_ret = gtk_accel_groups_from_object(obj.Handle); + if (raw_ret == IntPtr.Zero) + return new AccelGroup [0]; + GLib.List list = new GLib.List(raw_ret); + AccelGroup[] result = new AccelGroup [list.Count]; + for (int i = 0; i < list.Count; i++) + result [i] = list [i] as AccelGroup; + return result; + } + diff --git a/gtk/Gtk.metadata b/gtk/Gtk.metadata index 5c3e8d3d4..73faaa40c 100644 --- a/gtk/Gtk.metadata +++ b/gtk/Gtk.metadata @@ -13,6 +13,9 @@ 1 out 1 + 1 + 1 + 1 1 ref 1 @@ -23,6 +26,7 @@ 1 1 StockManager + 1 1 1 1 diff --git a/gtk/Stock.custom b/gtk/Stock.custom new file mode 100644 index 000000000..a7b7f43ca --- /dev/null +++ b/gtk/Stock.custom @@ -0,0 +1,21 @@ +// Stock.custom - customizations to Gtk.Stock +// +// Authors: Mike Kestner +// +// Copyright (c) 2004 Novell, Inc. + + [DllImport("libgtk-win32-2.0-0.dll")] + static extern IntPtr gtk_stock_list_ids (); + + public static string[] ListIds () + { + IntPtr raw_ret = gtk_stock_list_ids (); + if (raw_ret == IntPtr.Zero) + return new string [0]; + GLib.List list = new GLib.List(raw_ret, typeof (string)); + string[] result = new string [list.Count]; + for (int i = 0; i < list.Count; i++) + result [i] = (string) list [i]; + return result; + } + diff --git a/gtk/TextIter.custom b/gtk/TextIter.custom new file mode 100755 index 000000000..1a15df924 --- /dev/null +++ b/gtk/TextIter.custom @@ -0,0 +1,52 @@ +// TextIter.custom - customizations to Gtk.TextIter +// +// Authors: Mike Kestner +// +// Copyright (c) 2004 Novell, Inc. + + [DllImport("libgtk-win32-2.0-0.dll")] + static extern IntPtr gtk_text_iter_get_marks (ref TextIter iter); + + public TextMark[] Marks { + get { + IntPtr raw_ret = gtk_text_iter_get_marks (ref this); + if (raw_ret == IntPtr.Zero) + return new TextMark [0]; + GLib.List list = new GLib.List(raw_ret); + TextMark[] result = new TextMark [list.Count]; + for (int i = 0; i < list.Count; i++) + result [i] = list [i] as TextMark; + return result; + } + } + + [DllImport("libgtk-win32-2.0-0.dll")] + static extern IntPtr gtk_text_iter_get_tags (ref TextIter iter); + + public TextTag[] Tags { + get { + IntPtr raw_ret = gtk_text_iter_get_tags (ref this); + if (raw_ret == IntPtr.Zero) + return new TextTag [0]; + GLib.List list = new GLib.List(raw_ret); + TextTag[] result = new TextTag [list.Count]; + for (int i = 0; i < list.Count; i++) + result [i] = list [i] as TextTag; + return result; + } + } + + [DllImport("libgtk-win32-2.0-0.dll")] + static extern IntPtr gtk_text_iter_get_toggled_tags (ref TextIter iter, bool toggled_on); + + public TextTag[] GetToggledTags (bool toggled_on) + { + IntPtr raw_ret = gtk_text_iter_get_toggled_tags (ref this, toggled_on); + if (raw_ret == IntPtr.Zero) + return new TextTag [0]; + GLib.List list = new GLib.List(raw_ret); + TextTag[] result = new TextTag [list.Count]; + for (int i = 0; i < list.Count; i++) + result [i] = list [i] as TextTag; + return result; + } diff --git a/gtk/gtk-api.xml b/gtk/gtk-api.xml index 7f147fbf1..3685a69b7 100644 --- a/gtk/gtk-api.xml +++ b/gtk/gtk-api.xml @@ -11865,7 +11865,7 @@ - + @@ -11880,7 +11880,7 @@ - + @@ -11889,7 +11889,7 @@ - + - +