\hypertarget{group__Ecore__IMF__Context__Module__Group}{}\doxysection{Ecore Input Method Context Module Functions}
\label{group__Ecore__IMF__Context__Module__Group}\index{Ecore Input Method Context Module Functions@{Ecore Input Method Context Module Functions}}


Functions that should be used by Ecore Input Method Context modules.  


\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
EAPI \mbox{\hyperlink{group__Ecore__IMF__Context__Group_gab990e052e8501815371d7289dfd4a017}{Ecore\+\_\+\+IMF\+\_\+\+Context}} $\ast$ \mbox{\hyperlink{group__Ecore__IMF__Context__Module__Group_ga23b920207e4bdbc3620760a259971afe}{ecore\+\_\+imf\+\_\+context\+\_\+new}} (const \mbox{\hyperlink{group__Ecore__IMF__Context__Group_ga8dc2ea6c07083f46408b0c35155da43e}{Ecore\+\_\+\+IMF\+\_\+\+Context\+\_\+\+Class}} $\ast$ctxc)
\begin{DoxyCompactList}\small\item\em Creates a new Input Method Context with klass specified by {\ttfamily ctxc}. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__Ecore__IMF__Context__Module__Group_ga95642efd0cdd77e50c91742781b8d425}{ecore\+\_\+imf\+\_\+context\+\_\+data\+\_\+set}} (\mbox{\hyperlink{group__Ecore__IMF__Context__Group_gab990e052e8501815371d7289dfd4a017}{Ecore\+\_\+\+IMF\+\_\+\+Context}} $\ast$ctx, void $\ast$data)
\begin{DoxyCompactList}\small\item\em Sets the Input Method Context specific data. \end{DoxyCompactList}\item 
EAPI void $\ast$ \mbox{\hyperlink{group__Ecore__IMF__Context__Module__Group_gab92849938bfa80f76d2734fce8a420f6}{ecore\+\_\+imf\+\_\+context\+\_\+data\+\_\+get}} (\mbox{\hyperlink{group__Ecore__IMF__Context__Group_gab990e052e8501815371d7289dfd4a017}{Ecore\+\_\+\+IMF\+\_\+\+Context}} $\ast$ctx)
\begin{DoxyCompactList}\small\item\em Gets the Input Method Context specific data. \end{DoxyCompactList}\item 
EAPI \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Ecore__IMF__Context__Module__Group_gadf4eedd77261c819ef333765f431d9db}{ecore\+\_\+imf\+\_\+context\+\_\+surrounding\+\_\+get}} (\mbox{\hyperlink{group__Ecore__IMF__Context__Group_gab990e052e8501815371d7289dfd4a017}{Ecore\+\_\+\+IMF\+\_\+\+Context}} $\ast$ctx, char $\ast$$\ast$text, int $\ast$cursor\+\_\+pos)
\begin{DoxyCompactList}\small\item\em Retrieves context around insertion point. \end{DoxyCompactList}\item 
EAPI \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Ecore__IMF__Context__Module__Group_ga284e5942d979564e7cc18508d6b214d9}{ecore\+\_\+imf\+\_\+context\+\_\+selection\+\_\+get}} (\mbox{\hyperlink{group__Ecore__IMF__Context__Group_gab990e052e8501815371d7289dfd4a017}{Ecore\+\_\+\+IMF\+\_\+\+Context}} $\ast$ctx, char $\ast$$\ast$text)
\begin{DoxyCompactList}\small\item\em Retrieves the selected text. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_gad5b2116495471db12a34bab9a34edfaa}{EINA\+\_\+\+DEPRECATED}} EAPI void \mbox{\hyperlink{group__Ecore__IMF__Context__Module__Group_ga24102021df9910871fd69a9aeb23cabb}{ecore\+\_\+imf\+\_\+context\+\_\+preedit\+\_\+start\+\_\+event\+\_\+add}} (\mbox{\hyperlink{group__Ecore__IMF__Context__Group_gab990e052e8501815371d7289dfd4a017}{Ecore\+\_\+\+IMF\+\_\+\+Context}} $\ast$ctx)
\begin{DoxyCompactList}\small\item\em Adds ECORE\+\_\+\+IMF\+\_\+\+EVENT\+\_\+\+PREEDIT\+\_\+\+START to the event queue. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_gad5b2116495471db12a34bab9a34edfaa}{EINA\+\_\+\+DEPRECATED}} EAPI void \mbox{\hyperlink{group__Ecore__IMF__Context__Module__Group_gad67ac4e708b7dccad3bd46437b562009}{ecore\+\_\+imf\+\_\+context\+\_\+preedit\+\_\+end\+\_\+event\+\_\+add}} (\mbox{\hyperlink{group__Ecore__IMF__Context__Group_gab990e052e8501815371d7289dfd4a017}{Ecore\+\_\+\+IMF\+\_\+\+Context}} $\ast$ctx)
\begin{DoxyCompactList}\small\item\em Adds ECORE\+\_\+\+IMF\+\_\+\+EVENT\+\_\+\+PREEDIT\+\_\+\+END to the event queue. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_gad5b2116495471db12a34bab9a34edfaa}{EINA\+\_\+\+DEPRECATED}} EAPI void \mbox{\hyperlink{group__Ecore__IMF__Context__Module__Group_gabdbcb39d485cf961e0c7f04777e7e041}{ecore\+\_\+imf\+\_\+context\+\_\+preedit\+\_\+changed\+\_\+event\+\_\+add}} (\mbox{\hyperlink{group__Ecore__IMF__Context__Group_gab990e052e8501815371d7289dfd4a017}{Ecore\+\_\+\+IMF\+\_\+\+Context}} $\ast$ctx)
\begin{DoxyCompactList}\small\item\em Adds ECORE\+\_\+\+IMF\+\_\+\+EVENT\+\_\+\+PREEDIT\+\_\+\+CHANGED to the event queue. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_gad5b2116495471db12a34bab9a34edfaa}{EINA\+\_\+\+DEPRECATED}} EAPI void \mbox{\hyperlink{group__Ecore__IMF__Context__Module__Group_ga6f45ccdde23d5281b91f08e56aeb8916}{ecore\+\_\+imf\+\_\+context\+\_\+commit\+\_\+event\+\_\+add}} (\mbox{\hyperlink{group__Ecore__IMF__Context__Group_gab990e052e8501815371d7289dfd4a017}{Ecore\+\_\+\+IMF\+\_\+\+Context}} $\ast$ctx, const char $\ast$str)
\begin{DoxyCompactList}\small\item\em Adds ECORE\+\_\+\+IMF\+\_\+\+EVENT\+\_\+\+COMMIT to the event queue. \end{DoxyCompactList}\item 
\mbox{\hyperlink{group__Eina__Types__Group_gad5b2116495471db12a34bab9a34edfaa}{EINA\+\_\+\+DEPRECATED}} EAPI void \mbox{\hyperlink{group__Ecore__IMF__Context__Module__Group_ga00f0b451fcb79d2ad0fcda24eed557ee}{ecore\+\_\+imf\+\_\+context\+\_\+delete\+\_\+surrounding\+\_\+event\+\_\+add}} (\mbox{\hyperlink{group__Ecore__IMF__Context__Group_gab990e052e8501815371d7289dfd4a017}{Ecore\+\_\+\+IMF\+\_\+\+Context}} $\ast$ctx, int offset, int n\+\_\+chars)
\begin{DoxyCompactList}\small\item\em Adds ECORE\+\_\+\+IMF\+\_\+\+EVENT\+\_\+\+DELETE\+\_\+\+SURROUNDING to the event queue. \end{DoxyCompactList}\item 
EAPI void \mbox{\hyperlink{group__Ecore__IMF__Context__Module__Group_gae6f3975b595997524e87057348c3b19b}{ecore\+\_\+imf\+\_\+context\+\_\+event\+\_\+callback\+\_\+call}} (\mbox{\hyperlink{group__Ecore__IMF__Context__Group_gab990e052e8501815371d7289dfd4a017}{Ecore\+\_\+\+IMF\+\_\+\+Context}} $\ast$ctx, \mbox{\hyperlink{group__Ecore__IMF__Context__Group_ga06aadd645f11ba5c8d00943aa327be5a}{Ecore\+\_\+\+IMF\+\_\+\+Callback\+\_\+\+Type}} type, void $\ast$event\+\_\+info)
\begin{DoxyCompactList}\small\item\em Calls a given callback on the context {\ttfamily ctx}. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Functions that should be used by Ecore Input Method Context modules. 



\doxysubsection{Function Documentation}
\mbox{\Hypertarget{group__Ecore__IMF__Context__Module__Group_ga23b920207e4bdbc3620760a259971afe}\label{group__Ecore__IMF__Context__Module__Group_ga23b920207e4bdbc3620760a259971afe}} 
\index{Ecore Input Method Context Module Functions@{Ecore Input Method Context Module Functions}!ecore\_imf\_context\_new@{ecore\_imf\_context\_new}}
\index{ecore\_imf\_context\_new@{ecore\_imf\_context\_new}!Ecore Input Method Context Module Functions@{Ecore Input Method Context Module Functions}}
\doxysubsubsection{\texorpdfstring{ecore\_imf\_context\_new()}{ecore\_imf\_context\_new()}}
{\footnotesize\ttfamily EAPI \mbox{\hyperlink{group__Ecore__IMF__Context__Group_gab990e052e8501815371d7289dfd4a017}{Ecore\+\_\+\+IMF\+\_\+\+Context}} $\ast$ ecore\+\_\+imf\+\_\+context\+\_\+new (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{group__Ecore__IMF__Context__Group_ga8dc2ea6c07083f46408b0c35155da43e}{Ecore\+\_\+\+IMF\+\_\+\+Context\+\_\+\+Class}} $\ast$}]{ctxc }\end{DoxyParamCaption})}



Creates a new Input Method Context with klass specified by {\ttfamily ctxc}. 

This method should be used by modules implementing the Input Method Context interface.


\begin{DoxyParams}{Parameters}
{\em ctxc} & An \mbox{\hyperlink{group__Ecore__IMF__Context__Group_ga8dc2ea6c07083f46408b0c35155da43e}{Ecore\+\_\+\+IMF\+\_\+\+Context\+\_\+\+Class}}. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A new \mbox{\hyperlink{group__Ecore__IMF__Context__Group_gab990e052e8501815371d7289dfd4a017}{Ecore\+\_\+\+IMF\+\_\+\+Context}}; on failure it returns NULL. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__Ecore__IMF__Context__Module__Group_ga95642efd0cdd77e50c91742781b8d425}\label{group__Ecore__IMF__Context__Module__Group_ga95642efd0cdd77e50c91742781b8d425}} 
\index{Ecore Input Method Context Module Functions@{Ecore Input Method Context Module Functions}!ecore\_imf\_context\_data\_set@{ecore\_imf\_context\_data\_set}}
\index{ecore\_imf\_context\_data\_set@{ecore\_imf\_context\_data\_set}!Ecore Input Method Context Module Functions@{Ecore Input Method Context Module Functions}}
\doxysubsubsection{\texorpdfstring{ecore\_imf\_context\_data\_set()}{ecore\_imf\_context\_data\_set()}}
{\footnotesize\ttfamily EAPI void ecore\+\_\+imf\+\_\+context\+\_\+data\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ecore__IMF__Context__Group_gab990e052e8501815371d7289dfd4a017}{Ecore\+\_\+\+IMF\+\_\+\+Context}} $\ast$}]{ctx,  }\item[{void $\ast$}]{data }\end{DoxyParamCaption})}



Sets the Input Method Context specific data. 

Note that this method should be used by modules to set the Input Method Context specific data and it\textquotesingle{}s not meant to be used by applications to store application specific data.


\begin{DoxyParams}{Parameters}
{\em ctx} & An \mbox{\hyperlink{group__Ecore__IMF__Context__Group_gab990e052e8501815371d7289dfd4a017}{Ecore\+\_\+\+IMF\+\_\+\+Context}}. \\
\hline
{\em data} & The Input Method Context specific data. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
A new \mbox{\hyperlink{group__Ecore__IMF__Context__Group_gab990e052e8501815371d7289dfd4a017}{Ecore\+\_\+\+IMF\+\_\+\+Context}}; on failure it returns NULL. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__Ecore__IMF__Context__Module__Group_gab92849938bfa80f76d2734fce8a420f6}\label{group__Ecore__IMF__Context__Module__Group_gab92849938bfa80f76d2734fce8a420f6}} 
\index{Ecore Input Method Context Module Functions@{Ecore Input Method Context Module Functions}!ecore\_imf\_context\_data\_get@{ecore\_imf\_context\_data\_get}}
\index{ecore\_imf\_context\_data\_get@{ecore\_imf\_context\_data\_get}!Ecore Input Method Context Module Functions@{Ecore Input Method Context Module Functions}}
\doxysubsubsection{\texorpdfstring{ecore\_imf\_context\_data\_get()}{ecore\_imf\_context\_data\_get()}}
{\footnotesize\ttfamily EAPI void $\ast$ ecore\+\_\+imf\+\_\+context\+\_\+data\+\_\+get (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ecore__IMF__Context__Group_gab990e052e8501815371d7289dfd4a017}{Ecore\+\_\+\+IMF\+\_\+\+Context}} $\ast$}]{ctx }\end{DoxyParamCaption})}



Gets the Input Method Context specific data. 

See \mbox{\hyperlink{group__Ecore__IMF__Context__Module__Group_ga95642efd0cdd77e50c91742781b8d425}{ecore\+\_\+imf\+\_\+context\+\_\+data\+\_\+set}} for more details.


\begin{DoxyParams}{Parameters}
{\em ctx} & An \mbox{\hyperlink{group__Ecore__IMF__Context__Group_gab990e052e8501815371d7289dfd4a017}{Ecore\+\_\+\+IMF\+\_\+\+Context}}. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The Input Method Context specific data. 
\end{DoxyReturn}
\mbox{\Hypertarget{group__Ecore__IMF__Context__Module__Group_gadf4eedd77261c819ef333765f431d9db}\label{group__Ecore__IMF__Context__Module__Group_gadf4eedd77261c819ef333765f431d9db}} 
\index{Ecore Input Method Context Module Functions@{Ecore Input Method Context Module Functions}!ecore\_imf\_context\_surrounding\_get@{ecore\_imf\_context\_surrounding\_get}}
\index{ecore\_imf\_context\_surrounding\_get@{ecore\_imf\_context\_surrounding\_get}!Ecore Input Method Context Module Functions@{Ecore Input Method Context Module Functions}}
\doxysubsubsection{\texorpdfstring{ecore\_imf\_context\_surrounding\_get()}{ecore\_imf\_context\_surrounding\_get()}}
{\footnotesize\ttfamily EAPI \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} ecore\+\_\+imf\+\_\+context\+\_\+surrounding\+\_\+get (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ecore__IMF__Context__Group_gab990e052e8501815371d7289dfd4a017}{Ecore\+\_\+\+IMF\+\_\+\+Context}} $\ast$}]{ctx,  }\item[{char $\ast$$\ast$}]{text,  }\item[{int $\ast$}]{cursor\+\_\+pos }\end{DoxyParamCaption})}



Retrieves context around insertion point. 

Input methods typically want context in order to constrain input text based on existing text; this is important for languages such as Thai where only some sequences of characters are allowed. In addition, the text around the insertion point can be used for supporting autocapital feature.

This function is implemented by calling the Ecore\+\_\+\+IMF\+\_\+\+Context\+::retrieve\+\_\+surrounding\+\_\+func ( set using \mbox{\hyperlink{group__Ecore__IMF__Context__Group_gaf4da8dacae69d82559f808645b118df5}{ecore\+\_\+imf\+\_\+context\+\_\+retrieve\+\_\+surrounding\+\_\+callback\+\_\+set}}).

There is no obligation for a widget to respond to the retrieve\+\_\+surrounding\+\_\+func, so input methods must be prepared to function without context.


\begin{DoxyParams}{Parameters}
{\em ctx} & An \mbox{\hyperlink{group__Ecore__IMF__Context__Group_gab990e052e8501815371d7289dfd4a017}{Ecore\+\_\+\+IMF\+\_\+\+Context}}. \\
\hline
{\em text} & Location to store a UTF-\/8 encoded string of text holding context around the insertion point. If the function returns {\ttfamily EINA\+\_\+\+TRUE}, then you must free the result stored in this location with free(). \\
\hline
{\em cursor\+\_\+pos} & Location to store the position in characters of the insertion cursor within {\ttfamily text}. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily EINA\+\_\+\+TRUE} if surrounding text was provided; otherwise {\ttfamily EINA\+\_\+\+FALSE}. 
\end{DoxyReturn}


References \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}}.

\mbox{\Hypertarget{group__Ecore__IMF__Context__Module__Group_ga284e5942d979564e7cc18508d6b214d9}\label{group__Ecore__IMF__Context__Module__Group_ga284e5942d979564e7cc18508d6b214d9}} 
\index{Ecore Input Method Context Module Functions@{Ecore Input Method Context Module Functions}!ecore\_imf\_context\_selection\_get@{ecore\_imf\_context\_selection\_get}}
\index{ecore\_imf\_context\_selection\_get@{ecore\_imf\_context\_selection\_get}!Ecore Input Method Context Module Functions@{Ecore Input Method Context Module Functions}}
\doxysubsubsection{\texorpdfstring{ecore\_imf\_context\_selection\_get()}{ecore\_imf\_context\_selection\_get()}}
{\footnotesize\ttfamily EAPI \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} ecore\+\_\+imf\+\_\+context\+\_\+selection\+\_\+get (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ecore__IMF__Context__Group_gab990e052e8501815371d7289dfd4a017}{Ecore\+\_\+\+IMF\+\_\+\+Context}} $\ast$}]{ctx,  }\item[{char $\ast$$\ast$}]{text }\end{DoxyParamCaption})}



Retrieves the selected text. 

This function is implemented by calling the Ecore\+\_\+\+IMF\+\_\+\+Context\+::retrieve\+\_\+selection\+\_\+func ( set using \mbox{\hyperlink{group__Ecore__IMF__Context__Group_ga42c64574726d0713a27aa4d99c25bd38}{ecore\+\_\+imf\+\_\+context\+\_\+retrieve\+\_\+selection\+\_\+callback\+\_\+set}}).

There is no obligation for a widget to respond to the retrieve\+\_\+surrounding\+\_\+func, so input methods must be prepared to function without context.


\begin{DoxyParams}{Parameters}
{\em ctx} & An \mbox{\hyperlink{group__Ecore__IMF__Context__Group_gab990e052e8501815371d7289dfd4a017}{Ecore\+\_\+\+IMF\+\_\+\+Context}}. \\
\hline
{\em text} & Location to store a UTF-\/8 encoded string of the selected text. If the function returns {\ttfamily EINA\+\_\+\+TRUE}, then you must free the result stored in this location with free(). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily EINA\+\_\+\+TRUE} if selected text was provided; otherwise {\ttfamily EINA\+\_\+\+FALSE}. 
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+9.\+0 
\end{DoxySince}


References \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}}.

\mbox{\Hypertarget{group__Ecore__IMF__Context__Module__Group_ga24102021df9910871fd69a9aeb23cabb}\label{group__Ecore__IMF__Context__Module__Group_ga24102021df9910871fd69a9aeb23cabb}} 
\index{Ecore Input Method Context Module Functions@{Ecore Input Method Context Module Functions}!ecore\_imf\_context\_preedit\_start\_event\_add@{ecore\_imf\_context\_preedit\_start\_event\_add}}
\index{ecore\_imf\_context\_preedit\_start\_event\_add@{ecore\_imf\_context\_preedit\_start\_event\_add}!Ecore Input Method Context Module Functions@{Ecore Input Method Context Module Functions}}
\doxysubsubsection{\texorpdfstring{ecore\_imf\_context\_preedit\_start\_event\_add()}{ecore\_imf\_context\_preedit\_start\_event\_add()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_gad5b2116495471db12a34bab9a34edfaa}{EINA\+\_\+\+DEPRECATED}} EAPI void ecore\+\_\+imf\+\_\+context\+\_\+preedit\+\_\+start\+\_\+event\+\_\+add (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ecore__IMF__Context__Group_gab990e052e8501815371d7289dfd4a017}{Ecore\+\_\+\+IMF\+\_\+\+Context}} $\ast$}]{ctx }\end{DoxyParamCaption})}



Adds ECORE\+\_\+\+IMF\+\_\+\+EVENT\+\_\+\+PREEDIT\+\_\+\+START to the event queue. 

ECORE\+\_\+\+IMF\+\_\+\+EVENT\+\_\+\+PREEDIT\+\_\+\+START should be added when a new preedit sequence starts. It\textquotesingle{}s asynchronous method to put event to the event queue. \mbox{\hyperlink{group__Ecore__IMF__Context__Module__Group_gae6f3975b595997524e87057348c3b19b}{ecore\+\_\+imf\+\_\+context\+\_\+event\+\_\+callback\+\_\+call()}} can be used as synchronous method.


\begin{DoxyParams}{Parameters}
{\em ctx} & An \mbox{\hyperlink{group__Ecore__IMF__Context__Group_gab990e052e8501815371d7289dfd4a017}{Ecore\+\_\+\+IMF\+\_\+\+Context}}.\\
\hline
\end{DoxyParams}
\begin{DoxyRefDesc}{Deprecated}
\item[\mbox{\hyperlink{deprecated__deprecated000017}{Deprecated}}]use \mbox{\hyperlink{group__Ecore__IMF__Context__Module__Group_gae6f3975b595997524e87057348c3b19b}{ecore\+\_\+imf\+\_\+context\+\_\+event\+\_\+callback\+\_\+call()}} instead. \end{DoxyRefDesc}


References \mbox{\hyperlink{group__Ecore__Event__Group_ga81a4c863503927fb70fa5f35625c4352}{ecore\+\_\+event\+\_\+add()}}, and \mbox{\hyperlink{group__Eina__Safety__Checks__Group_ga1ccf8538d0015b3801ff642e6156843a}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN}}.

\mbox{\Hypertarget{group__Ecore__IMF__Context__Module__Group_gad67ac4e708b7dccad3bd46437b562009}\label{group__Ecore__IMF__Context__Module__Group_gad67ac4e708b7dccad3bd46437b562009}} 
\index{Ecore Input Method Context Module Functions@{Ecore Input Method Context Module Functions}!ecore\_imf\_context\_preedit\_end\_event\_add@{ecore\_imf\_context\_preedit\_end\_event\_add}}
\index{ecore\_imf\_context\_preedit\_end\_event\_add@{ecore\_imf\_context\_preedit\_end\_event\_add}!Ecore Input Method Context Module Functions@{Ecore Input Method Context Module Functions}}
\doxysubsubsection{\texorpdfstring{ecore\_imf\_context\_preedit\_end\_event\_add()}{ecore\_imf\_context\_preedit\_end\_event\_add()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_gad5b2116495471db12a34bab9a34edfaa}{EINA\+\_\+\+DEPRECATED}} EAPI void ecore\+\_\+imf\+\_\+context\+\_\+preedit\+\_\+end\+\_\+event\+\_\+add (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ecore__IMF__Context__Group_gab990e052e8501815371d7289dfd4a017}{Ecore\+\_\+\+IMF\+\_\+\+Context}} $\ast$}]{ctx }\end{DoxyParamCaption})}



Adds ECORE\+\_\+\+IMF\+\_\+\+EVENT\+\_\+\+PREEDIT\+\_\+\+END to the event queue. 

ECORE\+\_\+\+IMF\+\_\+\+EVENT\+\_\+\+PREEDIT\+\_\+\+END should be added when a new preedit sequence has been completed or canceled. It\textquotesingle{}s asynchronous method to put event to the event queue. \mbox{\hyperlink{group__Ecore__IMF__Context__Module__Group_gae6f3975b595997524e87057348c3b19b}{ecore\+\_\+imf\+\_\+context\+\_\+event\+\_\+callback\+\_\+call()}} can be used as synchronous method.


\begin{DoxyParams}{Parameters}
{\em ctx} & An \mbox{\hyperlink{group__Ecore__IMF__Context__Group_gab990e052e8501815371d7289dfd4a017}{Ecore\+\_\+\+IMF\+\_\+\+Context}}.\\
\hline
\end{DoxyParams}
\begin{DoxyRefDesc}{Deprecated}
\item[\mbox{\hyperlink{deprecated__deprecated000018}{Deprecated}}]use \mbox{\hyperlink{group__Ecore__IMF__Context__Module__Group_gae6f3975b595997524e87057348c3b19b}{ecore\+\_\+imf\+\_\+context\+\_\+event\+\_\+callback\+\_\+call()}} instead. \end{DoxyRefDesc}


References \mbox{\hyperlink{group__Ecore__Event__Group_ga81a4c863503927fb70fa5f35625c4352}{ecore\+\_\+event\+\_\+add()}}, and \mbox{\hyperlink{group__Eina__Safety__Checks__Group_ga1ccf8538d0015b3801ff642e6156843a}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN}}.

\mbox{\Hypertarget{group__Ecore__IMF__Context__Module__Group_gabdbcb39d485cf961e0c7f04777e7e041}\label{group__Ecore__IMF__Context__Module__Group_gabdbcb39d485cf961e0c7f04777e7e041}} 
\index{Ecore Input Method Context Module Functions@{Ecore Input Method Context Module Functions}!ecore\_imf\_context\_preedit\_changed\_event\_add@{ecore\_imf\_context\_preedit\_changed\_event\_add}}
\index{ecore\_imf\_context\_preedit\_changed\_event\_add@{ecore\_imf\_context\_preedit\_changed\_event\_add}!Ecore Input Method Context Module Functions@{Ecore Input Method Context Module Functions}}
\doxysubsubsection{\texorpdfstring{ecore\_imf\_context\_preedit\_changed\_event\_add()}{ecore\_imf\_context\_preedit\_changed\_event\_add()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_gad5b2116495471db12a34bab9a34edfaa}{EINA\+\_\+\+DEPRECATED}} EAPI void ecore\+\_\+imf\+\_\+context\+\_\+preedit\+\_\+changed\+\_\+event\+\_\+add (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ecore__IMF__Context__Group_gab990e052e8501815371d7289dfd4a017}{Ecore\+\_\+\+IMF\+\_\+\+Context}} $\ast$}]{ctx }\end{DoxyParamCaption})}



Adds ECORE\+\_\+\+IMF\+\_\+\+EVENT\+\_\+\+PREEDIT\+\_\+\+CHANGED to the event queue. 

It\textquotesingle{}s asynchronous method to put event to the event queue. \mbox{\hyperlink{group__Ecore__IMF__Context__Module__Group_gae6f3975b595997524e87057348c3b19b}{ecore\+\_\+imf\+\_\+context\+\_\+event\+\_\+callback\+\_\+call()}} can be used as synchronous method.


\begin{DoxyParams}{Parameters}
{\em ctx} & An \mbox{\hyperlink{group__Ecore__IMF__Context__Group_gab990e052e8501815371d7289dfd4a017}{Ecore\+\_\+\+IMF\+\_\+\+Context}}.\\
\hline
\end{DoxyParams}
\begin{DoxyRefDesc}{Deprecated}
\item[\mbox{\hyperlink{deprecated__deprecated000019}{Deprecated}}]use \mbox{\hyperlink{group__Ecore__IMF__Context__Module__Group_gae6f3975b595997524e87057348c3b19b}{ecore\+\_\+imf\+\_\+context\+\_\+event\+\_\+callback\+\_\+call()}} instead. \end{DoxyRefDesc}


References \mbox{\hyperlink{group__Ecore__Event__Group_ga81a4c863503927fb70fa5f35625c4352}{ecore\+\_\+event\+\_\+add()}}, and \mbox{\hyperlink{group__Eina__Safety__Checks__Group_ga1ccf8538d0015b3801ff642e6156843a}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN}}.

\mbox{\Hypertarget{group__Ecore__IMF__Context__Module__Group_ga6f45ccdde23d5281b91f08e56aeb8916}\label{group__Ecore__IMF__Context__Module__Group_ga6f45ccdde23d5281b91f08e56aeb8916}} 
\index{Ecore Input Method Context Module Functions@{Ecore Input Method Context Module Functions}!ecore\_imf\_context\_commit\_event\_add@{ecore\_imf\_context\_commit\_event\_add}}
\index{ecore\_imf\_context\_commit\_event\_add@{ecore\_imf\_context\_commit\_event\_add}!Ecore Input Method Context Module Functions@{Ecore Input Method Context Module Functions}}
\doxysubsubsection{\texorpdfstring{ecore\_imf\_context\_commit\_event\_add()}{ecore\_imf\_context\_commit\_event\_add()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_gad5b2116495471db12a34bab9a34edfaa}{EINA\+\_\+\+DEPRECATED}} EAPI void ecore\+\_\+imf\+\_\+context\+\_\+commit\+\_\+event\+\_\+add (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ecore__IMF__Context__Group_gab990e052e8501815371d7289dfd4a017}{Ecore\+\_\+\+IMF\+\_\+\+Context}} $\ast$}]{ctx,  }\item[{const char $\ast$}]{str }\end{DoxyParamCaption})}



Adds ECORE\+\_\+\+IMF\+\_\+\+EVENT\+\_\+\+COMMIT to the event queue. 

It\textquotesingle{}s asynchronous method to put event to the event queue. \mbox{\hyperlink{group__Ecore__IMF__Context__Module__Group_gae6f3975b595997524e87057348c3b19b}{ecore\+\_\+imf\+\_\+context\+\_\+event\+\_\+callback\+\_\+call()}} can be used as synchronous method.


\begin{DoxyParams}{Parameters}
{\em ctx} & An \mbox{\hyperlink{group__Ecore__IMF__Context__Group_gab990e052e8501815371d7289dfd4a017}{Ecore\+\_\+\+IMF\+\_\+\+Context}}. \\
\hline
{\em str} & The committed string.\\
\hline
\end{DoxyParams}
\begin{DoxyRefDesc}{Deprecated}
\item[\mbox{\hyperlink{deprecated__deprecated000020}{Deprecated}}]use \mbox{\hyperlink{group__Ecore__IMF__Context__Module__Group_gae6f3975b595997524e87057348c3b19b}{ecore\+\_\+imf\+\_\+context\+\_\+event\+\_\+callback\+\_\+call()}} instead. \end{DoxyRefDesc}


References \mbox{\hyperlink{group__Ecore__Event__Group_ga81a4c863503927fb70fa5f35625c4352}{ecore\+\_\+event\+\_\+add()}}, and \mbox{\hyperlink{group__Eina__Safety__Checks__Group_ga1ccf8538d0015b3801ff642e6156843a}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN}}.

\mbox{\Hypertarget{group__Ecore__IMF__Context__Module__Group_ga00f0b451fcb79d2ad0fcda24eed557ee}\label{group__Ecore__IMF__Context__Module__Group_ga00f0b451fcb79d2ad0fcda24eed557ee}} 
\index{Ecore Input Method Context Module Functions@{Ecore Input Method Context Module Functions}!ecore\_imf\_context\_delete\_surrounding\_event\_add@{ecore\_imf\_context\_delete\_surrounding\_event\_add}}
\index{ecore\_imf\_context\_delete\_surrounding\_event\_add@{ecore\_imf\_context\_delete\_surrounding\_event\_add}!Ecore Input Method Context Module Functions@{Ecore Input Method Context Module Functions}}
\doxysubsubsection{\texorpdfstring{ecore\_imf\_context\_delete\_surrounding\_event\_add()}{ecore\_imf\_context\_delete\_surrounding\_event\_add()}}
{\footnotesize\ttfamily \mbox{\hyperlink{group__Eina__Types__Group_gad5b2116495471db12a34bab9a34edfaa}{EINA\+\_\+\+DEPRECATED}} EAPI void ecore\+\_\+imf\+\_\+context\+\_\+delete\+\_\+surrounding\+\_\+event\+\_\+add (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ecore__IMF__Context__Group_gab990e052e8501815371d7289dfd4a017}{Ecore\+\_\+\+IMF\+\_\+\+Context}} $\ast$}]{ctx,  }\item[{int}]{offset,  }\item[{int}]{n\+\_\+chars }\end{DoxyParamCaption})}



Adds ECORE\+\_\+\+IMF\+\_\+\+EVENT\+\_\+\+DELETE\+\_\+\+SURROUNDING to the event queue. 

Asks the widget that the input context is attached to to delete characters around the cursor position by adding the ECORE\+\_\+\+IMF\+\_\+\+EVENT\+\_\+\+DELETE\+\_\+\+SURROUNDING to the event queue. Note that offset and n\+\_\+chars are in characters not in bytes.

It\textquotesingle{}s asynchronous method to put ECORE\+\_\+\+IMF\+\_\+\+EVENT\+\_\+\+DELETE\+\_\+\+SURROUNDING event to the event queue. \mbox{\hyperlink{group__Ecore__IMF__Context__Module__Group_gae6f3975b595997524e87057348c3b19b}{ecore\+\_\+imf\+\_\+context\+\_\+event\+\_\+callback\+\_\+call()}} can be used as synchronous method.


\begin{DoxyParams}{Parameters}
{\em ctx} & An \mbox{\hyperlink{group__Ecore__IMF__Context__Group_gab990e052e8501815371d7289dfd4a017}{Ecore\+\_\+\+IMF\+\_\+\+Context}}. \\
\hline
{\em offset} & The start offset of surrounding to be deleted. \\
\hline
{\em n\+\_\+chars} & The number of characters to be deleted.\\
\hline
\end{DoxyParams}
\begin{DoxyRefDesc}{Deprecated}
\item[\mbox{\hyperlink{deprecated__deprecated000021}{Deprecated}}]use \mbox{\hyperlink{group__Ecore__IMF__Context__Module__Group_gae6f3975b595997524e87057348c3b19b}{ecore\+\_\+imf\+\_\+context\+\_\+event\+\_\+callback\+\_\+call()}} instead. \end{DoxyRefDesc}


References \mbox{\hyperlink{group__Ecore__Event__Group_ga81a4c863503927fb70fa5f35625c4352}{ecore\+\_\+event\+\_\+add()}}.

\mbox{\Hypertarget{group__Ecore__IMF__Context__Module__Group_gae6f3975b595997524e87057348c3b19b}\label{group__Ecore__IMF__Context__Module__Group_gae6f3975b595997524e87057348c3b19b}} 
\index{Ecore Input Method Context Module Functions@{Ecore Input Method Context Module Functions}!ecore\_imf\_context\_event\_callback\_call@{ecore\_imf\_context\_event\_callback\_call}}
\index{ecore\_imf\_context\_event\_callback\_call@{ecore\_imf\_context\_event\_callback\_call}!Ecore Input Method Context Module Functions@{Ecore Input Method Context Module Functions}}
\doxysubsubsection{\texorpdfstring{ecore\_imf\_context\_event\_callback\_call()}{ecore\_imf\_context\_event\_callback\_call()}}
{\footnotesize\ttfamily EAPI void ecore\+\_\+imf\+\_\+context\+\_\+event\+\_\+callback\+\_\+call (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ecore__IMF__Context__Group_gab990e052e8501815371d7289dfd4a017}{Ecore\+\_\+\+IMF\+\_\+\+Context}} $\ast$}]{ctx,  }\item[{\mbox{\hyperlink{group__Ecore__IMF__Context__Group_ga06aadd645f11ba5c8d00943aa327be5a}{Ecore\+\_\+\+IMF\+\_\+\+Callback\+\_\+\+Type}}}]{type,  }\item[{void $\ast$}]{event\+\_\+info }\end{DoxyParamCaption})}



Calls a given callback on the context {\ttfamily ctx}. 

\mbox{\hyperlink{group__Ecore__IMF__Context__Module__Group_ga24102021df9910871fd69a9aeb23cabb}{ecore\+\_\+imf\+\_\+context\+\_\+preedit\+\_\+start\+\_\+event\+\_\+add()}}, \mbox{\hyperlink{group__Ecore__IMF__Context__Module__Group_gad67ac4e708b7dccad3bd46437b562009}{ecore\+\_\+imf\+\_\+context\+\_\+preedit\+\_\+end\+\_\+event\+\_\+add()}}, \mbox{\hyperlink{group__Ecore__IMF__Context__Module__Group_gabdbcb39d485cf961e0c7f04777e7e041}{ecore\+\_\+imf\+\_\+context\+\_\+preedit\+\_\+changed\+\_\+event\+\_\+add()}}, \mbox{\hyperlink{group__Ecore__IMF__Context__Module__Group_ga6f45ccdde23d5281b91f08e56aeb8916}{ecore\+\_\+imf\+\_\+context\+\_\+commit\+\_\+event\+\_\+add()}} and \mbox{\hyperlink{group__Ecore__IMF__Context__Module__Group_ga00f0b451fcb79d2ad0fcda24eed557ee}{ecore\+\_\+imf\+\_\+context\+\_\+delete\+\_\+surrounding\+\_\+event\+\_\+add()}} APIs are asynchronous because those API adds each event to the event queue.

This API provides the way to call each callback function immediately.


\begin{DoxyParams}{Parameters}
{\em ctx} & Ecore\+\_\+\+IMF\+\_\+\+Context. \\
\hline
{\em type} & The type of event that will trigger the callback \\
\hline
{\em event\+\_\+info} & The pointer to event specific struct or information to pass to the callback functions registered on this event \\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+2.\+0 
\end{DoxySince}


References \mbox{\hyperlink{group__Eina__List__Group_gac6efafc19f526d916cdb9757240a8773}{EINA\+\_\+\+LIST\+\_\+\+FOREACH}}.

