elm actionslider: add the elm_object_text_set/get hooks.
authortasn <tasn@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Mon, 4 Jul 2011 09:18:04 +0000 (09:18 +0000)
committertasn <tasn@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Mon, 4 Jul 2011 09:18:04 +0000 (09:18 +0000)
deprecate: elm_actionslider_indicator_label_set/get,
   elm_actionslider_labels_set/get.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/elementary@60971 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/Elementary.h.in
src/lib/elm_actionslider.c

index 4eb6baf..1db4458 100644 (file)
@@ -4212,8 +4212,9 @@ extern "C" {
     * @param left_label The label to be set on the left.
     * @param center_label The label to be set on the center.
     * @param right_label The label to be set on the right.
+    * @deprecated use elm_object_text_set() instead.
     */
-   EAPI void                  elm_actionslider_labels_set(Evas_Object *obj, const char *left_label, const char *center_label, const char *right_label) EINA_ARG_NONNULL(1);
+   EINA_DEPRECATED EAPI void                  elm_actionslider_labels_set(Evas_Object *obj, const char *left_label, const char *center_label, const char *right_label) EINA_ARG_NONNULL(1);
    /**
     * Get actionslider labels.
     *
@@ -4221,8 +4222,9 @@ extern "C" {
     * @param left_label A char** to place the left_label of @p obj into.
     * @param center_label A char** to place the center_label of @p obj into.
     * @param right_label A char** to place the right_label of @p obj into.
+    * @deprecated use elm_object_text_set() instead.
     */
-   EAPI void                  elm_actionslider_labels_get(const Evas_Object *obj, const char **left_label, const char **center_label, const char **right_label) EINA_ARG_NONNULL(1);
+   EINA_DEPRECATED EAPI void                  elm_actionslider_labels_get(const Evas_Object *obj, const char **left_label, const char **center_label, const char **right_label) EINA_ARG_NONNULL(1);
    /**
     * Get actionslider selected label.
     *
@@ -4281,15 +4283,17 @@ extern "C" {
     *
     * @param obj The actionslider object
     * @param label The label to be set on the indicator.
+    * @deprecated use elm_object_text_set() instead.
     */
-   EAPI void                  elm_actionslider_indicator_label_set(Evas_Object *obj, const char *label) EINA_ARG_NONNULL(1);
+   EINA_DEPRECATED EAPI void                  elm_actionslider_indicator_label_set(Evas_Object *obj, const char *label) EINA_ARG_NONNULL(1);
    /**
     * Get the label used on the indicator object.
     *
     * @param obj The actionslider object
     * @return The indicator label
+    * @deprecated use elm_object_text_set() instead.
     */
-   EAPI const char           *elm_actionslider_indicator_label_get(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EINA_DEPRECATED EAPI const char           *elm_actionslider_indicator_label_get(Evas_Object *obj) EINA_ARG_NONNULL(1);
    /**
     * @}
     */
index 289dd56..c6fc4f3 100644 (file)
@@ -320,6 +320,77 @@ _drag_button_up_cb(void *data, Evas_Object *o __UNUSED__, const char *emission _
 #undef _FINAL_POS_BY_ORIENTATION
 }
 
+static void
+_elm_actionslider_label_set(Evas_Object *obj, const char *item, const char *label)
+{
+   ELM_CHECK_WIDTYPE(obj, widtype);
+   Widget_Data *wd = elm_widget_data_get(obj);
+   if (!wd) return;
+
+   if (!item)
+     {
+        eina_stringshare_replace(&wd->indicator_label, label);
+        edje_object_part_text_set(wd->as, "elm.text.indicator",
+              wd->indicator_label);
+     }
+   else if (!strcmp(item, "left"))
+     {
+        eina_stringshare_replace(&wd->text_left, label);
+        if (!elm_widget_mirrored_get(obj))
+          {
+             edje_object_part_text_set(wd->as, "elm.text.left", wd->text_left);
+          }
+        else
+          {
+             edje_object_part_text_set(wd->as, "elm.text.right", wd->text_left);
+          }
+     }
+   else if (!strcmp(item, "center"))
+     {
+        eina_stringshare_replace(&wd->text_center, label);
+        edje_object_part_text_set(wd->as, "elm.text.center", wd->text_center);
+     }
+   else if (!strcmp(item, "right"))
+     {
+        eina_stringshare_replace(&wd->text_right, label);
+        if (!elm_widget_mirrored_get(obj))
+          {
+             edje_object_part_text_set(wd->as, "elm.text.right", wd->text_right);
+          }
+        else
+          {
+             edje_object_part_text_set(wd->as, "elm.text.left", wd->text_right);
+          }
+     }
+}
+
+static const char *
+_elm_actionslider_label_get(const Evas_Object *obj, const char *item)
+{
+   ELM_CHECK_WIDTYPE(obj, widtype) NULL;
+   Widget_Data *wd = elm_widget_data_get(obj);
+   if (!wd) return NULL;
+
+   if (!item)
+     {
+        return wd->indicator_label;
+     }
+   else if (!strcmp(item, "left"))
+     {
+        return wd->text_left;
+     }
+   else if (!strcmp(item, "center"))
+     {
+        return wd->text_center;
+     }
+   else if (!strcmp(item, "right"))
+     {
+        return wd->text_right;
+     }
+
+   return NULL;
+}
+
 EAPI Evas_Object *
 elm_actionslider_add(Evas_Object *parent)
 {
@@ -335,6 +406,8 @@ elm_actionslider_add(Evas_Object *parent)
    elm_widget_data_set(obj, wd);
    elm_widget_del_hook_set(obj, _del_hook);
    elm_widget_theme_hook_set(obj, _theme_hook);
+   elm_widget_label_set_hook_set(obj, _elm_actionslider_label_set);
+   elm_widget_label_get_hook_set(obj, _elm_actionslider_label_get);
 
    wd->mouse_down = EINA_FALSE;
    wd->enabled_position = ELM_ACTIONSLIDER_ALL;
@@ -436,20 +509,9 @@ elm_actionslider_labels_set(Evas_Object *obj, const char *left_label, const char
    Widget_Data *wd = elm_widget_data_get(obj);
    if (!wd) return;
 
-   eina_stringshare_replace(&wd->text_left, left_label);
-   eina_stringshare_replace(&wd->text_center, center_label);
-   eina_stringshare_replace(&wd->text_right, right_label);
-   if (!elm_widget_mirrored_get(obj))
-     {
-        edje_object_part_text_set(wd->as, "elm.text.left", wd->text_left);
-        edje_object_part_text_set(wd->as, "elm.text.right", wd->text_right);
-     }
-   else
-     {
-        edje_object_part_text_set(wd->as, "elm.text.left", wd->text_right);
-        edje_object_part_text_set(wd->as, "elm.text.right", wd->text_left);
-     }
-   edje_object_part_text_set(wd->as, "elm.text.center", center_label);
+   _elm_actionslider_label_set(obj, "left", left_label);
+   _elm_actionslider_label_set(obj, "center", center_label);
+   _elm_actionslider_label_set(obj, "right", right_label);
 }
 
 EAPI void
@@ -461,9 +523,11 @@ elm_actionslider_labels_get(const Evas_Object *obj, const char **left_label, con
    ELM_CHECK_WIDTYPE(obj, widtype);
    Widget_Data *wd = elm_widget_data_get(obj);
    if (!wd) return;
-   if (left_label) *left_label = wd->text_left;
-   if (center_label) *center_label = wd->text_center;
-   if (right_label) *right_label = wd->text_right;
+   if (left_label) *left_label = _elm_actionslider_label_get(obj, "left");
+   if (center_label) *center_label = _elm_actionslider_label_get(obj, "center");
+
+   if (right_label) *right_label = _elm_actionslider_label_get(obj, "right");
+
 }
 
 EAPI const char *
@@ -491,19 +555,11 @@ elm_actionslider_selected_label_get(const Evas_Object *obj)
 EAPI void
 elm_actionslider_indicator_label_set(Evas_Object *obj, const char *label)
 {
-   ELM_CHECK_WIDTYPE(obj, widtype);
-   Widget_Data *wd = elm_widget_data_get(obj);
-   if (!wd) return;
-
-   eina_stringshare_replace(&wd->indicator_label, label);
-   edje_object_part_text_set(wd->as, "elm.text.indicator", wd->indicator_label);
+   _elm_actionslider_label_set(obj, NULL, label);
 }
 
 EAPI const char *
 elm_actionslider_indicator_label_get(Evas_Object *obj)
 {
-   ELM_CHECK_WIDTYPE(obj, widtype) NULL;
-   Widget_Data *wd = elm_widget_data_get(obj);
-   if (!wd) return NULL;
-   return wd->indicator_label;
+   return _elm_actionslider_label_get(obj, NULL);
 }