3 * @brief Defines scim::HelperAgent and it's related types.
5 * scim::HelperAgent is a class used to write Client Helper modules.
9 /* ISF is based on SCIM 1.4.7 and extended for supporting more mobile fitable. */
12 * Smart Common Input Method
14 * Copyright (c) 2004-2005 James Su <suzhe@tsinghua.org.cn>
17 * This library is free software; you can redistribute it and/or
18 * modify it under the terms of the GNU Lesser General Public
19 * License as published by the Free Software Foundation; either
20 * version 2 of the License, or (at your option) any later version.
22 * This library is distributed in the hope that it will be useful,
23 * but WITHOUT ANY WARRANTY; without even the implied warranty of
24 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25 * GNU Lesser General Public License for more details.
27 * You should have received a copy of the GNU Lesser General Public
28 * License along with this program; if not, write to the
29 * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
30 * Boston, MA 02111-1307 USA
32 * $Id: scim_helper.h,v 1.16 2005/05/24 12:22:51 suzhe Exp $
35 #ifndef __SCIM_HELPER_H
36 #define __SCIM_HELPER_H
38 #include "scim_utility.h"
44 * @ingroup InputServiceFramework
45 * The accessory classes to help develop and manage Client Helper objects.
48 class HelperError: public Exception
51 HelperError (const String& what_arg)
52 : Exception (String("scim::Helper: ") + what_arg) { }
56 * @brief Helper option indicates that it's a stand alone Helper.
58 * Stand alone Helper has no corresponding IMEngine Factory,
59 * Such Helper can not be started by IMEngine Factory.
60 * So Panel must provide a menu, or something else, which contains
61 * all stand alone Helper items, so that user can start them by
64 const uint32 SCIM_HELPER_STAND_ALONE = 1;
67 * @brief Helper option indicates that it must be started
68 * automatically when Panel starts.
70 * If Helper objects want to start itself as soon as
71 * the Panel starts, set this option.
73 const uint32 SCIM_HELPER_AUTO_START = (1<<1);
76 * @brief Helper option indicates that it should be restarted
77 * when it exits abnormally.
79 * This option should not be used with #SCIM_HELPER_STAND_ALONE.
81 const uint32 SCIM_HELPER_AUTO_RESTART = (1<<2);
84 * @brief Helper option indicates that it needs the screen update
87 * Helper object with this option will receive the UPDATE_SCREEN event
88 * when the screen of focused ic is changed.
90 const uint32 SCIM_HELPER_NEED_SCREEN_INFO = (1<<3);
93 * @brief Helper option indicates that it needs the spot location
96 * Helper object with this option will receive the SPOT_LOCATION_INFO event
97 * when the spot location of focused ic is changed.
99 const uint32 SCIM_HELPER_NEED_SPOT_LOCATION_INFO = (1<<4);
102 * @brief ISE option indicates whether it should be full style
104 const uint32 ISM_ISE_FULL_STYLE = (1<<16);
107 * @brief ISE option indicates whether it should be hidden in control panel.
109 const uint32 ISM_ISE_HIDE_IN_CONTROL_PANEL = (1<<17);
113 * @brief Structure to hold the information of a Helper object.
117 String uuid; /**< The UUID of this Helper object */
118 String name; /**< The Name of this Helper object, UTF-8 encoding. */
119 String icon; /**< The Icon file path of this Helper object. */
120 String description; /**< The short description of this Helper object. */
121 uint32 option; /**< The options of this Helper object. @sa #SCIM_HELPER_STAND_ALONE etc.*/
123 HelperInfo (const String &puuid = String (),
124 const String &pname = String (),
125 const String &picon = String (),
126 const String &pdesc = String (),
145 typedef Slot3<void, const HelperAgent *, int, const String &>
148 typedef Slot4<void, const HelperAgent *, int, const String &, const String &>
149 HelperAgentSlotString;
151 typedef Slot4<void, const HelperAgent *, int, const String &, const std::vector<String> &>
152 HelperAgentSlotStringVector;
154 typedef Slot5<void, const HelperAgent *, int, const String &, const String &, const String &>
155 HelperAgentSlotString2;
157 typedef Slot4<void, const HelperAgent *, int, const String &, int>
160 typedef Slot5<void, const HelperAgent *, int, const String &, int, int>
161 HelperAgentSlotIntInt;
163 typedef Slot4<void, const HelperAgent *, int, const String &, const Transaction &>
164 HelperAgentSlotTransaction;
166 typedef Slot4<void, const HelperAgent *, int, const String &, const rectinfo &>
169 typedef Slot2<void, const HelperAgent *, struct rectinfo &>
172 typedef Slot2<void, const HelperAgent *, uint32 &>
173 HelperAgentSlotUintVoid;
175 typedef Slot3<void, const HelperAgent *, int, uint32 &>
176 HelperAgentSlotIntUint;
178 typedef Slot3 <void, const HelperAgent *, char *, size_t &>
179 HelperAgentSlotRawVoid;
181 typedef Slot3 <void, const HelperAgent *, char **, size_t &>
182 HelperAgentSlotGetRawVoid;
184 typedef Slot4 <void, const HelperAgent *, int, char *, size_t &>
185 HelperAgentSlotIntRawVoid;
187 typedef Slot3 <void, const HelperAgent *, int, char **>
188 HelperAgentSlotIntGetStringVoid;
190 typedef Slot2<void, const HelperAgent *, std::vector<uint32> &>
191 HelperAgentSlotUintVector;
194 * @brief The accessory class to write a Helper object.
196 * This class implements all Socket Transaction protocol between
197 * Helper object and Panel.
201 class HelperAgentImpl;
202 HelperAgentImpl *m_impl;
204 HelperAgent (const HelperAgent &);
205 const HelperAgent & operator = (const HelperAgent &);
212 * @brief Open socket connection to the Panel.
214 * Helper objects and Panel communicate with each other via the Socket
215 * created by Panel, just same as the Socket between FrontEnds and Panel.
217 * Helper object can select/poll on the connection id returned by this function
218 * to see if there are any data available to be read. If any data are available,
219 * Helper object should call HelperAgent::filter_event() to process the data.
221 * This method should be called after the necessary signal-slots are connected.
222 * If this Helper is started by an IMEngine Instance, then signal attach_input_context
223 * will be emitted during this call.
225 * Signal update_screen will be emitted during this call as well to set the startup
226 * screen of this Helper. The ic and ic_uuid parameters are invalid here.
228 * @param info The information of this Helper object.
229 * @param display The display which this Helper object should run on.
231 * @return The connection socket id. -1 means failed to create
234 int open_connection (const HelperInfo &info,
235 const String &display);
238 * @brief Close the socket connection to Panel.
240 void close_connection ();
243 * @brief Get the connection id previously returned by open_connection().
245 * @return the connection id
247 int get_connection_number () const;
250 * @brief Check whether this HelperAgent has been connected to a Panel.
252 * Return true when it is connected to panel, otherwise return false.
254 bool is_connected () const;
257 * @brief Check if there are any events available to be processed.
259 * If it returns true then Helper object should call
260 * HelperAgent::filter_event() to process them.
262 * @return true if there are any events available.
264 bool has_pending_event () const;
267 * @brief Process the pending events.
269 * This function will emit the corresponding signals according
272 * @return false if the connection is broken, otherwise return true.
274 bool filter_event ();
277 * @brief Request SCIM to reload all configuration.
279 * This function should only by used by Setup Helper to request
280 * scim's reloading the configuration.
282 void reload_config () const;
285 * @brief Register some properties into Panel.
287 * This function send the request to Panel to register a list
290 * @param properties The list of Properties to be registered into Panel.
292 * @sa scim::Property.
294 void register_properties (const PropertyList &properties) const;
297 * @brief Update a registered property.
299 * @param property The property to be updated.
301 void update_property (const Property &property) const;
304 * @brief Send a set of events to an IMEngineInstance.
306 * All events should be put into a Transaction.
307 * And the events can only be received by one IMEngineInstance object.
309 * @param ic The handle of the Input Context to receive the events.
310 * @param ic_uuid The UUID of the Input Context.
311 * @param trans The Transaction object holds the events.
313 void send_imengine_event (int ic,
314 const String &ic_uuid,
315 const Transaction &trans) const;
318 * @brief Send a KeyEvent to an IMEngineInstance.
320 * @param ic The handle of the IMEngineInstance to receive the event.
321 * -1 means the currently focused IMEngineInstance.
322 * @param ic_uuid The UUID of the IMEngineInstance. Empty means don't match.
323 * @param key The KeyEvent to be sent.
325 void send_key_event (int ic,
326 const String &ic_uuid,
327 const KeyEvent &key) const;
330 * @brief Forward a KeyEvent to client application directly.
332 * @param ic The handle of the client Input Context to receive the event.
333 * -1 means the currently focused Input Context.
334 * @param ic_uuid The UUID of the IMEngine used by the Input Context.
335 * Empty means don't match.
336 * @param key The KeyEvent to be forwarded.
338 void forward_key_event (int ic,
339 const String &ic_uuid,
340 const KeyEvent &key) const;
343 * @brief Commit a WideString to client application directly.
345 * @param ic The handle of the client Input Context to receive the WideString.
346 * -1 means the currently focused Input Context.
347 * @param ic_uuid The UUID of the IMEngine used by the Input Context.
348 * Empty means don't match.
349 * @param wstr The WideString to be committed.
351 void commit_string (int ic,
352 const String &ic_uuid,
353 const WideString &wstr) const;
356 * @brief Request to show preedit string.
358 * @param ic The handle of the client Input Context to receive the request.
359 * -1 means the currently focused Input Context.
360 * @param ic_uuid The UUID of the IMEngine used by the Input Context.
361 * Empty means don't match.
363 void show_preedit_string (int ic,
364 const String &ic_uuid) const;
367 * @brief Request to show aux string.
369 void show_aux_string (void) const;
372 * @brief Request to show candidate string.
374 void show_candidate_string (void) const;
377 * @brief Request to show associate string.
379 void show_associate_string (void) const;
382 * @brief Request to hide preedit string.
384 * @param ic The handle of the client Input Context to receive the request.
385 * -1 means the currently focused Input Context.
386 * @param ic_uuid The UUID of the IMEngine used by the Input Context.
387 * Empty means don't match.
389 void hide_preedit_string (int ic,
390 const String &ic_uuid) const;
393 * @brief Request to hide aux string.
395 void hide_aux_string (void) const;
398 * @brief Request to hide candidate string.
400 void hide_candidate_string (void) const;
403 * @brief Request to hide associate string.
405 void hide_associate_string (void) const;
408 * @brief Update a new WideString for preedit.
410 * @param ic The handle of the client Input Context to receive the WideString.
411 * -1 means the currently focused Input Context.
412 * @param ic_uuid The UUID of the IMEngine used by the Input Context.
413 * Empty means don't match.
414 * @param wstr The WideString to be updated.
415 * @param attrs The attribute list for preedit string.
417 void update_preedit_string (int ic,
418 const String &ic_uuid,
419 const WideString &wstr,
420 const AttributeList &attrs) const;
423 * @brief Update a new string for aux.
425 * @param str The string to be updated.
426 * @param attrs The attribute list for aux string.
428 void update_aux_string (const String &str,
429 const AttributeList &attrs) const;
432 * @brief Request to update candidate.
434 * @param table The lookup table for candidate.
436 void update_candidate_string (const LookupTable &table) const;
439 * @brief Request to update associate.
441 * @param table The lookup table for associate.
443 void update_associate_string (const LookupTable &table) const;
446 * @ brief When the input context of ISE is changed,
447 * ISE can call this function to notify application
449 * @param type type of event.
450 * @param value value of event.
452 void update_input_context (uint32 type,
456 * @ brief Request to get surrounding text.
458 * @param uuid The helper ISE UUID.
459 * @param maxlen_before The max length of before.
460 * @param maxlen_after The max length of after.
462 void get_surrounding_text (const String &uuid,
464 int maxlen_after) const;
467 * @ brief Request to delete surrounding text.
469 * @param offset The offset for cursor position.
470 * @param len The length for delete text.
472 void delete_surrounding_text (int offset,
476 * @ brief Set candidate position in screen.
478 * @param left The x position in screen.
479 * @param top The y position in screen.
481 void set_candidate_position (int left,
485 * @ brief Request to hide candidate window.
487 void candidate_hide (void) const;
490 * @ brief Request to get candidate window size and position.
492 * @param uuid The helper ISE UUID.
494 void get_candidate_window_geometry (const String &uuid) const;
497 * @ brief Set current keyboard ISE.
499 * @param uuid The keyboard ISE UUID.
501 void set_keyboard_ise_by_uuid (const String &uuid) const;
504 * @ brief Request to get current keyboard ISE information.
506 * @param uuid The helper ISE UUID.
508 void get_keyboard_ise (const String &uuid) const;
511 * @ brief Request to get uuid list of all keyboard ISEs.
513 * @param uuid The helper ISE UUID.
515 void get_keyboard_ise_list (const String &uuid) const;
519 * @brief Connect a slot to Helper exit signal.
521 * This signal is used to let the Helper exit.
523 * The prototype of the slot is:
525 * void exit (const HelperAgent *agent, int ic, const String &ic_uuid);
528 * - agent The pointer to the HelperAgent object which emits this signal.
529 * - ic An opaque handle of the currently focused input context.
530 * - ic_uuid The UUID of the IMEngineInstance associated with the focused input context.
532 Connection signal_connect_exit (HelperAgentSlotVoid *slot);
535 * @brief Connect a slot to Helper attach input context signal.
537 * This signal is used to attach an input context to this helper.
539 * When an input context requst to start this helper, then this
540 * signal will be emitted as soon as the helper is started.
542 * When an input context want to start an already started helper,
543 * this signal will also be emitted.
545 * Helper can send some events back to the IMEngineInstance in this
546 * signal-slot, to inform that it has been started sccessfully.
548 * The prototype of the slot is:
550 * void attach_input_context (const HelperAgent *agent, int ic, const String &ic_uuid);
552 Connection signal_connect_attach_input_context (HelperAgentSlotVoid *slot);
555 * @brief Connect a slot to Helper detach input context signal.
557 * This signal is used to detach an input context from this helper.
559 * When an input context requst to stop this helper, then this
560 * signal will be emitted.
562 * Helper shouldn't send any event back to the IMEngineInstance, because
563 * the IMEngineInstance attached to the ic should have been destroyed.
565 * The prototype of the slot is:
567 * void detach_input_context (const HelperAgent *agent, int ic, const String &ic_uuid);
569 Connection signal_connect_detach_input_context (HelperAgentSlotVoid *slot);
572 * @brief Connect a slot to Helper reload config signal.
574 * This signal is used to let the Helper reload configuration.
576 * The prototype of the slot is:
578 * void reload_config (const HelperAgent *agent, int ic, const String &ic_uuid);
580 Connection signal_connect_reload_config (HelperAgentSlotVoid *slot);
583 * @brief Connect a slot to Helper update screen signal.
585 * This signal is used to let the Helper move its GUI to another screen.
586 * It can only be emitted when SCIM_HELPER_NEED_SCREEN_INFO is set in HelperInfo.option.
588 * The prototype of the slot is:
590 * void update_screen (const HelperAgent *agent, int ic, const String &ic_uuid, int screen_number);
592 Connection signal_connect_update_screen (HelperAgentSlotInt *slot);
595 * @brief Connect a slot to Helper update spot location signal.
597 * This signal is used to let the Helper move its GUI according to the current spot location.
598 * It can only be emitted when SCIM_HELPER_NEED_SPOT_LOCATION_INFO is set in HelperInfo.option.
600 * The prototype of the slot is:
601 * void update_spot_location (const HelperAgent *agent, int ic, const String &ic_uuid, int x, int y);
603 Connection signal_connect_update_spot_location (HelperAgentSlotIntInt *slot);
606 * @brief Connect a slot to Helper update cursor position signal.
608 * This signal is used to let the Helper get the cursor position information.
610 * The prototype of the slot is:
611 * void update_cursor_position (const HelperAgent *agent, int ic, const String &ic_uuid, int cursor_pos);
613 Connection signal_connect_update_cursor_position (HelperAgentSlotInt *slot);
616 * @brief Connect a slot to Helper update surrounding text signal.
618 * This signal is used to let the Helper get the surrounding text.
620 * The prototype of the slot is:
621 * void update_surrounding_text (const HelperAgent *agent, int ic, const String &text, int cursor);
623 Connection signal_connect_update_surrounding_text (HelperAgentSlotInt *slot);
626 * @brief Connect a slot to Helper trigger property signal.
628 * This signal is used to trigger a property registered by this Helper.
629 * A property will be triggered when user clicks on it.
631 * The prototype of the slot is:
632 * void trigger_property (const HelperAgent *agent, int ic, const String &ic_uuid, const String &property);
634 Connection signal_connect_trigger_property (HelperAgentSlotString *slot);
637 * @brief Connect a slot to Helper process imengine event signal.
639 * This signal is used to deliver the events sent from IMEngine to Helper.
641 * The prototype of the slot is:
642 * void process_imengine_event (const HelperAgent *agent, int ic, const String &ic_uuid, const Transaction &transaction);
644 Connection signal_connect_process_imengine_event (HelperAgentSlotTransaction *slot);
647 * @brief Connect a slot to Helper focus out signal.
649 * This signal is used to do something when input context is focus out.
651 * The prototype of the slot is:
652 * void focus_out (const HelperAgent *agent, int ic, const String &ic_uuid);
654 Connection signal_connect_focus_out (HelperAgentSlotVoid *slot);
657 * @brief Connect a slot to Helper focus in signal.
659 * This signal is used to do something when input context is focus in.
661 * The prototype of the slot is:
662 * void focus_in (const HelperAgent *agent, int ic, const String &ic_uuid);
664 Connection signal_connect_focus_in (HelperAgentSlotVoid *slot);
667 * @brief Connect a slot to Helper show signal.
669 * This signal is used to show Helper ISE window.
671 * The prototype of the slot is:
672 * void ise_show (const HelperAgent *agent, int ic, char *buf, size_t &len);
674 Connection signal_connect_ise_show (HelperAgentSlotIntRawVoid *slot);
677 * @brief Connect a slot to Helper hide signal.
679 * This signal is used to hide Helper ISE window.
681 * The prototype of the slot is:
682 * void ise_hide (const HelperAgent *agent, int ic, const String &ic_uuid);
684 Connection signal_connect_ise_hide (HelperAgentSlotVoid *slot);
687 * @brief Connect a slot to Helper get ISE window geometry signal.
689 * This signal is used to get Helper ISE window size and position.
691 * The prototype of the slot is:
692 * void get_geometry (const HelperAgent *agent, struct rectinfo &info);
694 Connection signal_connect_get_geometry (HelperAgentSlotSize *slot);
697 * @brief Connect a slot to Helper set mode signal.
699 * This signal is used to set Helper ISE mode.
701 * The prototype of the slot is:
702 * void set_mode (const HelperAgent *agent, uint32 &mode);
704 Connection signal_connect_set_mode (HelperAgentSlotUintVoid *slot);
707 * @brief Connect a slot to Helper set language signal.
709 * This signal is used to set Helper ISE language.
711 * The prototype of the slot is:
712 * void set_language (const HelperAgent *agent, uint32 &language);
714 Connection signal_connect_set_language (HelperAgentSlotUintVoid *slot);
717 * @brief Connect a slot to Helper set im data signal.
719 * This signal is used to send im data to Helper ISE.
721 * The prototype of the slot is:
722 * void set_imdata (const HelperAgent *agent, char *buf, size_t &len);
724 Connection signal_connect_set_imdata (HelperAgentSlotRawVoid *slot);
727 * @brief Connect a slot to Helper get im data signal.
729 * This signal is used to get im data from Helper ISE.
731 * The prototype of the slot is:
732 * void get_imdata (const HelperAgent *, char **buf, size_t &len);
734 Connection signal_connect_get_imdata (HelperAgentSlotGetRawVoid *slot);
737 * @brief Connect a slot to Helper get language locale.
739 * This signal is used to get language locale from Helper ISE.
741 * The prototype of the slot is:
742 * void get_language_locale (const HelperAgent *, int ic, char **locale);
744 Connection signal_connect_get_language_locale (HelperAgentSlotIntGetStringVoid *slot);
747 * @brief Connect a slot to Helper set return key type signal.
749 * This signal is used to set return key type to Helper ISE.
751 * The prototype of the slot is:
752 * void set_return_key_type (const HelperAgent *agent, uint32 &type);
754 Connection signal_connect_set_return_key_type (HelperAgentSlotUintVoid *slot);
757 * @brief Connect a slot to Helper get return key type signal.
759 * This signal is used to get return key type from Helper ISE.
761 * The prototype of the slot is:
762 * void get_return_key_type (const HelperAgent *agent, uint32 &type);
764 Connection signal_connect_get_return_key_type (HelperAgentSlotUintVoid *slot);
767 * @brief Connect a slot to Helper set return key disable signal.
769 * This signal is used to set return key disable to Helper ISE.
771 * The prototype of the slot is:
772 * void set_return_key_disable (const HelperAgent *agent, uint32 &disabled);
774 Connection signal_connect_set_return_key_disable (HelperAgentSlotUintVoid *slot);
777 * @brief Connect a slot to Helper get return key disable signal.
779 * This signal is used to get return key disable from Helper ISE.
781 * The prototype of the slot is:
782 * void get_return_key_disable (const HelperAgent *agent, uint32 &disabled);
784 Connection signal_connect_get_return_key_disable (HelperAgentSlotUintVoid *slot);
787 * @brief Connect a slot to Helper get layout signal.
789 * This signal is used to get Helper ISE layout.
791 * The prototype of the slot is:
792 * void get_layout (const HelperAgent *agent, uint32 &layout);
794 Connection signal_connect_get_layout (HelperAgentSlotUintVoid *slot);
797 * @brief Connect a slot to Helper set layout signal.
799 * This signal is used to set Helper ISE layout.
801 * The prototype of the slot is:
802 * void set_layout (const HelperAgent *agent, uint32 &layout);
804 Connection signal_connect_set_layout (HelperAgentSlotUintVoid *slot);
807 * @brief Connect a slot to Helper set shift mode signal.
809 * This signal is used to set Helper shift mode.
811 * The prototype of the slot is:
812 * void set_caps_mode (const HelperAgent *agent, uint32 &mode);
814 Connection signal_connect_set_caps_mode (HelperAgentSlotUintVoid *slot);
817 * @brief Connect a slot to Helper reset input context signal.
819 * This signal is used to reset Helper ISE input context.
821 * The prototype of the slot is:
822 * void reset_input_context (const HelperAgent *agent, int ic, const String &uuid);
824 Connection signal_connect_reset_input_context (HelperAgentSlotVoid *slot);
827 * @brief Connect a slot to Helper update candidate window geometry signal.
829 * This signal is used to get candidate window size and position.
831 * The prototype of the slot is:
832 * void update_candidate_geometry (const HelperAgent *agent, int ic, const String &uuid, const rectinfo &info);
834 Connection signal_connect_update_candidate_geometry (HelperAgentSlotRect *slot);
837 * @brief Connect a slot to Helper update keyboard ISE signal.
839 * This signal is used to get current keyboard ISE name and uuid.
841 * The prototype of the slot is:
842 * void update_keyboard_ise (const HelperAgent *agent, int ic, const String &uuid,
843 * const String &ise_name, const String &ise_uuid);
845 Connection signal_connect_update_keyboard_ise (HelperAgentSlotString2 *slot);
848 * @brief Connect a slot to Helper update keyboard ISE list signal.
850 * This signal is used to get uuid list of all keyboard ISEs.
852 * The prototype of the slot is:
853 * void update_keyboard_ise_list (const HelperAgent *agent, int ic, const String &uuid,
854 * const std::vector<String> &ise_list);
856 Connection signal_connect_update_keyboard_ise_list (HelperAgentSlotStringVector *slot);
859 * @brief Connect a slot to Helper candidate more window show signal.
861 * This signal is used to do someting when candidate more window is showed.
863 * The prototype of the slot is:
864 * void candidate_more_window_show (const HelperAgent *agent, int ic, const String &uuid);
866 Connection signal_connect_candidate_more_window_show (HelperAgentSlotVoid *slot);
869 * @brief Connect a slot to Helper candidate more window hide signal.
871 * This signal is used to do someting when candidate more window is hidden.
873 * The prototype of the slot is:
874 * void candidate_more_window_hide (const HelperAgent *agent, int ic, const String &uuid);
876 Connection signal_connect_candidate_more_window_hide (HelperAgentSlotVoid *slot);
879 * @brief Connect a slot to Helper select aux signal.
881 * This signal is used to do something when aux is selected.
883 * The prototype of the slot is:
884 * void select_aux (const HelperAgent *agent, int ic, const String &uuid, int index);
886 Connection signal_connect_select_aux (HelperAgentSlotInt *slot);
889 * @brief Connect a slot to Helper select candidate signal.
891 * This signal is used to do something when candidate is selected.
893 * The prototype of the slot is:
894 * void select_candidate (const HelperAgent *agent, int ic, const String &uuid, int index);
896 Connection signal_connect_select_candidate (HelperAgentSlotInt *slot);
899 * @brief Connect a slot to Helper candidate table page up signal.
901 * This signal is used to do something when candidate table is paged up.
903 * The prototype of the slot is:
904 * void candidate_table_page_up (const HelperAgent *agent, int ic, const String &uuid);
906 Connection signal_connect_candidate_table_page_up (HelperAgentSlotVoid *slot);
909 * @brief Connect a slot to Helper candidate table page down signal.
911 * This signal is used to do something when candidate table is paged down.
913 * The prototype of the slot is:
914 * void candidate_table_page_down (const HelperAgent *agent, int ic, const String &uuid);
916 Connection signal_connect_candidate_table_page_down (HelperAgentSlotVoid *slot);
919 * @brief Connect a slot to Helper update candidate table page size signal.
921 * This signal is used to do something when candidate table page size is changed.
923 * The prototype of the slot is:
924 * void update_candidate_table_page_size (const HelperAgent *, int ic, const String &uuid, int page_size);
926 Connection signal_connect_update_candidate_table_page_size (HelperAgentSlotInt *slot);
929 * @brief Connect a slot to Helper select associate signal.
931 * This signal is used to do something when associate is selected.
933 * The prototype of the slot is:
934 * void select_associate (const HelperAgent *agent, int ic, const String &uuid, int index);
936 Connection signal_connect_select_associate (HelperAgentSlotInt *slot);
939 * @brief Connect a slot to Helper associate table page up signal.
941 * This signal is used to do something when associate table is paged up.
943 * The prototype of the slot is:
944 * void associate_table_page_up (const HelperAgent *agent, int ic, const String &uuid);
946 Connection signal_connect_associate_table_page_up (HelperAgentSlotVoid *slot);
949 * @brief Connect a slot to Helper associate table page down signal.
951 * This signal is used to do something when associate table is paged down.
953 * The prototype of the slot is:
954 * void associate_table_page_down (const HelperAgent *agent, int ic, const String &uuid);
956 Connection signal_connect_associate_table_page_down (HelperAgentSlotVoid *slot);
959 * @brief Connect a slot to Helper update associate table page size signal.
961 * This signal is used to do something when associate table page size is changed.
963 * The prototype of the slot is:
964 * void update_associate_table_page_size (const HelperAgent *, int ic, const String &uuid, int page_size);
966 Connection signal_connect_update_associate_table_page_size (HelperAgentSlotInt *slot);
969 * @brief Connect a slot to Helper turn on log signal.
971 * This signal is used to turn on Helper ISE debug information.
973 * The prototype of the slot is:
974 * void turn_on_log (const HelperAgent *agent, uint32 &on);
976 Connection signal_connect_turn_on_log (HelperAgentSlotUintVoid *slot);
981 } /* namespace scim */
989 #endif /* __SCIM_HELPER_H */
992 vi:ts=4:nowrap:ai:expandtab