edje: Edje_Edit - add edje_edit_part_cursor_mode functions.

Summary:
Add two main functions
- edje_edit_part_cursor_mode_get
- edje_edit_part_cursor_mode_set
Also support cursor_mode into part's source code generation.

@feature

Reviewers: seoz, Hermet, cedric, raster

CC: reutskiy.v.v, cedric

Differential Revision: https://phab.enlightenment.org/D952

Signed-off-by: Cedric BAIL <c.bail@partner.samsung.com>
This commit is contained in:
Vorobiov Vitalii 2014-06-05 19:43:49 +02:00 committed by Cedric BAIL
parent f587307a94
commit 125bbf67b9
2 changed files with 59 additions and 0 deletions

View File

@ -1315,6 +1315,37 @@ EAPI Evas_Object_Pointer_Mode edje_edit_part_pointer_mode_get(Evas_Object *obj,
*/
EAPI Eina_Bool edje_edit_part_pointer_mode_set(Evas_Object *obj, const char *part, Evas_Object_Pointer_Mode pointer_mode);
/** Get cursor_mode of a part.
*
* Note that Cursor Mode can be:
* 0 - UNDER cursor mode means the cursor will draw below the character pointed
* at. That's the default.
* 1 - BEFORE cursor mode means the cursor is drawn as a vertical line before
* the current character, just like many other GUI toolkits handle it.
*
* @param obj Object being edited.
* @param part Part name to get it's cursor_mode.
*
* @return Ponter Mode of the part.
*/
EAPI unsigned char edje_edit_part_cursor_mode_get(Evas_Object *obj, const char *part);
/** Get pointer_mode of a part.
*
* Note that Cursor Mode can be:
* 0 - UNDER cursor mode means the cursor will draw below the character pointed
* at. That's the default.
* 1 - BEFORE cursor mode means the cursor is drawn as a vertical line before
* the current character, just like many other GUI toolkits handle it.
*
* @param obj Object being edited.
* @param part Part name to get it's pointer_mode.
* @param pointer_mode Pointer Mode.
*
* @return EINA_TRUE if successful, EINA_FALSE otherwise.
*/
EAPI Eina_Bool edje_edit_part_cursor_mode_set(Evas_Object *obj, const char *part, unsigned char cursor_mode);
/** Set scale property for the part.
*
* This property tells Edje that the given part should be scaled by the

View File

@ -3014,6 +3014,32 @@ edje_edit_part_pointer_mode_set(Evas_Object *obj, const char *part, Evas_Object_
return EINA_TRUE;
}
EAPI unsigned char
edje_edit_part_cursor_mode_get(Evas_Object *obj, const char *part)
{
GET_RP_OR_RETURN(0);
if ((rp->part->type != EDJE_PART_TYPE_TEXT) &&
(rp->part->type != EDJE_PART_TYPE_TEXTBLOCK))
return 0;
return rp->part->cursor_mode;
}
EAPI Eina_Bool
edje_edit_part_cursor_mode_set(Evas_Object *obj, const char *part, unsigned char cursor_mode)
{
GET_RP_OR_RETURN(EINA_FALSE);
if ((!rp->object) ||
((rp->part->type != EDJE_PART_TYPE_TEXT) &&
(rp->part->type != EDJE_PART_TYPE_TEXTBLOCK)))
return EINA_FALSE;
rp->part->cursor_mode = cursor_mode;
return EINA_TRUE;
}
EAPI Eina_Bool
edje_edit_part_scale_set(Evas_Object *obj, const char *part, Eina_Bool scale)
{
@ -8190,6 +8216,8 @@ _edje_generate_source_of_part(Evas_Object *obj, Edje_Part *ep, Eina_Strbuf *buf)
//TODO Support ignore_flags
if (edje_edit_part_pointer_mode_get(obj, part) == EVAS_OBJECT_POINTER_MODE_NOGRAB)
BUF_APPEND(I4"pointer_mode: NOGRAB;\n");
if (edje_edit_part_cursor_mode_get(obj, part) == 1)
BUF_APPEND(I4"cursor_mode: BEFORE;\n");
if (edje_edit_part_precise_is_inside_get(obj, part))
BUF_APPEND(I4"precise_is_inside: 1;\n");
if (edje_edit_part_access_get(obj, part))