On Wed, Feb 15, 2012 at 2:22 AM, Enlightenment SVN <no-re...@enlightenment.org> wrote: > Log: > ecore_imf: Add ecore_imf APIs to set return key type, disable return key. > > > Author: jihoon > Date: 2012-02-14 17:22:28 -0800 (Tue, 14 Feb 2012) > New Revision: 67946 > Trac: http://trac.enlightenment.org/e/changeset/67946 > > Modified: > trunk/ecore/ChangeLog trunk/ecore/src/lib/ecore_imf/Ecore_IMF.h > trunk/ecore/src/lib/ecore_imf/ecore_imf_context.c > trunk/ecore/src/lib/ecore_imf/ecore_imf_private.h > trunk/ecore/src/modules/immodules/scim/scim_module.cpp > trunk/ecore/src/modules/immodules/xim/ecore_imf_xim.c > > Modified: trunk/ecore/ChangeLog > =================================================================== > --- trunk/ecore/ChangeLog 2012-02-15 00:47:11 UTC (rev 67945) > +++ trunk/ecore/ChangeLog 2012-02-15 01:22:28 UTC (rev 67946) > @@ -489,3 +489,8 @@ > 2012-02-10 Christopher Michael (devilhorns) > > * Add Ecore_Evas function to allow setting a mouse pointer from > efl/elm wayland clients. > + > +2012-02-15 Jihoon Kim (jihoon) > + > + * Add ecore_imf APIs to set return key type, disable return key. > + > > Modified: trunk/ecore/src/lib/ecore_imf/Ecore_IMF.h > =================================================================== > --- trunk/ecore/src/lib/ecore_imf/Ecore_IMF.h 2012-02-15 00:47:11 UTC (rev > 67945) > +++ trunk/ecore/src/lib/ecore_imf/Ecore_IMF.h 2012-02-15 01:22:28 UTC (rev > 67946) > @@ -161,6 +161,18 @@ > ECORE_IMF_INPUT_PANEL_LANG_ALPHABET /**< Alphabet */ > } Ecore_IMF_Input_Panel_Lang; > > +typedef enum > +{ > + ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_DEFAULT, > + ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_DONE, > + ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_GO, > + ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_JOIN, > + ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_LOGIN, > + ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_NEXT, > + ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_SEARCH, > + ECORE_IMF_INPUT_PANEL_RETURN_KEY_TYPE_SEND > +} Ecore_IMF_Input_Panel_Return_Key_Type; > +
you must also document the typedef, and saying it's from 1.2 Vincent > struct _Ecore_IMF_Event_Preedit_Start > { > Ecore_IMF_Context *ctx; > @@ -347,6 +359,8 @@ > void (*cursor_location_set) (Ecore_IMF_Context *ctx, int x, int y, int w, > int h); > void (*input_panel_imdata_set)(Ecore_IMF_Context *ctx, const void* data, > int len); > void (*input_panel_imdata_get)(Ecore_IMF_Context *ctx, void* data, int > *len); > + void (*input_panel_return_key_type_set) (Ecore_IMF_Context *ctx, > Ecore_IMF_Input_Panel_Return_Key_Type return_key_type); > + void (*input_panel_return_key_disabled_set) (Ecore_IMF_Context *ctx, > Eina_Bool disabled); > }; > > struct _Ecore_IMF_Context_Info > @@ -422,6 +436,10 @@ > EAPI Eina_Bool > ecore_imf_context_input_panel_enabled_get(Ecore_IMF_Context *ctx); > EAPI void > ecore_imf_context_input_panel_imdata_set(Ecore_IMF_Context *ctx, const void > *data, int len); > EAPI void > ecore_imf_context_input_panel_imdata_get(Ecore_IMF_Context *ctx, void *data, > int *len); > +EAPI void > ecore_imf_context_input_panel_return_key_type_set(Ecore_IMF_Context *ctx, > Ecore_IMF_Input_Panel_Return_Key_Type actiontype); > +EAPI Ecore_IMF_Input_Panel_Return_Key_Type > ecore_imf_context_input_panel_return_key_type_get(Ecore_IMF_Context *ctx); > +EAPI void > ecore_imf_context_input_panel_return_key_disabled_set(Ecore_IMF_Context *ctx, > Eina_Bool disabled); > +EAPI Eina_Bool > ecore_imf_context_input_panel_return_key_disabled_get(Ecore_IMF_Context *ctx); > > /* The following entry points must be exported by each input method module > */ > > Modified: trunk/ecore/src/lib/ecore_imf/ecore_imf_context.c > =================================================================== > --- trunk/ecore/src/lib/ecore_imf/ecore_imf_context.c 2012-02-15 00:47:11 > UTC (rev 67945) > +++ trunk/ecore/src/lib/ecore_imf/ecore_imf_context.c 2012-02-15 01:22:28 > UTC (rev 67946) > @@ -1428,3 +1428,93 @@ > if (ctx->klass->input_panel_imdata_get) > ctx->klass->input_panel_imdata_get(ctx, data, len); > } > + > +/** > + * Set the "return" key type. This type is used to set string or icon on the > "return" key of the input panel. > + * > + * An input panel displays the string or icon associated with this type > + * > + * @param ctx An #Ecore_IMF_Context. > + * @param return_key_type The type of "return" key on the input panel > + * @ingroup Ecore_IMF_Context_Group > + * @since 1.2.0 > + */ > +EAPI void > +ecore_imf_context_input_panel_return_key_type_set(Ecore_IMF_Context *ctx, > Ecore_IMF_Input_Panel_Return_Key_Type return_key_type) > +{ > + if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT)) > + { > + ECORE_MAGIC_FAIL(ctx, ECORE_MAGIC_CONTEXT, > + > "ecore_imf_context_input_panel_return_key_type_set"); > + return; > + } > + > + ctx->input_panel_return_key_type = return_key_type; > + if (ctx->klass->input_panel_return_key_type_set) > ctx->klass->input_panel_return_key_type_set(ctx, return_key_type); > +} > + > +/** > + * Get the "return" key type. > + * > + * @see ecore_imf_context_input_panel_return_key_type_set() for more details > + * > + * @param ctx An #Ecore_IMF_Context. > + * @return The type of "return" key on the input panel > + * @ingroup Ecore_IMF_Context_Group > + * @since 1.2.0 > + */ > +EAPI Ecore_IMF_Input_Panel_Return_Key_Type > +ecore_imf_context_input_panel_return_key_type_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_return_key_type_get"); > + return EINA_FALSE; > + } > + > + return ctx->input_panel_return_key_type; > +} > + > +/** > + * Set the return key on the input panel to be disabled. > + * > + * @param ctx An #Ecore_IMF_Context. > + * @param disabled The state > + * @ingroup Ecore_IMF_Context_Group > + * @since 1.2.0 > + */ > +EAPI void > +ecore_imf_context_input_panel_return_key_disabled_set(Ecore_IMF_Context > *ctx, Eina_Bool disabled) > +{ > + if (!ECORE_MAGIC_CHECK(ctx, ECORE_MAGIC_CONTEXT)) > + { > + ECORE_MAGIC_FAIL(ctx, ECORE_MAGIC_CONTEXT, > + > "ecore_imf_context_input_panel_return_key_disabled_set"); > + return; > + } > + > + ctx->input_panel_return_key_disabled = disabled; > + if (ctx->klass->input_panel_return_key_disabled_set) > ctx->klass->input_panel_return_key_disabled_set(ctx, disabled); > +} > + > +/** > + * Get whether the return key on the input panel should be disabled or not. > + * > + * @param ctx An #Ecore_IMF_Context. > + * @return EINA_TRUE if it should be disabled > + * @ingroup Ecore_IMF_Context_Group > + * @since 1.2.0 > + */ > +EAPI Eina_Bool > +ecore_imf_context_input_panel_return_key_disabled_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_return_key_disabled_get"); > + return EINA_FALSE; > + } > + > + return ctx->input_panel_return_key_disabled; > +} > > Modified: trunk/ecore/src/lib/ecore_imf/ecore_imf_private.h > =================================================================== > --- trunk/ecore/src/lib/ecore_imf/ecore_imf_private.h 2012-02-15 00:47:11 > UTC (rev 67945) > +++ trunk/ecore/src/lib/ecore_imf/ecore_imf_private.h 2012-02-15 01:22:28 > UTC (rev 67946) > @@ -52,8 +52,10 @@ > Ecore_IMF_Autocapital_Type autocapital_type; > Ecore_IMF_Input_Panel_Layout input_panel_layout; > Ecore_IMF_Input_Panel_Lang input_panel_lang; > + Ecore_IMF_Input_Panel_Return_Key_Type input_panel_return_key_type; > Eina_Bool allow_prediction : 1; > Eina_Bool input_panel_enabled : 1; > + Eina_Bool input_panel_return_key_disabled : 1; > }; > > struct _Ecore_IMF_Module > > Modified: trunk/ecore/src/modules/immodules/scim/scim_module.cpp > =================================================================== > --- trunk/ecore/src/modules/immodules/scim/scim_module.cpp 2012-02-15 > 00:47:11 UTC (rev 67945) > +++ trunk/ecore/src/modules/immodules/scim/scim_module.cpp 2012-02-15 > 01:22:28 UTC (rev 67946) > @@ -41,6 +41,8 @@ > isf_imf_context_cursor_location_set, /* cursor_location_set */ > NULL, /* input_panel_imdata_set */ > NULL, /* input_panel_imdata_get */ > + NULL, /* > input_panel_return_key_type_set */ > + NULL /* > input_panel_return_key_disabled_set */ > }; > > static Ecore_IMF_Context *imf_module_create (void); > > Modified: trunk/ecore/src/modules/immodules/xim/ecore_imf_xim.c > =================================================================== > --- trunk/ecore/src/modules/immodules/xim/ecore_imf_xim.c 2012-02-15 > 00:47:11 UTC (rev 67945) > +++ trunk/ecore/src/modules/immodules/xim/ecore_imf_xim.c 2012-02-15 > 01:22:28 UTC (rev 67946) > @@ -800,6 +800,8 @@ > .cursor_location_set = _ecore_imf_context_xim_cursor_location_set, > .input_panel_imdata_set = NULL, > .input_panel_imdata_get = NULL, > + .input_panel_return_key_type_set = NULL, > + .input_panel_return_key_disabled_set = NULL > }; > > static Ecore_IMF_Context * > > > ------------------------------------------------------------------------------ > Virtualization & Cloud Management Using Capacity Planning > Cloud computing makes use of virtualization - but cloud computing > also focuses on allowing computing to be delivered as a service. > http://www.accelacomm.com/jaw/sfnl/114/51521223/ > _______________________________________________ > enlightenment-svn mailing list > enlightenment-...@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-svn ------------------------------------------------------------------------------ Virtualization & Cloud Management Using Capacity Planning Cloud computing makes use of virtualization - but cloud computing also focuses on allowing computing to be delivered as a service. http://www.accelacomm.com/jaw/sfnl/114/51521223/ _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel