agent/utils/scim-bridge-agent-panel-client.h

Go to the documentation of this file.
00001 /*
00002  * SCIM Bridge
00003  *
00004  * Copyright (c) 2006 Ryo Dairiki <ryo-dairiki@users.sourceforge.net>
00005  *
00006  *
00007  * This library is free software; you can redistribute it and/or
00008  * modify it under the terms of the GNU Lesser General Public
00009  * License as published by the Free Software Foundation; either
00010  * version 2 of the License, or (at your option) any later version.*
00011  * This library is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
00014  * GNU Lesser General Public License for more details.*
00015  * You should have received a copy of the GNU Lesser General Public
00016  * License along with this program; if not, write to the
00017  * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
00018  * Boston, MA  02111-1307  USA
00019  */
00020 
00021 
00028 #ifndef SCIMBRIDGEAGENTPANELCLIENT_H
00029 #define SCIMBRIDGEAGENTPANELCLIENT_H
00030 
00031 #define Uses_SCIM_EVENT
00032 #define Uses_SCIM_PANEL_CLIENT
00033 #define Uses_SCIM_SIGNAL
00034 #define Uses_SCIM_SOCKET
00035 #define Uses_SCIM_TRANSACTION
00036 #define Uses_SCIM_TRANS_COMMANDS
00037 
00038 #include <scim.h>
00039 
00040 #include "scim-bridge.h"
00041 #include "scim-bridge-display.h"
00042 #include "scim-bridge-imcontext.h"
00043 
00044 typedef scim::Slot1<void, int> ScimBridgeAgentPanelClientSlotVoid;
00045 typedef scim::Slot2<void, int, int> ScimBridgeAgentPanelClientSlotInt;
00046 typedef scim::Slot2<void, int, const scim::String&> ScimBridgeAgentPanelClientSlotString;
00047 typedef scim::Slot2<void, int, const scim::WideString&> ScimBridgeAgentPanelClientSlotWideString;
00048 typedef scim::Slot4<void, int, const scim::String&, const scim::String&, const scim::Transaction&> ScimBridgeAgentPanelClientSlotStringStringTransaction;
00049 typedef scim::Slot2<void, int, const scim::KeyEvent&> ScimBridgeAgentPanelClientSlotKeyEvent;
00050 
00051 
00055 class ScimBridgeAgentPanelClient
00056 {
00057 
00058     public:
00059 
00067         static ScimBridgeAgentPanelClient *alloc (const scim::String &config_name, const ScimBridgeDisplay *display);
00068 
00069 
00073         virtual ~ScimBridgeAgentPanelClient ();
00074 
00075 
00079         virtual int open_connection () = 0;
00080         
00081 
00085         virtual void close_connection () = 0;
00086 
00087 
00093         virtual int get_connection_number () const = 0;
00094 
00095 
00101         virtual bool is_connected () const = 0;
00102 
00103 
00109         virtual bool has_pending_event () const = 0;
00110         
00111 
00117         virtual retval_t filter_event () = 0;
00118 
00119 
00126         virtual retval_t prepare (scim_bridge_imcontext_id_t imcontext_id) = 0;
00127         
00128 
00134         virtual retval_t send () = 0;
00135 
00136 
00140         virtual void turn_on () = 0;
00141 
00145         virtual void turn_off () = 0;
00146 
00147 
00151         virtual void update_screen () = 0;
00152 
00153 
00159         virtual void show_help (const scim::String &help_text) = 0;
00160 
00161 
00167         virtual void show_factory_menu (const std::vector<scim::PanelFactoryInfo> &menu) = 0;
00168         
00169 
00175         virtual void focus_in (const scim::String &uuid) = 0;
00176 
00177 
00181         virtual void focus_out () = 0;
00182 
00183 
00189         virtual void update_factory_info (const scim::PanelFactoryInfo &info) = 0;
00190         
00191 
00198         virtual void update_spot_location (int x, int y) = 0;
00199 
00200 
00204         virtual void show_preedit_string () = 0;
00205 
00206 
00210         virtual void show_aux_string () = 0;
00211 
00215         virtual void show_lookup_table () = 0;
00216 
00217 
00221         virtual void hide_preedit_string () = 0;
00222 
00223 
00227         virtual void hide_aux_string () = 0;
00228 
00229 
00233         virtual void hide_lookup_table () = 0;
00234 
00235         
00242         virtual void update_preedit_string (const scim::WideString &str, const scim::AttributeList &attrs) = 0;
00243         
00249         virtual void update_preedit_caret (int cursor_position) = 0;
00250         
00257         virtual void update_aux_string (const scim::WideString &str, const scim::AttributeList &attrs) = 0;
00258 
00259 
00265         virtual void update_lookup_table (const scim::LookupTable &table) = 0;
00266 
00272         virtual void register_properties (const scim::PropertyList &properties) = 0;
00273 
00279         virtual void update_property (const scim::Property &property) = 0;
00280 
00281 
00287         virtual void start_helper (const scim::String &helper_uuid) = 0;
00288 
00289 
00295         virtual void stop_helper (const scim::String &helper_uuid) = 0;
00296 
00297 
00304         virtual void send_helper_event (const scim::String &helper_uuid, const scim::Transaction &trans) = 0;
00305 
00306 
00312         virtual void register_input_context (const scim::String &uuid) = 0;
00313 
00314 
00318         virtual void remove_input_context () = 0;
00319 
00320 
00327         virtual scim::Connection signal_connect_reload_config (ScimBridgeAgentPanelClientSlotVoid *slot) = 0;
00328 
00329 
00336         virtual scim::Connection signal_connect_exit (ScimBridgeAgentPanelClientSlotVoid *slot) = 0;
00337 
00338 
00345         virtual scim::Connection signal_connect_update_lookup_table_page_size (ScimBridgeAgentPanelClientSlotInt *slot) = 0;
00346 
00347 
00354         virtual scim::Connection signal_connect_lookup_table_page_up (ScimBridgeAgentPanelClientSlotVoid *slot) = 0;
00355 
00356 
00363         virtual scim::Connection signal_connect_lookup_table_page_down (ScimBridgeAgentPanelClientSlotVoid *slot) = 0;
00364 
00365 
00372         virtual scim::Connection signal_connect_trigger_property (ScimBridgeAgentPanelClientSlotString *slot) = 0;
00373 
00374 
00381         virtual scim::Connection signal_connect_process_helper_event (ScimBridgeAgentPanelClientSlotStringStringTransaction *slot) = 0;
00382 
00383 
00390         virtual scim::Connection signal_connect_move_preedit_caret (ScimBridgeAgentPanelClientSlotInt *slot) = 0;
00391 
00392 
00399         virtual scim::Connection signal_connect_select_candidate (ScimBridgeAgentPanelClientSlotInt *slot) = 0;
00400 
00401 
00408         virtual scim::Connection signal_connect_process_key_event (ScimBridgeAgentPanelClientSlotKeyEvent *slot) = 0;
00409 
00410 
00417         virtual scim::Connection signal_connect_commit_string (ScimBridgeAgentPanelClientSlotWideString *slot) = 0;
00418 
00419 
00426         virtual scim::Connection signal_connect_forward_key_event (ScimBridgeAgentPanelClientSlotKeyEvent *slot) = 0;
00427 
00428 
00435         virtual scim::Connection signal_connect_request_help (ScimBridgeAgentPanelClientSlotVoid *slot) = 0;
00436 
00437 
00444         virtual scim::Connection signal_connect_request_factory_menu (ScimBridgeAgentPanelClientSlotVoid *slot) = 0;
00445 
00446 
00453         virtual scim::Connection signal_connect_change_factory (ScimBridgeAgentPanelClientSlotString *slot) = 0;
00454 
00455     protected:
00456 
00457         ScimBridgeAgentPanelClient ();
00458 };
00459 #endif                                            /*SCIMBRIDGEAGENTPANELCLIENT_H*/

Generated on Tue Sep 26 21:55:59 2006 for ScimBridge by  doxygen 1.4.6