jihoon pushed a commit to branch master.
commit fe05d358eae261fedb4c9af9b532a9df2df15e6a
Author: Jihoon Kim <[email protected]>
Date: Tue Aug 13 15:27:29 2013 +0900
Add ecore_imf_context_input_panel_on_demand_set/get API
---
ChangeLog | 4 ++++
NEWS | 1 +
src/lib/ecore_imf/Ecore_IMF.h | 21 +++++++++++++++++++++
src/lib/ecore_imf/ecore_imf_context.c | 26 ++++++++++++++++++++++++++
src/lib/ecore_imf/ecore_imf_private.h | 1 +
5 files changed, 53 insertions(+)
diff --git a/ChangeLog b/ChangeLog
index 4be775c..8d50d51 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2013-08-13 Jihoon Kim
+
+ * Ecore_IMF: add ecore_imf_context_input_panel_on_demand_set/get()
+
2013-08-09 Cedric Bail
* Edje: add edje_object_mmap_set().
diff --git a/NEWS b/NEWS
index 0790089..6da6d0e 100644
--- a/NEWS
+++ b/NEWS
@@ -141,6 +141,7 @@ Additions:
- Add ecore_imf_input_panel_hide API
- Add ecore_imf_context_input_panel_event_callback_call, clear API
- Add ECORE_IMF_INPUT_PANEL_LAYOUT_DATETIME layout
+ - Add ecore_imf_context_input_panel_on_demand_set/get API
* Eio:
- Add eio_eet_sync symbols.
diff --git a/src/lib/ecore_imf/Ecore_IMF.h b/src/lib/ecore_imf/Ecore_IMF.h
index 669e39a..df37a4d 100644
--- a/src/lib/ecore_imf/Ecore_IMF.h
+++ b/src/lib/ecore_imf/Ecore_IMF.h
@@ -1523,6 +1523,27 @@ EAPI void
ecore_imf_context_input_panel_language_locale
*/
EAPI void
ecore_imf_context_candidate_panel_geometry_get(Ecore_IMF_Context *ctx, int *x,
int *y, int *w, int *h);
+/**
+ * Set whether the Input Method Context should request to show the input panel
in case of only an user's explicit Mouse Up event.
+ * It doesn't request to show the input panel even though the Input Method
Context has focus.
+ *
+ * @param ctx An #Ecore_IMF_Context.
+ * @param ondemand If true, the input panel will be shown in case of only
Mouse up event. (Focus event will be ignored.)
+ * @ingroup Ecore_IMF_Context_Group
+ * @since 1.8.0
+ */
+EAPI void
ecore_imf_context_input_panel_show_on_demand_set(Ecore_IMF_Context *ctx,
Eina_Bool ondemand);
+
+/**
+ * Get whether the Input Method Context should request to show the input panel
in case of only an user's explicit Mouse Up event.
+ *
+ * @param ctx An #Ecore_IMF_Context.
+ * @return @c EINA_TRUE if the input panel will be shown in case of only Mouse
up event.
+ * @ingroup Ecore_IMF_Context_Group
+ * @since 1.8.0
+ */
+EAPI Eina_Bool
ecore_imf_context_input_panel_show_on_demand_get(Ecore_IMF_Context *ctx);
+
/* The following entry points must be exported by each input method module
*/
diff --git a/src/lib/ecore_imf/ecore_imf_context.c
b/src/lib/ecore_imf/ecore_imf_context.c
index 272a04b..6b243d6 100644
--- a/src/lib/ecore_imf/ecore_imf_context.c
+++ b/src/lib/ecore_imf/ecore_imf_context.c
@@ -1207,3 +1207,29 @@
ecore_imf_context_candidate_panel_geometry_get(Ecore_IMF_Context *ctx, int *x, i
ctx->klass->candidate_panel_geometry_get(ctx, x, y, w, h);
}
+EAPI void
+ecore_imf_context_input_panel_show_on_demand_set(Ecore_IMF_Context *ctx,
Eina_Bool ondemand)
+{
+ if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT))
+ {
+ ECORE_MAGIC_FAIL(ctx, ECORE_MAGIC_CONTEXT,
+ "ecore_imf_context_input_panel_show_on_demand_set");
+ return;
+ }
+
+ ctx->input_panel_show_on_demand = ondemand;
+}
+
+EAPI Eina_Bool
+ecore_imf_context_input_panel_show_on_demand_get(Ecore_IMF_Context *ctx)
+{
+ if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT))
+ {
+ ECORE_MAGIC_FAIL(ctx, ECORE_MAGIC_CONTEXT,
+ "ecore_imf_context_input_panel_show_on_demand_get");
+ return EINA_FALSE;
+ }
+
+ return ctx->input_panel_show_on_demand;
+}
+
diff --git a/src/lib/ecore_imf/ecore_imf_private.h
b/src/lib/ecore_imf/ecore_imf_private.h
index b63500a..5c62cfd 100644
--- a/src/lib/ecore_imf/ecore_imf_private.h
+++ b/src/lib/ecore_imf/ecore_imf_private.h
@@ -60,6 +60,7 @@ struct _Ecore_IMF_Context
Eina_Bool input_panel_enabled : 1;
Eina_Bool input_panel_return_key_disabled : 1;
Eina_Bool input_panel_caps_lock_mode : 1;
+ Eina_Bool input_panel_show_on_demand : 1;
};
struct _Ecore_IMF_Module
--
------------------------------------------------------------------------------
Get 100% visibility into Java/.NET code with AppDynamics Lite!
It's a free troubleshooting tool designed for production.
Get down to code-level detail for bottlenecks, with <2% overhead.
Download for free and get started troubleshooting in minutes.
http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk