diff options
author | Daniel Juyung Seo <seojuyung2@gmail.com> | 2013-10-30 16:17:57 +0900 |
---|---|---|
committer | Daniel Juyung Seo <seojuyung2@gmail.com> | 2013-10-30 16:24:38 +0900 |
commit | cbd7446f0bf413ad821ac40703d2a2ca728758ef (patch) | |
tree | 34d358dda110a8f25c6d301447754dc61da3afe3 | |
parent | e1dd6e12fce6813b5faf6352ce569e76ed4e4a0c (diff) | |
download | elementary-cbd7446f0bf413ad821ac40703d2a2ca728758ef.tar.gz |
elm_conform.c: Added "virtualkeypad,size,changed" smart callback.
When the virtualkeypad size is changed, applications get the notice.
Applications can do internal object calculation according to the exact virtualkeypad size.
This is useful when the exact size is important such as webkit usecase.
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | NEWS | 1 | ||||
-rw-r--r-- | src/lib/elm_conform.c | 7 | ||||
-rw-r--r-- | src/lib/elm_conform.h | 3 |
4 files changed, 15 insertions, 0 deletions
@@ -1727,3 +1727,7 @@ 2013-10-30 Amitesh Singh (_ami_) * image: Add support for "clicked" callback on Return/space/KP_Enter key press. + +2013-10-30 Daniel Juyung Seo (SeoZ) + + * conform: Added "virtualkeypad,size,changed" callback on virtualkeypad min size change. @@ -101,6 +101,7 @@ Additions: * Add elm_fileselector_hidden_visible_set/get() to show or hide hidden files/directories. * Add signals "spinner,drag,start" and "spinner,drag,stop" to the spinner widget. * Add support for "clicked" callback on Return/space/KP_Enter key press for image. + * Add "virtualkeypad,size,changed" callback on virtualkeypad min size change for conformant. Improvements: diff --git a/src/lib/elm_conform.c b/src/lib/elm_conform.c index 9636ab8ae..cb00888e3 100644 --- a/src/lib/elm_conform.c +++ b/src/lib/elm_conform.c @@ -36,12 +36,14 @@ static const char SOFTKEY_PART[] = "elm.swallow.softkey"; static const char SIG_VIRTUALKEYPAD_STATE_ON[] = "virtualkeypad,state,on"; static const char SIG_VIRTUALKEYPAD_STATE_OFF[] = "virtualkeypad,state,off"; +static const char SIG_VIRTUALKEYPAD_SIZE_CHANGED[] = "virtualkeypad,size,changed"; static const char SIG_CLIPBOARD_STATE_ON[] = "clipboard,state,on"; static const char SIG_CLIPBOARD_STATE_OFF[] = "clipboard,state,off"; static const Evas_Smart_Cb_Description _smart_callbacks[] = { {SIG_VIRTUALKEYPAD_STATE_ON, ""}, {SIG_VIRTUALKEYPAD_STATE_OFF, ""}, + {SIG_VIRTUALKEYPAD_SIZE_CHANGED, ""}, {SIG_CLIPBOARD_STATE_ON, ""}, {SIG_CLIPBOARD_STATE_OFF, ""}, {NULL, NULL} @@ -166,6 +168,8 @@ _conformant_part_sizing_eval(Evas_Object *obj, if (part_type & ELM_CONFORMANT_VIRTUAL_KEYPAD_PART) { + Evas_Coord_Rectangle rect; + #ifdef HAVE_ELEMENTARY_X if ((!_conformant_part_geometry_get_from_env ("ILLUME_KBD", &sx, &sy, &sw, &sh)) && (xwin)) @@ -189,6 +193,9 @@ _conformant_part_sizing_eval(Evas_Object *obj, DBG("[KEYPAD]: size(%d,%d, %dx%d).", sx, sy, sw, sh); _conformant_part_size_hints_set (obj, sd->virtualkeypad, sx, sy, sw, sh); + + rect.x = sx; rect.y = sy; rect.w = sw; rect.h = sh; + evas_object_smart_callback_call(obj, SIG_VIRTUALKEYPAD_SIZE_CHANGED, (void *)&rect); } if (part_type & ELM_CONFORMANT_SOFTKEY_PART) diff --git a/src/lib/elm_conform.h b/src/lib/elm_conform.h index a491b951b..e1187b510 100644 --- a/src/lib/elm_conform.h +++ b/src/lib/elm_conform.h @@ -28,6 +28,9 @@ * (@since 1.8) * @li "virtualkeypad,state,off": if virtualkeypad state is switched to "off". * (@since 1.8) + * @li "virtualkeypad,size,changed": this is called when virtualkeypad size is + * changed. @c event_info parameter is the virtualkeypad size in + * Evas_Coord_Rectangle structure. (@since 1.8) * @li "clipboard,state,on": if clipboard state is switched to "on". * (@since 1.8) * @li "clipboard,state,off": if clipboard state is switched to "off". |