Evas.Draggable_Interface: move editable_set/get to lecacy API
authorJi-Youn Park <jy0703.park@samsung.com>
Sat, 19 Mar 2016 01:30:19 +0000 (10:00 +0830)
committerJi-Youn Park <jy0703.park@samsung.com>
Sat, 19 Mar 2016 02:10:25 +0000 (10:40 +0830)
Elm_XXX_editable_set/get is related with drag and drop.

Elm_entry, Elm_image, Elm_photo, Elm_thumb has editable API.
If user call elm_entry_editable_set(obj, EINA_TRUE),
elm entry's content(text) can be changed into dragging text.
elm_image(photo,thumb also) is same. its content(image) also
can be changed into dragging image.

so changed for these widget to use drag_target property in evas_draggable_interface

12 files changed:
legacy/elementary/src/lib/elm_entry.c
legacy/elementary/src/lib/elm_entry.eo
legacy/elementary/src/lib/elm_entry_legacy.h
legacy/elementary/src/lib/elm_image.c
legacy/elementary/src/lib/elm_image.eo
legacy/elementary/src/lib/elm_image_legacy.h
legacy/elementary/src/lib/elm_photo.c
legacy/elementary/src/lib/elm_photo.eo
legacy/elementary/src/lib/elm_photo_legacy.h
legacy/elementary/src/lib/elm_thumb.c
legacy/elementary/src/lib/elm_thumb.eo
legacy/elementary/src/lib/elm_thumb_legacy.h

index 42279fa..81676b2 100644 (file)
@@ -4107,7 +4107,7 @@ _elm_entry_line_wrap_get(Eo *obj EINA_UNUSED, Elm_Entry_Data *sd)
 }
 
 EOLIAN static void
-_elm_entry_editable_set(Eo *obj, Elm_Entry_Data *sd, Eina_Bool editable)
+_elm_entry_evas_draggable_interface_drag_target_set(Eo *obj, Elm_Entry_Data *sd, Eina_Bool editable)
 {
    if (sd->editable == editable) return;
    sd->editable = editable;
@@ -4130,7 +4130,7 @@ _elm_entry_editable_set(Eo *obj, Elm_Entry_Data *sd, Eina_Bool editable)
 }
 
 EOLIAN static Eina_Bool
-_elm_entry_editable_get(Eo *obj EINA_UNUSED, Elm_Entry_Data *sd)
+_elm_entry_evas_draggable_interface_drag_target_get(Eo *obj EINA_UNUSED, Elm_Entry_Data *sd)
 {
    return sd->editable;
 }
@@ -5855,4 +5855,17 @@ _elm_entry_elm_interface_atspi_accessible_name_get(Eo *obj, Elm_Entry_Data *sd)
    return ret ? strdup(ret) : NULL;
 }
 
+/* Legacy deprecated functions */
+EAPI void
+elm_entry_editable_set(Evas_Object *obj, Eina_Bool edit)
+{
+   evas_draggable_interface_drag_target_set(obj, edit);
+}
+
+EAPI Eina_Bool
+elm_entry_editable_get(const Evas_Object *obj)
+{
+   return evas_draggable_interface_drag_target_get(obj);
+}
+
 #include "elm_entry.eo.c"
index 166c6c7..71825e2 100644 (file)
@@ -112,7 +112,8 @@ enum Elm.Cnp_Mode
 
 class Elm.Entry (Elm.Layout, Elm.Interface_Scrollable, Evas.Clickable_Interface,
                  Elm.Interface_Atspi_Text, Elm.Interface_Atspi_Editable_Text, Efl.File,
-                 Evas.Selectable_Interface, Evas.Scrollable_Interface)
+                 Evas.Selectable_Interface, Evas.Scrollable_Interface,
+                 Evas.Draggable_Interface)
 {
    eo_prefix: elm_obj_entry;
    methods {
@@ -261,28 +262,6 @@ class Elm.Entry (Elm.Layout, Elm.Interface_Scrollable, Evas.Clickable_Interface,
             autocapital_type: Elm.Autocapital.Type; [[The type of autocapitalization.]]
          }
       }
-      @property editable {
-         set {
-            [[Sets if the entry is to be editable or not.
-
-              By default, entries are editable and when focused, any text input by the
-              user will be inserted at the current cursor position. But calling this
-              function with $editable as $false will prevent the user from
-              inputting text into the entry.
-
-              The only way to change the text of a non-editable entry is to use
-              \@ref elm_object_text_set, \@ref elm_entry_entry_insert and other related
-              functions.
-            ]]
-         }
-         get {
-            [[Get whether the entry is editable or not.]]
-         }
-         values {
-            editable: bool; [[If $true, user input will be inserted in the entry,
-            if not, the entry is read-only and no user input is allowed.]]
-         }
-      }
       @property anchor_hover_style {
          set {
             [[Set the style that the hover should use
@@ -925,6 +904,8 @@ class Elm.Entry (Elm.Layout, Elm.Interface_Scrollable, Evas.Clickable_Interface,
       Evas.Object_Smart.del;
       Evas.Object_Smart.show;
       Evas.Object_Smart.hide;
+      Evas.Draggable_Interface.drag_target.set;
+      Evas.Draggable_Interface.drag_target.get;
       Elm.Widget.activate;
       Elm.Widget.focus_direction_manager_is;
       Elm.Widget.theme_apply;
index 2a30544..040fef5 100644 (file)
@@ -71,3 +71,32 @@ EAPI Eina_Bool          elm_entry_file_set(Evas_Object *obj, const char *file, E
  * @param[out] format The file format
  */
 EAPI void               elm_entry_file_get(const Evas_Object *obj, const char **file, Elm_Text_Format *format);
+
+/**
+ * @brief Sets if the entry is to be editable or not.
+ *
+ * By default, entries are editable and when focused, any text input by the
+ * user will be inserted at the current cursor position. But calling this
+ * function with @c editable as @c false will prevent the user from inputting
+ * text into the entry.
+ *
+ * The only way to change the text of a non-editable entry is to use @ref
+ * elm_object_text_set, @ref elm_entry_entry_insert and other related
+ * functions.
+ *
+ * @param[in] editable If @c true, user input will be inserted in the entry, if
+ * not, the entry is read-only and no user input is allowed.
+ *
+ * @ingroup Elm_Entry
+ */
+EAPI void elm_entry_editable_set(Evas_Object *obj, Eina_Bool editable);
+
+/**
+ * @brief Get whether the entry is editable or not.
+ *
+ * @return If @c true, user input will be inserted in the entry, if not, the
+ * entry is read-only and no user input is allowed.
+ *
+ * @ingroup Elm_Entry
+ */
+EAPI Eina_Bool elm_entry_editable_get(const Evas_Object *obj);
index 538c5b9..9edeea9 100644 (file)
@@ -1399,7 +1399,7 @@ _elm_image_orient_get(Eo *obj EINA_UNUSED, Elm_Image_Data *sd)
  * Turns on editing through drag and drop and copy and paste.
  */
 EOLIAN static void
-_elm_image_editable_set(Eo *obj, Elm_Image_Data *sd, Eina_Bool edit)
+_elm_image_evas_draggable_interface_drag_target_set(Eo *obj, Elm_Image_Data *sd, Eina_Bool edit)
 {
    if (sd->edje)
      {
@@ -1430,7 +1430,7 @@ _elm_image_editable_set(Eo *obj, Elm_Image_Data *sd, Eina_Bool edit)
 }
 
 EOLIAN static Eina_Bool
-_elm_image_editable_get(Eo *obj EINA_UNUSED, Elm_Image_Data *sd)
+_elm_image_evas_draggable_interface_drag_target_get(Eo *obj EINA_UNUSED, Elm_Image_Data *sd)
 {
    return sd->edit;
 }
@@ -1645,4 +1645,17 @@ elm_image_smooth_get(const Evas_Object *obj)
 
 // A11Y - END
 
+/* Legacy deprecated functions */
+EAPI void
+elm_image_editable_set(Evas_Object *obj, Eina_Bool edit)
+{
+   evas_draggable_interface_drag_target_set(obj, edit);
+}
+
+EAPI Eina_Bool
+elm_image_editable_get(const Evas_Object *obj)
+{
+   return evas_draggable_interface_drag_target_get(obj);
+}
+
 #include "elm_image.eo.c"
index ea2d966..f3c8cbb 100644 (file)
@@ -42,25 +42,12 @@ struct Elm.Image.Error
 }
 
 class Elm.Image (Elm.Widget, Efl.File, Efl.Image_Load, Evas.Clickable_Interface,
-                 Edje.Object, Efl.Image,
+                 Edje.Object, Efl.Image, Evas.Draggable_Interface,
                  Elm.Interface_Atspi_Image, Elm.Interface_Atspi_Widget_Action,
                  Efl.Player)
 {
    eo_prefix: elm_obj_image;
    methods {
-      @property editable {
-         [[Contrtol if thhe image is 'editable'.
-
-           This means the image is a valid drag target for drag and drop, and can be
-           cut or pasted too.]]
-         set {
-         }
-         get {
-         }
-         values {
-            set: bool; [[Turn on or off editability. Default is $false.]]
-         }
-      }
       @property resize_down {
          [[Control whether the object's image can be resized to a size smaller than the original one.
 
@@ -321,6 +308,8 @@ class Elm.Image (Elm.Widget, Efl.File, Efl.Image_Load, Evas.Clickable_Interface,
       Evas.Object_Smart.del;
       Evas.Object_Smart.member_add;
       Evas.Object_Smart.resize;
+      Evas.Draggable_Interface.drag_target.set;
+      Evas.Draggable_Interface.drag_target.get;
       Elm.Widget.theme_apply;
       Elm.Widget.event;
       Elm.Interface_Atspi_Image.extents.get;
index 244ab22..01df5fe 100644 (file)
@@ -249,4 +249,27 @@ EAPI Eina_Bool        elm_image_animated_get(const Evas_Object *obj);
  */
 EAPI Eina_Bool        elm_image_animated_available_get(const Evas_Object *obj);
 
+/**
+ * @brief Contrtol if the image is 'editable'.
+ *
+ * This means the image is a valid drag target for drag and drop, and can be
+ * cut or pasted too.
+ *
+ * @param[in] set Turn on or off editability. Default is @c false.
+ *
+ * @ingroup Elm_Image
+ */
+EAPI void elm_image_editable_set(Evas_Object *obj, Eina_Bool set);
+
+/**
+ * @brief Contrtol if the image is 'editable'.
+ *
+ * This means the image is a valid drag target for drag and drop, and can be
+ * cut or pasted too.
+ *
+ * @return Turn on or off editability. Default is @c false.
+ *
+ * @ingroup Elm_Image
+ */
+EAPI Eina_Bool elm_image_editable_get(const Evas_Object *obj);
 #include "elm_image.eo.legacy.h"
index ada1590..c8ffc74 100644 (file)
@@ -360,13 +360,13 @@ _elm_photo_fill_inside_get(Eo *obj EINA_UNUSED, Elm_Photo_Data *sd)
 }
 
 EOLIAN static void
-_elm_photo_editable_set(Eo *obj EINA_UNUSED, Elm_Photo_Data *sd, Eina_Bool set)
+_elm_photo_evas_draggable_interface_drag_target_set(Eo *obj EINA_UNUSED, Elm_Photo_Data *sd, Eina_Bool set)
 {
    elm_image_editable_set(sd->icon, set);
 }
 
 EOLIAN static Eina_Bool
-_elm_photo_editable_get(Eo *obj EINA_UNUSED, Elm_Photo_Data *sd)
+_elm_photo_evas_draggable_interface_drag_target_get(Eo *obj EINA_UNUSED, Elm_Photo_Data *sd)
 {
    return elm_image_editable_get(sd->icon);
 }
@@ -404,4 +404,17 @@ elm_photo_file_set(Eo *obj, const char *file)
    return efl_file_set((Eo *) obj, file, NULL);
 }
 
+/* Legacy deprecated functions */
+EAPI void
+elm_photo_editable_set(Evas_Object *obj, Eina_Bool edit)
+{
+   evas_draggable_interface_drag_target_set(obj, edit);
+}
+
+EAPI Eina_Bool
+elm_photo_editable_get(const Evas_Object *obj)
+{
+   return evas_draggable_interface_drag_target_get(obj);
+}
+
 #include "elm_photo.eo.c"
index 6a6c2f8..68c1fae 100644 (file)
@@ -2,22 +2,6 @@ class Elm.Photo (Elm.Widget, Efl.File, Evas.Clickable_Interface, Evas.Draggable_
 {
    eo_prefix: elm_obj_photo;
    methods {
-      @property editable {
-         set {
-            [[Set editability of the photo.
-
-              An editable photo can be dragged to or from, and can be cut or
-              pasted too. Note that pasting an image or dropping an item on
-              the image will delete the existing content.
-            ]]
-         }
-         get {
-            [[Get editability of the photo.]]
-         }
-         values {
-            set: bool; [[To set of clear editability.]]
-         }
-      }
       @property fill_inside {
          set {
             [[Set if the photo should be completely visible or not.]]
@@ -77,6 +61,8 @@ class Elm.Photo (Elm.Widget, Efl.File, Evas.Clickable_Interface, Evas.Draggable_
       Efl.File.file.set;
       Evas.Object_Smart.add;
       Evas.Object_Smart.del;
+      Evas.Draggable_Interface.drag_target.set;
+      Evas.Draggable_Interface.drag_target.get;
       Elm.Widget.theme_apply;
    }
 
index 0dca425..116c0be 100644 (file)
@@ -23,4 +23,25 @@ EAPI Evas_Object *elm_photo_add(Evas_Object *parent);
  */
 EAPI Eina_Bool elm_photo_file_set(Eo *obj, const char *file);
 
+/**
+ * Set editability of the photo.
+ *
+ * An editable photo can be dragged to or from, and can be cut or pasted too.
+ * Note that pasting an image or dropping an item on the image will delete the
+ * existing content.
+ *
+ * @param[in] set To set of clear editability.
+ *
+ * @ingroup Elm_Photo
+ */
+EAPI void elm_photo_editable_set(Evas_Object *obj, Eina_Bool set);
+
+/**
+ * Get editability of the photo.
+ *
+ * @return To set of clear editability.
+ *
+ * @ingroup Elm_Photo
+ */
+EAPI Eina_Bool elm_photo_editable_get(const Evas_Object *obj);
 #include "elm_photo.eo.legacy.h"
index 6b33e43..65558b4 100644 (file)
@@ -814,11 +814,11 @@ elm_thumb_ethumb_client_connected_get(void)
    return _elm_ethumb_connected;
 }
 
-EOLIAN static Eina_Bool
-_elm_thumb_editable_set(Eo *obj, Elm_Thumb_Data *sd, Eina_Bool edit)
+EOLIAN static void
+_elm_thumb_evas_draggable_interface_drag_target_set(Eo *obj, Elm_Thumb_Data *sd, Eina_Bool edit)
 {
    edit = !!edit;
-   if (sd->edit == edit) return EINA_TRUE;
+   if (sd->edit == edit) return;
 
    sd->edit = edit;
    if (sd->edit)
@@ -834,11 +834,11 @@ _elm_thumb_editable_set(Eo *obj, Elm_Thumb_Data *sd, Eina_Bool edit)
                          NULL, NULL,
                          _elm_thumb_dnd_cb, obj);
 
-   return EINA_TRUE;
+   return;
 }
 
 EOLIAN static Eina_Bool
-_elm_thumb_editable_get(Eo *obj EINA_UNUSED, Elm_Thumb_Data *sd)
+_elm_thumb_evas_draggable_interface_drag_target_get(Eo *obj EINA_UNUSED, Elm_Thumb_Data *sd)
 {
    return sd->edit;
 }
@@ -861,5 +861,18 @@ elm_thumb_file_get(const Eo *obj, const char **file, const char **key)
    efl_file_get((Eo *) obj, file, key);
 }
 
+/* Legacy deprecated functions */
+EAPI Eina_Bool
+elm_thumb_editable_set(Evas_Object *obj, Eina_Bool edit)
+{
+   evas_draggable_interface_drag_target_set(obj, edit);
+   return EINA_TRUE;
+}
+
+EAPI Eina_Bool
+elm_thumb_editable_get(const Evas_Object *obj)
+{
+   return evas_draggable_interface_drag_target_get(obj);
+}
 
 #include "elm_thumb.eo.c"
index 6dd3d49..9c1479b 100644 (file)
@@ -8,7 +8,8 @@ enum Elm.Thumb.Animation_Setting
    last
 }
 
-class Elm.Thumb (Elm.Layout, Efl.File, Evas.Clickable_Interface)
+class Elm.Thumb (Elm.Layout, Efl.File, Evas.Clickable_Interface,
+                 Evas.Draggable_Interface)
 {
    eo_prefix: elm_obj_thumb;
    methods {
@@ -98,26 +99,6 @@ class Elm.Thumb (Elm.Layout, Efl.File, Evas.Clickable_Interface)
             orient: Ethumb_Thumb_Orientation; [[The orientation setting.]]
          }
       }
-      @property editable {
-         set {
-            [[Make the thumbnail 'editable'.
-
-              This means the thumbnail is a valid drag target for drag and
-              drop, and can be cut or pasted too.
-            ]]
-            return: bool;
-         }
-         get {
-            [[Get whether the thumbnail is editable.
-
-              This means the thumbnail is a valid drag target for drag and
-              drop, and can be cut or pasted too.
-            ]]
-         }
-         values {
-            edit: bool; [[The editable state, default is $false.]]
-         }
-      }
       @property aspect {
          set {
             [[Set the aspect for the thumb object.
@@ -226,6 +207,8 @@ class Elm.Thumb (Elm.Layout, Efl.File, Evas.Clickable_Interface)
       Evas.Object_Smart.add;
       Evas.Object_Smart.del;
       Evas.Object_Smart.show;
+      Evas.Draggable_Interface.drag_target.set;
+      Evas.Draggable_Interface.drag_target.get;
    }
    events {
       generate,error;
index e2ff8a1..28b849e 100644 (file)
@@ -44,4 +44,27 @@ EAPI void elm_thumb_file_set(Eo *obj, const char *file, const char *key);
  */
 EAPI void elm_thumb_file_get(const Eo *obj, const char **file, const char **key);
 
+/**
+ * @brief Make the thumbnail 'editable'.
+ *
+ * This means the thumbnail is a valid drag target for drag and drop, and can
+ * be cut or pasted too.
+ *
+ * @param[in] edit The editable state, default is @c false.
+ *
+ * @ingroup Elm_Thumb
+ */
+EAPI Eina_Bool elm_thumb_editable_set(Evas_Object *obj, Eina_Bool edit);
+
+/**
+ * @brief Get whether the thumbnail is editable.
+ *
+ * This means the thumbnail is a valid drag target for drag and drop, and can
+ * be cut or pasted too.
+ *
+ * @return The editable state, default is @c false.
+ *
+ * @ingroup Elm_Thumb
+ */
+EAPI Eina_Bool elm_thumb_editable_get(const Evas_Object *obj);
 #include "elm_thumb.eo.legacy.h"