[Xfce4-commits] [apps/xfdashboard] 05/31: Mark property 'gravity' deprecated and introduce new property 'anchor-point' at XfdashboardEmblemEffect

noreply at xfce.org noreply at xfce.org
Thu Jun 11 19:57:00 CEST 2015


This is an automated email from the git hooks/post-receive script.

nomad pushed a commit to annotated tag 0.4.1
in repository apps/xfdashboard.

commit e6bf8e3dc7890313d3f59766c3dac73be3c3a295
Author: Stephan Haller <nomad at froevel.de>
Date:   Wed Apr 22 20:55:11 2015 +0200

    Mark property 'gravity' deprecated and introduce new property 'anchor-point' at XfdashboardEmblemEffect
    
    Gravity does not describe well what this property is used for. So rename gravity to anchor point and replace all occurences with new definition and type.
    
    This deprecates property 'gravity' and a warning is printed each time this property is set to a new value.
---
 xfdashboard/types.h          |   15 +++
 xfdashboard/window-content.c |  208 +++++++++++++++++++++++++++++++++++-------
 xfdashboard/window-content.h |    5 +
 3 files changed, 196 insertions(+), 32 deletions(-)

diff --git a/xfdashboard/types.h b/xfdashboard/types.h
index 3da1541..b0f55f8 100644
--- a/xfdashboard/types.h
+++ b/xfdashboard/types.h
@@ -147,6 +147,21 @@ typedef enum /*< prefix=XFDASHBOARD_SELECTION_TARGET >*/
 	XFDASHBOARD_SELECTION_TARGET_NEXT
 } XfdashboardSelectionTarget;
 
+/* Anchor points */
+typedef enum /*< prefix=XFDASHBOARD_ANCHOR_POINT >*/
+{
+	XFDASHBOARD_ANCHOR_POINT_NONE=0,
+	XFDASHBOARD_ANCHOR_POINT_NORTH_WEST,
+	XFDASHBOARD_ANCHOR_POINT_NORTH,
+	XFDASHBOARD_ANCHOR_POINT_NORTH_EAST,
+	XFDASHBOARD_ANCHOR_POINT_EAST,
+	XFDASHBOARD_ANCHOR_POINT_SOUTH_EAST,
+	XFDASHBOARD_ANCHOR_POINT_SOUTH,
+	XFDASHBOARD_ANCHOR_POINT_SOUTH_WEST,
+	XFDASHBOARD_ANCHOR_POINT_WEST,
+	XFDASHBOARD_ANCHOR_POINT_CENTER
+} XfdashboardAnchorPoint;
+
 G_END_DECLS
 
 #endif	/* __XFDASHBOARD_TYPES__ */
diff --git a/xfdashboard/window-content.c b/xfdashboard/window-content.c
index 9b16334..aee66dc 100644
--- a/xfdashboard/window-content.c
+++ b/xfdashboard/window-content.c
@@ -45,6 +45,7 @@
 #include "marshal.h"
 #include "stylable.h"
 #include "window-tracker.h"
+#include "enums.h"
 
 /* Definitions */
 typedef enum
@@ -84,7 +85,7 @@ struct _XfdashboardWindowContentPrivate
 	gfloat									unmappedWindowIconYAlign;
 	gfloat									unmappedWindowIconXScale;
 	gfloat									unmappedWindowIconYScale;
-	ClutterGravity							unmappedWindowIconGravity;
+	XfdashboardAnchorPoint					unmappedWindowIconAnchorPoint;
 
 	gchar									*styleClasses;
 	gchar									*stylePseudoClasses;
@@ -127,6 +128,9 @@ enum
 	PROP_UNMAPPED_WINDOW_ICON_Y_ALIGN,
 	PROP_UNMAPPED_WINDOW_ICON_X_SCALE,
 	PROP_UNMAPPED_WINDOW_ICON_Y_SCALE,
+	PROP_UNMAPPED_WINDOW_ICON_ANCHOR_POINT,
+
+	/* DEPRECATED */
 	PROP_UNMAPPED_WINDOW_ICON_GRAVITY,
 
 	/* From interface: XfdashboardStylable */
@@ -1089,29 +1093,29 @@ static void _xdashboard_window_content_clutter_content_iface_paint_content(Clutt
 
 			/* Get boundary in X axis depending on gravity and scaled width */
 			offset=(priv->unmappedWindowIconXAlign*allocationWidth);
-			switch(priv->unmappedWindowIconGravity)
+			switch(priv->unmappedWindowIconAnchorPoint)
 			{
 				/* Align to left boundary.
 				 * This is also the default if gravity is none or undefined.
 				 */
 				default:
-				case CLUTTER_GRAVITY_NONE:
-				case CLUTTER_GRAVITY_WEST:
-				case CLUTTER_GRAVITY_NORTH_WEST:
-				case CLUTTER_GRAVITY_SOUTH_WEST:
+				case XFDASHBOARD_ANCHOR_POINT_NONE:
+				case XFDASHBOARD_ANCHOR_POINT_WEST:
+				case XFDASHBOARD_ANCHOR_POINT_NORTH_WEST:
+				case XFDASHBOARD_ANCHOR_POINT_SOUTH_WEST:
 					break;
 
 				/* Align to center of X axis */
-				case CLUTTER_GRAVITY_CENTER:
-				case CLUTTER_GRAVITY_NORTH:
-				case CLUTTER_GRAVITY_SOUTH:
+				case XFDASHBOARD_ANCHOR_POINT_CENTER:
+				case XFDASHBOARD_ANCHOR_POINT_NORTH:
+				case XFDASHBOARD_ANCHOR_POINT_SOUTH:
 					offset-=(textureWidth/2.0f);
 					break;
 
 				/* Align to right boundary */
-				case CLUTTER_GRAVITY_EAST:
-				case CLUTTER_GRAVITY_NORTH_EAST:
-				case CLUTTER_GRAVITY_SOUTH_EAST:
+				case XFDASHBOARD_ANCHOR_POINT_EAST:
+				case XFDASHBOARD_ANCHOR_POINT_NORTH_EAST:
+				case XFDASHBOARD_ANCHOR_POINT_SOUTH_EAST:
 					offset-=textureWidth;
 					break;
 			}
@@ -1151,29 +1155,29 @@ static void _xdashboard_window_content_clutter_content_iface_paint_content(Clutt
 
 			/* Get boundary in Y axis depending on gravity and scaled width */
 			offset=(priv->unmappedWindowIconYAlign*allocationHeight);
-			switch(priv->unmappedWindowIconGravity)
+			switch(priv->unmappedWindowIconAnchorPoint)
 			{
 				/* Align to upper boundary.
 				 * This is also the default if gravity is none or undefined.
 				 */
 				default:
-				case CLUTTER_GRAVITY_NONE:
-				case CLUTTER_GRAVITY_NORTH:
-				case CLUTTER_GRAVITY_NORTH_WEST:
-				case CLUTTER_GRAVITY_NORTH_EAST:
+				case XFDASHBOARD_ANCHOR_POINT_NONE:
+				case XFDASHBOARD_ANCHOR_POINT_NORTH:
+				case XFDASHBOARD_ANCHOR_POINT_NORTH_WEST:
+				case XFDASHBOARD_ANCHOR_POINT_NORTH_EAST:
 					break;
 
 				/* Align to center of Y axis */
-				case CLUTTER_GRAVITY_CENTER:
-				case CLUTTER_GRAVITY_WEST:
-				case CLUTTER_GRAVITY_EAST:
+				case XFDASHBOARD_ANCHOR_POINT_CENTER:
+				case XFDASHBOARD_ANCHOR_POINT_WEST:
+				case XFDASHBOARD_ANCHOR_POINT_EAST:
 					offset-=(textureHeight/2.0f);
 					break;
 
 				/* Align to lower boundary */
-				case CLUTTER_GRAVITY_SOUTH:
-				case CLUTTER_GRAVITY_SOUTH_WEST:
-				case CLUTTER_GRAVITY_SOUTH_EAST:
+				case XFDASHBOARD_ANCHOR_POINT_SOUTH:
+				case XFDASHBOARD_ANCHOR_POINT_SOUTH_WEST:
+				case XFDASHBOARD_ANCHOR_POINT_SOUTH_EAST:
 					offset-=textureHeight;
 					break;
 			}
@@ -1318,6 +1322,9 @@ static void _xfdashboard_window_content_stylable_get_stylable_properties(Xfdashb
 	xfdashboard_stylable_add_stylable_property(self, ioStylableProperties, "unmapped-window-icon-y-align");
 	xfdashboard_stylable_add_stylable_property(self, ioStylableProperties, "unmapped-window-icon-x-scale");
 	xfdashboard_stylable_add_stylable_property(self, ioStylableProperties, "unmapped-window-icon-y-scale");
+	xfdashboard_stylable_add_stylable_property(self, ioStylableProperties, "unmapped-window-icon-anchor-point");
+
+	/* DEPRECATED */
 	xfdashboard_stylable_add_stylable_property(self, ioStylableProperties, "unmapped-window-icon-gravity");
 }
 
@@ -1474,10 +1481,15 @@ static void _xfdashboard_window_content_set_property(GObject *inObject,
 			xfdashboard_window_content_set_unmapped_window_icon_y_scale(self, g_value_get_float(inValue));
 			break;
 
+		/* DEPRECATED */
 		case PROP_UNMAPPED_WINDOW_ICON_GRAVITY:
 			xfdashboard_window_content_set_unmapped_window_icon_gravity(self, g_value_get_enum(inValue));
 			break;
 
+		case PROP_UNMAPPED_WINDOW_ICON_ANCHOR_POINT:
+			xfdashboard_window_content_set_unmapped_window_icon_anchor_point(self, g_value_get_enum(inValue));
+			break;
+
 		case PROP_STYLE_CLASSES:
 			_xfdashboard_window_content_stylable_set_classes(XFDASHBOARD_STYLABLE(self), g_value_get_string(inValue));
 			break;
@@ -1546,8 +1558,13 @@ static void _xfdashboard_window_content_get_property(GObject *inObject,
 			g_value_set_float(outValue, priv->unmappedWindowIconYScale);
 			break;
 
+		/* DEPRECATED */
 		case PROP_UNMAPPED_WINDOW_ICON_GRAVITY:
-			g_value_set_enum(outValue, priv->unmappedWindowIconGravity);
+			g_value_set_enum(outValue, xfdashboard_window_content_get_unmapped_window_icon_gravity(self));
+			break;
+
+		case PROP_UNMAPPED_WINDOW_ICON_ANCHOR_POINT:
+			g_value_set_enum(outValue, priv->unmappedWindowIconAnchorPoint);
 			break;
 
 		case PROP_STYLE_CLASSES:
@@ -1667,14 +1684,25 @@ void xfdashboard_window_content_class_init(XfdashboardWindowContentClass *klass)
 							1.0f,
 							G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
 
+	/* DEPRECATED: Property 'unmapped-window-icon-gravity' is deprecated.
+	 *             Use property 'unmapped-window-icon-anchor-point' instead.
+	 */
 	XfdashboardWindowContentProperties[PROP_UNMAPPED_WINDOW_ICON_GRAVITY]=
 		g_param_spec_enum("unmapped-window-icon-gravity",
 							_("Unmapped window icon gravity"),
-							_("The anchor point of unmapped window icon"),
+							_("The gravity (anchor point) of unmapped window icon - Deprecated. Use property 'anchor-point' instead."),
 							CLUTTER_TYPE_GRAVITY,
 							CLUTTER_GRAVITY_NONE,
 							G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
 
+	XfdashboardWindowContentProperties[PROP_UNMAPPED_WINDOW_ICON_ANCHOR_POINT]=
+		g_param_spec_enum("unmapped-window-icon-anchor-point",
+							_("Unmapped window icon anchor point"),
+							_("The anchor point of unmapped window icon"),
+							XFDASHBOARD_TYPE_ANCHOR_POINT,
+							XFDASHBOARD_ANCHOR_POINT_NONE,
+							G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
+
 	paramSpec=g_object_interface_find_property(stylableIface, "style-classes");
 	XfdashboardWindowContentProperties[PROP_STYLE_CLASSES]=
 		g_param_spec_override("style-classes", paramSpec);
@@ -1724,7 +1752,7 @@ void xfdashboard_window_content_init(XfdashboardWindowContent *self)
 	priv->unmappedWindowIconYAlign=0.0f;
 	priv->unmappedWindowIconXScale=1.0f;
 	priv->unmappedWindowIconYScale=1.0f;
-	priv->unmappedWindowIconGravity=CLUTTER_GRAVITY_NONE;
+	priv->unmappedWindowIconAnchorPoint=XFDASHBOARD_ANCHOR_POINT_NONE;
 
 	/* Check extensions (will only be done once) */
 	_xfdashboard_window_content_check_extension();
@@ -2099,34 +2127,150 @@ void xfdashboard_window_content_set_unmapped_window_icon_y_scale(XfdashboardWind
 	}
 }
 
-/* Get/set gravity (anchor point) of unmapped window icon */
+/* DEPRECATED: Get/set gravity (anchor point) of unmapped window icon */
 ClutterGravity xfdashboard_window_content_get_unmapped_window_icon_gravity(XfdashboardWindowContent *self)
 {
+	XfdashboardWindowContentPrivate		*priv;
+	ClutterGravity						gravity;
+
 	g_return_val_if_fail(XFDASHBOARD_IS_WINDOW_CONTENT(self), CLUTTER_GRAVITY_NONE);
 
-	return(self->priv->unmappedWindowIconGravity);
+	priv=self->priv;
+	gravity=CLUTTER_GRAVITY_NONE;
+
+	switch(priv->unmappedWindowIconAnchorPoint)
+	{
+		case XFDASHBOARD_ANCHOR_POINT_NONE:
+			gravity=CLUTTER_GRAVITY_NONE;
+			break;
+
+		case XFDASHBOARD_ANCHOR_POINT_NORTH:
+			gravity=CLUTTER_GRAVITY_NORTH;
+			break;
+
+		case XFDASHBOARD_ANCHOR_POINT_NORTH_WEST:
+			gravity=CLUTTER_GRAVITY_NORTH_WEST;
+			break;
+
+		case XFDASHBOARD_ANCHOR_POINT_NORTH_EAST:
+			gravity=CLUTTER_GRAVITY_NORTH_EAST;
+			break;
+
+		case XFDASHBOARD_ANCHOR_POINT_SOUTH:
+			gravity=CLUTTER_GRAVITY_SOUTH;
+			break;
+
+		case XFDASHBOARD_ANCHOR_POINT_SOUTH_WEST:
+			gravity=CLUTTER_GRAVITY_SOUTH_WEST;
+			break;
+
+		case XFDASHBOARD_ANCHOR_POINT_SOUTH_EAST:
+			gravity=CLUTTER_GRAVITY_SOUTH_EAST;
+			break;
+
+		case XFDASHBOARD_ANCHOR_POINT_WEST:
+			gravity=CLUTTER_GRAVITY_WEST;
+			break;
+
+		case XFDASHBOARD_ANCHOR_POINT_EAST:
+			gravity=CLUTTER_GRAVITY_EAST;
+			break;
+
+		case XFDASHBOARD_ANCHOR_POINT_CENTER:
+			gravity=CLUTTER_GRAVITY_CENTER;
+			break;
+	}
+
+	return(gravity);
 }
 
 void xfdashboard_window_content_set_unmapped_window_icon_gravity(XfdashboardWindowContent *self, const ClutterGravity inGravity)
 {
-	XfdashboardWindowContentPrivate		*priv;
+	XfdashboardAnchorPoint				anchorPoint;
 
 	g_return_if_fail(XFDASHBOARD_IS_WINDOW_CONTENT(self));
 	g_return_if_fail(inGravity>=CLUTTER_GRAVITY_NONE);
 	g_return_if_fail(inGravity<=CLUTTER_GRAVITY_CENTER);
 
+	anchorPoint=XFDASHBOARD_ANCHOR_POINT_NONE;
+
+	g_warning("Setting deprecated property 'unmapped-window-icon-gravity' at %s", G_OBJECT_TYPE_NAME(self));
+
+	/* Convert gravity to anchor point */
+	switch(inGravity)
+	{
+		case CLUTTER_GRAVITY_NONE:
+			anchorPoint=XFDASHBOARD_ANCHOR_POINT_NONE;
+			break;
+
+		case CLUTTER_GRAVITY_NORTH:
+			anchorPoint=XFDASHBOARD_ANCHOR_POINT_NORTH;
+			break;
+
+		case CLUTTER_GRAVITY_NORTH_WEST:
+			anchorPoint=XFDASHBOARD_ANCHOR_POINT_NORTH_WEST;
+			break;
+
+		case CLUTTER_GRAVITY_NORTH_EAST:
+			anchorPoint=XFDASHBOARD_ANCHOR_POINT_NORTH_EAST;
+			break;
+
+		case CLUTTER_GRAVITY_SOUTH:
+			anchorPoint=XFDASHBOARD_ANCHOR_POINT_SOUTH;
+			break;
+
+		case CLUTTER_GRAVITY_SOUTH_WEST:
+			anchorPoint=XFDASHBOARD_ANCHOR_POINT_SOUTH_WEST;
+			break;
+
+		case CLUTTER_GRAVITY_SOUTH_EAST:
+			anchorPoint=XFDASHBOARD_ANCHOR_POINT_SOUTH_EAST;
+			break;
+
+		case CLUTTER_GRAVITY_WEST:
+			anchorPoint=XFDASHBOARD_ANCHOR_POINT_WEST;
+			break;
+
+		case CLUTTER_GRAVITY_EAST:
+			anchorPoint=XFDASHBOARD_ANCHOR_POINT_EAST;
+			break;
+
+		case CLUTTER_GRAVITY_CENTER:
+			anchorPoint=XFDASHBOARD_ANCHOR_POINT_CENTER;
+			break;
+	}
+
+	xfdashboard_window_content_set_unmapped_window_icon_anchor_point(self, anchorPoint);
+}
+
+/* Get/set anchor point of unmapped window icon */
+XfdashboardAnchorPoint xfdashboard_window_content_get_unmapped_window_icon_anchor_point(XfdashboardWindowContent *self)
+{
+	g_return_val_if_fail(XFDASHBOARD_IS_WINDOW_CONTENT(self), XFDASHBOARD_ANCHOR_POINT_NONE);
+
+	return(self->priv->unmappedWindowIconAnchorPoint);
+}
+
+void xfdashboard_window_content_set_unmapped_window_icon_anchor_point(XfdashboardWindowContent *self, const XfdashboardAnchorPoint inAnchorPoint)
+{
+	XfdashboardWindowContentPrivate		*priv;
+
+	g_return_if_fail(XFDASHBOARD_IS_WINDOW_CONTENT(self));
+	g_return_if_fail(inAnchorPoint>=XFDASHBOARD_ANCHOR_POINT_NONE);
+	g_return_if_fail(inAnchorPoint<=XFDASHBOARD_ANCHOR_POINT_CENTER);
+
 	priv=self->priv;
 
 	/* Set value if changed */
-	if(priv->unmappedWindowIconGravity!=inGravity)
+	if(priv->unmappedWindowIconAnchorPoint!=inAnchorPoint)
 	{
 		/* Set value */
-		priv->unmappedWindowIconGravity=inGravity;
+		priv->unmappedWindowIconAnchorPoint=inAnchorPoint;
 
 		/* Invalidate ourselve to get us redrawn */
 		clutter_content_invalidate(CLUTTER_CONTENT(self));
 
 		/* Notify about property change */
-		g_object_notify_by_pspec(G_OBJECT(self), XfdashboardWindowContentProperties[PROP_UNMAPPED_WINDOW_ICON_GRAVITY]);
+		g_object_notify_by_pspec(G_OBJECT(self), XfdashboardWindowContentProperties[PROP_UNMAPPED_WINDOW_ICON_ANCHOR_POINT]);
 	}
 }
diff --git a/xfdashboard/window-content.h b/xfdashboard/window-content.h
index 8a9fd48..9cb6e80 100644
--- a/xfdashboard/window-content.h
+++ b/xfdashboard/window-content.h
@@ -27,6 +27,7 @@
 #include <clutter/clutter.h>
 
 #include "window-tracker-window.h"
+#include "types.h"
 
 G_BEGIN_DECLS
 
@@ -96,9 +97,13 @@ void xfdashboard_window_content_set_unmapped_window_icon_x_scale(XfdashboardWind
 gfloat xfdashboard_window_content_get_unmapped_window_icon_y_scale(XfdashboardWindowContent *self);
 void xfdashboard_window_content_set_unmapped_window_icon_y_scale(XfdashboardWindowContent *self, const gfloat inScale);
 
+/* DEPRECATED */
 ClutterGravity xfdashboard_window_content_get_unmapped_window_icon_gravity(XfdashboardWindowContent *self);
 void xfdashboard_window_content_set_unmapped_window_icon_gravity(XfdashboardWindowContent *self, const ClutterGravity inGravity);
 
+XfdashboardAnchorPoint xfdashboard_window_content_get_unmapped_window_icon_anchor_point(XfdashboardWindowContent *self);
+void xfdashboard_window_content_set_unmapped_window_icon_anchor_point(XfdashboardWindowContent *self, const XfdashboardAnchorPoint inAnchorPoint);
+
 G_END_DECLS
 
 #endif	/* __XFOVERVIEW_WINDOW_CONTENT__ */

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Xfce4-commits mailing list