[clutter] [cally] Removed default actions on CallyActor
- From: Alejandro Piñeiro Iglesias <apinheiro src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [clutter] [cally] Removed default actions on CallyActor
- Date: Wed, 25 May 2011 16:40:47 +0000 (UTC)
commit 46aadb745b819b2f69b69b119ce70ce84ab04cb9
Author: Alejandro Piñeiro <apinheiro igalia com>
Date: Thu May 19 12:58:36 2011 +0200
[cally] Removed default actions on CallyActor
clutter/cally/cally-actor.c | 99 +++++--------------------------------------
1 files changed, 11 insertions(+), 88 deletions(-)
---
diff --git a/clutter/cally/cally-actor.c b/clutter/cally/cally-actor.c
index 920d964..3a0e673 100644
--- a/clutter/cally/cally-actor.c
+++ b/clutter/cally/cally-actor.c
@@ -79,21 +79,20 @@
*
* ###
*
- * #AtkAction implementation. As ClutterActor has signals for "press"
- * and "release", and most of the general Clutter objects are being
- * used as buttons, it has sense to implement #AtkAction on
- * #CallyActor, so this actions were added in this level.
+ * #AtkAction implementation: on previous releases ClutterActor added
+ * the actions "press", "release" and "click", as at that time some
+ * general-purpose actors like textures were directly used as buttons.
*
- * So we should search a way to extend #AtkAction on subclasses, to
- * add actions. The direct solution would be just extend it normally,
- * but we also should have the option to remove actions if required.
+ * But now, new toolkits appeared, providing high-level widgets, like
+ * buttons. So in this environment, it doesn't make sense to keep
+ * adding them as default.
*
- * So it was used the solution implemented in GailCell: maintain a
- * list of actions, and add a _add_action and _remove_action public
- * methods.
+ * Anyway, current implementation of AtkAction is done at CallyActor
+ * providing methods to add and remove actions. This is based on the
+ * one used at gailcell, and proposed as a change on #AtkAction
+ * interface:
*
- * This is another reason to not isolate CALLY as GAIL (although the
- * current idea is to not do that).
+ * https://bugzilla.gnome.org/show_bug.cgi?id=649804
*
*/
@@ -204,9 +203,6 @@ static G_CONST_RETURN gchar* cally_actor_action_get_name (AtkAction *acti
static gboolean cally_actor_action_set_description (AtkAction *action,
gint i,
const gchar *desc);
-static void _cally_actor_press_action (CallyActor *cally_actor);
-static void _cally_actor_release_action (CallyActor *cally_actor);
-static void _cally_actor_click_action (CallyActor *cally_actor);
static void _cally_actor_destroy_action_info (gpointer action_info,
gpointer user_data);
static void _cally_actor_clean_action_list (CallyActor *cally_actor);
@@ -303,16 +299,6 @@ cally_actor_initialize (AtkObject *obj,
g_object_set_data (G_OBJECT (obj), "atk-component-layer",
GINT_TO_POINTER (ATK_LAYER_MDI));
- /* add basic actions */
- cally_actor_add_action (self, "press", NULL, NULL,
- _cally_actor_press_action);
-
- cally_actor_add_action (self, "release", NULL, NULL,
- _cally_actor_release_action);
-
- cally_actor_add_action (self, "click", NULL, NULL,
- _cally_actor_click_action);
-
/* Depends if the object implement ClutterContainer */
if (CLUTTER_IS_CONTAINER(actor))
{
@@ -1302,69 +1288,6 @@ _cally_actor_get_action_info (CallyActor *cally_actor,
return (CallyActorActionInfo *)(node->data);
}
-static void
-_cally_actor_click_action (CallyActor *cally_actor)
-{
- ClutterEvent tmp_event;
- ClutterActor *stage = NULL;
- ClutterActor *actor = NULL;
-
- actor = CALLY_GET_CLUTTER_ACTOR (cally_actor);
- stage = clutter_actor_get_stage (actor);
-
- /* press */
- tmp_event.button.type = CLUTTER_BUTTON_PRESS;
- tmp_event.button.time = CLUTTER_CURRENT_TIME;
- tmp_event.button.stage = CLUTTER_STAGE (stage);
- tmp_event.button.source = actor;
- tmp_event.button.button = 1;
-
- clutter_actor_event (actor, &tmp_event, FALSE);
-
- /* release */
- tmp_event.button.type = CLUTTER_BUTTON_RELEASE;
-
- clutter_actor_event (actor, &tmp_event, FALSE);
-}
-
-static void
-_cally_actor_press_action (CallyActor *cally_actor)
-{
- ClutterEvent tmp_event;
- ClutterActor *stage = NULL;
- ClutterActor *actor = NULL;
-
- actor = CALLY_GET_CLUTTER_ACTOR (cally_actor);
- stage = clutter_actor_get_stage (actor);
-
- tmp_event.button.type = CLUTTER_BUTTON_PRESS;
- tmp_event.button.time = CLUTTER_CURRENT_TIME;
- tmp_event.button.stage = CLUTTER_STAGE (stage);
- tmp_event.button.source = actor;
- tmp_event.button.button = 1;
-
- clutter_actor_event (actor, &tmp_event, FALSE);
-}
-
-static void
-_cally_actor_release_action (CallyActor *cally_actor)
-{
- ClutterEvent tmp_event;
- ClutterActor *stage = NULL;
- ClutterActor *actor = NULL;
-
- actor = CALLY_GET_CLUTTER_ACTOR (cally_actor);
- stage = clutter_actor_get_stage (actor);
-
- tmp_event.button.type = CLUTTER_BUTTON_RELEASE;
- tmp_event.button.time = CLUTTER_CURRENT_TIME;
- tmp_event.button.stage = CLUTTER_STAGE (stage);
- tmp_event.button.source = actor;
- tmp_event.button.button = 1;
-
- clutter_actor_event (actor, &tmp_event, FALSE);
-}
-
/**
* cally_actor_add_action: (skip)
* @cally_actor: a #CallyActor
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]