[gtkmm] Dealt with some TODOs.



commit b55e4fff7bd4363d4ce583f59fa7a330b6854ce1
Author: Murray Cumming <murrayc murrayc com>
Date:   Tue Sep 14 11:34:37 2010 +0200

    Dealt with some TODOs.
    
    * gtk/src/menuitem.[hg|ccg]: Added unset_submenu().
    * gtk/src/papersize.[hg|ccg]: Added get_paper_sizes().
    * gtk/src/printoperation.[hg|ccg]: Added run_page_setup_dialog() overloads
      with no PageSetup parameter, because the C API allows this.
      These must be moved into the class in gtkmm 3.
    * gtk/src/style.hg: Added copy().
    
    * gtk/src/iconset.hg: Added class documentation based on the C documentation.
    * gtk/src/printsettings.hg: Add the exceptions documentation now that
      it is in the C documentation.
    * gtk/src/statusbar.hg: Added documentation for push() and remove_message().

 ChangeLog                  |   16 ++++++++++++++++
 configure.ac               |    2 +-
 gdk/src/device.hg          |    1 -
 gdk/src/drawable.hg        |    3 +--
 gtk/src/assistant.hg       |    1 +
 gtk/src/buttonbox.ccg      |    1 -
 gtk/src/buttonbox.hg       |    3 ++-
 gtk/src/enums.hg           |    2 +-
 gtk/src/filefilter.hg      |    2 +-
 gtk/src/iconset.hg         |    6 ++++--
 gtk/src/menuitem.ccg       |    9 ++++++---
 gtk/src/menuitem.hg        |    7 ++++++-
 gtk/src/papersize.ccg      |    4 +++-
 gtk/src/papersize.hg       |   39 ++++++++++++++++++++++++++++++---------
 gtk/src/printoperation.ccg |   35 +++++++++++++++++++++++++++++++++++
 gtk/src/printoperation.hg  |   35 ++++++++++++++++++++++++++++++++++-
 gtk/src/printsettings.hg   |   11 ++++-------
 gtk/src/statusbar.hg       |   14 +++++++++++++-
 gtk/src/style.hg           |    4 ++--
 19 files changed, 160 insertions(+), 35 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index a9034ab..0e5491c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,19 @@
+2010-09-14  Murray Cumming  <murrayc murrayc com>
+
+	Dealt with some TODOs.
+
+	* gtk/src/menuitem.[hg|ccg]: Added unset_submenu().
+	* gtk/src/papersize.[hg|ccg]: Added get_paper_sizes().
+	* gtk/src/printoperation.[hg|ccg]: Added run_page_setup_dialog() overloads
+  with no PageSetup parameter, because the C API allows this.
+  These must be moved into the class in gtkmm 3.
+	* gtk/src/style.hg: Added copy().
+
+	* gtk/src/iconset.hg: Added class documentation based on the C documentation.
+	* gtk/src/printsettings.hg: Add the exceptions documentation now that
+  it is in the C documentation.
+	* gtk/src/statusbar.hg: Added documentation for push() and remove_message().
+	
 2010-09-09  Murray Cumming  <murrayc murrayc com>
 
 	Use GDK_KEY_VoidSymbol instead of GDK_VoidSymbol to fix the build. 
diff --git a/configure.ac b/configure.ac
index 5579f2e..0389f79 100644
--- a/configure.ac
+++ b/configure.ac
@@ -54,7 +54,7 @@ AS_IF([test "x$enable_static" = xyes],
 
 # gdkmm really does need GTK+, because part of Gdk::DragContext is in GTK+.
 # The extra cairomm check is because gdkmm requires a newer cairomm than pangomm requires.
-AC_SUBST([GDKMM_MODULES], ['giomm-2.4 >= 2.22 pangomm-1.4 >= 2.26 gtk+-3.0 >= 2.90.3 cairomm-1.0 >= 1.9.1'])
+AC_SUBST([GDKMM_MODULES], ['giomm-2.4 >= 2.22 pangomm-1.4 >= 2.26 gtk+-3.0 >= 2.90.7 cairomm-1.0 >= 1.9.1'])
 
 AS_IF([test "x$gtkmm_host_windows" = xyes],
       [GTKMM_MODULES=$GDKMM_MODULES],
diff --git a/gdk/src/device.hg b/gdk/src/device.hg
index 9a72c19..3cd0f0e 100644
--- a/gdk/src/device.hg
+++ b/gdk/src/device.hg
@@ -64,7 +64,6 @@ public:
   //TODO: Return a list instead because this is ugly and C-like:
   _WRAP_METHOD(bool get_history(const Glib::RefPtr<Window>& window, guint32 start, guint32 stop, GdkTimeCoord**& events, guint& n_events), gdk_device_get_history)
 
-
   _WRAP_METHOD(guint get_n_axes() const, gdk_device_get_n_axes)
  //TODO: A list of GdkAtom, which we should show as strings: _WRAP_METHOD(GList *  gdk_device_list_axes      () const, gdk_device_list_axes)
   
diff --git a/gdk/src/drawable.hg b/gdk/src/drawable.hg
index 01cb235..ff281ea 100644
--- a/gdk/src/drawable.hg
+++ b/gdk/src/drawable.hg
@@ -71,7 +71,7 @@ public:
   _WRAP_METHOD(Glib::RefPtr<Colormap> get_colormap(), gdk_drawable_get_colormap, refreturn)
   _WRAP_METHOD(Glib::RefPtr<Visual> get_visual(), gdk_drawable_get_visual, refreturn)
 
- #m4 _CONVERSION(`cairo_region_t*',`Cairo::RefPtr<Cairo::Region>',`Cairo::RefPtr<Cairo::Region>(new Cairo::Region($3, true /* do not take ref */))')
+  #m4 _CONVERSION(`cairo_region_t*',`Cairo::RefPtr<Cairo::Region>',`Cairo::RefPtr<Cairo::Region>(new Cairo::Region($3, true /* do not take ref */))')
 
   //This is const because it returns a copy (though that is not very clear from the C documentation)
   _WRAP_METHOD(Cairo::RefPtr<Cairo::Region> get_clip_region() const, gdk_drawable_get_clip_region)
@@ -79,7 +79,6 @@ public:
   //This is const because it returns a copy (though that is not very clear from the C documentation)
   _WRAP_METHOD(Cairo::RefPtr<Cairo::Region> get_visible_region() const, gdk_drawable_get_visible_region)
 
-
   _WRAP_METHOD(Glib::RefPtr<Screen> get_screen(), gdk_drawable_get_screen, refreturn)
   _WRAP_METHOD(Glib::RefPtr<const Screen> get_screen() const, gdk_drawable_get_screen, refreturn, constversion)
 
diff --git a/gtk/src/assistant.hg b/gtk/src/assistant.hg
index 18097dd..8aa5387 100644
--- a/gtk/src/assistant.hg
+++ b/gtk/src/assistant.hg
@@ -82,6 +82,7 @@ public:
   _WRAP_SIGNAL(void close(), "close")
   _WRAP_SIGNAL(void cancel(), "cancel")
 
+  //There are no normal properties.
   //TODO: Child properties?
 };
 
diff --git a/gtk/src/buttonbox.ccg b/gtk/src/buttonbox.ccg
index d3781a7..203c593 100644
--- a/gtk/src/buttonbox.ccg
+++ b/gtk/src/buttonbox.ccg
@@ -41,5 +41,4 @@ HButtonBox::HButtonBox(ButtonBoxStyle layout, int spacing)
   set_spacing(spacing);
 }
 
-
 } // namespace Gtk
diff --git a/gtk/src/buttonbox.hg b/gtk/src/buttonbox.hg
index e781ea9..778ffa1 100644
--- a/gtk/src/buttonbox.hg
+++ b/gtk/src/buttonbox.hg
@@ -51,7 +51,8 @@ public:
   _WRAP_METHOD(void set_child_secondary(Widget& child, bool is_secondary = true), gtk_button_box_set_child_secondary)
   _WRAP_METHOD(bool get_child_secondary(const Gtk::Widget& child) const, gtk_button_box_get_child_secondary)
 
-
+  //TODO: Deprecate set_child_ipadding_y() and friends in gtkmm 2.4, and replace them with something in gtkmm 3?
+  
   _WRAP_PROPERTY("layout-style", ButtonBoxStyle)
 };
 
diff --git a/gtk/src/enums.hg b/gtk/src/enums.hg
index 8c4f2a5..cc4d1a3 100644
--- a/gtk/src/enums.hg
+++ b/gtk/src/enums.hg
@@ -138,7 +138,7 @@ public:
   explicit IconSize(int size) : size_ (size) {}
   operator int() const { return size_; }
 
-  // These static methods are implement in iconfactory.ccg. TODO: That's probably unnecessarily obscure. murrayc.
+  // These static methods are implemented in iconfactory.ccg. TODO: That's probably unnecessarily obscure. murrayc.
 
   /** Obtains the pixel size of a semantic icon size, possibly modified by user preferences for the default Gtk::Settings.
    * Normally size would be Gtk::ICON_SIZE_MENU, Gtk::ICON_SIZE_BUTTON, etc.
diff --git a/gtk/src/filefilter.hg b/gtk/src/filefilter.hg
index 36d4c81..3488c93 100644
--- a/gtk/src/filefilter.hg
+++ b/gtk/src/filefilter.hg
@@ -79,7 +79,7 @@ public:
 
   _WRAP_METHOD(FileFilterFlags get_needed() const, gtk_file_filter_get_needed)
 
-  //TODO: This method is used by FileChooser implementors, so we don't need to wrap it.
+  //TODO: This method is onlyused by FileChooser implementors, so we don't need to wrap it.
   _IGNORE(gtk_file_filter_filter)
   //_WRAP_METHOD(bool filter(const GtkFileFilterInfo* filter_info), gtk_file_filter_filter)
 };
diff --git a/gtk/src/iconset.hg b/gtk/src/iconset.hg
index 98d8356..62316e1 100644
--- a/gtk/src/iconset.hg
+++ b/gtk/src/iconset.hg
@@ -37,8 +37,10 @@ class Widget;
 //TODO_API: Is _CLASS_BOXEDTYPE the appropriate thing to use here.
 //This seems to be reference-counted, not copied.
 
-// TODO: Documentation, thought the C API has no documentation for this either.
-// See http://bugzilla.gnome.org/show_bug.cgi?id=575537
+/** This manages a set of variants of a particular icon 
+ * An IconSet contains variants for different sizes and widget states. 
+ * Icons in an icon factory are named by a stock ID, which is a simple string identifying the icon. Each GtkStyle has a list of GtkIconFactory derived from the current theme; those icon factories are consulted first when searching for an icon. If the theme doesn't set a particular icon, GTK+ looks for the icon in a list of default icon factories, maintained by gtk_icon_factory_add_default() and gtk_icon_factory_remove_default(). Applications with icons should add a default icon factory with their icons, which will allow themes to override the icons for the application. 
+ */
 class IconSet
 {
   _CLASS_BOXEDTYPE(IconSet, GtkIconSet, gtk_icon_set_new, gtk_icon_set_ref, gtk_icon_set_unref)
diff --git a/gtk/src/menuitem.ccg b/gtk/src/menuitem.ccg
index 0e8a030..4685877 100644
--- a/gtk/src/menuitem.ccg
+++ b/gtk/src/menuitem.ccg
@@ -1,7 +1,7 @@
 // -*- c++ -*-
 /* $Id: menuitem.ccg,v 1.5 2006/05/11 11:40:24 murrayc Exp $ */
 
-/* 
+/*
  *
  * Copyright 1998-2002 The gtkmm Development Team
  *
@@ -81,7 +81,7 @@ void MenuItem::accelerate(Window& window)
   {
     if(accel_key_.get_path().empty())
     {
-      add_accelerator("activate", window.get_accel_group(), 
+      add_accelerator("activate", window.get_accel_group(),
                       accel_key_.get_key(), accel_key_.get_mod(), ACCEL_VISIBLE);
     }
     else
@@ -103,6 +103,9 @@ void MenuItem::unset_accel_path()
   gtk_menu_item_set_accel_path(gobj(), 0);
 }
 
+void MenuItem::unset_submenu()
+{
+  gtk_menu_item_set_submenu(gobj(), 0);
+}
 
 } // namespace Gtk
-
diff --git a/gtk/src/menuitem.hg b/gtk/src/menuitem.hg
index 115ddb7..eba02d6 100644
--- a/gtk/src/menuitem.hg
+++ b/gtk/src/menuitem.hg
@@ -54,7 +54,12 @@ public:
   explicit MenuItem(const Glib::ustring& label, bool mnemonic = false);
 
   _WRAP_METHOD(void set_submenu(Menu& submenu), gtk_menu_item_set_submenu)
-  //void unset_submenu(); // TODO: new API, implement after freeze
+
+  /** Remove the menu item's sub-menu.
+   * @newin{2,22}
+   */
+  void unset_submenu();
+
   _WRAP_METHOD(Menu* get_submenu(), gtk_menu_item_get_submenu)
   _WRAP_METHOD(const Menu* get_submenu() const, gtk_menu_item_get_submenu, constversion)
   bool has_submenu() const;
diff --git a/gtk/src/papersize.ccg b/gtk/src/papersize.ccg
index 25a2cfe..a9201e3 100644
--- a/gtk/src/papersize.ccg
+++ b/gtk/src/papersize.ccg
@@ -20,6 +20,7 @@
 namespace Gtk
 {
 
+typedef PaperSize::ListHandle_PaperSizes  ListHandle_PaperSizes;
 //PaperSize::PaperSize()
 //:
 //  gobject_(gtk_paper_size_new(gtk_paper_size_get_default()))
@@ -48,6 +49,7 @@ PaperSize::PaperSize(const Glib::ustring& name, const Glib::ustring& display_nam
 {}
 
 //TODO: Add an operator bool() so we can detect if this succeeded:
+//TODO: No, throw the error/exception instead.
 PaperSize::PaperSize(const Glib::KeyFile& key_file, const Glib::ustring& group_name)
 :
   gobject_(gtk_paper_size_new_from_key_file(const_cast<GKeyFile*>(key_file.gobj()), (group_name.empty() ? NULL : group_name.c_str()) , NULL /* GError */))
@@ -66,7 +68,7 @@ PaperSize::operator bool() const
 
 void PaperSize::save_to_key_file(Glib::KeyFile& key_file)
 {
-  gtk_paper_size_to_key_file( gobj(), (key_file).gobj(), 0); 
+  gtk_paper_size_to_key_file( gobj(), (key_file).gobj(), 0);
 }
 
 
diff --git a/gtk/src/papersize.hg b/gtk/src/papersize.hg
index c320070..2e5700d 100644
--- a/gtk/src/papersize.hg
+++ b/gtk/src/papersize.hg
@@ -20,6 +20,10 @@ _DEFS(gtkmm,gtk)
 namespace Gtk
 {
 
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+class PaperSizeTraits;
+#endif
+
 /** Common paper names, from PWG 5101.1-2002 PWG: Standard for Media Standardized Names
  *
  */
@@ -33,12 +37,12 @@ const Glib::ustring PAPER_NAME_LEGAL = "na_legal";
 
 _WRAP_ENUM(Unit, GtkUnit)
 
-/** PaperSize handles paper sizes. It uses the standard called "PWG 5101.1-2002 PWG: Standard for Media Standardized Names" 
- * to name the paper sizes (and to get the data for the page sizes). In addition to standard paper sizes, PaperSize allows 
+/** PaperSize handles paper sizes. It uses the standard called "PWG 5101.1-2002 PWG: Standard for Media Standardized Names"
+ * to name the paper sizes (and to get the data for the page sizes). In addition to standard paper sizes, PaperSize allows
  * to construct custom paper sizes with arbitrary dimensions.
  *
- * The PaperSize object stores not only the dimensions (width and height) of a paper size and its name, it also provides 
- * default print margins. 
+ * The PaperSize object stores not only the dimensions (width and height) of a paper size and its name, it also provides
+ * default print margins.
  *
  * @newin{2,10}
  *
@@ -49,7 +53,8 @@ class PaperSize
   // Cannot pass the _new function here, it must accept the 'name' argument.
   _CLASS_BOXEDTYPE(PaperSize, GtkPaperSize, NONE, gtk_paper_size_copy, gtk_paper_size_free)
 public:
-  // We don't use a "" default parameter vale, though gtk_paper_size_new() can take NULL,
+
+  // We don't use a "" default parameter value, though gtk_paper_size_new() can take NULL,
   // because there is already a (desired) default constructor (creating an invalid instance).
   // get_default() does what name="" would do.
   explicit PaperSize(const Glib::ustring& name);
@@ -66,9 +71,11 @@ public:
    */
   operator bool() const;
 
-  //TODO: Check this conversion and type:
-  #m4 _CONVERSION(`GList*', `Glib::ListHandle<PaperSize>', `$2($3, Glib::OWNERSHIP_DEEP)')
-  //TODO: _WRAP_METHOD(static Glib::ListHandle<PaperSize> get_paper_sizes(bool include_custom = true) const, gtk_paper_size_get_paper_sizes)
+  typedef Glib::ListHandle<PaperSize, PaperSizeTraits> ListHandle_PaperSizes;
+  _CONVERSION(`GList*',`ListHandle_RecentInfos',__FL2H_SHALLOW)
+
+  #m4 _CONVERSION(`GList*', `ListHandle_PaperSizes', __FL2H_DEEP)
+  _WRAP_METHOD(static ListHandle_PaperSizes get_paper_sizes(bool include_custom = true), gtk_paper_size_get_paper_sizes)
 
   _WRAP_METHOD(Glib::ustring get_name() const, gtk_paper_size_get_name)
   _WRAP_METHOD(Glib::ustring get_display_name() const, gtk_paper_size_get_display_name)
@@ -90,7 +97,7 @@ public:
   _WRAP_METHOD(void save_to_key_file(Glib::KeyFile& key_file, const Glib::ustring& group_name), gtk_paper_size_to_key_file)
 
   /** This function adds the paper size to @a key_file in the first group.
-   * 
+   *
    * @newin{2,12}
    * @param key_file The Glib::KeyFile to save the paper size to.
    */
@@ -105,4 +112,18 @@ inline bool operator==(const PaperSize& lhs, const PaperSize& rhs)
 inline bool operator!=(const PaperSize& lhs, const PaperSize& rhs)
   { return !lhs.equal(rhs); }
 
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+struct PaperSizeTraits
+{
+  typedef PaperSize  CppType;
+  typedef const GtkPaperSize*      CType;
+  typedef GtkPaperSize*            CTypeNonConst;
+
+  static CType   to_c_type      (const CppType& obj) { return obj.gobj();     }
+  static CType   to_c_type      (CType          ptr) { return ptr;                   }
+  static CppType to_cpp_type    (CType          ptr) { return PaperSize(const_cast<GtkPaperSize*>(ptr), true /* make_copy */); /* Does not take ownership */ }
+  static void    release_c_type (CType          /* ptr */) { /* Doesn't happen */ }
+};
+#endif //DOXYGEN_SHOULD_SKIP_THIS
+
 } // namespace Gtk
diff --git a/gtk/src/printoperation.ccg b/gtk/src/printoperation.ccg
index fd4da91..e54b7b9 100644
--- a/gtk/src/printoperation.ccg
+++ b/gtk/src/printoperation.ccg
@@ -74,6 +74,22 @@ run_page_setup_dialog(Window& parent,
 
 }
 
+Glib::RefPtr<PageSetup>
+run_page_setup_dialog(Window& parent,
+                      const Glib::RefPtr<const PrintSettings>& print_settings)
+{
+  // Specify the exact type with template specialization, to avoid possible
+  // ambiguities between the const and non-const versions of unwrap() reported
+  // by Sun's compiler (specifying unwrap<const Object> was reported
+  // not to work):
+  return Glib::wrap(
+    gtk_print_run_page_setup_dialog(
+      parent.gobj(),
+      0,
+      const_cast<GtkPrintSettings*>(Glib::unwrap<PrintSettings>(print_settings))));
+
+}
+
 void
 run_page_setup_dialog_async(Window& parent,
                             const Glib::RefPtr<const PageSetup>& page_setup,
@@ -94,4 +110,23 @@ run_page_setup_dialog_async(Window& parent,
     slot_copy);
 }
 
+void
+run_page_setup_dialog_async(Window& parent,
+                            const Glib::RefPtr<const PrintSettings>& print_settings,
+                            const SlotPrintSetupDone& slot)
+{
+  SlotPrintSetupDone* slot_copy = new SlotPrintSetupDone(slot);
+
+  // Specify the exact type with template specialization, to avoid possible
+  // ambiguities between the const and non-const versions of unwrap() reported
+  // by Sun's compiler (specifying unwrap<const Object> was reported
+  // not to work):
+  gtk_print_run_page_setup_dialog_async(
+    parent.gobj(),
+    0,
+    const_cast<GtkPrintSettings*>(Glib::unwrap<PrintSettings>(print_settings)),
+    &SignalProxy_PrintSetupDone_gtk_callback,
+    slot_copy);
+}
+
 } // namespace Gtk
diff --git a/gtk/src/printoperation.hg b/gtk/src/printoperation.hg
index a28e517..f8fa3d6 100644
--- a/gtk/src/printoperation.hg
+++ b/gtk/src/printoperation.hg
@@ -193,7 +193,22 @@ public:
   Glib::RefPtr<PageSetup> run_page_setup_dialog(Window& parent,
                                                 const Glib::RefPtr<const PageSetup>& page_setup,
                                                 const Glib::RefPtr<const PrintSettings>& print_settings);
-  //TODO: Add overloads that don't take page_setup.
+
+  /** Runs a page setup dialog, letting the user modify the values from page_setup.
+   * If the user cancels the dialog, the returned PageSetup is identical to that passed in @a page_setup,
+   * otherwise it contains the modifications done in the dialog.
+   *
+   * Note that this function may use a recursive mainloop to show the page setup dialog.
+   * See run_page_setup_dialog_async() if this is a problem.
+   *
+   * @param parent Transient parent.
+   * @param settings Print settings.
+   * @result A new PageSetup object.
+   *
+   * @since 2.22
+   */
+  Glib::RefPtr<PageSetup> run_page_setup_dialog(Window& parent,
+                                                const Glib::RefPtr<const PrintSettings>& print_settings);
 
   /** For example,
    * void on_setup_done(const Glib::RefPtr<PageSetup>& page_setup);
@@ -219,4 +234,22 @@ public:
                                    const Glib::RefPtr<const PrintSettings>& print_settings,
                                    const SlotPrintSetupDone& slot);
 
+  /** Runs a page setup dialog, letting the user modify the values from page_setup.
+   *
+   * In contrast to run_page_setup_dialog(), this function returns after showing the
+   * page setup dialog on platforms that support this, and calls the @a slot from a
+   * signal handler for the ::response signal of the dialog.
+   *
+   * @param parent Transient parent.
+   * @param page_setup An existing GtkPageSetup.
+   * @param settings Print settings.
+   * @result A new PageSetup object.
+   * @param slot
+   *
+   * @since 2.22
+   */
+  void run_page_setup_dialog_async(Window& parent,
+                                   const Glib::RefPtr<const PrintSettings>& print_settings,
+                                   const SlotPrintSetupDone& slot);
+
 } // namespace Gtk
diff --git a/gtk/src/printsettings.hg b/gtk/src/printsettings.hg
index ef47769..8e08805 100644
--- a/gtk/src/printsettings.hg
+++ b/gtk/src/printsettings.hg
@@ -50,9 +50,6 @@ class PrintSettings : public Glib::Object
 protected:
   _CTOR_DEFAULT
 
- //TODO: We need fuller information about the GError domains:
- //http://bugzilla.gnome.org/show_bug.cgi?id=544706
-
  /** Reads the print settings from the @a key_file.
   * Returns a new PrintSettings object with the restored settings,
   * or an empty RefPtr if an error occurred.
@@ -61,7 +58,7 @@ protected:
   * @param key_file The KeyFile to retrieve the settings from.
   * @result the restored PrintSettings
   *
-  * @throws KeyFileError
+  * @throws KeyFileError, FileError
   *
   * @newin{2,14}
   */
@@ -76,7 +73,7 @@ protected:
   * @param group_name The name of the group to use.
   * @result the restored PrintSettings
   *
-  * @throws KeyFileError
+  * @throws KeyFileError, FileError
   *
   * @newin{2,14}
   */
@@ -90,7 +87,7 @@ protected:
   * @param file_name The filename to read the settings from.
   * @result the restored PrintSettings
   *
-  * @throws KeyFileError
+  * @throws KeyFileError, FileError
   *
   * @newin{2,14}
   */
@@ -150,7 +147,7 @@ public:
   * @param key_file The KeyFile to retrieve the settings from.
   * @result true on success.
   *
-  * @throws KeyFileError
+  * @throws KeyFileError, FileError
   *
   * @newin{2,14}
   */
diff --git a/gtk/src/statusbar.hg b/gtk/src/statusbar.hg
index 92e601d..abf9a42 100644
--- a/gtk/src/statusbar.hg
+++ b/gtk/src/statusbar.hg
@@ -49,10 +49,22 @@ public:
   _CTOR_DEFAULT
 
   _WRAP_METHOD(guint get_context_id(const Glib::ustring& context_description), gtk_statusbar_get_context_id)
+
+  //TODO: Remove the default 0 context_id values in all these methods?
+
+  /** Pushes a new message onto a statusbar's stack.
+   * @param text The message to add to the statusbar.
+   * @param context_id The message's context id, as returned by get_context_id()
+   */
   guint push(const Glib::ustring& text, guint context_id = 0);
+
   _WRAP_METHOD(void pop(guint context_id = 0), gtk_statusbar_pop)
 
-  //TODO: Documentation
+  /** Forces the removal of a message from a statusbar's stack. 
+   * The exact context_id and message_id must be specified.
+   * @param message_id A message identifier, as returned by push().
+   * @param context_id A context identifier.
+   */
   void remove_message(guint message_id, guint context_id = 0);
   _IGNORE(gtk_statusbar_remove)
 
diff --git a/gtk/src/style.hg b/gtk/src/style.hg
index 06e1c42..8c62f84 100644
--- a/gtk/src/style.hg
+++ b/gtk/src/style.hg
@@ -341,8 +341,8 @@ public:
                   int                               height) const, gtk_paint_resize_grip)
 
 
-//TODO: This should be const:
-  _WRAP_METHOD(Glib::RefPtr<Style> copy(), gtk_style_copy)
+  _WRAP_METHOD(Glib::RefPtr<Style> copy(), gtk_style_copy, deprecated "Use the const version")
+  _WRAP_METHOD(Glib::RefPtr<Style> copy() const, gtk_style_copy)
 
   _WRAP_METHOD(Glib::RefPtr<Style> attach(const Glib::RefPtr<Gdk::Window>& window), gtk_style_attach)
   _WRAP_METHOD(void detach(), gtk_style_detach)



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]