Merge branch 'elmdnd'

Conflicts:
	trunk/TMP/st/elementary/.gitignore

SVN revision: 51935
This commit is contained in:
Brett Nash 2010-09-07 06:56:16 +00:00
parent 15ae42344e
commit 4bf9ee3df3
9 changed files with 139 additions and 29 deletions

View File

@ -12,7 +12,7 @@
/**
* Retrieves the geometry of the given drawable.
* @param d The given drawable.
* @param d The given drawable.
* @param x Pointer to an integer into which the X position is to be stored.
* @param y Pointer to an integer into which the Y position is to be stored.
* @param w Pointer to an integer into which the width is to be stored.

View File

@ -719,7 +719,7 @@ _ecore_x_selection_parse(const char *target, void *data, int size, int format)
if (!strcmp(prs->target, target))
{
sel = prs->parse(target, data, size, format);
return sel;
if (sel) return sel;
}
}
@ -851,6 +851,7 @@ _ecore_x_selection_parser_text(const char *target __UNUSED__,
sel->text = (char *)data;
ECORE_X_SELECTION_DATA(sel)->length = size;
ECORE_X_SELECTION_DATA(sel)->content = ECORE_X_SELECTION_CONTENT_TEXT;
ECORE_X_SELECTION_DATA(sel)->data = data;
ECORE_X_SELECTION_DATA(sel)->free = _ecore_x_selection_data_text_free;
return sel;
} /* _ecore_x_selection_parser_text */

View File

@ -657,6 +657,13 @@ ecore_x_window_size_get(Ecore_X_Window win, int *w, int *h)
/**
* Retrieves the geometry of the given window.
*
* Note that the x & y coordingates are relative to your parent. In
* particular for reparenting window managers - relative to you window border.
* If you want screen coordinates either walk the window tree to the root,
* else for ecore_evas applications see ecore_evas_geometry_get(). Elementary
* applications can use elm_win_screen_position_get().
*
* @param win The given window.
* @param x Pointer to an integer in which the X position is to be stored.
* @param y Pointer to an integer in which the Y position is to be stored.

39
legacy/edje/.gitignore vendored Normal file
View File

@ -0,0 +1,39 @@
*.o
*.lo
*.la
.deps
.libs
.*.swp
Makefile
Makefile.in
aclocal.m4
autom4te.cache
compile
config.guess
config.h
config.h.in
config.h.in~
config.log
config.status
config.sub
configure
cscope.out
depcomp
doc/edje.dox
edje.pc
edje.spec
install-sh
libtool
ltmain.sh
m4/libtool.m4
m4/ltoptions.m4
m4/ltsugar.m4
m4/ltversion.m4
m4/lt~obsolete.m4
missing
src/bin/edje_cc
src/bin/edje_convert
src/bin/edje_decc
src/bin/edje_player
stamp-h1
tags

View File

@ -164,7 +164,11 @@ enum _Edje_Cursor
{
EDJE_CURSOR_MAIN,
EDJE_CURSOR_SELECTION_BEGIN,
EDJE_CURSOR_SELECTION_END
EDJE_CURSOR_SELECTION_END,
EDJE_CURSOR_PREEDIT_START,
EDJE_CURSOR_PREEDIT_END,
EDJE_CURSOR_USER,
EDJE_CURSOR_USER_EXTRA,
// more later
};
typedef enum _Edje_Cursor Edje_Cursor;
@ -515,15 +519,16 @@ typedef void (*Edje_Message_Handler_Cb) (void *data, Evas_Object *obj, Edje_Mess
EAPI void edje_object_part_text_select_begin (const Evas_Object *obj, const char *part);
EAPI void edje_object_part_text_select_extend (const Evas_Object *obj, const char *part);
EAPI Eina_Bool edje_object_part_text_cursor_next (const Evas_Object *obj, const char *part, Edje_Cursor cur);
EAPI Eina_Bool edje_object_part_text_cursor_prev (const Evas_Object *obj, const char *part, Edje_Cursor cur);
EAPI Eina_Bool edje_object_part_text_cursor_up (const Evas_Object *obj, const char *part, Edje_Cursor cur);
EAPI Eina_Bool edje_object_part_text_cursor_down (const Evas_Object *obj, const char *part, Edje_Cursor cur);
EAPI void edje_object_part_text_cursor_begin_set (const Evas_Object *obj, const char *part, Edje_Cursor cur);
EAPI void edje_object_part_text_cursor_end_set (const Evas_Object *obj, const char *part, Edje_Cursor cur);
EAPI void edje_object_part_text_cursor_copy (const Evas_Object *obj, const char *part, Edje_Cursor src, Edje_Cursor dst);
EAPI void edje_object_part_text_cursor_line_begin_set (const Evas_Object *obj, const char *part, Edje_Cursor cur);
EAPI void edje_object_part_text_cursor_line_end_set (const Evas_Object *obj, const char *part, Edje_Cursor cur);
EAPI Eina_Bool edje_object_part_text_cursor_next (Evas_Object *obj, const char *part, Edje_Cursor cur);
EAPI Eina_Bool edje_object_part_text_cursor_prev (Evas_Object *obj, const char *part, Edje_Cursor cur);
EAPI Eina_Bool edje_object_part_text_cursor_up (Evas_Object *obj, const char *part, Edje_Cursor cur);
EAPI Eina_Bool edje_object_part_text_cursor_down (Evas_Object *obj, const char *part, Edje_Cursor cur);
EAPI void edje_object_part_text_cursor_begin_set (Evas_Object *obj, const char *part, Edje_Cursor cur);
EAPI void edje_object_part_text_cursor_end_set (Evas_Object *obj, const char *part, Edje_Cursor cur);
EAPI void edje_object_part_text_cursor_copy (Evas_Object *obj, const char *part, Edje_Cursor src, Edje_Cursor dst);
EAPI void edje_object_part_text_cursor_line_begin_set (Evas_Object *obj, const char *part, Edje_Cursor cur);
EAPI void edje_object_part_text_cursor_line_end_set (Evas_Object *obj, const char *part, Edje_Cursor cur);
EAPI Eina_Bool edje_object_part_text_cursor_coord_set (Evas_Object *obj, const char *part, Edje_Cursor cur, Evas_Coord x, Evas_Coord y);
EAPI Eina_Bool edje_object_part_text_cursor_is_format_get (const Evas_Object *obj, const char *part, Edje_Cursor cur);
EAPI Eina_Bool edje_object_part_text_cursor_is_visible_format_get(const Evas_Object *obj, const char *part, Edje_Cursor cur);
EAPI const char *edje_object_part_text_cursor_content_get (const Evas_Object *obj, const char *part, Edje_Cursor cur);

View File

@ -544,8 +544,6 @@ edje_file_cache_get(void)
/**
* @brief Clean the file cache.
*
* @return The file cache size.
*
* This function cleans the file cache entries, but keeps this cache's
* size to the last value set.
*
@ -615,8 +613,6 @@ edje_collection_cache_get(void)
/**
* @brief Clean the collection cache.
*
* @return The collection cache size.
*
* This function cleans the collection cache, but keeps this cache's
* size to the last value set.
*

View File

@ -44,6 +44,8 @@ struct _Entry
Evas_Object *cursor_fg;
Evas_Textblock_Cursor *cursor;
Evas_Textblock_Cursor *sel_start, *sel_end;
Evas_Textblock_Cursor *cursor_user, *cursor_user_extra;
Evas_Textblock_Cursor *preedit_start, *preedit_end;
Eina_List *sel;
Eina_List *anchors;
Eina_List *anchorlist;
@ -2152,17 +2154,31 @@ _cursor_get(Edje_Real_Part *rp, Edje_Cursor cur)
{
Entry *en = rp->entry_data;
if (!en) return NULL;
switch (cur)
{
case EDJE_CURSOR_MAIN:
return en->cursor;
break;
case EDJE_CURSOR_SELECTION_BEGIN:
return en->sel_start;
break;
case EDJE_CURSOR_SELECTION_END:
return en->sel_end;
break;
case EDJE_CURSOR_PREEDIT_START:
if (!en->preedit_start)
en->preedit_start = evas_object_textblock_cursor_new(rp->object);
return en->preedit_start;
case EDJE_CURSOR_PREEDIT_END:
if (!en->preedit_end)
en->preedit_end = evas_object_textblock_cursor_new(rp->object);
return en->preedit_end;
case EDJE_CURSOR_USER:
if (!en->cursor_user)
en->cursor_user = evas_object_textblock_cursor_new(rp->object);
return en->cursor_user;
case EDJE_CURSOR_USER_EXTRA:
if (!en->cursor_user_extra)
en->cursor_user_extra = evas_object_textblock_cursor_new(rp->object);
return en->cursor_user_extra;
default:
break;
}
@ -2418,6 +2434,16 @@ _edje_entry_cursor_line_end(Edje_Real_Part *rp, Edje_Cursor cur)
_edje_entry_real_part_configure(rp);
}
Eina_Bool
_edje_entry_cursor_coord_set(Edje_Real_Part *rp, Edje_Cursor cur,
Evas_Coord x, Evas_Coord y)
{
Evas_Textblock_Cursor *c = _cursor_get(rp, cur);
if (!c) return EINA_FALSE;
return evas_textblock_cursor_char_coord_set(c, x, y);
}
Eina_Bool
_edje_entry_cursor_is_format_get(Edje_Real_Part *rp, Edje_Cursor cur)
{
@ -2603,3 +2629,5 @@ _edje_entry_imf_event_delete_surrounding_cb(void *data, int type __UNUSED__, voi
return ECORE_CALLBACK_DONE;
}
#endif
/* vim:set ts=8 sw=3 sts=3 expandtab cino=>5n-2f0^-2{2(0W1st0 :*/

View File

@ -1731,6 +1731,7 @@ void _edje_entry_cursor_begin(Edje_Real_Part *rp, Edje_Cursor cur);
void _edje_entry_cursor_end(Edje_Real_Part *rp, Edje_Cursor cur);
void _edje_entry_cursor_line_begin(Edje_Real_Part *rp, Edje_Cursor cur);
void _edje_entry_cursor_line_end(Edje_Real_Part *rp, Edje_Cursor cur);
Eina_Bool _edje_entry_cursor_coord_set(Edje_Real_Part *rp, Edje_Cursor cur, int x, int y);
Eina_Bool _edje_entry_cursor_is_format_get(Edje_Real_Part *rp, Edje_Cursor cur);
Eina_Bool _edje_entry_cursor_is_visible_format_get(Edje_Real_Part *rp, Edje_Cursor cur);
const char *_edje_entry_cursor_content_get(Edje_Real_Part *rp, Edje_Cursor cur);

View File

@ -1854,7 +1854,7 @@ edje_object_part_text_select_extend(const Evas_Object *obj, const char *part)
* @param part The part name
*/
EAPI Eina_Bool
edje_object_part_text_cursor_next(const Evas_Object *obj, const char *part, Edje_Cursor cur)
edje_object_part_text_cursor_next(Evas_Object *obj, const char *part, Edje_Cursor cur)
{
Edje *ed;
Edje_Real_Part *rp;
@ -1877,7 +1877,7 @@ edje_object_part_text_cursor_next(const Evas_Object *obj, const char *part, Edje
* @param part The part name
*/
EAPI Eina_Bool
edje_object_part_text_cursor_prev(const Evas_Object *obj, const char *part, Edje_Cursor cur)
edje_object_part_text_cursor_prev(Evas_Object *obj, const char *part, Edje_Cursor cur)
{
Edje *ed;
Edje_Real_Part *rp;
@ -1900,7 +1900,7 @@ edje_object_part_text_cursor_prev(const Evas_Object *obj, const char *part, Edje
* @param part The part name
*/
EAPI Eina_Bool
edje_object_part_text_cursor_up(const Evas_Object *obj, const char *part, Edje_Cursor cur)
edje_object_part_text_cursor_up(Evas_Object *obj, const char *part, Edje_Cursor cur)
{
Edje *ed;
Edje_Real_Part *rp;
@ -1923,7 +1923,7 @@ edje_object_part_text_cursor_up(const Evas_Object *obj, const char *part, Edje_C
* @param part The part name
*/
EAPI Eina_Bool
edje_object_part_text_cursor_down(const Evas_Object *obj, const char *part, Edje_Cursor cur)
edje_object_part_text_cursor_down(Evas_Object *obj, const char *part, Edje_Cursor cur)
{
Edje *ed;
Edje_Real_Part *rp;
@ -1946,7 +1946,7 @@ edje_object_part_text_cursor_down(const Evas_Object *obj, const char *part, Edje
* @param part The part name
*/
EAPI void
edje_object_part_text_cursor_begin_set(const Evas_Object *obj, const char *part, Edje_Cursor cur)
edje_object_part_text_cursor_begin_set(Evas_Object *obj, const char *part, Edje_Cursor cur)
{
Edje *ed;
Edje_Real_Part *rp;
@ -1968,7 +1968,7 @@ edje_object_part_text_cursor_begin_set(const Evas_Object *obj, const char *part,
* @param part The part name
*/
EAPI void
edje_object_part_text_cursor_end_set(const Evas_Object *obj, const char *part, Edje_Cursor cur)
edje_object_part_text_cursor_end_set(Evas_Object *obj, const char *part, Edje_Cursor cur)
{
Edje *ed;
Edje_Real_Part *rp;
@ -1990,7 +1990,7 @@ edje_object_part_text_cursor_end_set(const Evas_Object *obj, const char *part, E
* @param part The part name
*/
EAPI void
edje_object_part_text_cursor_copy(const Evas_Object *obj, const char *part, Edje_Cursor src, Edje_Cursor dst)
edje_object_part_text_cursor_copy(Evas_Object *obj, const char *part, Edje_Cursor src, Edje_Cursor dst)
{
Edje *ed;
Edje_Real_Part *rp;
@ -2012,7 +2012,7 @@ edje_object_part_text_cursor_copy(const Evas_Object *obj, const char *part, Edje
* @param part The part name
*/
EAPI void
edje_object_part_text_cursor_line_begin_set(const Evas_Object *obj, const char *part, Edje_Cursor cur)
edje_object_part_text_cursor_line_begin_set(Evas_Object *obj, const char *part, Edje_Cursor cur)
{
Edje *ed;
Edje_Real_Part *rp;
@ -2034,7 +2034,7 @@ edje_object_part_text_cursor_line_begin_set(const Evas_Object *obj, const char *
* @param part The part name
*/
EAPI void
edje_object_part_text_cursor_line_end_set(const Evas_Object *obj, const char *part, Edje_Cursor cur)
edje_object_part_text_cursor_line_end_set(Evas_Object *obj, const char *part, Edje_Cursor cur)
{
Edje *ed;
Edje_Real_Part *rp;
@ -2049,6 +2049,36 @@ edje_object_part_text_cursor_line_end_set(const Evas_Object *obj, const char *pa
}
}
/**
* Position the given cursor to a X,Y position.
*
* This is frequently used with the user cursor.
*
* @param obj An Edje object.
* @param part The part containing the object.
* @param cur The cursor to adjust.
* @param x X Coordinate.
* @param y Y Coordinate.
* @return True on success, false on error.
*/
EAPI Eina_Bool
edje_object_part_text_cursor_coord_set(Evas_Object *obj, const char *part,
Edje_Cursor cur, Evas_Coord x, Evas_Coord y)
{
Edje *ed;
Edje_Real_Part *rp;
ed = _edje_fetch(obj);
if ((!ed) || (!part)) return EINA_FALSE;
rp = _edje_real_part_recursive_get(ed, (char *)part);
if (!rp) return EINA_FALSE;
if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
{
return _edje_entry_cursor_coord_set(rp, cur, x, y);
}
return EINA_FALSE;
}
/**
* @brief XX
*
@ -2109,7 +2139,7 @@ edje_object_part_text_cursor_content_get(const Evas_Object *obj, const char *par
ed = _edje_fetch(obj);
if ((!ed) || (!part)) return NULL;
rp = _edje_real_part_recursive_get(ed, (char *)part);
rp = _edje_real_part_recursive_get(ed, part);
if (!rp) return NULL;
if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
{
@ -4928,3 +4958,6 @@ edje_string_id_get(const Edje_String *es)
if (!es) return NULL;
return es->str;
}
/* vim:set ts=8 sw=3 sts=3 expandtab cino=>5n-2f0^-2{2(0W1st0 :*/