cedric pushed a commit to branch master.
commit ff01dec8fbaa0c502db821fcd29fb9335e12134e
Author: Cedric Bail <[email protected]>
Date: Thu Sep 5 19:22:51 2013 +0900
edje: fix function to use Eo API.
I am really unhappy to have to do this patch myself. This commit is in since
May and I have continuously request to be fixed. It has taken way to long.
It's
done now. Next time I see such a patch in EFL, I will revert it right away.
---
src/lib/edje/Edje_Eo.h | 29 +++++++++++++++++++++++++++++
src/lib/edje/edje_private.h | 2 ++
src/lib/edje/edje_smart.c | 2 ++
src/lib/edje/edje_util.c | 36 ++++++++++++++++++++++++++++--------
4 files changed, 61 insertions(+), 8 deletions(-)
diff --git a/src/lib/edje/Edje_Eo.h b/src/lib/edje/Edje_Eo.h
index 6678a96..b892ac6 100644
--- a/src/lib/edje/Edje_Eo.h
+++ b/src/lib/edje/Edje_Eo.h
@@ -63,6 +63,8 @@ enum
EDJE_OBJ_SUB_ID_PART_TEXT_IMF_CONTEXT_RESET,
EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_LAYOUT_SET,
EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_LAYOUT_GET,
+ EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_VARIATION_SET,
+ EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_VARIATION_GET,
EDJE_OBJ_SUB_ID_PART_TEXT_AUTOCAPITAL_TYPE_SET,
EDJE_OBJ_SUB_ID_PART_TEXT_AUTOCAPITAL_TYPE_GET,
EDJE_OBJ_SUB_ID_PART_TEXT_PREDICTION_ALLOW_SET,
@@ -283,6 +285,33 @@ enum
#define edje_obj_part_text_input_panel_layout_get(part, ret)
EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_LAYOUT_GET),
EO_TYPECHECK(const char *, part), EO_TYPECHECK(Edje_Input_Panel_Layout *, ret)
/**
+ * @def edje_obj_part_text_input_panel_variation_get
+ * @since 1.8
+ *
+ * @brief Get the layout variation of the input panel.
+ *
+ * @param[in] part
+ * @param[out] ret
+ *
+ * @see edje_object_part_text_input_panel_variation_get
+ */
+#define edje_obj_part_text_input_panel_variation_get(part, ret)
EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_VARIATION_GET),
EO_TYPECHECK(const char *, part), EO_TYPECHECK(int *, ret)
+
+/**
+ * @def edje_obj_part_text_input_panel_variation_set
+ * @since 1.8
+ *
+ * @brief Set the layout variation of the input panel.
+ *
+ * @param[in] part
+ * @param[in] variation
+ * @param[out] ret
+ *
+ * @see edje_object_part_text_input_panel_variation_get
+ */
+#define edje_obj_part_text_input_panel_variation_set(part, variation)
EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_VARIATION_SET),
EO_TYPECHECK(const char *, part), EO_TYPECHECK(int, variation)
+
+/**
* @def edje_obj_part_text_autocapital_type_set
* @since 1.8
*
diff --git a/src/lib/edje/edje_private.h b/src/lib/edje/edje_private.h
index 608aa01..b850992 100644
--- a/src/lib/edje/edje_private.h
+++ b/src/lib/edje/edje_private.h
@@ -2471,6 +2471,8 @@ void _part_text_cursor_pos_get(Eo *obj, void *_pd,
va_list *list);
void _part_text_imf_context_reset(Eo *obj, void *_pd, va_list *list);
void _part_text_input_panel_layout_set(Eo *obj, void *_pd, va_list *list);
void _part_text_input_panel_layout_get(Eo *obj, void *_pd, va_list *list);
+void _part_text_input_panel_layout_variation_set(Eo *obj, void *_pd, va_list
*list);
+void _part_text_input_panel_layout_variation_get(Eo *obj, void *_pd, va_list
*list);
void _part_text_autocapital_type_set(Eo *obj, void *_pd, va_list *list);
void _part_text_autocapital_type_get(Eo *obj, void *_pd, va_list *list);
void _part_text_prediction_allow_set(Eo *obj, void *_pd, va_list *list);
diff --git a/src/lib/edje/edje_smart.c b/src/lib/edje/edje_smart.c
index de3ee80..bdd23f6 100644
--- a/src/lib/edje/edje_smart.c
+++ b/src/lib/edje/edje_smart.c
@@ -450,6 +450,8 @@ _edje_smart_class_constructor(Eo_Class *klass)
EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_IMF_CONTEXT_RESET),
_part_text_imf_context_reset),
EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_LAYOUT_SET),
_part_text_input_panel_layout_set),
EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_LAYOUT_GET),
_part_text_input_panel_layout_get),
+
EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_VARIATION_SET),
_part_text_input_panel_layout_variation_set),
+
EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_INPUT_PANEL_VARIATION_GET),
_part_text_input_panel_layout_variation_get),
EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_AUTOCAPITAL_TYPE_SET),
_part_text_autocapital_type_set),
EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_AUTOCAPITAL_TYPE_GET),
_part_text_autocapital_type_get),
EO_OP_FUNC(EDJE_OBJ_ID(EDJE_OBJ_SUB_ID_PART_TEXT_PREDICTION_ALLOW_SET),
_part_text_prediction_allow_set),
diff --git a/src/lib/edje/edje_util.c b/src/lib/edje/edje_util.c
index ae925c0..bbf3df3 100644
--- a/src/lib/edje/edje_util.c
+++ b/src/lib/edje/edje_util.c
@@ -2706,10 +2706,18 @@ _part_text_input_panel_layout_get(Eo *obj EINA_UNUSED,
void *_pd, va_list *list)
EAPI void
edje_object_part_text_input_panel_layout_variation_set(Evas_Object *obj, const
char *part, int variation)
{
- Edje *ed;
+ eo_do((Eo *)obj, edje_obj_part_text_input_panel_variation_set(part,
variation));
+}
+
+void
+_part_text_input_panel_layout_variation_set(Eo *obj EINA_UNUSED, void *_pd,
va_list *list)
+{
+ const char *part = va_arg(*list, const char *);
+ int variation = va_arg(*list, int);
+
+ Edje *ed = _pd;
Edje_Real_Part *rp;
- ed = _edje_fetch(obj);
if ((!ed) || (!part)) return;
rp = _edje_real_part_recursive_get(&ed, part);
if (!rp) return;
@@ -2722,18 +2730,30 @@
edje_object_part_text_input_panel_layout_variation_set(Evas_Object *obj, const c
EAPI int
edje_object_part_text_input_panel_layout_variation_get(const Evas_Object *obj,
const char *part)
{
- Edje *ed;
+ int ret = 0;
+ if (obj)
+ eo_do((Eo *)obj, edje_obj_part_text_input_panel_variation_get(part,
&ret));
+ return ret;
+}
+
+void
+_part_text_input_panel_layout_variation_get(Eo *obj EINA_UNUSED, void *_pd,
va_list *list)
+{
+ const char *part = va_arg(*list, const char *);
+ int *r = va_arg(*list, int *);
+
+ Edje *ed = _pd;
Edje_Real_Part *rp;
- ed = _edje_fetch(obj);
- if ((!ed) || (!part)) return 0;
+ if (*r) *r = 0;
+ if ((!ed) || (!part)) return ;
rp = _edje_real_part_recursive_get(&ed, part);
- if (!rp) return 0;
+ if (!rp) return ;
if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
{
- return _edje_entry_input_panel_layout_variation_get(rp);
+ if (*r) *r = _edje_entry_input_panel_layout_variation_get(rp);
}
- return 0;
+ return ;
}
EAPI void
--
------------------------------------------------------------------------------
Learn the latest--Visual Studio 2012, SharePoint 2013, SQL 2012, more!
Discover the easy way to master current and previous Microsoft technologies
and advance your career. Get an incredible 1,500+ hours of step-by-step
tutorial videos with LearnDevNow. Subscribe today and save!
http://pubads.g.doubleclick.net/gampad/clk?id=58041391&iu=/4140/ostg.clktrk