|
SCIMBridge 0.4.x
|
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 and 00010 * appearing in the file LICENSE.LGPL included in the package of this file. 00011 * You can also redistribute it and/or modify it under the terms of 00012 * the GNU General Public License as published by the Free Software Foundation and 00013 * appearing in the file LICENSE.GPL included in the package of this file. 00014 * 00015 * This library is distributed in the hope that it will be useful, 00016 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00017 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00018 */ 00019 00020 #ifndef SCIMBRIDGEAGENTPROTECTED_H_ 00021 #define SCIMBRIDGEAGENTPROTECTED_H_ 00022 00029 #define Uses_SCIM_EVENT 00030 #define Uses_SCIM_TRANSACTION 00031 00032 #include <scim.h> 00033 00034 #include "scim-bridge-display.h" 00035 #include "scim-bridge-imcontext.h" 00036 00037 class ScimBridgeAgentClientListener; 00038 class ScimBridgeAgentIMContext; 00039 class ScimBridgeAgentPanelListener; 00040 00044 class ScimBridgeAgentProtected 00045 { 00046 00047 public: 00048 00052 virtual ~ScimBridgeAgentProtected () {} 00053 00057 virtual void interrupt () = 0; 00058 00062 virtual void quit () = 0; 00063 00067 virtual void load_config () = 0; 00068 00072 virtual void save_config () = 0; 00073 00079 virtual void add_client_listener (ScimBridgeAgentClientListener *client_listener) = 0; 00080 00086 virtual void remove_client_listener (ScimBridgeAgentClientListener *client_listener) = 0; 00087 00095 virtual bool filter_hotkeys (scim_bridge_imcontext_id_t imcontext_id, const scim::KeyEvent &key_event) = 0; 00096 00104 virtual bool filter_key_event (scim_bridge_imcontext_id_t imcontext_id, const scim::KeyEvent &key_event) = 0; 00105 00109 virtual void request_factory_menu () = 0; 00110 00117 virtual scim_bridge_imcontext_id_t alloc_imcontext (ScimBridgeAgentClientListener *client_listener) = 0; 00118 00125 virtual void free_imcontext (scim_bridge_imcontext_id_t imcontext_id, const ScimBridgeAgentClientListener *client_listener) = 0; 00126 00132 virtual void reset_imcontext (scim_bridge_imcontext_id_t imcontext_id) = 0; 00133 00141 virtual void set_cursor_location (scim_bridge_imcontext_id_t imcontext_id, int cursor_x, int cursor_y) = 0; 00142 00149 virtual void set_preedit_mode (scim_bridge_imcontext_id_t imcontext_id, scim_bridge_preedit_mode_t preedit_mode) = 0; 00150 00157 virtual void change_focus (scim_bridge_imcontext_id_t imcontext_id, bool focus_in) = 0; 00158 00159 protected: 00160 00164 ScimBridgeAgentProtected () {} 00165 00166 }; 00167 #endif /*SCIMBRIDGEAGENTPROTECTED_H_*/
1.7.3