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 
137  static scim::String get_help_hotkeys ();
138 
145  static void set_help_hotkeys (const scim::String &hotkey_str);
146 
151 
157  virtual bool is_enabled () = 0;
158 
164  virtual void set_enabled (bool new_state) = 0;
165 
172 
178  virtual void set_preedit_mode (scim_bridge_preedit_mode_t new_preedit_mode) = 0;
179 
186 
193 
200  virtual bool filter_key_event (const scim::KeyEvent &key_event) = 0;
201 
207  virtual void forward_key_event (const scim::KeyEvent &key_event) = 0;
208 
212  virtual void focus_in () = 0;
213 
217  virtual void focus_out () = 0;
218 
222  virtual void reset () = 0;
223 
230  virtual void set_cursor_location (int x, int y) = 0;
231 
235  virtual void open_next_imengine () = 0;
236 
240  virtual void open_previous_imengine () = 0;
241 
245  virtual void open_imengine_by_uuid (const scim::String &uuid) = 0;
246 
250  virtual void open_imengine (scim::IMEngineFactoryPointer factory) = 0;
251 
257  virtual void update_lookup_table_page_size (int page_size) = 0;
258 
262  virtual void lookup_table_page_up () = 0;
263 
267  virtual void lookup_table_page_down () = 0;
268 
274  virtual void lookup_table_select_candidate (int candidate_index) = 0;
275 
281  virtual void trigger_property (const scim::String &property) = 0;
282 
290  virtual void process_helper_event (const scim::String &target_uuid, const scim::String &helper_uuid, const scim::Transaction &trans) = 0;
291 
297  virtual void panel_move_preedit_caret (int caret_pos) = 0;
298 
304  virtual void panel_commit_string (const scim::WideString &wstr) = 0;
305 
309  virtual void panel_request_help () = 0;
310 
316  virtual void panel_change_factory (const scim::String &uuid) = 0;
317 
318  protected:
319 
324 
325 };
326 #endif /*SCIMBRIDGEAGENTIMCONTEXT_H_*/
ScimBridgeAgentIMContext::is_imengine_shared
static bool is_imengine_shared()
Definition: scim-bridge-agent-imcontext.cpp:389
ScimBridgeAgentIMContext::set_help_hotkeys
static void set_help_hotkeys(const scim::String &hotkey_str)
Definition: scim-bridge-agent-imcontext.cpp:278
ScimBridgeAgentIMContext::process_helper_event
virtual void process_helper_event(const scim::String &target_uuid, const scim::String &helper_uuid, const scim::Transaction &trans)=0
ScimBridgeAgentPanelListenerProtected::hide_preedit
virtual void hide_preedit()=0
ScimBridgeAgentClientListener::get_surrounding_string
virtual retval_t get_surrounding_string(scim_bridge_imcontext_id_t imcontext_id, int before_max, int after_max, scim::WideString &wstring, int &cursor_position)=0
ScimBridgeAgentIMContext::is_enabled_by_default
static bool is_enabled_by_default()
Definition: scim-bridge-agent-imcontext.cpp:377
ScimBridgeAgentPanelListenerProtected::register_input_context
virtual void register_input_context(const scim::String &factory_uuid)=0
ScimBridgeAgentIMContext::get_id
virtual scim_bridge_imcontext_id_t get_id()=0
ScimBridgeAgentPanelListenerProtected::set_preedit_string
virtual void set_preedit_string(const scim::WideString &str, const scim::AttributeList &attrs)=0
scim-bridge-agent-client-listener.h
This is the header file for ScimBridgeAgentClientListener.
scim-bridge-agent-imcontext.h
This is the header file for ScimBridgeAgentIMContext.
ScimBridgeAgentIMContext::get_help_hotkeys
static scim::String get_help_hotkeys()
ScimBridgeAgentIMContextImpl::focus_in
void focus_in()
Definition: scim-bridge-agent-imcontext.cpp:611
ScimBridgeAgentIMContextImpl::update_lookup_table_page_size
void update_lookup_table_page_size(int page_size)
Definition: scim-bridge-agent-imcontext.cpp:884
ScimBridgeAgentIMContext::focus_in
virtual void focus_in()=0
ScimBridgeAgentPanelListenerProtected::start_helper
virtual void start_helper(const scim::String &helper_uuid)=0
ScimBridgeAgentIMContextImpl::is_enabled
bool is_enabled()
Definition: scim-bridge-agent-imcontext.cpp:434
ScimBridgeAgentIMContextImpl::lookup_table_page_down
void lookup_table_page_down()
Definition: scim-bridge-agent-imcontext.cpp:896
scim-bridge.h
This header describes about fundamental definitions of scim-bridge.
ScimBridgeAgentIMContext::focus_out
virtual void focus_out()=0
ScimBridgeAgentIMContext::open_next_imengine
virtual void open_next_imengine()=0
ScimBridgeAgentClientListener::set_preedit_shown
virtual retval_t set_preedit_shown(scim_bridge_imcontext_id_t imcontext_id, bool shown)=0
ScimBridgeAgentPanelListenerProtected::send_helper_event
virtual void send_helper_event(const scim::String &helper_uuid, const scim::Transaction &trans)=0
ScimBridgeAgentClientListener
Definition: scim-bridge-agent-client-listener.h:44
ScimBridgeAgentClientListener::beep
virtual retval_t beep(scim_bridge_imcontext_id_t imcontext_id)=0
ScimBridgeAgentIMContext::panel_change_factory
virtual void panel_change_factory(const scim::String &uuid)=0
ScimBridgeAgentPanelListenerProtected::show_help
virtual void show_help(const scim::String &string)=0
ScimBridgeAgentPanelListenerProtected::turn_off
virtual void turn_off()=0
ScimBridgeAgentIMContextImpl::set_preedit_mode
void set_preedit_mode(scim_bridge_preedit_mode_t new_preedit_mode)
Definition: scim-bridge-agent-imcontext.cpp:481
ScimBridgeAgentIMContext::set_enabled
virtual void set_enabled(bool new_state)=0
ScimBridgeAgentPanelListenerProtected::stop_helper
virtual void stop_helper(const scim::String &helper_uuid)=0
ScimBridgeAgentPanelListenerProtected::focus_in
virtual void focus_in(const scim::String &factory_uuid)=0
ScimBridgeAgentIMContextImpl::focus_out
void focus_out()
Definition: scim-bridge-agent-imcontext.cpp:661
ScimBridgeAgentIMContext::filter_key_event
virtual bool filter_key_event(const scim::KeyEvent &key_event)=0
ScimBridgeAgentIMContext::alloc
static ScimBridgeAgentIMContext * alloc(ScimBridgeAgentClientListener *client_listener)
Definition: scim-bridge-agent-imcontext.cpp:240
ScimBridgeAgentPanelListenerProtected::show_aux_string
virtual void show_aux_string()=0
ScimBridgeAgentIMContext::set_preedit_mode
virtual void set_preedit_mode(scim_bridge_preedit_mode_t new_preedit_mode)=0
scim-bridge-output.h
This header is used for print out error messages.
ScimBridgeAgentIMContext::panel_move_preedit_caret
virtual void panel_move_preedit_caret(int caret_pos)=0
ScimBridgeAgentClientListener::imengine_status_changed
virtual retval_t imengine_status_changed(scim_bridge_imcontext_id_t imcontext_id, bool enabled)=0
ScimBridgeAgentIMContextImpl::set_cursor_location
void set_cursor_location(int x, int y)
Definition: scim-bridge-agent-imcontext.cpp:688
ScimBridgeAgentIMContext::open_imengine
virtual void open_imengine(scim::IMEngineFactoryPointer factory)=0
ScimBridgeAgentIMContext
Definition: scim-bridge-agent-imcontext.h:49
ScimBridgeAgentIMContextImpl::panel_request_help
void panel_request_help()
Definition: scim-bridge-agent-imcontext.cpp:932
ScimBridgeAgentPanelListenerProtected::turn_on
virtual void turn_on()=0
ScimBridgeAgentIMContext::set_imengine_shared
static void set_imengine_shared(bool shared)
Definition: scim-bridge-agent-imcontext.cpp:395
ScimBridgeAgentPanelListenerProtected
Definition: scim-bridge-agent-panel-listener-protected.h:41
ScimBridgeAgentClientListener::commit_string
virtual retval_t commit_string(scim_bridge_imcontext_id_t imcontext_id, const scim::WideString &wstring)=0
ScimBridgeAgentIMContext::set_on_the_spot_enabled
static void set_on_the_spot_enabled(bool enabled)
Definition: scim-bridge-agent-imcontext.cpp:273
scim_bridge_pdebugln
void scim_bridge_pdebugln(scim_bridge_debug_level_t level, const char *format,...)
Definition: scim-bridge-agent-output.cpp:81
ScimBridgeAgentPanelListenerProtected::send
virtual void send()=0
ScimBridgeAgentIMContextImpl::lookup_table_page_up
void lookup_table_page_up()
Definition: scim-bridge-agent-imcontext.cpp:890
ScimBridgeAgentIMContext::set_enabled_by_default
static void set_enabled_by_default(bool enabled)
Definition: scim-bridge-agent-imcontext.cpp:383
ScimBridgeAgentPanelListenerProtected::set_lookup_table
virtual void set_lookup_table(const scim::LookupTable &table)=0
ScimBridgeAgentIMContext::static_initialize
static void static_initialize(ScimBridgeAgentPanelListenerProtected *panel_listener, const scim::String &scim_language, scim::BackEndPointer scim_backend)
Definition: scim-bridge-agent-imcontext.cpp:201
ScimBridgeAgentPanelListenerProtected::register_properties
virtual void register_properties(const scim::PropertyList &properties)=0
ScimBridgeAgentIMContext::lookup_table_select_candidate
virtual void lookup_table_select_candidate(int candidate_index)=0
scim-bridge-agent-panel-listener-protected.h
This is the header file for the protected interface of ScimBridgeAgentPanelListener.
scim_bridge_imcontext_id_t
int scim_bridge_imcontext_id_t
Definition: scim-bridge-imcontext.h:47
ScimBridgeAgentIMContext::is_enabled
virtual bool is_enabled()=0
ScimBridgeAgentPanelListenerProtected::set_aux_string
virtual void set_aux_string(const scim::WideString &str, const scim::AttributeList &attrs)=0
ScimBridgeAgentIMContextImpl::get_preedit_mode
scim_bridge_preedit_mode_t get_preedit_mode() const
Definition: scim-bridge-agent-imcontext.cpp:475
ScimBridgeAgentPanelListenerProtected::deregister_input_context
virtual void deregister_input_context()=0
ScimBridgeAgentPanelListenerProtected::update_cursor_location
virtual void update_cursor_location(int x, int y)=0
ScimBridgeAgentClientListener::replace_surrounding_string
virtual retval_t replace_surrounding_string(scim_bridge_imcontext_id_t imcontext_id, const scim::WideString &wstring, int cursor_position)=0
ScimBridgeAgentIMContext::reset
virtual void reset()=0
ScimBridgeAgentPanelListenerProtected::update_property
virtual void update_property(const scim::Property &property)=0
ScimBridgeAgentIMContext::update_lookup_table_page_size
virtual void update_lookup_table_page_size(int page_size)=0
ScimBridgeAgentClientListener::delete_surrounding_string
virtual retval_t delete_surrounding_string(scim_bridge_imcontext_id_t imcontext_id, int offset, int length)=0
ScimBridgeAgentIMContext::panel_request_help
virtual void panel_request_help()=0
ScimBridgeAgentIMContext::panel_commit_string
virtual void panel_commit_string(const scim::WideString &wstr)=0
ScimBridgeAgentIMContext::lookup_table_page_up
virtual void lookup_table_page_up()=0
ScimBridgeAgentPanelListenerProtected::show_lookup_table
virtual void show_lookup_table()=0
ScimBridgeAgentIMContext::~ScimBridgeAgentIMContext
virtual ~ScimBridgeAgentIMContext()
Definition: scim-bridge-agent-imcontext.h:150
ScimBridgeAgentIMContextImpl::get_id
scim_bridge_imcontext_id_t get_id()
Definition: scim-bridge-agent-imcontext.cpp:356
ScimBridgeAgentIMContextImpl::reset
void reset()
Definition: scim-bridge-agent-imcontext.cpp:368
ScimBridgeAgentPanelListenerProtected::prepare
virtual void prepare(scim_bridge_imcontext_id_t imcontext_id)=0
ScimBridgeAgentIMContext::static_finalize
static void static_finalize()
Definition: scim-bridge-agent-imcontext.cpp:217
ScimBridgeAgentIMContextImpl::panel_move_preedit_caret
void panel_move_preedit_caret(int caret_pos)
Definition: scim-bridge-agent-imcontext.cpp:920
ScimBridgeAgentIMContextImpl
Definition: scim-bridge-agent-imcontext.cpp:67
ScimBridgeAgentPanelListenerProtected::focus_out
virtual void focus_out()=0
ScimBridgeAgentClientListener::update_preedit
virtual retval_t update_preedit(scim_bridge_imcontext_id_t imcontext_id)=0
ScimBridgeAgentIMContext::find
static ScimBridgeAgentIMContext * find(scim_bridge_imcontext_id_t imcontext_id)
Definition: scim-bridge-agent-imcontext.cpp:257
ScimBridgeAgentIMContextImpl::lookup_table_select_candidate
void lookup_table_select_candidate(int candidate_index)
Definition: scim-bridge-agent-imcontext.cpp:902
ScimBridgeAgentClientListener::set_preedit_cursor_position
virtual retval_t set_preedit_cursor_position(scim_bridge_imcontext_id_t imcontext_id, int cursor_position)=0
ScimBridgeAgentIMContext::open_imengine_by_uuid
virtual void open_imengine_by_uuid(const scim::String &uuid)=0
ScimBridgeAgentIMContext::lookup_table_page_down
virtual void lookup_table_page_down()=0
ScimBridgeAgentClientListener::set_preedit_attributes
virtual retval_t set_preedit_attributes(scim_bridge_imcontext_id_t imcontext_id, const scim::AttributeList &attributes)=0
ScimBridgeAgentIMContext::is_on_the_spot_enabled
static bool is_on_the_spot_enabled()
Definition: scim-bridge-agent-imcontext.cpp:267
ScimBridgeAgentClientListener::forward_key_event
virtual retval_t forward_key_event(scim_bridge_imcontext_id_t imcontext_id, const scim::KeyEvent &key_event)=0
ScimBridgeAgentPanelListenerProtected::update_screen
virtual void update_screen()=0
ScimBridgeAgentIMContext::forward_key_event
virtual void forward_key_event(const scim::KeyEvent &key_event)=0
ScimBridgeAgentIMContext::set_cursor_location
virtual void set_cursor_location(int x, int y)=0
ScimBridgeAgentIMContextImpl::get_client_listener
ScimBridgeAgentClientListener * get_client_listener()
Definition: scim-bridge-agent-imcontext.cpp:362
ScimBridgeAgentIMContext::get_client_listener
virtual ScimBridgeAgentClientListener * get_client_listener()=0
ScimBridgeAgentIMContext::ScimBridgeAgentIMContext
ScimBridgeAgentIMContext()
Definition: scim-bridge-agent-imcontext.h:323
ScimBridgeAgentPanelListenerProtected::hide_lookup_table
virtual void hide_lookup_table()=0
ScimBridgeAgentIMContext::open_previous_imengine
virtual void open_previous_imengine()=0
ScimBridgeAgentIMContext::get_preedit_mode
virtual scim_bridge_preedit_mode_t get_preedit_mode() const =0
ScimBridgeAgentPanelListenerProtected::hide_aux_string
virtual void hide_aux_string()=0
ScimBridgeAgentIMContext::free_by_client
static void free_by_client(const ScimBridgeAgentClientListener *client_listener)
Definition: scim-bridge-agent-imcontext.cpp:246
ScimBridgeAgentPanelListenerProtected::update_factory_info
virtual void update_factory_info(const scim::PanelFactoryInfo &factory_info)=0
ScimBridgeAgentIMContext::trigger_property
virtual void trigger_property(const scim::String &property)=0
ScimBridgeAgentClientListener::set_preedit_string
virtual retval_t set_preedit_string(scim_bridge_imcontext_id_t imcontext_id, const scim::WideString &wstring)=0
ScimBridgeAgentIMContextImpl::set_enabled
void set_enabled(bool new_state)
Definition: scim-bridge-agent-imcontext.cpp:440
ScimBridgeAgentPanelListenerProtected::show_preedit
virtual void show_preedit()=0
ScimBridgeAgentPanelListenerProtected::set_preedit_cursor_position
virtual void set_preedit_cursor_position(int cursor_pos)=0
scim-bridge-imcontext.h
This header must be included by all the source codes which use IMContextes.
scim_bridge_preedit_mode_t
enum _scim_bridge_preedit_mode_t scim_bridge_preedit_mode_t
Definition: scim-bridge-imcontext.h:41