[glibmm] Gio::MenuItem: Add set/unset_icon().
- From: Murray Cumming <murrayc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glibmm] Gio::MenuItem: Add set/unset_icon().
- Date: Wed, 31 Jul 2013 09:38:59 +0000 (UTC)
commit 5f2ab7b9b046a44bf278175a16514138db6a8532
Author: Murray Cumming <murrayc murrayc com>
Date: Wed Jul 31 11:37:45 2013 +0200
Gio::MenuItem: Add set/unset_icon().
gio/src/menu.hg | 2 +-
gio/src/menuitem.ccg | 5 +++++
gio/src/menuitem.hg | 31 +++++++++++++++++++++++++++++--
tools/m4/convert_gio.m4 | 1 +
4 files changed, 36 insertions(+), 3 deletions(-)
---
diff --git a/gio/src/menu.hg b/gio/src/menu.hg
index 4c107ca..dd88b0f 100644
--- a/gio/src/menu.hg
+++ b/gio/src/menu.hg
@@ -24,7 +24,7 @@ _PINCLUDE(giomm/private/menumodel_p.h)
namespace Gio
{
-/** A simple implementation of GMenuModel.
+/** A simple implementation of MenuModel.
* You populate a Menu by adding MenuItem instances to it.
*
* There are some convenience methods to allow you to directly
diff --git a/gio/src/menuitem.ccg b/gio/src/menuitem.ccg
index 221eaea..5d7a359 100644
--- a/gio/src/menuitem.ccg
+++ b/gio/src/menuitem.ccg
@@ -25,4 +25,9 @@ void MenuItem::set_action_and_target(const Glib::ustring& action)
g_menu_item_set_action_and_target_value(gobj(), action.c_str(), 0);
}
+void MenuItem::unset_icon()
+{
+ g_menu_item_set_icon(gobj(), 0);
+}
+
} // namespace Gio
diff --git a/gio/src/menuitem.hg b/gio/src/menuitem.hg
index 2ad13b3..f49c5c2 100644
--- a/gio/src/menuitem.hg
+++ b/gio/src/menuitem.hg
@@ -17,6 +17,7 @@
#include <glibmm/object.h>
#include <giomm/menumodel.h>
+#include <giomm/icon.h>
_DEFS(giomm,gio)
_PINCLUDE(glibmm/private/object_p.h)
@@ -44,6 +45,21 @@ public:
+/* TODO:
+GMenuItem * g_menu_item_new_from_model (GMenuModel *model,
+ gint item_index);
+
+
+GMenuItem * g_menu_item_new_submenu (const Glib::ustring& label,
+ GMenuModel *submenu);
+
+
+GMenuItem * g_menu_item_new_section (const Glib::ustring& label,
+ GMenuModel *section);
+*/
+
+
+
//TODO: GMenuItem * g_menu_item_new_section (const Glib::ustring& label,
// const Glib::RefPtr<MenuModel>& section);
@@ -54,8 +70,9 @@ public:
_WRAP_METHOD(void set_attribute(const Glib::ustring& attribute, const Glib::VariantBase& value),
g_menu_item_set_attribute_value)
_IGNORE(g_menu_item_set_attribute)
- _WRAP_METHOD(Glib::RefPtr<MenuModel> get_link(const Glib::ustring& link), g_menu_item_get_link, refreturn)
- _WRAP_METHOD(Glib::RefPtr<const MenuModel> get_link(const Glib::ustring& link) const,
g_menu_item_get_link, refreturn, constversion)
+//These are documented as transfer-full, so we don't need to use refreturn.
+ _WRAP_METHOD(Glib::RefPtr<MenuModel> get_link(const Glib::ustring& link), g_menu_item_get_link)
+ _WRAP_METHOD(Glib::RefPtr<const MenuModel> get_link(const Glib::ustring& link) const,
g_menu_item_get_link, constversion)
_WRAP_METHOD(void set_link(const Glib::ustring& link, const Glib::RefPtr<MenuModel>& model),
g_menu_item_set_link)
_WRAP_METHOD(void set_label(const Glib::ustring& label), g_menu_item_set_label)
@@ -80,6 +97,16 @@ public:
_WRAP_METHOD(void set_action_and_target(const Glib::ustring& action, const Glib::VariantBase&
target_value), g_menu_item_set_action_and_target_value)
_IGNORE(g_menu_item_set_action_and_target)
_WRAP_METHOD(void set_detailed_action(const Glib::ustring& detailed_action),
g_menu_item_set_detailed_action)
+
+ _WRAP_METHOD(void set_icon(const Glib::RefPtr<Icon>& icon), g_menu_item_set_icon)
+
+ /** Unset the icon on the menu item.
+ *
+ * See set_icon().
+ *
+ * @newin{2,38}
+ */
+ void unset_icon();
};
} // namespace Gio
diff --git a/tools/m4/convert_gio.m4 b/tools/m4/convert_gio.m4
index 8a2d632..0cc55b9 100644
--- a/tools/m4/convert_gio.m4
+++ b/tools/m4/convert_gio.m4
@@ -219,6 +219,7 @@ _CONVERSION(`GMenuLinkIter*',`Glib::RefPtr<MenuLinkIter>',`Glib::wrap($3)')
# MenuModel
_CONVERSION(`GMenuModel*',`Glib::RefPtr<MenuModel>',`Glib::wrap($3)')
+_CONVERSION(`GMenuModel*',`Glib::RefPtr<const MenuModel>',`Glib::wrap($3)')
_CONVERSION(`const Glib::RefPtr<MenuModel>&',`GMenuModel*',__CONVERT_CONST_REFPTR_TO_P)
# MenuItem
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]