aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Philippe Andre <jp.andre@samsung.com>2017-11-29 15:34:52 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2017-11-29 15:36:44 +0900
commit8faa65d90b5e148b30ffa7c589f7ff7bc14026f7 (patch)
tree0a4f98e340fc3741b1c424abde53627e6f06c20e
parentedje: Move "preload" to legacy only (diff)
downloadefl-8faa65d90b5e148b30ffa7c589f7ff7bc14026f7.tar.gz
edje: Move text_change_cb to legacy only
This should probably be replaced by a well defined signal. Note: If edje sends signals on swallow/unswallow and text set/unset we could simplify some of the elementary code, eg. for button's icon handling. The theme should be handling the padding automatically, it's not the elementary widget's role Ref https://phab.enlightenment.org/T5315
-rw-r--r--src/lib/edje/Edje_Common.h12
-rw-r--r--src/lib/edje/Edje_Legacy.h24
-rw-r--r--src/lib/edje/edje_object.eo11
-rw-r--r--src/lib/edje/edje_util.c8
4 files changed, 29 insertions, 26 deletions
diff --git a/src/lib/edje/Edje_Common.h b/src/lib/edje/Edje_Common.h
index 3f2c81066a..69e4585e55 100644
--- a/src/lib/edje/Edje_Common.h
+++ b/src/lib/edje/Edje_Common.h
@@ -1325,18 +1325,6 @@ typedef enum _Edje_Text_Effect
EDJE_TEXT_EFFECT_SHADOW_DIRECTION_RIGHT = (0x7 << 4) /**< right shadow direction value */
} Edje_Text_Effect;
-/**
- * @typedef (*Edje_Text_Change_Cb)
- *
- * Callback prototype for Edje_Text_Change.
- * @param data User provided data to pass to the callback
- * @param obj The Evas_Object
- * @param part The edje part
- */
-typedef void (*Edje_Text_Change_Cb) (void *data, Evas_Object *obj, const char *part);
-/**
- * @}
- */
/**
* @defgroup Edje_Text_Selection Edje Text Selection
diff --git a/src/lib/edje/Edje_Legacy.h b/src/lib/edje/Edje_Legacy.h
index 018ef463b8..0c35d4ac42 100644
--- a/src/lib/edje/Edje_Legacy.h
+++ b/src/lib/edje/Edje_Legacy.h
@@ -437,6 +437,30 @@ EAPI int edje_object_freeze(Edje_Object *obj);
*/
EAPI int edje_object_thaw(Edje_Object *obj);
+/**
+ * @typedef (*Edje_Text_Change_Cb)
+ *
+ * Callback prototype for Edje_Text_Change.
+ * @param data User provided data to pass to the callback
+ * @param obj The Evas_Object
+ * @param part The edje part
+ */
+typedef void (*Edje_Text_Change_Cb) (void *data, Evas_Object *obj, const char *part);
+/**
+ * @}
+ */
+
+/**
+ * @brief Sets the object text callback.
+ *
+ * This function sets the callback to be called when the text changes.
+ *
+ * @param[in] obj The object.
+ * @param[in] func The callback function to handle the text change
+ * @param[in] data The data associated to the callback function.
+ */
+EAPI void edje_object_text_change_cb_set(Edje_Object *obj, Edje_Text_Change_Cb func, void *data);
+
/**
diff --git a/src/lib/edje/edje_object.eo b/src/lib/edje/edje_object.eo
index b8b83fe525..90fd21ac2d 100644
--- a/src/lib/edje/edje_object.eo
+++ b/src/lib/edje/edje_object.eo
@@ -73,17 +73,6 @@ class Edje.Object (Efl.Canvas.Group, Efl.File, Efl.Container, Efl.Part,
}
/* TEXT PART APIS BEGIN ---------------------------------------------- */
- @property text_change_cb {
- set {
- [[Sets the object text callback.
-
- This function sets the callback to be called when the text changes.]]
- }
- values {
- func: Edje.Text.Change_Cb; [[The callback function to handle the text change]]
- data: void_ptr; [[The data associated to the callback function.]]
- }
- }
@property item_provider {
set {
[[Sets the function that provides item objects for named items in an edje entry text
diff --git a/src/lib/edje/edje_util.c b/src/lib/edje/edje_util.c
index d26774bd92..f1b00c7eb4 100644
--- a/src/lib/edje/edje_util.c
+++ b/src/lib/edje/edje_util.c
@@ -1916,12 +1916,14 @@ _edje_object_item_provider_set(Eo *obj EINA_UNUSED, Edje *ed, Edje_Item_Provider
ed->item_provider.data = data;
}
-/* FIXDOC: New Function */
-EOLIAN void
-_edje_object_text_change_cb_set(Eo *obj EINA_UNUSED, Edje *ed, Edje_Text_Change_Cb func, void *data)
+EAPI void
+edje_object_text_change_cb_set(Eo *obj, Edje_Text_Change_Cb func, void *data)
{
unsigned short i;
+ Edje *ed;
+ ed = _edje_fetch(obj);
+ if (!ed) return;
ed->text_change.func = func;
ed->text_change.data = data;