SCIMBridge  0.4.x
scim-bridge-agent-imcontext.h
Go to the documentation of this file.
1 /*
2  * SCIM Bridge
3  *
4  * Copyright (c) 2006 Ryo Dairiki <ryo-dairiki@users.sourceforge.net>
5  *
6  *
7  * This library is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public
9  * License as published by the Free Software Foundation and
10  * appearing in the file LICENSE.LGPL included in the package of this file.
11  * You can also redistribute it and/or modify it under the terms of
12  * the GNU General Public License as published by the Free Software Foundation and
13  * appearing in the file LICENSE.GPL included in the package of this file.
14  *
15  * This library is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
18  */
19 
26 #ifndef SCIMBRIDGEAGENTIMCONTEXT_H_
27 #define SCIMBRIDGEAGENTIMCONTEXT_H_
28 
29 #define Uses_SCIM_ATTRIBUTE
30 #define Uses_SCIM_BACKEND
31 #define Uses_SCIM_IMENGINE
32 #define Uses_SCIM_IMENGINE_MODULE
33 #define Uses_SCIM_LOOKUP_TABLE
34 
35 #include <scim.h>
36 
37 #include "scim-bridge.h"
38 #include "scim-bridge-imcontext.h"
39 
41 
44 
49 {
50 
51  public:
52 
60 
66  static void free_by_client (const ScimBridgeAgentClientListener *client_listener);
67 
75 
83  static void static_initialize (ScimBridgeAgentPanelListenerProtected *panel_listener, const scim::String &scim_language, scim::BackEndPointer scim_backend);
84 
88  static void static_finalize ();
89 
95  static bool is_imengine_shared ();
96 
102  static void set_imengine_shared (bool shared);
103 
109  static bool is_on_the_spot_enabled ();
110 
116  static void set_on_the_spot_enabled (bool enabled);
117 
123  static bool is_enabled_by_default ();
124 
130  static void set_enabled_by_default (bool enabled);
131 
136 
142  virtual bool is_enabled () = 0;
143 
149  virtual void set_enabled (bool new_state) = 0;
150 
156  virtual scim_bridge_preedit_mode_t get_preedit_mode () const = 0;
157 
163  virtual void set_preedit_mode (scim_bridge_preedit_mode_t new_preedit_mode) = 0;
164 
170  virtual scim_bridge_imcontext_id_t get_id () = 0;
171 
178 
185  virtual bool filter_key_event (const scim::KeyEvent &key_event) = 0;
186 
192  virtual void forward_key_event (const scim::KeyEvent &key_event) = 0;
193 
197  virtual void focus_in () = 0;
198 
202  virtual void focus_out () = 0;
203 
207  virtual void reset () = 0;
208 
215  virtual void set_cursor_location (int x, int y) = 0;
216 
220  virtual void open_next_imengine () = 0;
221 
225  virtual void open_previous_imengine () = 0;
226 
230  virtual void open_imengine_by_uuid (const scim::String &uuid) = 0;
231 
235  virtual void open_imengine (scim::IMEngineFactoryPointer factory) = 0;
236 
242  virtual void update_lookup_table_page_size (int page_size) = 0;
243 
247  virtual void lookup_table_page_up () = 0;
248 
252  virtual void lookup_table_page_down () = 0;
253 
259  virtual void lookup_table_select_candidate (int candidate_index) = 0;
260 
266  virtual void trigger_property (const scim::String &property) = 0;
267 
275  virtual void process_helper_event (const scim::String &target_uuid, const scim::String &helper_uuid, const scim::Transaction &trans) = 0;
276 
282  virtual void panel_move_preedit_caret (int caret_pos) = 0;
283 
289  virtual void panel_commit_string (const scim::WideString &wstr) = 0;
290 
294  virtual void panel_request_help () = 0;
295 
301  virtual void panel_change_factory (const scim::String &uuid) = 0;
302 
303  protected:
304 
309 
310 };
311 #endif /*SCIMBRIDGEAGENTIMCONTEXT_H_*/
Definition: scim-bridge-agent-panel-listener-protected.h:40
virtual ~ScimBridgeAgentIMContext()
Definition: scim-bridge-agent-imcontext.h:135
Definition: scim-bridge-agent-client-listener.h:43
static bool is_imengine_shared()
Definition: scim-bridge-agent-imcontext.cpp:383
enum _scim_bridge_preedit_mode_t scim_bridge_preedit_mode_t
Definition: scim-bridge-imcontext.h:41
virtual void panel_move_preedit_caret(int caret_pos)=0
virtual void set_cursor_location(int x, int y)=0
virtual ScimBridgeAgentClientListener * get_client_listener()=0
This is the header file for the protected interface of ScimBridgeAgentPanelListener.
static void free_by_client(const ScimBridgeAgentClientListener *client_listener)
Definition: scim-bridge-agent-imcontext.cpp:244
virtual void panel_request_help()=0
This header must be included by all the source codes which use IMContextes.
virtual void forward_key_event(const scim::KeyEvent &key_event)=0
static void static_initialize(ScimBridgeAgentPanelListenerProtected *panel_listener, const scim::String &scim_language, scim::BackEndPointer scim_backend)
Definition: scim-bridge-agent-imcontext.cpp:199
virtual void reset()=0
virtual void lookup_table_select_candidate(int candidate_index)=0
virtual bool filter_key_event(const scim::KeyEvent &key_event)=0
virtual bool is_enabled()=0
virtual void update_lookup_table_page_size(int page_size)=0
virtual void lookup_table_page_up()=0
virtual void panel_commit_string(const scim::WideString &wstr)=0
virtual void open_next_imengine()=0
int scim_bridge_imcontext_id_t
Definition: scim-bridge-imcontext.h:47
static void static_finalize()
Definition: scim-bridge-agent-imcontext.cpp:215
static bool is_on_the_spot_enabled()
Definition: scim-bridge-agent-imcontext.cpp:265
This header describes about fundamental definitions of scim-bridge.
virtual void focus_out()=0
virtual void trigger_property(const scim::String &property)=0
static void set_on_the_spot_enabled(bool enabled)
Definition: scim-bridge-agent-imcontext.cpp:271
static bool is_enabled_by_default()
Definition: scim-bridge-agent-imcontext.cpp:371
virtual void open_previous_imengine()=0
virtual void lookup_table_page_down()=0
virtual scim_bridge_preedit_mode_t get_preedit_mode() const =0
virtual void process_helper_event(const scim::String &target_uuid, const scim::String &helper_uuid, const scim::Transaction &trans)=0
static ScimBridgeAgentIMContext * find(scim_bridge_imcontext_id_t imcontext_id)
Definition: scim-bridge-agent-imcontext.cpp:255
ScimBridgeAgentIMContext()
Definition: scim-bridge-agent-imcontext.h:308
virtual void focus_in()=0
virtual void panel_change_factory(const scim::String &uuid)=0
virtual void open_imengine(scim::IMEngineFactoryPointer factory)=0
Definition: scim-bridge-agent-imcontext.h:48
virtual scim_bridge_imcontext_id_t get_id()=0
virtual void set_preedit_mode(scim_bridge_preedit_mode_t new_preedit_mode)=0
virtual void open_imengine_by_uuid(const scim::String &uuid)=0
static void set_enabled_by_default(bool enabled)
Definition: scim-bridge-agent-imcontext.cpp:377
static void set_imengine_shared(bool shared)
Definition: scim-bridge-agent-imcontext.cpp:389
static ScimBridgeAgentIMContext * alloc(ScimBridgeAgentClientListener *client_listener)
Definition: scim-bridge-agent-imcontext.cpp:238
virtual void set_enabled(bool new_state)=0