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

Reply via email to