SCIM Bridge 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
26
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"
42
43typedef scim::Slot1<void, int> ScimBridgeAgentPanelClientSlotVoid;
44typedef scim::Slot2<void, int, int> ScimBridgeAgentPanelClientSlotInt;
45typedef scim::Slot2<void, int, const scim::String&> ScimBridgeAgentPanelClientSlotString;
46typedef scim::Slot2<void, int, const scim::WideString&> ScimBridgeAgentPanelClientSlotWideString;
47typedef scim::Slot4<void, int, const scim::String&, const scim::String&, const scim::Transaction&> ScimBridgeAgentPanelClientSlotStringStringTransaction;
48typedef scim::Slot2<void, int, const scim::KeyEvent&> ScimBridgeAgentPanelClientSlotKeyEvent;
49
50
54class ScimBridgeAgentPanelClient
55{
56
57 public:
58
66 static ScimBridgeAgentPanelClient *alloc (const scim::String &config_name, const ScimBridgeDisplay *display);
67
68
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
456 ScimBridgeAgentPanelClient ();
457};
458#endif /*SCIMBRIDGEAGENTPANELCLIENT_H*/
virtual void show_lookup_table()=0
virtual int open_connection()=0
virtual void update_aux_string(const scim::WideString &str, const scim::AttributeList &attrs)=0
virtual retval_t filter_event()=0
virtual scim::Connection signal_connect_reload_config(ScimBridgeAgentPanelClientSlotVoid *slot)=0
virtual scim::Connection signal_connect_forward_key_event(ScimBridgeAgentPanelClientSlotKeyEvent *slot)=0
virtual void close_connection()=0
virtual ~ScimBridgeAgentPanelClient()
Definition scim-bridge-agent-panel-client.cpp:156
virtual void focus_out()=0
virtual scim::Connection signal_connect_commit_string(ScimBridgeAgentPanelClientSlotWideString *slot)=0
virtual scim::Connection signal_connect_exit(ScimBridgeAgentPanelClientSlotVoid *slot)=0
virtual void start_helper(const scim::String &helper_uuid)=0
virtual scim::Connection signal_connect_request_factory_menu(ScimBridgeAgentPanelClientSlotVoid *slot)=0
virtual void update_preedit_string(const scim::WideString &str, const scim::AttributeList &attrs)=0
virtual void focus_in(const scim::String &uuid)=0
static ScimBridgeAgentPanelClient * alloc(const scim::String &config_name, const ScimBridgeDisplay *display)
Definition scim-bridge-agent-panel-client.cpp:145
virtual void register_input_context(const scim::String &uuid)=0
virtual void show_aux_string()=0
virtual void update_factory_info(const scim::PanelFactoryInfo &info)=0
virtual scim::Connection signal_connect_lookup_table_page_up(ScimBridgeAgentPanelClientSlotVoid *slot)=0
virtual void show_help(const scim::String &help_text)=0
virtual void hide_lookup_table()=0
virtual bool has_pending_event() const =0
virtual void update_screen()=0
virtual void remove_input_context()=0
virtual scim::Connection signal_connect_process_helper_event(ScimBridgeAgentPanelClientSlotStringStringTransaction *slot)=0
virtual bool is_connected() const =0
virtual void show_preedit_string()=0
virtual scim::Connection signal_connect_process_key_event(ScimBridgeAgentPanelClientSlotKeyEvent *slot)=0
virtual void hide_aux_string()=0
virtual void show_factory_menu(const std::vector< scim::PanelFactoryInfo > &menu)=0
virtual scim::Connection signal_connect_select_candidate(ScimBridgeAgentPanelClientSlotInt *slot)=0
virtual void turn_off()=0
virtual retval_t prepare(scim_bridge_imcontext_id_t imcontext_id)=0
virtual scim::Connection signal_connect_lookup_table_page_down(ScimBridgeAgentPanelClientSlotVoid *slot)=0
virtual scim::Connection signal_connect_move_preedit_caret(ScimBridgeAgentPanelClientSlotInt *slot)=0
virtual void turn_on()=0
virtual void hide_preedit_string()=0
virtual int get_connection_number() const =0
virtual void update_spot_location(int x, int y)=0
virtual void update_lookup_table(const scim::LookupTable &table)=0
virtual void update_preedit_caret(int cursor_position)=0
virtual void send_helper_event(const scim::String &helper_uuid, const scim::Transaction &trans)=0
virtual scim::Connection signal_connect_request_help(ScimBridgeAgentPanelClientSlotVoid *slot)=0
virtual void stop_helper(const scim::String &helper_uuid)=0
virtual scim::Connection signal_connect_trigger_property(ScimBridgeAgentPanelClientSlotString *slot)=0
virtual scim::Connection signal_connect_change_factory(ScimBridgeAgentPanelClientSlotString *slot)=0
virtual void update_property(const scim::Property &property)=0
virtual retval_t send()=0
virtual void register_properties(const scim::PropertyList &properties)=0
virtual scim::Connection signal_connect_update_lookup_table_page_size(ScimBridgeAgentPanelClientSlotInt *slot)=0
struct _ScimBridgeDisplay ScimBridgeDisplay
Definition scim-bridge-display.h:33
This header describes about the information of the display.
int scim_bridge_imcontext_id_t
Definition scim-bridge-imcontext.h:47
This header must be included by all the source codes which use IMContextes.
int retval_t
Definition scim-bridge.h:59
This header describes about fundamental definitions of scim-bridge.