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 00027 #ifndef SCIMBRIDGEAGENTPANELLISTENERPROTECTED_H_ 00028 #define SCIMBRIDGEAGENTPANELLISTENERPROTECTED_H_ 00029 00030 #define Uses_SCIM_PANEL_CLIENT 00031 00032 #include <scim.h> 00033 00034 #include <vector> 00035 00036 #include "scim-bridge-imcontext.h" 00037 00041 class ScimBridgeAgentPanelListenerProtected 00042 { 00043 00044 public: 00045 00049 virtual ~ScimBridgeAgentPanelListenerProtected () {} 00050 00057 virtual void prepare (scim_bridge_imcontext_id_t imcontext_id) = 0; 00058 00062 virtual void send () = 0; 00063 00069 virtual void focus_in (const scim::String &factory_uuid) = 0; 00070 00074 virtual void focus_out () = 0; 00075 00079 virtual void update_screen () = 0; 00080 00087 virtual void update_cursor_location (int x, int y) = 0; 00088 00094 virtual void update_factory_info (const scim::PanelFactoryInfo &factory_info) = 0; 00095 00099 virtual void turn_on () = 0; 00100 00104 virtual void turn_off () = 0; 00105 00112 virtual void set_aux_string (const scim::WideString &str, const scim::AttributeList &attrs) = 0; 00113 00117 virtual void show_aux_string () = 0; 00118 00122 virtual void hide_aux_string () = 0; 00123 00129 virtual void set_lookup_table (const scim::LookupTable &table) = 0; 00130 00134 virtual void show_lookup_table () = 0; 00135 00139 virtual void hide_lookup_table () = 0; 00140 00146 virtual void set_preedit_cursor_position (int cursor_pos) = 0; 00147 00154 virtual void set_preedit_string (const scim::WideString &str, const scim::AttributeList &attrs) = 0; 00155 00159 virtual void show_preedit () = 0; 00160 00164 virtual void hide_preedit () = 0; 00165 00171 virtual void start_helper (const scim::String &helper_uuid) = 0; 00172 00178 virtual void stop_helper (const scim::String &helper_uuid) = 0; 00179 00186 virtual void send_helper_event (const scim::String &helper_uuid, const scim::Transaction &trans) = 0; 00187 00193 virtual void register_properties (const scim::PropertyList &properties) = 0; 00194 00200 virtual void update_property (const scim::Property &property) = 0; 00201 00207 virtual void show_factory_menu (const std::vector<scim::PanelFactoryInfo> &menu) = 0; 00208 00214 virtual void show_help (const scim::String &string) = 0; 00215 00221 virtual void register_input_context (const scim::String &factory_uuid) = 0; 00222 00226 virtual void deregister_input_context () = 0; 00227 00228 protected: 00229 00233 ScimBridgeAgentPanelListenerProtected () {} 00234 00235 }; 00236 #endif /*SCIMBRIDGEAGENTPANELLISTENERPROTECTED_H_*/