[Xfce4-commits] [apps/xfdashboard] 01/01: Remove "enabled" property from interface XfdashboardPopupMenuItem and implement functions at actors (implementing this interface) to get/set enable state.
noreply at xfce.org
noreply at xfce.org
Tue Jan 17 09:51:10 CET 2017
This is an automated email from the git hooks/post-receive script.
nomad pushed a commit to branch master
in repository apps/xfdashboard.
commit 14d5fc2abe6217afca76fac3a365989af91eac57
Author: Stephan Haller <nomad at froevel.de>
Date: Tue Jan 17 09:49:58 2017 +0100
Remove "enabled" property from interface XfdashboardPopupMenuItem and implement functions at actors (implementing this interface) to get/set enable state.
---
libxfdashboard/popup-menu-item-button.c | 36 ++++++++++++++++++++++++++
libxfdashboard/popup-menu-item-separator.c | 32 ++++++++++++++++++++---
libxfdashboard/popup-menu-item.c | 41 ------------------------------
3 files changed, 65 insertions(+), 44 deletions(-)
diff --git a/libxfdashboard/popup-menu-item-button.c b/libxfdashboard/popup-menu-item-button.c
index 73b29f6..31a4af5 100644
--- a/libxfdashboard/popup-menu-item-button.c
+++ b/libxfdashboard/popup-menu-item-button.c
@@ -50,6 +50,7 @@ struct _XfdashboardPopupMenuItemButtonPrivate
{
/* Instance related */
ClutterAction *clickAction;
+ gboolean enabled;
};
/* IMPLEMENTATION: Private variables and methods */
@@ -71,11 +72,43 @@ static void _xfdashboard_popup_menu_item_button_clicked(XfdashboardClickAction *
/* IMPLEMENTATION: Interface XfdashboardPopupMenuItem */
+/* Get enable state of this pop-up menu item */
+static gboolean _xfdashboard_popup_menu_item_button_popup_menu_item_get_enabled(XfdashboardPopupMenuItem *inMenuItem)
+{
+ XfdashboardPopupMenuItemButton *self;
+ XfdashboardPopupMenuItemButtonPrivate *priv;
+
+ g_return_val_if_fail(XFDASHBOARD_IS_POPUP_MENU_ITEM_BUTTON(inMenuItem), FALSE);
+
+ self=XFDASHBOARD_POPUP_MENU_ITEM_BUTTON(inMenuItem);
+ priv=self->priv;
+
+ /* Return enabled state */
+ return(priv->enabled);
+}
+
+/* Set enable state of this pop-up menu item */
+static void _xfdashboard_popup_menu_item_button_popup_menu_item_set_enabled(XfdashboardPopupMenuItem *inMenuItem, gboolean inEnabled)
+{
+ XfdashboardPopupMenuItemButton *self;
+ XfdashboardPopupMenuItemButtonPrivate *priv;
+
+ g_return_if_fail(XFDASHBOARD_IS_POPUP_MENU_ITEM_BUTTON(inMenuItem));
+
+ self=XFDASHBOARD_POPUP_MENU_ITEM_BUTTON(inMenuItem);
+ priv=self->priv;
+
+ /* Set enabled state */
+ priv->enabled=inEnabled;
+}
+
/* Interface initialization
* Set up default functions
*/
void _xfdashboard_popup_menu_item_button_popup_menu_item_iface_init(XfdashboardPopupMenuItemInterface *iface)
{
+ iface->get_enabled=_xfdashboard_popup_menu_item_button_popup_menu_item_get_enabled;
+ iface->set_enabled=_xfdashboard_popup_menu_item_button_popup_menu_item_set_enabled;
}
/* IMPLEMENTATION: GObject */
@@ -99,6 +132,9 @@ static void xfdashboard_popup_menu_item_button_init(XfdashboardPopupMenuItemButt
priv=self->priv=XFDASHBOARD_BUTTON_GET_PRIVATE(self);
+ /* Set up default values */
+ priv->enabled=TRUE;
+
/* This actor reacts on events */
clutter_actor_set_reactive(CLUTTER_ACTOR(self), TRUE);
diff --git a/libxfdashboard/popup-menu-item-separator.c b/libxfdashboard/popup-menu-item-separator.c
index d84eb07..26ff949 100644
--- a/libxfdashboard/popup-menu-item-separator.c
+++ b/libxfdashboard/popup-menu-item-separator.c
@@ -150,11 +150,37 @@ static gboolean _xfdashboard_popup_menu_item_separator_on_draw_line_canvas(Xfdas
/* IMPLEMENTATION: Interface XfdashboardPopupMenuItem */
+/* Get enable state of this pop-up menu item */
+static gboolean _xfdashboard_popup_menu_item_separator_popup_menu_item_get_enabled(XfdashboardPopupMenuItem *inMenuItem)
+{
+ g_return_val_if_fail(XFDASHBOARD_IS_POPUP_MENU_ITEM_SEPARATOR(inMenuItem), FALSE);
+
+ /* Pop-up menu item separators are always disabled so return FALSE */
+ return(FALSE);
+}
+
+/* Set enable state of this pop-up menu item */
+static void _xfdashboard_popup_menu_item_separator_popup_menu_item_set_enabled(XfdashboardPopupMenuItem *inMenuItem, gboolean inEnabled)
+{
+ g_return_if_fail(XFDASHBOARD_IS_POPUP_MENU_ITEM_SEPARATOR(inMenuItem));
+
+ /* Pop-up menu item separators are always disabled so warn if someone tries
+ * to enabled it, otherwise ignore silently and do nothing.
+ */
+ if(inEnabled)
+ {
+ g_warning(_("Object of type %s is always disabled and cannot be enabled."),
+ G_OBJECT_TYPE_NAME(inMenuItem));
+ }
+}
+
/* Interface initialization
* Set up default functions
*/
void _xfdashboard_popup_menu_item_separator_popup_menu_item_iface_init(XfdashboardPopupMenuItemInterface *iface)
{
+ iface->get_enabled=_xfdashboard_popup_menu_item_separator_popup_menu_item_get_enabled;
+ iface->set_enabled=_xfdashboard_popup_menu_item_separator_popup_menu_item_set_enabled;
}
/* IMPLEMENTATION: ClutterActor */
@@ -326,9 +352,9 @@ static void _xfdashboard_popup_menu_item_separator_get_property(GObject *inObjec
*/
static void xfdashboard_popup_menu_item_separator_class_init(XfdashboardPopupMenuItemSeparatorClass *klass)
{
- XfdashboardActorClass *actorClass=XFDASHBOARD_ACTOR_CLASS(klass);
- ClutterActorClass *clutterActorClass=CLUTTER_ACTOR_CLASS(klass);
- GObjectClass *gobjectClass=G_OBJECT_CLASS(klass);
+ XfdashboardActorClass *actorClass=XFDASHBOARD_ACTOR_CLASS(klass);
+ ClutterActorClass *clutterActorClass=CLUTTER_ACTOR_CLASS(klass);
+ GObjectClass *gobjectClass=G_OBJECT_CLASS(klass);
/* Override functions */
gobjectClass->dispose=_xfdashboard_popup_menu_item_separator_dispose;
diff --git a/libxfdashboard/popup-menu-item.c b/libxfdashboard/popup-menu-item.c
index 4e5b2e1..c6a8f87 100644
--- a/libxfdashboard/popup-menu-item.c
+++ b/libxfdashboard/popup-menu-item.c
@@ -54,27 +54,6 @@ static guint XfdashboardPopupMenuItemSignals[SIGNAL_LAST]={ 0, };
G_OBJECT_TYPE_NAME(self), \
vfunc);
-/* Default implementation of virtual function "get_enabled" */
-static gboolean _xfdashboard_popup_menu_item_real_get_enabled(XfdashboardPopupMenuItem *self)
-{
- gboolean enabled;
-
- g_return_val_if_fail(XFDASHBOARD_IS_POPUP_MENU_ITEM(self), FALSE);
-
- /* By default (if not overidden) retrieve state from property "enabled" */
- g_object_get(self, "enabled", &enabled, NULL);
-
- return(enabled);
-}
-
-/* Default implementation of virtual function "set_enabled" */
-static void _xfdashboard_popup_menu_item_real_set_enabled(XfdashboardPopupMenuItem *self, gboolean inEnabled)
-{
- g_return_if_fail(XFDASHBOARD_IS_POPUP_MENU_ITEM(self));
-
- /* By default (if not overidden) set property "enabled" to requested state */
- g_object_set(self, "enabled", inEnabled, NULL);
-}
/* IMPLEMENTATION: GObject */
@@ -86,29 +65,9 @@ void xfdashboard_popup_menu_item_default_init(XfdashboardPopupMenuItemInterface
static gboolean initialized=FALSE;
GParamSpec *property;
- /* The following virtual functions should be overriden if default
- * implementation does not fit.
- */
- iface->get_enabled=_xfdashboard_popup_menu_item_real_get_enabled;
- iface->set_enabled=_xfdashboard_popup_menu_item_real_set_enabled;
-
/* Define properties, signals and actions */
if(!initialized)
{
- /* Define properties */
- /**
- * XfdashboardPopupMenuItem:enabled:
- *
- * A flag indicating if this pop-up menu item is enabled or disabled.
- * It is set to %TRUE if enabled and it is set %FALSE if disabled.
- */
- property=g_param_spec_boolean("enabled",
- _("Enabled"),
- _("Whether this pop-up menu item is enabled"),
- TRUE,
- G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
- g_object_interface_install_property(iface, property);
-
/* Define signals */
/**
* XfdashboardPopupMenuItem::activated:
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the Xfce4-commits
mailing list