SCIMBridge  0.4.x
scim-bridge-agent-panel-client.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 
20 
27 #ifndef SCIMBRIDGEAGENTPANELCLIENT_H
28 #define SCIMBRIDGEAGENTPANELCLIENT_H
29 
30 #define Uses_SCIM_EVENT
31 #define Uses_SCIM_PANEL_CLIENT
32 #define Uses_SCIM_SIGNAL
33 #define Uses_SCIM_SOCKET
34 #define Uses_SCIM_TRANSACTION
35 #define Uses_SCIM_TRANS_COMMANDS
36 
37 #include <scim.h>
38 
39 #include "scim-bridge.h"
40 #include "scim-bridge-display.h"
41 #include "scim-bridge-imcontext.h"
42 
43 typedef scim::Slot1<void, int> ScimBridgeAgentPanelClientSlotVoid;
44 typedef scim::Slot2<void, int, int> ScimBridgeAgentPanelClientSlotInt;
45 typedef scim::Slot2<void, int, const scim::String&> ScimBridgeAgentPanelClientSlotString;
46 typedef scim::Slot2<void, int, const scim::WideString&> ScimBridgeAgentPanelClientSlotWideString;
47 typedef scim::Slot4<void, int, const scim::String&, const scim::String&, const scim::Transaction&> ScimBridgeAgentPanelClientSlotStringStringTransaction;
48 typedef scim::Slot2<void, int, const scim::KeyEvent&> ScimBridgeAgentPanelClientSlotKeyEvent;
49 
50 
55 {
56 
57  public:
58 
66  static ScimBridgeAgentPanelClient *alloc (const scim::String &config_name, const ScimBridgeDisplay *display);
67 
68 
72  virtual ~ScimBridgeAgentPanelClient ();
73 
74 
78  virtual int open_connection () = 0;
79 
80 
84  virtual void close_connection () = 0;
85 
86 
92  virtual int get_connection_number () const = 0;
93 
94 
100  virtual bool is_connected () const = 0;
101 
102 
108  virtual bool has_pending_event () const = 0;
109 
110 
116  virtual retval_t filter_event () = 0;
117 
118 
125  virtual retval_t prepare (scim_bridge_imcontext_id_t imcontext_id) = 0;
126 
127 
133  virtual retval_t send () = 0;
134 
135 
139  virtual void turn_on () = 0;
140 
144  virtual void turn_off () = 0;
145 
146 
150  virtual void update_screen () = 0;
151 
152 
158  virtual void show_help (const scim::String &help_text) = 0;
159 
160 
166  virtual void show_factory_menu (const std::vector<scim::PanelFactoryInfo> &menu) = 0;
167 
168 
174  virtual void focus_in (const scim::String &uuid) = 0;
175 
176 
180  virtual void focus_out () = 0;
181 
182 
188  virtual void update_factory_info (const scim::PanelFactoryInfo &info) = 0;
189 
190 
197  virtual void update_spot_location (int x, int y) = 0;
198 
199 
203  virtual void show_preedit_string () = 0;
204 
205 
209  virtual void show_aux_string () = 0;
210 
214  virtual void show_lookup_table () = 0;
215 
216 
220  virtual void hide_preedit_string () = 0;
221 
222 
226  virtual void hide_aux_string () = 0;
227 
228 
232  virtual void hide_lookup_table () = 0;
233 
234 
241  virtual void update_preedit_string (const scim::WideString &str, const scim::AttributeList &attrs) = 0;
242 
248  virtual void update_preedit_caret (int cursor_position) = 0;
249 
256  virtual void update_aux_string (const scim::WideString &str, const scim::AttributeList &attrs) = 0;
257 
258 
264  virtual void update_lookup_table (const scim::LookupTable &table) = 0;
265 
271  virtual void register_properties (const scim::PropertyList &properties) = 0;
272 
278  virtual void update_property (const scim::Property &property) = 0;
279 
280 
286  virtual void start_helper (const scim::String &helper_uuid) = 0;
287 
288 
294  virtual void stop_helper (const scim::String &helper_uuid) = 0;
295 
296 
303  virtual void send_helper_event (const scim::String &helper_uuid, const scim::Transaction &trans) = 0;
304 
305 
311  virtual void register_input_context (const scim::String &uuid) = 0;
312 
313 
317  virtual void remove_input_context () = 0;
318 
319 
326  virtual scim::Connection signal_connect_reload_config (ScimBridgeAgentPanelClientSlotVoid *slot) = 0;
327 
328 
335  virtual scim::Connection signal_connect_exit (ScimBridgeAgentPanelClientSlotVoid *slot) = 0;
336 
337 
344  virtual scim::Connection signal_connect_update_lookup_table_page_size (ScimBridgeAgentPanelClientSlotInt *slot) = 0;
345 
346 
353  virtual scim::Connection signal_connect_lookup_table_page_up (ScimBridgeAgentPanelClientSlotVoid *slot) = 0;
354 
355 
362  virtual scim::Connection signal_connect_lookup_table_page_down (ScimBridgeAgentPanelClientSlotVoid *slot) = 0;
363 
364 
371  virtual scim::Connection signal_connect_trigger_property (ScimBridgeAgentPanelClientSlotString *slot) = 0;
372 
373 
380  virtual scim::Connection signal_connect_process_helper_event (ScimBridgeAgentPanelClientSlotStringStringTransaction *slot) = 0;
381 
382 
389  virtual scim::Connection signal_connect_move_preedit_caret (ScimBridgeAgentPanelClientSlotInt *slot) = 0;
390 
391 
398  virtual scim::Connection signal_connect_select_candidate (ScimBridgeAgentPanelClientSlotInt *slot) = 0;
399 
400 
407  virtual scim::Connection signal_connect_process_key_event (ScimBridgeAgentPanelClientSlotKeyEvent *slot) = 0;
408 
409 
416  virtual scim::Connection signal_connect_commit_string (ScimBridgeAgentPanelClientSlotWideString *slot) = 0;
417 
418 
425  virtual scim::Connection signal_connect_forward_key_event (ScimBridgeAgentPanelClientSlotKeyEvent *slot) = 0;
426 
427 
434  virtual scim::Connection signal_connect_request_help (ScimBridgeAgentPanelClientSlotVoid *slot) = 0;
435 
436 
443  virtual scim::Connection signal_connect_request_factory_menu (ScimBridgeAgentPanelClientSlotVoid *slot) = 0;
444 
445 
452  virtual scim::Connection signal_connect_change_factory (ScimBridgeAgentPanelClientSlotString *slot) = 0;
453 
454  protected:
455 
457 };
458 #endif /*SCIMBRIDGEAGENTPANELCLIENT_H*/
ScimBridgeAgentPanelClient
Definition: scim-bridge-agent-panel-client.h:55
scim_bridge_println
void scim_bridge_println(const char *format,...)
Definition: scim-bridge-agent-output.cpp:127
ScimBridgeAgentPanelClientImpl::signal_connect_exit
Connection signal_connect_exit(ScimBridgeAgentPanelClientSlotVoid *slot)
Definition: scim-bridge-agent-panel-client.cpp:651
ScimBridgeAgentPanelClient::is_connected
virtual bool is_connected() const =0
ScimBridgeAgentPanelClientImpl::is_connected
bool is_connected() const
Definition: scim-bridge-agent-panel-client.cpp:257
ScimBridgeAgentPanelClientImpl::hide_aux_string
void hide_aux_string()
Definition: scim-bridge-agent-panel-client.cpp:534
ScimBridgeAgentPanelClientImpl::update_preedit_caret
void update_preedit_caret(int cursor_position)
Definition: scim-bridge-agent-panel-client.cpp:556
ScimBridgeAgentPanelClientImpl::turn_on
void turn_on()
Definition: scim-bridge-agent-panel-client.cpp:429
RETVAL_FAILED
#define RETVAL_FAILED
Definition: scim-bridge.h:64
ScimBridgeAgentPanelClientImpl::close_connection
void close_connection()
Definition: scim-bridge-agent-panel-client.cpp:243
ScimBridgeAgentPanelClientImpl::remove_input_context
void remove_input_context()
Definition: scim-bridge-agent-panel-client.cpp:639
scim_bridge_copy_display
void scim_bridge_copy_display(ScimBridgeDisplay *dst, const ScimBridgeDisplay *src)
Definition: scim-bridge-display.c:56
ScimBridgeAgentPanelClientImpl::signal_connect_move_preedit_caret
Connection signal_connect_move_preedit_caret(ScimBridgeAgentPanelClientSlotInt *slot)
Definition: scim-bridge-agent-panel-client.cpp:687
ScimBridgeAgentPanelClientImpl::signal_connect_lookup_table_page_up
Connection signal_connect_lookup_table_page_up(ScimBridgeAgentPanelClientSlotVoid *slot)
Definition: scim-bridge-agent-panel-client.cpp:663
ScimBridgeAgentPanelClient::update_screen
virtual void update_screen()=0
ScimBridgeAgentPanelClientImpl::show_aux_string
void show_aux_string()
Definition: scim-bridge-agent-panel-client.cpp:516
ScimBridgeAgentPanelClient::show_aux_string
virtual void show_aux_string()=0
scim_bridge_display_get_name
const char * scim_bridge_display_get_name(const ScimBridgeDisplay *display)
Definition: scim-bridge-display.c:151
ScimBridgeAgentPanelClient::update_property
virtual void update_property(const scim::Property &property)=0
ScimBridgeAgentPanelClient::prepare
virtual retval_t prepare(scim_bridge_imcontext_id_t imcontext_id)=0
ScimBridgeAgentPanelClientImpl::prepare
retval_t prepare(scim_bridge_imcontext_id_t imcontext_id)
Definition: scim-bridge-agent-panel-client.cpp:387
ScimBridgeAgentPanelClientImpl::turn_off
void turn_off()
Definition: scim-bridge-agent-panel-client.cpp:435
ScimBridgeAgentPanelClient::focus_in
virtual void focus_in(const scim::String &uuid)=0
ScimBridgeAgentPanelClientImpl::get_connection_number
int get_connection_number() const
Definition: scim-bridge-agent-panel-client.cpp:251
ScimBridgeAgentPanelClient::stop_helper
virtual void stop_helper(const scim::String &helper_uuid)=0
scim-bridge.h
This header describes about fundamental definitions of scim-bridge.
ScimBridgeAgentPanelClient::signal_connect_lookup_table_page_down
virtual scim::Connection signal_connect_lookup_table_page_down(ScimBridgeAgentPanelClientSlotVoid *slot)=0
ScimBridgeAgentPanelClient::hide_preedit_string
virtual void hide_preedit_string()=0
ScimBridgeAgentPanelClientImpl::update_spot_location
void update_spot_location(int x, int y)
Definition: scim-bridge-agent-panel-client.cpp:500
RETVAL_SUCCEEDED
#define RETVAL_SUCCEEDED
Definition: scim-bridge.h:69
ScimBridgeAgentPanelClient::show_preedit_string
virtual void show_preedit_string()=0
ScimBridgeAgentPanelClient::signal_connect_process_helper_event
virtual scim::Connection signal_connect_process_helper_event(ScimBridgeAgentPanelClientSlotStringStringTransaction *slot)=0
ScimBridgeAgentPanelClient::update_aux_string
virtual void update_aux_string(const scim::WideString &str, const scim::AttributeList &attrs)=0
scim_bridge_free_display
void scim_bridge_free_display(ScimBridgeDisplay *display)
Definition: scim-bridge-display.c:47
ScimBridgeAgentPanelClient::show_lookup_table
virtual void show_lookup_table()=0
scim_bridge_alloc_display
ScimBridgeDisplay * scim_bridge_alloc_display()
Definition: scim-bridge-display.c:35
ScimBridgeAgentPanelClient::update_spot_location
virtual void update_spot_location(int x, int y)=0
scim-bridge-output.h
This header is used for print out error messages.
ScimBridgeAgentPanelClient::update_preedit_caret
virtual void update_preedit_caret(int cursor_position)=0
ScimBridgeAgentPanelClient::open_connection
virtual int open_connection()=0
ScimBridgeAgentPanelClient::hide_aux_string
virtual void hide_aux_string()=0
ScimBridgeAgentPanelClient::register_properties
virtual void register_properties(const scim::PropertyList &properties)=0
ScimBridgeAgentPanelClient::signal_connect_update_lookup_table_page_size
virtual scim::Connection signal_connect_update_lookup_table_page_size(ScimBridgeAgentPanelClientSlotInt *slot)=0
ScimBridgeAgentPanelClient::update_preedit_string
virtual void update_preedit_string(const scim::WideString &str, const scim::AttributeList &attrs)=0
scim_bridge_pdebugln
void scim_bridge_pdebugln(scim_bridge_debug_level_t level, const char *format,...)
Definition: scim-bridge-agent-output.cpp:81
ScimBridgeAgentPanelClientImpl::signal_connect_change_factory
Connection signal_connect_change_factory(ScimBridgeAgentPanelClientSlotString *slot)
Definition: scim-bridge-agent-panel-client.cpp:729
ScimBridgeAgentPanelClient::update_lookup_table
virtual void update_lookup_table(const scim::LookupTable &table)=0
ScimBridgeAgentPanelClient::signal_connect_move_preedit_caret
virtual scim::Connection signal_connect_move_preedit_caret(ScimBridgeAgentPanelClientSlotInt *slot)=0
ScimBridgeAgentPanelClientImpl::signal_connect_commit_string
Connection signal_connect_commit_string(ScimBridgeAgentPanelClientSlotWideString *slot)
Definition: scim-bridge-agent-panel-client.cpp:705
ScimBridgeAgentPanelClientImpl::filter_event
retval_t filter_event()
Definition: scim-bridge-agent-panel-client.cpp:269
ScimBridgeAgentPanelClient::send_helper_event
virtual void send_helper_event(const scim::String &helper_uuid, const scim::Transaction &trans)=0
ScimBridgeAgentPanelClient::signal_connect_trigger_property
virtual scim::Connection signal_connect_trigger_property(ScimBridgeAgentPanelClientSlotString *slot)=0
scim_bridge_display_get_screen_number
int scim_bridge_display_get_screen_number(const ScimBridgeDisplay *display)
Definition: scim-bridge-display.c:202
scim_bridge_imcontext_id_t
int scim_bridge_imcontext_id_t
Definition: scim-bridge-imcontext.h:47
ScimBridgeAgentPanelClient::signal_connect_change_factory
virtual scim::Connection signal_connect_change_factory(ScimBridgeAgentPanelClientSlotString *slot)=0
ScimBridgeAgentPanelClientImpl::signal_connect_process_helper_event
Connection signal_connect_process_helper_event(ScimBridgeAgentPanelClientSlotStringStringTransaction *slot)
Definition: scim-bridge-agent-panel-client.cpp:681
scim-bridge-agent-panel-client.h
This is the header of the panel clients for SCIMBridge.
ScimBridgeAgentPanelClient::close_connection
virtual void close_connection()=0
ScimBridgeAgentPanelClient::signal_connect_exit
virtual scim::Connection signal_connect_exit(ScimBridgeAgentPanelClientSlotVoid *slot)=0
ScimBridgeAgentPanelClientImpl::signal_connect_process_key_event
Connection signal_connect_process_key_event(ScimBridgeAgentPanelClientSlotKeyEvent *slot)
Definition: scim-bridge-agent-panel-client.cpp:699
_ScimBridgeDisplay
Definition: scim-bridge-display.c:28
ScimBridgeAgentPanelClientImpl::hide_preedit_string
void hide_preedit_string()
Definition: scim-bridge-agent-panel-client.cpp:528
ScimBridgeAgentPanelClientImpl::update_screen
void update_screen()
Definition: scim-bridge-agent-panel-client.cpp:441
ScimBridgeAgentPanelClientImpl::has_pending_event
bool has_pending_event() const
Definition: scim-bridge-agent-panel-client.cpp:263
ScimBridgeAgentPanelClientImpl::signal_connect_lookup_table_page_down
Connection signal_connect_lookup_table_page_down(ScimBridgeAgentPanelClientSlotVoid *slot)
Definition: scim-bridge-agent-panel-client.cpp:669
ScimBridgeAgentPanelClientImpl::hide_lookup_table
void hide_lookup_table()
Definition: scim-bridge-agent-panel-client.cpp:540
ScimBridgeAgentPanelClient::hide_lookup_table
virtual void hide_lookup_table()=0
ScimBridgeAgentPanelClient::signal_connect_commit_string
virtual scim::Connection signal_connect_commit_string(ScimBridgeAgentPanelClientSlotWideString *slot)=0
ScimBridgeAgentPanelClientImpl::signal_connect_request_factory_menu
Connection signal_connect_request_factory_menu(ScimBridgeAgentPanelClientSlotVoid *slot)
Definition: scim-bridge-agent-panel-client.cpp:723
ScimBridgeAgentPanelClientImpl::signal_connect_request_help
Connection signal_connect_request_help(ScimBridgeAgentPanelClientSlotVoid *slot)
Definition: scim-bridge-agent-panel-client.cpp:717
ScimBridgeAgentPanelClientImpl::signal_connect_trigger_property
Connection signal_connect_trigger_property(ScimBridgeAgentPanelClientSlotString *slot)
Definition: scim-bridge-agent-panel-client.cpp:675
ScimBridgeAgentPanelClientImpl::focus_out
void focus_out()
Definition: scim-bridge-agent-panel-client.cpp:482
ScimBridgeAgentPanelClient::get_connection_number
virtual int get_connection_number() const =0
scim-bridge-display.h
This header describes about the information of the display.
ScimBridgeAgentPanelClientImpl::signal_connect_update_lookup_table_page_size
Connection signal_connect_update_lookup_table_page_size(ScimBridgeAgentPanelClientSlotInt *slot)
Definition: scim-bridge-agent-panel-client.cpp:657
ScimBridgeAgentPanelClientImpl::show_preedit_string
void show_preedit_string()
Definition: scim-bridge-agent-panel-client.cpp:510
ScimBridgeAgentPanelClient::focus_out
virtual void focus_out()=0
ScimBridgeAgentPanelClient::turn_off
virtual void turn_off()=0
ScimBridgeAgentPanelClient::send
virtual retval_t send()=0
ScimBridgeAgentPanelClient::show_help
virtual void show_help(const scim::String &help_text)=0
scim_bridge_perrorln
void scim_bridge_perrorln(const char *format,...)
Definition: scim-bridge-agent-output.cpp:103
ScimBridgeAgentPanelClientImpl::send
retval_t send()
Definition: scim-bridge-agent-panel-client.cpp:414
ScimBridgeAgentPanelClient::turn_on
virtual void turn_on()=0
ScimBridgeAgentPanelClient::remove_input_context
virtual void remove_input_context()=0
ScimBridgeAgentPanelClient::signal_connect_reload_config
virtual scim::Connection signal_connect_reload_config(ScimBridgeAgentPanelClientSlotVoid *slot)=0
ScimBridgeAgentPanelClientImpl
Definition: scim-bridge-agent-panel-client.cpp:52
ScimBridgeAgentPanelClientImpl::signal_connect_forward_key_event
Connection signal_connect_forward_key_event(ScimBridgeAgentPanelClientSlotKeyEvent *slot)
Definition: scim-bridge-agent-panel-client.cpp:711
ScimBridgeAgentPanelClientImpl::open_connection
int open_connection()
Definition: scim-bridge-agent-panel-client.cpp:217
ScimBridgeAgentPanelClient::signal_connect_process_key_event
virtual scim::Connection signal_connect_process_key_event(ScimBridgeAgentPanelClientSlotKeyEvent *slot)=0
ScimBridgeAgentPanelClient::has_pending_event
virtual bool has_pending_event() const =0
ScimBridgeAgentPanelClientImpl::show_lookup_table
void show_lookup_table()
Definition: scim-bridge-agent-panel-client.cpp:522
ScimBridgeAgentPanelClient::update_factory_info
virtual void update_factory_info(const scim::PanelFactoryInfo &info)=0
ScimBridgeAgentPanelClient::signal_connect_forward_key_event
virtual scim::Connection signal_connect_forward_key_event(ScimBridgeAgentPanelClientSlotKeyEvent *slot)=0
ScimBridgeAgentPanelClientImpl::signal_connect_select_candidate
Connection signal_connect_select_candidate(ScimBridgeAgentPanelClientSlotInt *slot)
Definition: scim-bridge-agent-panel-client.cpp:693
ScimBridgeAgentPanelClient::signal_connect_lookup_table_page_up
virtual scim::Connection signal_connect_lookup_table_page_up(ScimBridgeAgentPanelClientSlotVoid *slot)=0
ScimBridgeAgentPanelClient::filter_event
virtual retval_t filter_event()=0
retval_t
int retval_t
Definition: scim-bridge.h:59
ScimBridgeAgentPanelClient::signal_connect_request_help
virtual scim::Connection signal_connect_request_help(ScimBridgeAgentPanelClientSlotVoid *slot)=0
ScimBridgeAgentPanelClient::register_input_context
virtual void register_input_context(const scim::String &uuid)=0
ScimBridgeAgentPanelClient::signal_connect_select_candidate
virtual scim::Connection signal_connect_select_candidate(ScimBridgeAgentPanelClientSlotInt *slot)=0
ScimBridgeAgentPanelClient::signal_connect_request_factory_menu
virtual scim::Connection signal_connect_request_factory_menu(ScimBridgeAgentPanelClientSlotVoid *slot)=0
ScimBridgeAgentPanelClient::~ScimBridgeAgentPanelClient
virtual ~ScimBridgeAgentPanelClient()
Definition: scim-bridge-agent-panel-client.cpp:156
ScimBridgeAgentPanelClientImpl::signal_connect_reload_config
Connection signal_connect_reload_config(ScimBridgeAgentPanelClientSlotVoid *slot)
Definition: scim-bridge-agent-panel-client.cpp:645
ScimBridgeAgentPanelClient::show_factory_menu
virtual void show_factory_menu(const std::vector< scim::PanelFactoryInfo > &menu)=0
scim-bridge-imcontext.h
This header must be included by all the source codes which use IMContextes.
ScimBridgeAgentPanelClientImpl::focus_in
void focus_in(const scim::String &uuid)
Definition: scim-bridge-agent-panel-client.cpp:473
ScimBridgeAgentPanelClient::start_helper
virtual void start_helper(const scim::String &helper_uuid)=0
ScimBridgeAgentPanelClient::alloc
static ScimBridgeAgentPanelClient * alloc(const scim::String &config_name, const ScimBridgeDisplay *display)
Definition: scim-bridge-agent-panel-client.cpp:145