diff --git a/ChangeLog b/ChangeLog index b5777a7f0..6b114c95b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2005-01-07 Dan Winship + + * gtk/Gtk.metadata: Hide the Gtk.Image ctors generated from + gtk_image_new_from_icon_set and gtk_image_new_from_stock. + + * gtk/Image.custom: Implement them here, taking into account the + fact that the "icon_size" property is mysteriously an int rather + than a Gtk.IconSize. + + * gtk/Makefile.am (customs): add Image.custom + + * gtk/Gtk.metadata: gtk_window_set_focus accepts NULL + 2005-01-06 Larry Ewing * gtk/StockItem.custom: add a ctor for StockItem. diff --git a/gtk/Gtk.metadata b/gtk/Gtk.metadata index 7fe40f71a..6ac78034d 100644 --- a/gtk/Gtk.metadata +++ b/gtk/Gtk.metadata @@ -186,10 +186,9 @@ 1 pixbuf_animation file - icon_set - icon_size - stock - icon_size + 1 + 1 + int out out out @@ -439,6 +438,7 @@ 1 1 1 + 1 1 1 1 diff --git a/gtk/Image.custom b/gtk/Image.custom new file mode 100644 index 000000000..e477b7956 --- /dev/null +++ b/gtk/Image.custom @@ -0,0 +1,54 @@ +// Image.custom - Customizations to Gtk.Image +// +// Copyright (C) 2004 Novell, Inc. +// +// This program is free software; you can redistribute it and/or +// modify it under the terms of version 2 of the Lesser GNU General +// Public License as published by the Free Software Foundation. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this program; if not, write to the +// Free Software Foundation, Inc., 59 Temple Place - Suite 330, +// Boston, MA 02111-1307, USA. + + [DllImport("libgtk-win32-2.0-0.dll")] + static extern IntPtr gtk_image_new_from_icon_set(IntPtr icon_set, int size); + + public Image (Gtk.IconSet icon_set, Gtk.IconSize size) : base (IntPtr.Zero) + { + if (GetType () != typeof (Image)) { + ArrayList vals = new ArrayList(); + ArrayList names = new ArrayList(); + names.Add ("icon_set"); + vals.Add (new GLib.Value (icon_set)); + names.Add ("icon_size"); + vals.Add (new GLib.Value ((int)size)); + CreateNativeObject ((string[])names.ToArray (typeof (string)), (GLib.Value[])vals.ToArray (typeof (GLib.Value))); + return; + } + Raw = gtk_image_new_from_icon_set(icon_set.Handle, (int) size); + } + + [DllImport("libgtk-win32-2.0-0.dll")] + static extern IntPtr gtk_image_new_from_stock(string stock_id, int size); + + public Image (string stock_id, Gtk.IconSize size) : base (IntPtr.Zero) + { + if (GetType () != typeof (Image)) { + ArrayList vals = new ArrayList(); + ArrayList names = new ArrayList(); + names.Add ("stock"); + vals.Add (new GLib.Value (stock_id)); + names.Add ("icon_size"); + vals.Add (new GLib.Value ((int)size)); + CreateNativeObject ((string[])names.ToArray (typeof (string)), (GLib.Value[])vals.ToArray (typeof (GLib.Value))); + return; + } + Raw = gtk_image_new_from_stock(stock_id, (int) size); + } + diff --git a/gtk/Makefile.am b/gtk/Makefile.am index 6aab27b38..cad0e1df5 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -67,6 +67,7 @@ customs = \ IconFactory.custom \ IconSet.custom \ IconTheme.custom \ + Image.custom \ ImageMenuItem.custom \ Init.custom \ InputDialog.custom \