elementary/label - added elm_label_slide_go()
authorChunEon Park <hermet@hermet.pe.kr>
Fri, 4 Jan 2013 13:24:37 +0000 (13:24 +0000)
committerChunEon Park <hermet@hermet.pe.kr>
Fri, 4 Jan 2013 13:24:37 +0000 (13:24 +0000)
SVN revision: 82172

ChangeLog
NEWS
src/lib/elm_label.c
src/lib/elm_label.h

index bba708d..bbfd458 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
 
 2012-01-04  ChunEon Park <hermet@hermet.pe.kr>
 
-        * Deprecate elm_label_slide_set()/get() and added elm_label_slide_mode_set()/get() instead.
+        * Deprecate elm_label_slide_set()/get() and added elm_label_slide_mode_set()/get() instead and elm_label_slide_go().
diff --git a/NEWS b/NEWS
index b3c03a5..96de07e 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -27,6 +27,7 @@ Additions:
    * Add configuration: ELM_EXTERNAL_MENU, to switch between internal and extenal menus
    * Add elm_systray.[ch]: Add support to D-Bus systray icons.
    * Add elm_label_slide_mode_set(), elm_label_slide_mode_get()
+   * Add elm_label_slide_go()
 
 Improvements:
 
index a62d712..f92ced1 100644 (file)
@@ -585,18 +585,15 @@ elm_label_slide_mode_set(Evas_Object *obj, Elm_Label_Slide_Mode mode)
 {
    ELM_LABEL_CHECK(obj);
    eo_do(obj, elm_obj_label_slide_mode_set(mode));
-
 }
 
 static void
-_slide_mode_set(Eo *obj, void *_pd, va_list *list)
+_slide_mode_set(Eo *obj __UNUSED__, void *_pd, va_list *list)
 {
    Elm_Label_Slide_Mode mode = va_arg(*list, Elm_Label_Slide_Mode);
    Elm_Label_Smart_Data *sd = _pd;
    if (sd->slide_mode == mode) return;
    sd->slide_mode = mode;
-   _label_slide_change(obj);
-   elm_layout_sizing_eval(obj);
 }
 
 EAPI Elm_Label_Slide_Mode
@@ -669,6 +666,20 @@ elm_label_slide_duration_get(const Evas_Object *obj)
    return ret;
 }
 
+EAPI void
+elm_label_slide_go(Evas_Object *obj)
+{
+   ELM_LABEL_CHECK(obj);
+   eo_do((Eo *) obj, elm_obj_label_slide_go());
+}
+
+static void
+_slide_go(Eo *obj, void *_pd __UNUSED__, va_list *list __UNUSED__)
+{
+   _label_slide_change(obj);
+   elm_layout_sizing_eval(obj);
+}
+
 static void
 _slide_duration_get(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
 {
@@ -725,6 +736,7 @@ _class_constructor(Eo_Class *klass)
         EO_OP_FUNC(ELM_OBJ_LABEL_ID(ELM_OBJ_LABEL_SUB_ID_SLIDE_MODE_GET), _slide_mode_get),
         EO_OP_FUNC(ELM_OBJ_LABEL_ID(ELM_OBJ_LABEL_SUB_ID_SLIDE_DURATION_SET), _slide_duration_set),
         EO_OP_FUNC(ELM_OBJ_LABEL_ID(ELM_OBJ_LABEL_SUB_ID_SLIDE_DURATION_GET), _slide_duration_get),
+        EO_OP_FUNC(ELM_OBJ_LABEL_ID(ELM_OBJ_LABEL_SUB_ID_SLIDE_GO), _slide_go),
         EO_OP_FUNC_SENTINEL
    };
    eo_class_funcs_set(klass, func_desc);
@@ -740,6 +752,7 @@ static const Eo_Op_Description op_desc[] = {
      EO_OP_DESCRIPTION(ELM_OBJ_LABEL_SUB_ID_SLIDE_MODE_GET, "Get current slide effect mode."),
      EO_OP_DESCRIPTION(ELM_OBJ_LABEL_SUB_ID_SLIDE_DURATION_SET, "Set the slide duration (speed) of the label."),
      EO_OP_DESCRIPTION(ELM_OBJ_LABEL_SUB_ID_SLIDE_DURATION_GET, "Get the slide duration(speed) of the label."),
+     EO_OP_DESCRIPTION(ELM_OBJ_LABEL_SUB_ID_SLIDE_GO, "Start slide effect."),
      EO_OP_DESCRIPTION_SENTINEL
 };
 static const Eo_Class_Description class_desc = {
index 8d8dbbe..6731ed5 100644 (file)
@@ -57,6 +57,7 @@ enum
    ELM_OBJ_LABEL_SUB_ID_SLIDE_MODE_GET,
    ELM_OBJ_LABEL_SUB_ID_SLIDE_DURATION_SET,
    ELM_OBJ_LABEL_SUB_ID_SLIDE_DURATION_GET,
+   ELM_OBJ_LABEL_SUB_ID_SLIDE_GO,
    ELM_OBJ_LABEL_SUB_ID_LAST
 };
 
@@ -183,6 +184,17 @@ enum
  */
 #define elm_obj_label_slide_duration_get(ret) ELM_OBJ_LABEL_ID(ELM_OBJ_LABEL_SUB_ID_SLIDE_DURATION_GET), EO_TYPECHECK(double *, ret)
 
+/**
+ * @def elm_obj_label_slide_go
+ * @since 1.8
+ *
+ * @brief Start slide effect
+ *
+ * @see elm_label_slide_mode_set
+ */
+#define elm_obj_label_slide_go() ELM_OBJ_LABEL_ID(ELM_OBJ_LABEL_SUB_ID_SLIDE_GO)
+
+
 typedef enum
 {
    ELM_LABEL_SLIDE_MODE_NONE = 0, /**< no slide effect */
@@ -347,12 +359,23 @@ EAPI void                        elm_label_slide_mode_set(Evas_Object *obj, Elm_
  * @param obj The label object
  * @return The slide mode
  *
- * @see elm_label_slide_set()
+ * @see elm_label_slide_mode_set()
  *
  * @ingroup Label
  */
 EAPI Elm_Label_Slide_Mode        elm_label_slide_mode_get(const Evas_Object *obj);
 
 /**
+ * @brief Start slide effect.
+ *
+ * @param obj The label object
+ *
+ * @see elm_label_slide_mode_set()
+ *
+ * @ingroup Label
+ */
+EAPI void                        elm_label_slide_go(Evas_Object *obj);
+
+/**
  * @}
  */