cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=6d62dab6ab52b99b386be2cb7ed3ad523019cdc6

commit 6d62dab6ab52b99b386be2cb7ed3ad523019cdc6
Author: Igor Gala <[email protected]>
Date:   Fri Jun 13 18:12:32 2014 +0200

    edje: Edje_Edit - edje_edit_part_select_mode_xet()
    
    Summary:
    There are new 'get and set' API for block 'select_mode'. These
    properties have only parts with type 'TEXTBLOCK'. These functions return or 
set
    select mode for a given part.
    @feature
    
    Reviewers: seoz, cedric, Hermet, raster
    
    CC: reutskiy.v.v, cedric
    
    Differential Revision: https://phab.enlightenment.org/D1034
    
    Signed-off-by: Cedric BAIL <[email protected]>
---
 src/lib/edje/Edje_Edit.h | 28 ++++++++++++++++++++++++++++
 src/lib/edje/edje_edit.c | 25 +++++++++++++++++++++++++
 2 files changed, 53 insertions(+)

diff --git a/src/lib/edje/Edje_Edit.h b/src/lib/edje/Edje_Edit.h
index 7c48f32..6bd96a2 100644
--- a/src/lib/edje/Edje_Edit.h
+++ b/src/lib/edje/Edje_Edit.h
@@ -43,6 +43,12 @@ typedef enum _Edje_Edit_Image_Comp
    EDJE_EDIT_IMAGE_COMP_LOSSY_ETC1
 } Edje_Edit_Image_Comp;
 
+typedef enum _Edje_Edit_Select_Mode
+{
+   EDJE_EDIT_SELECT_MODE_DEFAULT,
+   EDJE_EDIT_SELECT_MODE_EXPLICIT
+} Edje_Edit_Select_Mode;
+
 struct _Edje_Edit_Script_Error
 {
    const char *program_name; /* null == group shared script */
@@ -776,6 +782,28 @@ EAPI Eina_Bool edje_edit_external_del(Evas_Object *obj, 
const char *external);
  *  Functions to deal with part objects (see @ref edcref).
  */ //@{
 
+/** Get the select mode for a textblock part
+ *
+ * @param obj Object being edited.
+ * @param part Name of the part.
+
+ * @return One of possible enum Edje_Edit_Select_Mode.
+ */
+EAPI Edje_Edit_Select_Mode
+edje_edit_part_select_mode_get(Evas_Object *obj, const char *part);
+
+/** Sets the select mode for a textblock part
+ *
+ * @param obj Object being edited.
+ * @param part Name of the part.
+ * @param mode One of possible enum Edje_Edit_Select_Mode:
+ * EDJE_EDIT_SELECT_MODE_DEFAULT, EDJE_EDIT_SELECT_MODE_EXPLICIT.
+ *
+ * @return EINA_TRUE if successful, EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool
+edje_edit_part_select_mode_set(Evas_Object *obj, const char *part, 
Edje_Edit_Select_Mode mode);
+
 /** Get the list of all the parts in the given edje object.
  *
  * @param obj Object being edited.
diff --git a/src/lib/edje/edje_edit.c b/src/lib/edje/edje_edit.c
index 9f155e7..3c248c4 100644
--- a/src/lib/edje/edje_edit.c
+++ b/src/lib/edje/edje_edit.c
@@ -2563,6 +2563,31 @@ edje_edit_external_del(Evas_Object *obj, const char 
*external)
 /*  PARTS API  */
 /***************/
 
+EAPI Edje_Edit_Select_Mode
+edje_edit_part_select_mode_get(Evas_Object *obj, const char *part)
+{
+   GET_RP_OR_RETURN(EINA_FALSE);
+
+   if (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK)
+     return EINA_FALSE;
+
+   return (Edje_Edit_Select_Mode) rp->part->select_mode;
+}
+
+EAPI Eina_Bool
+edje_edit_part_select_mode_set(Evas_Object *obj, const char *part, 
Edje_Edit_Select_Mode mode)
+{
+   if (mode > EDJE_EDIT_SELECT_MODE_EXPLICIT)
+     return EINA_FALSE;
+   GET_RP_OR_RETURN(EINA_FALSE);
+
+   if (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK)
+     return EINA_FALSE;
+
+   rp->part->select_mode = (unsigned char) mode;
+     return EINA_TRUE;
+}
+
 EAPI Eina_List *
 edje_edit_parts_list_get(Evas_Object *obj)
 {

-- 


Reply via email to