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*/
virtual void update_aux_string(const scim::WideString &str, const scim::AttributeList &attrs)=0
virtual void show_help(const scim::String &help_text)=0
virtual void send_helper_event(const scim::String &helper_uuid, const scim::Transaction &trans)=0
virtual void register_properties(const scim::PropertyList &properties)=0
virtual scim::Connection signal_connect_commit_string(ScimBridgeAgentPanelClientSlotWideString *slot)=0
int retval_t
Definition: scim-bridge.h:59
virtual void update_screen()=0
virtual scim::Connection signal_connect_process_key_event(ScimBridgeAgentPanelClientSlotKeyEvent *slot)=0
virtual void update_lookup_table(const scim::LookupTable &table)=0
This header must be included by all the source codes which use IMContextes.
virtual void update_preedit_caret(int cursor_position)=0
virtual scim::Connection signal_connect_lookup_table_page_down(ScimBridgeAgentPanelClientSlotVoid *slot)=0
static ScimBridgeAgentPanelClient * alloc(const scim::String &config_name, const ScimBridgeDisplay *display)
Definition: scim-bridge-agent-panel-client.cpp:145
virtual void show_preedit_string()=0
int scim_bridge_imcontext_id_t
Definition: scim-bridge-imcontext.h:47
virtual scim::Connection signal_connect_request_factory_menu(ScimBridgeAgentPanelClientSlotVoid *slot)=0
virtual void hide_aux_string()=0
virtual void update_spot_location(int x, int y)=0
virtual retval_t prepare(scim_bridge_imcontext_id_t imcontext_id)=0
This header describes about fundamental definitions of scim-bridge.
virtual bool is_connected() const =0
virtual void update_preedit_string(const scim::WideString &str, const scim::AttributeList &attrs)=0
virtual scim::Connection signal_connect_move_preedit_caret(ScimBridgeAgentPanelClientSlotInt *slot)=0
virtual void focus_in(const scim::String &uuid)=0
virtual scim::Connection signal_connect_change_factory(ScimBridgeAgentPanelClientSlotString *slot)=0
virtual int get_connection_number() const =0
virtual void turn_on()=0
virtual scim::Connection signal_connect_trigger_property(ScimBridgeAgentPanelClientSlotString *slot)=0
virtual bool has_pending_event() const =0
virtual void update_factory_info(const scim::PanelFactoryInfo &info)=0
virtual void close_connection()=0
virtual ~ScimBridgeAgentPanelClient()
Definition: scim-bridge-agent-panel-client.cpp:156
virtual void show_factory_menu(const std::vector< scim::PanelFactoryInfo > &menu)=0
virtual void hide_lookup_table()=0
virtual scim::Connection signal_connect_update_lookup_table_page_size(ScimBridgeAgentPanelClientSlotInt *slot)=0
virtual scim::Connection signal_connect_process_helper_event(ScimBridgeAgentPanelClientSlotStringStringTransaction *slot)=0
virtual scim::Connection signal_connect_reload_config(ScimBridgeAgentPanelClientSlotVoid *slot)=0
This header describes about the information of the display.
Definition: scim-bridge-display.c:27
virtual void update_property(const scim::Property &property)=0
virtual scim::Connection signal_connect_request_help(ScimBridgeAgentPanelClientSlotVoid *slot)=0
virtual void show_aux_string()=0
virtual void focus_out()=0
virtual void turn_off()=0
virtual scim::Connection signal_connect_lookup_table_page_up(ScimBridgeAgentPanelClientSlotVoid *slot)=0
virtual scim::Connection signal_connect_forward_key_event(ScimBridgeAgentPanelClientSlotKeyEvent *slot)=0
virtual void remove_input_context()=0
virtual void hide_preedit_string()=0
virtual scim::Connection signal_connect_select_candidate(ScimBridgeAgentPanelClientSlotInt *slot)=0
virtual retval_t send()=0
virtual int open_connection()=0
Definition: scim-bridge-agent-panel-client.h:54
virtual void start_helper(const scim::String &helper_uuid)=0
virtual retval_t filter_event()=0
virtual void register_input_context(const scim::String &uuid)=0
virtual void stop_helper(const scim::String &helper_uuid)=0
virtual void show_lookup_table()=0
virtual scim::Connection signal_connect_exit(ScimBridgeAgentPanelClientSlotVoid *slot)=0