summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--NEWS1
-rw-r--r--src/lib/elm_conform.c7
-rw-r--r--src/lib/elm_conform.h3
4 files changed, 15 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index fbeecc719..e99d3fd09 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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.
diff --git a/NEWS b/NEWS
index 8481107a4..6876073e5 100644
--- a/NEWS
+++ b/NEWS
@@ -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".