diff options
-rw-r--r-- | docs/reference/ibus/Makefile.am | 13 | ||||
-rw-r--r-- | docs/reference/ibus/ibus-docs.sgml | 98 | ||||
-rw-r--r-- | docs/reference/ibus/ibus-sections.txt | 2708 | ||||
-rw-r--r-- | docs/reference/ibus/ibus.types | 37 | ||||
-rw-r--r-- | src/ibusattribute.h | 121 | ||||
-rw-r--r-- | src/ibusbus.c | 11 | ||||
-rw-r--r-- | src/ibusbus.h | 100 | ||||
-rw-r--r-- | src/ibusconfig.h | 4 | ||||
-rw-r--r-- | src/ibusconnection.h | 10 | ||||
-rw-r--r-- | src/ibusengine.c | 117 | ||||
-rw-r--r-- | src/ibusengine.h | 135 | ||||
-rw-r--r-- | src/ibusenginedesc.h | 67 | ||||
-rw-r--r-- | src/ibuslookuptable.h | 162 | ||||
-rw-r--r-- | src/ibusobject.h | 35 | ||||
-rw-r--r-- | src/ibusproperty.h | 147 | ||||
-rw-r--r-- | src/ibustext.h | 82 | ||||
-rw-r--r-- | src/ibustypes.h | 61 |
17 files changed, 3842 insertions, 66 deletions
diff --git a/docs/reference/ibus/Makefile.am b/docs/reference/ibus/Makefile.am index c1991f1..310bdef 100644 --- a/docs/reference/ibus/Makefile.am +++ b/docs/reference/ibus/Makefile.am @@ -25,7 +25,8 @@ SCANGOBJ_OPTIONS= # Extra options to supply to gtkdoc-scan. # e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED" -SCAN_OPTIONS=--rebuild-sections +# SCAN_OPTIONS=--rebuild-sections +SCAN_OPTIONS= # Extra options to supply to gtkdoc-mkdb. # e.g. MKDB_OPTIONS=--sgml-mode --output-format=xml @@ -42,7 +43,7 @@ FIXXREF_OPTIONS= # Used for dependencies. The docs will be rebuilt if any of these change. # e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h # e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c -HFILE_GLOB= +HFILE_GLOB=$(top_srcdir)/src/*.h CFILE_GLOB= # Header files to ignore when scanning. @@ -97,4 +98,10 @@ EXTRA_DIST += # Comment this out if you want your docs-status tested during 'make check' #TESTS = $(GTKDOC_CHECK) -# CLEANFILES += ibus* + +clean-local: + rm -rf tmpl + +CLEANFILES+= *.stamp + + diff --git a/docs/reference/ibus/ibus-docs.sgml b/docs/reference/ibus/ibus-docs.sgml index 35d0bea..a106531 100644 --- a/docs/reference/ibus/ibus-docs.sgml +++ b/docs/reference/ibus/ibus-docs.sgml @@ -3,46 +3,76 @@ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"> <book id="index" xmlns:xi="http://www.w3.org/2003/XInclude"> <bookinfo> - <title>IBus Reference Manual</title> + <title>iBus Reference Manual</title> <releaseinfo> - for ibus 1.1.0 + iBus 1.1.0 reference manual. The latest version of this documentation can be found on-line at <ulink role="online-location" url="http://code.google.com/p/ibus">http://code.google.com/p/ibus</ulink>. </releaseinfo> </bookinfo> <chapter> - <title>API Reference</title> - <xi:include href="xml/ibusfactory.xml"/> - <xi:include href="xml/ibusattribute.xml"/> - <xi:include href="xml/ibusinputcontext.xml"/> - <xi:include href="xml/ibusobservedpath.xml"/> - <xi:include href="xml/ibusengine.xml"/> - <xi:include href="xml/ibusservice.xml"/> - <xi:include href="xml/ibuslookuptable.xml"/> - <xi:include href="xml/ibusproxy.xml"/> - <xi:include href="xml/ibusserver.xml"/> - <xi:include href="xml/ibuscomponent.xml"/> - <xi:include href="xml/ibusconnection.xml"/> - <xi:include href="xml/ibusproperty.xml"/> - <xi:include href="xml/ibustext.xml"/> - <xi:include href="xml/ibusserializable.xml"/> - <xi:include href="xml/ibushotkey.xml"/> - <xi:include href="xml/ibusbus.xml"/> - <xi:include href="xml/ibusenginedesc.xml"/> - <xi:include href="xml/ibusobject.xml"/> - <xi:include href="xml/ibusconfig.xml"/> - <xi:include href="xml/ibusmessage.xml"/> - <xi:include href="xml/ibusdebug.xml"/> - <xi:include href="xml/ibusmarshalers.xml"/> - <xi:include href="xml/keyname-table.xml"/> - <xi:include href="xml/ibustypes.xml"/> - <xi:include href="xml/ibuserror.xml"/> - <xi:include href="xml/ibuspendingcall.xml"/> - <xi:include href="xml/ibuskeysyms.xml"/> - <xi:include href="xml/ibusenumtypes.xml"/> - <xi:include href="xml/ibusxml.xml"/> - <xi:include href="xml/ibusshare.xml"/> - <xi:include href="xml/ibusinternal.xml"/> + <title>API Overviews</title> + <para>The iBus API consists 3 parts: + <emphasis>User interfaces</emphasis> for objects and services which + are relateed to iBus UI such as language bar; + <emphasis>Input method engine</emphasis> for input method main logic and input/output handling; + <emphasis>Configure</emphasis> for services for save, load and listening configures. + </para> + </chapter> + <chapter> + <title>User Interfaces</title> + <para>These APIs directly related to User interfaces, such as + pre-edit buffer, auxiliary text, language bar, button, + radio boxes, and so on. + </para> + <xi:include href="xml/ibusattribute.xml"/> + <xi:include href="xml/ibuslookuptable.xml"/> + <xi:include href="xml/ibusproperty.xml"/> + <xi:include href="xml/ibustext.xml"/> + </chapter> + <chapter> + <title>Input method engine</title> + <para> + </para> + <xi:include href="xml/ibusbus.xml"/> + <xi:include href="xml/ibuscomponent.xml"/> + <xi:include href="xml/ibusconnection.xml"/> + <xi:include href="xml/ibusengine.xml"/> + <xi:include href="xml/ibusenginedesc.xml"/> + <xi:include href="xml/ibusfactory.xml"/> + <xi:include href="xml/ibushotkey.xml"/> + <xi:include href="xml/ibuskeysyms.xml"/> + </chapter> + <chapter> + <title>Configure</title> + <para> + </para> + <xi:include href="xml/ibusconfig.xml"/> + <xi:include href="xml/ibusconfigservice.xml"/> + <xi:include href="xml/ibusxml.xml"/> + </chapter> + <chapter> + <title>Others</title> + <para> + </para> + <xi:include href="xml/ibusdebug.xml"/> + <xi:include href="xml/ibusenumtypes.xml"/> + <xi:include href="xml/ibuserror.xml"/> + <xi:include href="xml/ibusinputcontext.xml"/> + <xi:include href="xml/ibusinternal.xml"/> + <xi:include href="xml/ibusmarshalers.xml"/> + <xi:include href="xml/ibusmessage.xml"/> + <xi:include href="xml/ibusobject.xml"/> + <xi:include href="xml/ibusobservedpath.xml"/> + <xi:include href="xml/ibuspendingcall.xml"/> + <xi:include href="xml/ibusproxy.xml"/> + <xi:include href="xml/ibusserver.xml"/> + <xi:include href="xml/ibusservice.xml"/> + <xi:include href="xml/ibusserializable.xml"/> + <xi:include href="xml/ibusshare.xml"/> + <xi:include href="xml/ibustypes.xml"/> + <xi:include href="xml/keyname-table.xml"/> </chapter> </book> + diff --git a/docs/reference/ibus/ibus-sections.txt b/docs/reference/ibus/ibus-sections.txt new file mode 100644 index 0000000..628dda1 --- /dev/null +++ b/docs/reference/ibus/ibus-sections.txt @@ -0,0 +1,2708 @@ +<SECTION> +<FILE>ibusattribute</FILE> +IBusAttrType +IBusAttrUnderline +<TITLE>IBusAttribute</TITLE> +IBusAttribute +IBusAttrList +ibus_attribute_new +ibus_attr_underline_new +ibus_attr_foreground_new +ibus_attr_background_new +ibus_attr_list_new +ibus_attr_list_append +ibus_attr_list_get +<SUBSECTION Standard> +IBUS_ATTRIBUTE +IBUS_IS_ATTRIBUTE +IBUS_TYPE_ATTRIBUTE +ibus_attribute_get_type +IBUS_ATTRIBUTE_CLASS +IBUS_IS_ATTRIBUTE_CLASS +IBUS_ATTRIBUTE_GET_CLASS + +IBUS_TYPE_ATTR_LIST +IBUS_ATTR_LIST +IBUS_ATTR_LIST_CLASS +IBUS_IS_ATTR_LIST +ibus_attr_list_get_type +IBUS_IS_ATTR_LIST_CLASS +IBUS_ATTR_LIST_GET_CLASS +</SECTION> + +<SECTION> +<FILE>ibusproperty</FILE> +IBusPropType +IBusPropState +<TITLE>IBusProperty</TITLE> +IBusProperty +IBusPropList +ibus_property_new +ibus_property_set_label +ibus_property_set_visible +ibus_property_set_sub_props +ibus_prop_list_new +ibus_prop_list_append +ibus_prop_list_get +ibus_prop_list_update_property +<SUBSECTION Standard> +IBUS_PROPERTY +IBUS_IS_PROPERTY +IBUS_TYPE_PROPERTY +ibus_property_get_type +IBUS_PROPERTY_CLASS +IBUS_IS_PROPERTY_CLASS +IBUS_PROPERTY_GET_CLASS + +IBUS_TYPE_PROP_LIST +IBUS_PROP_LIST +ibus_prop_list_get_type +IBUS_PROP_LIST_CLASS +IBUS_IS_PROP_LIST +IBUS_IS_PROP_LIST_CLASS +IBUS_PROP_LIST_GET_CLASS +</SECTION> + +<SECTION> +<FILE>ibusproxy</FILE> +<TITLE>IBusProxy</TITLE> +IBusProxy +ibus_proxy_new +ibus_proxy_send +ibus_proxy_call +ibus_proxy_call_with_reply +ibus_proxy_call_with_reply_and_block +ibus_proxy_send_with_reply +ibus_proxy_send_with_reply_and_block +ibus_proxy_handle_signal +ibus_proxy_get_name +ibus_proxy_get_path +ibus_proxy_get_interface +ibus_proxy_get_connection +<SUBSECTION Standard> +IBUS_PROXY +IBUS_IS_PROXY +IBUS_TYPE_PROXY +ibus_proxy_get_type +IBUS_PROXY_CLASS +IBUS_IS_PROXY_CLASS +IBUS_PROXY_GET_CLASS +</SECTION> + +<SECTION> +<FILE>ibustypes</FILE> +<TITLE>IBusTypes</TITLE> +IBusModifierType +IBusCapabilite +IBusRectangle +IBusFreeFunc +</SECTION> + +<SECTION> +<FILE>ibusconfig</FILE> +<TITLE>IBusConfig</TITLE> +IBusConfig +ibus_config_new +ibus_config_get_value +ibus_config_set_value +<SUBSECTION Standard> +IBUS_CONFIG +IBUS_IS_CONFIG +IBUS_TYPE_CONFIG +ibus_config_get_type +IBUS_CONFIG_CLASS +IBUS_IS_CONFIG_CLASS +IBUS_CONFIG_GET_CLASS +</SECTION> + +<SECTION> +<FILE>ibushotkey</FILE> +<TITLE>IBusHotkeyProfile</TITLE> +IBusHotkeyProfile +ibus_hotkey_profile_add_hotkey +ibus_hotkey_profile_add_hotkey_from_string +ibus_hotkey_profile_remove_hotkey +ibus_hotkey_profile_remove_hotkey_by_event +ibus_hotkey_profile_filter_key_event +<SUBSECTION Standard> +IBUS_HOTKEY_PROFILE +IBUS_IS_HOTKEY_PROFILE +IBUS_TYPE_HOTKEY_PROFILE +ibus_hotkey_profile_get_type +IBUS_HOTKEY_PROFILE_CLASS +IBUS_IS_HOTKEY_PROFILE_CLASS +IBUS_HOTKEY_PROFILE_GET_CLASS +</SECTION> + +<SECTION> +<FILE>ibusenginedesc</FILE> +BusComponent +<TITLE>IBusEngineDesc</TITLE> +IBusEngineDesc +ibus_engine_desc_new +ibus_engine_desc_new_from_xml_node +ibus_engine_desc_output +<SUBSECTION Standard> +IBUS_ENGINE_DESC +IBUS_IS_ENGINE_DESC +IBUS_TYPE_ENGINE_DESC +ibus_engine_desc_get_type +IBUS_ENGINE_DESC_CLASS +IBUS_IS_ENGINE_DESC_CLASS +IBUS_ENGINE_DESC_GET_CLASS +</SECTION> + +<SECTION> +<FILE>ibusfactory</FILE> +IBUS_TYPE_FACTORY_INFO +IBUS_FACTORY_INFO +IBUS_FACTORY_INFO_CLASS +IBUS_IS_FACTORY_INFO +IBUS_IS_FACTORY_INFO_CLASS +IBUS_FACTORY_INFO_GET_CLASS +<TITLE>IBusFactory</TITLE> +IBusFactory +<TITLE>IBusFactoryInfo</TITLE> +IBusFactoryInfo +ibus_factory_new +ibus_factory_add_engine +ibus_factory_get_info +ibus_factory_info_get_type +ibus_factory_info_new +<SUBSECTION Standard> +IBUS_FACTORY +IBUS_IS_FACTORY +IBUS_TYPE_FACTORY +ibus_factory_get_type +IBUS_FACTORY_CLASS +IBUS_IS_FACTORY_CLASS +IBUS_FACTORY_GET_CLASS +</SECTION> + +<SECTION> +<FILE>ibusobject</FILE> +IBusObjectFlags +IBUS_OBJECT_FLAGS +IBUS_OBJECT_SET_FLAGS +IBUS_OBJECT_UNSET_FLAGS +IBUS_OBJECT_DESTROYED +<TITLE>IBusObject</TITLE> +IBusObject +ibus_object_new +ibus_object_destroy +<SUBSECTION Standard> +IBUS_OBJECT +IBUS_IS_OBJECT +IBUS_TYPE_OBJECT +ibus_object_get_type +IBUS_OBJECT_CLASS +IBUS_IS_OBJECT_CLASS +IBUS_OBJECT_GET_CLASS +</SECTION> + +<SECTION> +<FILE>ibusbus</FILE> +<TITLE>IBusBus</TITLE> +IBusBus +ibus_bus_new +ibus_bus_is_connected +ibus_bus_hello +ibus_bus_request_name +ibus_bus_release_name +ibus_bus_name_has_owner +ibus_bus_list_names +ibus_bus_add_match +ibus_bus_remove_match +ibus_bus_get_name_owner +ibus_bus_exit +ibus_bus_register_component +ibus_bus_list_engines +ibus_bus_list_active_engines +<SUBSECTION Standard> +IBUS_BUS +IBUS_IS_BUS +IBUS_TYPE_BUS +ibus_bus_get_type +IBUS_BUS_CLASS +IBUS_IS_BUS_CLASS +IBUS_BUS_GET_CLASS +</SECTION> + +<SECTION> +<FILE>ibusservice</FILE> +ServiceIBusMessageFunc +ServiceIBusSignalFunc +<TITLE>IBusService</TITLE> +IBusService +ibus_service_new +ibus_service_get_path +ibus_service_handle_message +ibus_service_add_to_connection +ibus_service_get_connections +ibus_service_remove_from_connection +ibus_service_remove_from_all_connections +ibus_service_send_signal +<SUBSECTION Standard> +IBUS_SERVICE +IBUS_IS_SERVICE +IBUS_TYPE_SERVICE +ibus_service_get_type +IBUS_SERVICE_CLASS +IBUS_IS_SERVICE_CLASS +IBUS_SERVICE_GET_CLASS +</SECTION> + +<SECTION> +<FILE>ibusserializable</FILE> +ibus_serializable_set_attachment +ibus_serializable_get_attachment +ibus_serializable_remove_attachment +IBusSerializableSerializeFunc +IBusSerializableDeserializeFunc +IBusSerializableCopyFunc +<TITLE>IBusSerializable</TITLE> +IBusSerializable +ibus_serializable_new +ibus_serializable_set_qattachment +ibus_serializable_get_qattachment +ibus_serializable_remove_qattachment +ibus_serializable_copy +ibus_serializable_serialize +ibus_serializable_deserialize +<SUBSECTION Standard> +IBUS_SERIALIZABLE +IBUS_IS_SERIALIZABLE +IBUS_TYPE_SERIALIZABLE +ibus_serializable_get_type +IBUS_SERIALIZABLE_CLASS +IBUS_IS_SERIALIZABLE_CLASS +IBUS_SERIALIZABLE_GET_CLASS +</SECTION> + +<SECTION> +<FILE>ibuslookuptable</FILE> +<TITLE>IBusLookupTable</TITLE> +IBusLookupTable +ibus_lookup_table_new +ibus_lookup_table_append_candidate +ibus_lookup_table_get_candidate +ibus_lookup_table_set_cursor_pos +ibus_lookup_table_get_cursor_pos +ibus_lookup_table_set_cursor_visible +ibus_lookup_table_is_cursor_visible +ibus_lookup_table_get_cursor_in_page +ibus_lookup_table_set_page_size +ibus_lookup_table_get_page_size +ibus_lookup_table_clear +ibus_lookup_table_page_up +ibus_lookup_table_page_down +ibus_lookup_table_cursor_up +ibus_lookup_table_cursor_down +<SUBSECTION Standard> +IBUS_LOOKUP_TABLE +IBUS_IS_LOOKUP_TABLE +IBUS_TYPE_LOOKUP_TABLE +ibus_lookup_table_get_type +IBUS_LOOKUP_TABLE_CLASS +IBUS_IS_LOOKUP_TABLE_CLASS +IBUS_LOOKUP_TABLE_GET_CLASS +</SECTION> + +<SECTION> +<FILE>ibustext</FILE> +<TITLE>IBusText</TITLE> +IBusText +ibus_text_new_from_string +ibus_text_new_from_ucs4 +ibus_text_new_from_static_string +ibus_text_new_from_printf +ibus_text_new_from_unichar +ibus_text_append_attribute +ibus_text_get_length +<SUBSECTION Standard> +IBUS_TEXT +IBUS_IS_TEXT +IBUS_TYPE_TEXT +ibus_text_get_type +IBUS_TEXT_CLASS +IBUS_IS_TEXT_CLASS +IBUS_TEXT_GET_CLASS +</SECTION> + +<SECTION> +<FILE>ibusconnection</FILE> +IBusIBusMessageFunc +IBusIBusSignalFunc +IBusMessageFunc +<TITLE>IBusConnection</TITLE> +IBusConnection +ibus_connection_new +ibus_connection_set_connection +ibus_connection_open +ibus_connection_open_private +ibus_connection_close +ibus_connection_is_connected +ibus_connection_get_connection +ibus_connection_read_write_dispatch +ibus_connection_send +ibus_connection_send_signal +ibus_connection_send_signal_valist +ibus_connection_send_valist +ibus_connection_send_with_reply +ibus_connection_send_with_reply_and_block +ibus_connection_call +ibus_connection_flush +ibus_connection_register_object_path +ibus_connection_unregister_object_path +<SUBSECTION Standard> +IBUS_CONNECTION +IBUS_IS_CONNECTION +IBUS_TYPE_CONNECTION +ibus_connection_get_type +IBUS_CONNECTION_CLASS +IBUS_IS_CONNECTION_CLASS +IBUS_CONNECTION_GET_CLASS +</SECTION> + +<SECTION> +<FILE>ibuscomponent</FILE> +<TITLE>IBusComponent</TITLE> +IBusComponent +ibus_component_new +ibus_component_new_from_xml_node +ibus_component_new_from_file +ibus_component_add_observed_path +ibus_component_add_engine +ibus_component_get_engines +ibus_component_output +ibus_component_output_engines +ibus_component_check_modification +ibus_component_start +ibus_component_stop +ibus_component_is_running +ibus_component_get_from_engine +<SUBSECTION Standard> +IBUS_COMPONENT +IBUS_IS_COMPONENT +IBUS_TYPE_COMPONENT +ibus_component_get_type +IBUS_COMPONENT_CLASS +IBUS_IS_COMPONENT_CLASS +IBUS_COMPONENT_GET_CLASS +</SECTION> + +<SECTION> +<FILE>ibusobservedpath</FILE> +<TITLE>IBusObservedPath</TITLE> +IBusObservedPath +ibus_observed_path_new_from_xml_node +ibus_observed_path_new +ibus_observed_path_traverse +ibus_observed_path_check_modification +ibus_observed_path_output +<SUBSECTION Standard> +IBUS_OBSERVED_PATH +IBUS_IS_OBSERVED_PATH +IBUS_TYPE_OBSERVED_PATH +ibus_observed_path_get_type +IBUS_OBSERVED_PATH_CLASS +IBUS_IS_OBSERVED_PATH_CLASS +IBUS_OBSERVED_PATH_GET_CLASS +</SECTION> + +<SECTION> +<FILE>ibusserver</FILE> +IBusNewConnectionFunc +<TITLE>IBusServer</TITLE> +IBusServer +ibus_server_new +ibus_server_listen +ibus_server_disconnect +ibus_server_get_address +ibus_server_get_id +ibus_server_is_connected +<SUBSECTION Standard> +IBUS_SERVER +IBUS_IS_SERVER +IBUS_TYPE_SERVER +ibus_server_get_type +IBUS_SERVER_CLASS +IBUS_IS_SERVER_CLASS +IBUS_SERVER_GET_CLASS +</SECTION> + +<SECTION> +<FILE>ibusengine</FILE> +<TITLE>IBusEngine</TITLE> +IBusEngine +ibus_engine_new +ibus_engine_commit_text +ibus_engine_update_preedit_text +ibus_engine_show_preedit_text +ibus_engine_hide_preedit_text +ibus_engine_update_auxiliary_text +ibus_engine_show_auxiliary_text +ibus_engine_hide_auxiliary_text +ibus_engine_update_lookup_table +ibus_engine_show_lookup_table +ibus_engine_hide_lookup_table +ibus_engine_forward_key_event +ibus_engine_register_properties +ibus_engine_update_property +ibus_engine_get_name +<SUBSECTION Standard> +IBUS_ENGINE +IBUS_IS_ENGINE +IBUS_TYPE_ENGINE +ibus_engine_get_type +IBUS_ENGINE_CLASS +IBUS_IS_ENGINE_CLASS +IBUS_ENGINE_GET_CLASS +</SECTION> + +<SECTION> +<FILE>ibusconfigservice</FILE> +<TITLE>IBusConfigService</TITLE> +IBusConfigService +ibus_config_service_new +ibus_config_service_value_changed +<SUBSECTION Standard> +IBUS_CONFIG_SERVICE +IBUS_IS_CONFIG_SERVICE +IBUS_TYPE_CONFIG_SERVICE +ibus_config_service_get_type +IBUS_CONFIG_SERVICE_CLASS +IBUS_IS_CONFIG_SERVICE_CLASS +IBUS_CONFIG_SERVICE_GET_CLASS +</SECTION> + +<SECTION> +<FILE>ibusinputcontext</FILE> +<TITLE>IBusInputContext</TITLE> +IBusInputContext +ibus_input_context_process_key_event +ibus_input_context_set_cursor_location +ibus_input_context_set_capabilities +ibus_input_context_focus_in +ibus_input_context_focus_out +ibus_input_context_reset +ibus_input_context_enable +ibus_input_context_disable +<SUBSECTION Standard> +IBUS_INPUT_CONTEXT +IBUS_IS_INPUT_CONTEXT +IBUS_TYPE_INPUT_CONTEXT +ibus_input_context_get_type +IBUS_INPUT_CONTEXT_CLASS +IBUS_IS_INPUT_CONTEXT_CLASS +IBUS_INPUT_CONTEXT_GET_CLASS +</SECTION> + +<SECTION> +<FILE>ibuspendingcall</FILE> +IBusPendingCall +IBusPendingCallNotifyFunction +ibus_pending_call_ref +ibus_pending_call_unref +ibus_pending_call_set_notify +ibus_pending_call_cancel +ibus_pending_call_get_completed +ibus_pending_call_steal_reply +ibus_pending_call_block +ibus_pending_call_wait +ibus_pending_call_allocate_data_slot +ibus_pending_call_free_data_slot +ibus_pending_call_set_data +ibus_pending_call_get_data +</SECTION> + +<SECTION> +<FILE>ibusxml</FILE> +XMLNode +ibus_xml_parse_file +ibus_xml_parse_buffer +ibus_xml_free +ibus_xml_output +</SECTION> + + +<SECTION> +<FILE>ibusmessage</FILE> +IBUS_TYPE_OBJECT_PATH +IBUS_TYPE_ARRAY +IBUS_TYPE_STRUCT +IBUS_TYPE_DICT_ENTRY +IBUS_TYPE_VARIANT +IBusMessage +IBusMessageIter +ibus_type_get_object_path +ibus_type_get_array +ibus_type_get_struct +ibus_type_get_dict_entry +ibus_type_get_variant +ibus_message_new +ibus_message_ref +ibus_message_unref +ibus_message_new_method_call +ibus_message_new_method_return +ibus_message_new_error +ibus_message_new_error_printf +ibus_message_new_signal +ibus_message_is_method_call +ibus_message_is_error +ibus_message_is_signal +ibus_message_set_destination +ibus_message_set_sender +ibus_message_set_error_name +ibus_message_set_interface +ibus_message_set_member +ibus_message_set_path +ibus_message_set_no_reply +ibus_message_set_reply_serial +ibus_message_get_type +ibus_message_get_destination +ibus_message_get_sender +ibus_message_get_error_name +ibus_message_get_error_message +ibus_message_get_interface +ibus_message_get_member +ibus_message_get_path +ibus_message_get_no_reply +ibus_message_get_reply_serial +ibus_message_get_serial +ibus_message_append_args +ibus_message_append_args_valist +ibus_message_get_args +ibus_message_get_args_valist +ibus_message_iter_init_append +ibus_message_iter_append +ibus_message_iter_init +ibus_message_iter_peek +ibus_message_iter_get_basic +ibus_message_iter_get +ibus_message_iter_next +ibus_message_iter_has_next +ibus_message_iter_open_container +ibus_message_iter_close_container +ibus_message_iter_recurse +ibus_message_iter_get_arg_type +ibus_message_iter_get_element_type +ibus_message_to_string +</SECTION> + +<SECTION> +<FILE>stamp-ibusenumtypes</FILE> +</SECTION> + +<SECTION> +<FILE>ibuserror</FILE> +IBusError +ibus_error_new +ibus_error_new_from_text +ibus_error_new_from_printf +ibus_error_new_from_message +ibus_error_free +</SECTION> + +<SECTION> +<FILE>ibusenumtypes</FILE> +ibus_object_flags_get_type +IBUS_TYPE_OBJECT_FLAGS +ibus_attr_type_get_type +IBUS_TYPE_ATTR_TYPE +ibus_attr_underline_get_type +IBUS_TYPE_ATTR_UNDERLINE +ibus_prop_type_get_type +IBUS_TYPE_PROP_TYPE +ibus_prop_state_get_type +IBUS_TYPE_PROP_STATE +ibus_modifier_type_get_type +IBUS_TYPE_MODIFIER_TYPE +ibus_capabilite_get_type +IBUS_TYPE_CAPABILITE +</SECTION> + +<SECTION> +<FILE>ibusshare</FILE> +IBUS_SERVICE_IBUS +IBUS_SERVICE_PANEL +IBUS_SERVICE_CONFIG +IBUS_SERVICE_NOTIFICATIONS +IBUS_PATH_IBUS +IBUS_PATH_FACTORY +IBUS_PATH_PANEL +IBUS_PATH_CONFIG +IBUS_PATH_NOTIFICATIONS +IBUS_PATH_INPUT_CONTEXT +IBUS_INTERFACE_IBUS +IBUS_INTERFACE_INPUT_CONTEXT +IBUS_INTERFACE_FACTORY +IBUS_INTERFACE_ENGINE +IBUS_INTERFACE_PANEL +IBUS_INTERFACE_CONFIG +IBUS_INTERFACE_NOTIFICATIONS +ibus_get_address +ibus_get_user_name +ibus_get_socket_path +ibus_keyval_name +ibus_keyval_from_name +ibus_free_strv +ibus_key_event_to_string +ibus_key_event_from_string +ibus_init +ibus_main +ibus_quit +</SECTION> + +<SECTION> +<FILE>ibusconfigprivate</FILE> +</SECTION> + +<SECTION> +<FILE>stamp-ibusmarshalers</FILE> +</SECTION> + +<SECTION> +<FILE>keyname-table</FILE> +gdk_key +</SECTION> + +<SECTION> +<FILE>ibusmarshalers</FILE> +ibus_marshal_VOID__VOID +ibus_marshal_VOID__NONE +ibus_marshal_VOID__OBJECT +ibus_marshal_VOID__POINTER +ibus_marshal_VOID__STRING +ibus_marshal_VOID__STRING_INT +ibus_marshal_VOID__STRING_UINT +ibus_marshal_BOOLEAN__POINTER +ibus_marshal_BOOL__POINTER +ibus_marshal_BOOLEAN__POINTER_POINTER +ibus_marshal_BOOL__POINTER_POINTER +ibus_marshal_BOOLEAN__UINT_UINT +ibus_marshal_BOOL__UINT_UINT +ibus_marshal_VOID__INT_INT_INT_INT +ibus_marshal_VOID__UINT_UINT +ibus_marshal_VOID__OBJECT_UINT_BOOLEAN +ibus_marshal_VOID__OBJECT_UINT_BOOL +ibus_marshal_VOID__OBJECT_BOOLEAN +ibus_marshal_VOID__OBJECT_BOOL +ibus_marshal_VOID__BOXED_BOOLEAN +ibus_marshal_VOID__BOXED_BOOL +ibus_marshal_VOID__BOXED +ibus_marshal_VOID__STRING_STRING_BOXED +ibus_marshal_VOID__STRING_STRING_STRING +ibus_marshal_VOID__UINT +ibus_marshal_VOID__UINT_POINTER +</SECTION> + +<SECTION> +<FILE>ibus</FILE> +</SECTION> + +<SECTION> +<FILE>ibuskeysyms</FILE> +IBUS_VoidSymbol +IBUS_BackSpace +IBUS_Tab +IBUS_Linefeed +IBUS_Clear +IBUS_Return +IBUS_Pause +IBUS_Scroll_Lock +IBUS_Sys_Req +IBUS_Escape +IBUS_Delete +IBUS_Multi_key +IBUS_Codeinput +IBUS_SingleCandidate +IBUS_MultipleCandidate +IBUS_PreviousCandidate +IBUS_Kanji +IBUS_Muhenkan +IBUS_Henkan_Mode +IBUS_Henkan +IBUS_Romaji +IBUS_Hiragana +IBUS_Katakana +IBUS_Hiragana_Katakana +IBUS_Zenkaku +IBUS_Hankaku +IBUS_Zenkaku_Hankaku +IBUS_Touroku +IBUS_Massyo +IBUS_Kana_Lock +IBUS_Kana_Shift +IBUS_Eisu_Shift +IBUS_Eisu_toggle +IBUS_Kanji_Bangou +IBUS_Zen_Koho +IBUS_Mae_Koho +IBUS_Home +IBUS_Left +IBUS_Up +IBUS_Right +IBUS_Down +IBUS_Prior +IBUS_Page_Up +IBUS_Next +IBUS_Page_Down +IBUS_End +IBUS_Begin +IBUS_Select +IBUS_Print +IBUS_Execute +IBUS_Insert +IBUS_Undo +IBUS_Redo +IBUS_Menu +IBUS_Find +IBUS_Cancel +IBUS_Help +IBUS_Break +IBUS_Mode_switch +IBUS_script_switch +IBUS_Num_Lock +IBUS_KP_Space +IBUS_KP_Tab +IBUS_KP_Enter +IBUS_KP_F1 +IBUS_KP_F2 +IBUS_KP_F3 +IBUS_KP_F4 +IBUS_KP_Home +IBUS_KP_Left +IBUS_KP_Up +IBUS_KP_Right +IBUS_KP_Down +IBUS_KP_Prior +IBUS_KP_Page_Up +IBUS_KP_Next +IBUS_KP_Page_Down +IBUS_KP_End +IBUS_KP_Begin +IBUS_KP_Insert +IBUS_KP_Delete +IBUS_KP_Equal +IBUS_KP_Multiply +IBUS_KP_Add +IBUS_KP_Separator +IBUS_KP_Subtract +IBUS_KP_Decimal +IBUS_KP_Divide +IBUS_KP_0 +IBUS_KP_1 +IBUS_KP_2 +IBUS_KP_3 +IBUS_KP_4 +IBUS_KP_5 +IBUS_KP_6 +IBUS_KP_7 +IBUS_KP_8 +IBUS_KP_9 +IBUS_F1 +IBUS_F2 +IBUS_F3 +IBUS_F4 +IBUS_F5 +IBUS_F6 +IBUS_F7 +IBUS_F8 +IBUS_F9 +IBUS_F10 +IBUS_F11 +IBUS_L1 +IBUS_F12 +IBUS_L2 +IBUS_F13 +IBUS_L3 +IBUS_F14 +IBUS_L4 +IBUS_F15 +IBUS_L5 +IBUS_F16 +IBUS_L6 +IBUS_F17 +IBUS_L7 +IBUS_F18 +IBUS_L8 +IBUS_F19 +IBUS_L9 +IBUS_F20 +IBUS_L10 +IBUS_F21 +IBUS_R1 +IBUS_F22 +IBUS_R2 +IBUS_F23 +IBUS_R3 +IBUS_F24 +IBUS_R4 +IBUS_F25 +IBUS_R5 +IBUS_F26 +IBUS_R6 +IBUS_F27 +IBUS_R7 +IBUS_F28 +IBUS_R8 +IBUS_F29 +IBUS_R9 +IBUS_F30 +IBUS_R10 +IBUS_F31 +IBUS_R11 +IBUS_F32 +IBUS_R12 +IBUS_F33 +IBUS_R13 +IBUS_F34 +IBUS_R14 +IBUS_F35 +IBUS_R15 +IBUS_Shift_L +IBUS_Shift_R +IBUS_Control_L +IBUS_Control_R +IBUS_Caps_Lock +IBUS_Shift_Lock +IBUS_Meta_L +IBUS_Meta_R +IBUS_Alt_L +IBUS_Alt_R +IBUS_Super_L +IBUS_Super_R +IBUS_Hyper_L +IBUS_Hyper_R +IBUS_ISO_Lock +IBUS_ISO_Level2_Latch +IBUS_ISO_Level3_Shift +IBUS_ISO_Level3_Latch +IBUS_ISO_Level3_Lock +IBUS_ISO_Level5_Shift +IBUS_ISO_Level5_Latch +IBUS_ISO_Level5_Lock +IBUS_ISO_Group_Shift +IBUS_ISO_Group_Latch +IBUS_ISO_Group_Lock +IBUS_ISO_Next_Group +IBUS_ISO_Next_Group_Lock +IBUS_ISO_Prev_Group +IBUS_ISO_Prev_Group_Lock +IBUS_ISO_First_Group +IBUS_ISO_First_Group_Lock +IBUS_ISO_Last_Group +IBUS_ISO_Last_Group_Lock +IBUS_ISO_Left_Tab +IBUS_ISO_Move_Line_Up +IBUS_ISO_Move_Line_Down +IBUS_ISO_Partial_Line_Up +IBUS_ISO_Partial_Line_Down +IBUS_ISO_Partial_Space_Left +IBUS_ISO_Partial_Space_Right +IBUS_ISO_Set_Margin_Left +IBUS_ISO_Set_Margin_Right +IBUS_ISO_Release_Margin_Left +IBUS_ISO_Release_Margin_Right +IBUS_ISO_Release_Both_Margins +IBUS_ISO_Fast_Cursor_Left +IBUS_ISO_Fast_Cursor_Right +IBUS_ISO_Fast_Cursor_Up +IBUS_ISO_Fast_Cursor_Down +IBUS_ISO_Continuous_Underline +IBUS_ISO_Discontinuous_Underline +IBUS_ISO_Emphasize +IBUS_ISO_Center_Object +IBUS_ISO_Enter +IBUS_dead_grave +IBUS_dead_acute +IBUS_dead_circumflex +IBUS_dead_tilde +IBUS_dead_perispomeni +IBUS_dead_macron +IBUS_dead_breve +IBUS_dead_abovedot +IBUS_dead_diaeresis +IBUS_dead_abovering +IBUS_dead_doubleacute +IBUS_dead_caron +IBUS_dead_cedilla +IBUS_dead_ogonek +IBUS_dead_iota +IBUS_dead_voiced_sound +IBUS_dead_semivoiced_sound +IBUS_dead_belowdot +IBUS_dead_hook +IBUS_dead_horn +IBUS_dead_stroke +IBUS_dead_abovecomma +IBUS_dead_psili +IBUS_dead_abovereversedcomma +IBUS_dead_dasia +IBUS_dead_belowring +IBUS_dead_belowmacron +IBUS_dead_belowcircumflex +IBUS_dead_belowtilde +IBUS_dead_belowbreve +IBUS_dead_belowdiaeresis +IBUS_First_Virtual_Screen +IBUS_Prev_Virtual_Screen +IBUS_Next_Virtual_Screen +IBUS_Last_Virtual_Screen +IBUS_Terminate_Server +IBUS_AccessX_Enable +IBUS_AccessX_Feedback_Enable +IBUS_RepeatKeys_Enable +IBUS_SlowKeys_Enable +IBUS_BounceKeys_Enable +IBUS_StickyKeys_Enable +IBUS_MouseKeys_Enable +IBUS_MouseKeys_Accel_Enable +IBUS_Overlay1_Enable +IBUS_Overlay2_Enable +IBUS_AudibleBell_Enable +IBUS_Pointer_Left +IBUS_Pointer_Right +IBUS_Pointer_Up +IBUS_Pointer_Down +IBUS_Pointer_UpLeft +IBUS_Pointer_UpRight +IBUS_Pointer_DownLeft +IBUS_Pointer_DownRight +IBUS_Pointer_Button_Dflt +IBUS_Pointer_Button1 +IBUS_Pointer_Button2 +IBUS_Pointer_Button3 +IBUS_Pointer_Button4 +IBUS_Pointer_Button5 +IBUS_Pointer_DblClick_Dflt +IBUS_Pointer_DblClick1 +IBUS_Pointer_DblClick2 +IBUS_Pointer_DblClick3 +IBUS_Pointer_DblClick4 +IBUS_Pointer_DblClick5 +IBUS_Pointer_Drag_Dflt +IBUS_Pointer_Drag1 +IBUS_Pointer_Drag2 +IBUS_Pointer_Drag3 +IBUS_Pointer_Drag4 +IBUS_Pointer_Drag5 +IBUS_Pointer_EnableKeys +IBUS_Pointer_Accelerate +IBUS_Pointer_DfltBtnNext +IBUS_Pointer_DfltBtnPrev +IBUS_3270_Duplicate +IBUS_3270_FieldMark +IBUS_3270_Right2 +IBUS_3270_Left2 +IBUS_3270_BackTab +IBUS_3270_EraseEOF +IBUS_3270_EraseInput +IBUS_3270_Reset +IBUS_3270_Quit +IBUS_3270_PA1 +IBUS_3270_PA2 +IBUS_3270_PA3 +IBUS_3270_Test +IBUS_3270_Attn +IBUS_3270_CursorBlink +IBUS_3270_AltCursor +IBUS_3270_KeyClick +IBUS_3270_Jump +IBUS_3270_Ident +IBUS_3270_Rule +IBUS_3270_Copy +IBUS_3270_Play +IBUS_3270_Setup +IBUS_3270_Record +IBUS_3270_ChangeScreen +IBUS_3270_DeleteWord +IBUS_3270_ExSelect +IBUS_3270_CursorSelect +IBUS_3270_PrintScreen +IBUS_3270_Enter +IBUS_space +IBUS_exclam +IBUS_quotedbl +IBUS_numbersign +IBUS_dollar +IBUS_percent +IBUS_ampersand +IBUS_apostrophe +IBUS_quoteright +IBUS_parenleft +IBUS_parenright +IBUS_asterisk +IBUS_plus +IBUS_comma +IBUS_minus +IBUS_period +IBUS_slash +IBUS_0 +IBUS_1 +IBUS_2 +IBUS_3 +IBUS_4 +IBUS_5 +IBUS_6 +IBUS_7 +IBUS_8 +IBUS_9 +IBUS_colon +IBUS_semicolon +IBUS_less +IBUS_equal +IBUS_greater +IBUS_question +IBUS_at +IBUS_A +IBUS_B +IBUS_C +IBUS_D +IBUS_E +IBUS_F +IBUS_G +IBUS_H +IBUS_I +IBUS_J +IBUS_K +IBUS_L +IBUS_M +IBUS_N +IBUS_O +IBUS_P +IBUS_Q +IBUS_R +IBUS_S +IBUS_T +IBUS_U +IBUS_V +IBUS_W +IBUS_X +IBUS_Y +IBUS_Z +IBUS_bracketleft +IBUS_backslash +IBUS_bracketright +IBUS_asciicircum +IBUS_underscore +IBUS_grave +IBUS_quoteleft +IBUS_a +IBUS_b +IBUS_c +IBUS_d +IBUS_e +IBUS_f +IBUS_g +IBUS_h +IBUS_i +IBUS_j +IBUS_k +IBUS_l +IBUS_m +IBUS_n +IBUS_o +IBUS_p +IBUS_q +IBUS_r +IBUS_s +IBUS_t +IBUS_u +IBUS_v +IBUS_w +IBUS_x +IBUS_y +IBUS_z +IBUS_braceleft +IBUS_bar +IBUS_braceright +IBUS_asciitilde +IBUS_nobreakspace +IBUS_exclamdown +IBUS_cent +IBUS_sterling +IBUS_currency +IBUS_yen +IBUS_brokenbar +IBUS_section +IBUS_diaeresis +IBUS_copyright +IBUS_ordfeminine +IBUS_guillemotleft +IBUS_notsign +IBUS_hyphen +IBUS_registered +IBUS_macron +IBUS_degree +IBUS_plusminus +IBUS_twosuperior +IBUS_threesuperior +IBUS_acute +IBUS_mu +IBUS_paragraph +IBUS_periodcentered +IBUS_cedilla +IBUS_onesuperior +IBUS_masculine +IBUS_guillemotright +IBUS_onequarter +IBUS_onehalf +IBUS_threequarters +IBUS_questiondown +IBUS_Agrave +IBUS_Aacute +IBUS_Acircumflex +IBUS_Atilde +IBUS_Adiaeresis +IBUS_Aring +IBUS_AE +IBUS_Ccedilla +IBUS_Egrave +IBUS_Eacute +IBUS_Ecircumflex +IBUS_Ediaeresis +IBUS_Igrave +IBUS_Iacute +IBUS_Icircumflex +IBUS_Idiaeresis +IBUS_ETH +IBUS_Eth +IBUS_Ntilde +IBUS_Ograve +IBUS_Oacute +IBUS_Ocircumflex +IBUS_Otilde +IBUS_Odiaeresis +IBUS_multiply +IBUS_Oslash +IBUS_Ooblique +IBUS_Ugrave +IBUS_Uacute +IBUS_Ucircumflex +IBUS_Udiaeresis +IBUS_Yacute +IBUS_THORN +IBUS_Thorn +IBUS_ssharp +IBUS_agrave +IBUS_aacute +IBUS_acircumflex +IBUS_atilde +IBUS_adiaeresis +IBUS_aring +IBUS_ae +IBUS_ccedilla +IBUS_egrave +IBUS_eacute +IBUS_ecircumflex +IBUS_ediaeresis +IBUS_igrave +IBUS_iacute +IBUS_icircumflex +IBUS_idiaeresis +IBUS_eth +IBUS_ntilde +IBUS_ograve +IBUS_oacute +IBUS_ocircumflex +IBUS_otilde +IBUS_odiaeresis +IBUS_division +IBUS_oslash +IBUS_ooblique +IBUS_ugrave +IBUS_uacute +IBUS_ucircumflex +IBUS_udiaeresis +IBUS_yacute +IBUS_thorn +IBUS_ydiaeresis +IBUS_Aogonek +IBUS_breve +IBUS_Lstroke +IBUS_Lcaron +IBUS_Sacute +IBUS_Scaron +IBUS_Scedilla +IBUS_Tcaron +IBUS_Zacute +IBUS_Zcaron +IBUS_Zabovedot +IBUS_aogonek +IBUS_ogonek +IBUS_lstroke +IBUS_lcaron +IBUS_sacute +IBUS_caron +IBUS_scaron +IBUS_scedilla +IBUS_tcaron +IBUS_zacute +IBUS_doubleacute +IBUS_zcaron +IBUS_zabovedot +IBUS_Racute +IBUS_Abreve +IBUS_Lacute +IBUS_Cacute +IBUS_Ccaron +IBUS_Eogonek +IBUS_Ecaron +IBUS_Dcaron +IBUS_Dstroke +IBUS_Nacute +IBUS_Ncaron +IBUS_Odoubleacute +IBUS_Rcaron +IBUS_Uring +IBUS_Udoubleacute +IBUS_Tcedilla +IBUS_racute +IBUS_abreve +IBUS_lacute +IBUS_cacute +IBUS_ccaron +IBUS_eogonek +IBUS_ecaron +IBUS_dcaron +IBUS_dstroke +IBUS_nacute +IBUS_ncaron +IBUS_odoubleacute +IBUS_udoubleacute +IBUS_rcaron +IBUS_uring +IBUS_tcedilla +IBUS_abovedot +IBUS_Hstroke +IBUS_Hcircumflex +IBUS_Iabovedot +IBUS_Gbreve +IBUS_Jcircumflex +IBUS_hstroke +IBUS_hcircumflex +IBUS_idotless +IBUS_gbreve +IBUS_jcircumflex +IBUS_Cabovedot +IBUS_Ccircumflex +IBUS_Gabovedot +IBUS_Gcircumflex +IBUS_Ubreve +IBUS_Scircumflex +IBUS_cabovedot +IBUS_ccircumflex +IBUS_gabovedot +IBUS_gcircumflex +IBUS_ubreve +IBUS_scircumflex +IBUS_kra +IBUS_kappa +IBUS_Rcedilla +IBUS_Itilde +IBUS_Lcedilla +IBUS_Emacron +IBUS_Gcedilla +IBUS_Tslash +IBUS_rcedilla +IBUS_itilde +IBUS_lcedilla +IBUS_emacron +IBUS_gcedilla +IBUS_tslash +IBUS_ENG +IBUS_eng +IBUS_Amacron +IBUS_Iogonek +IBUS_Eabovedot +IBUS_Imacron +IBUS_Ncedilla +IBUS_Omacron +IBUS_Kcedilla +IBUS_Uogonek +IBUS_Utilde +IBUS_Umacron +IBUS_amacron +IBUS_iogonek +IBUS_eabovedot +IBUS_imacron +IBUS_ncedilla +IBUS_omacron +IBUS_kcedilla +IBUS_uogonek +IBUS_utilde +IBUS_umacron +IBUS_Babovedot +IBUS_babovedot +IBUS_Dabovedot +IBUS_Wgrave +IBUS_Wacute +IBUS_dabovedot +IBUS_Ygrave +IBUS_Fabovedot +IBUS_fabovedot +IBUS_Mabovedot +IBUS_mabovedot +IBUS_Pabovedot +IBUS_wgrave +IBUS_pabovedot +IBUS_wacute +IBUS_Sabovedot +IBUS_ygrave +IBUS_Wdiaeresis +IBUS_wdiaeresis +IBUS_sabovedot +IBUS_Wcircumflex +IBUS_Tabovedot +IBUS_Ycircumflex +IBUS_wcircumflex +IBUS_tabovedot +IBUS_ycircumflex +IBUS_OE +IBUS_oe +IBUS_Ydiaeresis +IBUS_overline +IBUS_kana_fullstop +IBUS_kana_openingbracket +IBUS_kana_closingbracket +IBUS_kana_comma +IBUS_kana_conjunctive +IBUS_kana_middledot +IBUS_kana_WO +IBUS_kana_a +IBUS_kana_i +IBUS_kana_u +IBUS_kana_e +IBUS_kana_o +IBUS_kana_ya +IBUS_kana_yu +IBUS_kana_yo +IBUS_kana_tsu +IBUS_kana_tu +IBUS_prolongedsound +IBUS_kana_A +IBUS_kana_I +IBUS_kana_U +IBUS_kana_E +IBUS_kana_O +IBUS_kana_KA +IBUS_kana_KI +IBUS_kana_KU +IBUS_kana_KE +IBUS_kana_KO +IBUS_kana_SA +IBUS_kana_SHI +IBUS_kana_SU +IBUS_kana_SE +IBUS_kana_SO +IBUS_kana_TA +IBUS_kana_CHI +IBUS_kana_TI +IBUS_kana_TSU +IBUS_kana_TU +IBUS_kana_TE +IBUS_kana_TO +IBUS_kana_NA +IBUS_kana_NI +IBUS_kana_NU +IBUS_kana_NE +IBUS_kana_NO +IBUS_kana_HA +IBUS_kana_HI +IBUS_kana_FU +IBUS_kana_HU +IBUS_kana_HE +IBUS_kana_HO +IBUS_kana_MA +IBUS_kana_MI +IBUS_kana_MU +IBUS_kana_ME +IBUS_kana_MO +IBUS_kana_YA +IBUS_kana_YU +IBUS_kana_YO +IBUS_kana_RA +IBUS_kana_RI +IBUS_kana_RU +IBUS_kana_RE +IBUS_kana_RO +IBUS_kana_WA +IBUS_kana_N +IBUS_voicedsound +IBUS_semivoicedsound +IBUS_kana_switch +IBUS_Farsi_0 +IBUS_Farsi_1 +IBUS_Farsi_2 +IBUS_Farsi_3 +IBUS_Farsi_4 +IBUS_Farsi_5 +IBUS_Farsi_6 +IBUS_Farsi_7 +IBUS_Farsi_8 +IBUS_Farsi_9 +IBUS_Arabic_percent +IBUS_Arabic_superscript_alef +IBUS_Arabic_tteh +IBUS_Arabic_peh +IBUS_Arabic_tcheh +IBUS_Arabic_ddal +IBUS_Arabic_rreh +IBUS_Arabic_comma +IBUS_Arabic_fullstop +IBUS_Arabic_0 +IBUS_Arabic_1 +IBUS_Arabic_2 +IBUS_Arabic_3 +IBUS_Arabic_4 +IBUS_Arabic_5 +IBUS_Arabic_6 +IBUS_Arabic_7 +IBUS_Arabic_8 +IBUS_Arabic_9 +IBUS_Arabic_semicolon +IBUS_Arabic_question_mark +IBUS_Arabic_hamza +IBUS_Arabic_maddaonalef +IBUS_Arabic_hamzaonalef +IBUS_Arabic_hamzaonwaw +IBUS_Arabic_hamzaunderalef +IBUS_Arabic_hamzaonyeh +IBUS_Arabic_alef +IBUS_Arabic_beh +IBUS_Arabic_tehmarbuta +IBUS_Arabic_teh +IBUS_Arabic_theh +IBUS_Arabic_jeem +IBUS_Arabic_hah +IBUS_Arabic_khah +IBUS_Arabic_dal +IBUS_Arabic_thal +IBUS_Arabic_ra +IBUS_Arabic_zain +IBUS_Arabic_seen +IBUS_Arabic_sheen +IBUS_Arabic_sad +IBUS_Arabic_dad +IBUS_Arabic_tah +IBUS_Arabic_zah +IBUS_Arabic_ain +IBUS_Arabic_ghain +IBUS_Arabic_tatweel +IBUS_Arabic_feh +IBUS_Arabic_qaf +IBUS_Arabic_kaf +IBUS_Arabic_lam +IBUS_Arabic_meem +IBUS_Arabic_noon +IBUS_Arabic_ha +IBUS_Arabic_heh +IBUS_Arabic_waw +IBUS_Arabic_alefmaksura +IBUS_Arabic_yeh +IBUS_Arabic_fathatan +IBUS_Arabic_dammatan +IBUS_Arabic_kasratan +IBUS_Arabic_fatha +IBUS_Arabic_damma +IBUS_Arabic_kasra +IBUS_Arabic_shadda +IBUS_Arabic_sukun +IBUS_Arabic_madda_above +IBUS_Arabic_hamza_above +IBUS_Arabic_hamza_below +IBUS_Arabic_jeh +IBUS_Arabic_veh +IBUS_Arabic_keheh +IBUS_Arabic_gaf +IBUS_Arabic_noon_ghunna +IBUS_Arabic_heh_doachashmee +IBUS_Farsi_yeh +IBUS_Arabic_farsi_yeh +IBUS_Arabic_yeh_baree +IBUS_Arabic_heh_goal +IBUS_Arabic_switch +IBUS_Cyrillic_GHE_bar +IBUS_Cyrillic_ghe_bar +IBUS_Cyrillic_ZHE_descender +IBUS_Cyrillic_zhe_descender +IBUS_Cyrillic_KA_descender +IBUS_Cyrillic_ka_descender +IBUS_Cyrillic_KA_vertstroke +IBUS_Cyrillic_ka_vertstroke +IBUS_Cyrillic_EN_descender +IBUS_Cyrillic_en_descender +IBUS_Cyrillic_U_straight +IBUS_Cyrillic_u_straight +IBUS_Cyrillic_U_straight_bar +IBUS_Cyrillic_u_straight_bar +IBUS_Cyrillic_HA_descender +IBUS_Cyrillic_ha_descender +IBUS_Cyrillic_CHE_descender +IBUS_Cyrillic_che_descender +IBUS_Cyrillic_CHE_vertstroke +IBUS_Cyrillic_che_vertstroke +IBUS_Cyrillic_SHHA +IBUS_Cyrillic_shha +IBUS_Cyrillic_SCHWA +IBUS_Cyrillic_schwa +IBUS_Cyrillic_I_macron +IBUS_Cyrillic_i_macron +IBUS_Cyrillic_O_bar +IBUS_Cyrillic_o_bar +IBUS_Cyrillic_U_macron +IBUS_Cyrillic_u_macron +IBUS_Serbian_dje +IBUS_Macedonia_gje +IBUS_Cyrillic_io +IBUS_Ukrainian_ie +IBUS_Ukranian_je +IBUS_Macedonia_dse +IBUS_Ukrainian_i +IBUS_Ukranian_i +IBUS_Ukrainian_yi +IBUS_Ukranian_yi +IBUS_Cyrillic_je +IBUS_Serbian_je +IBUS_Cyrillic_lje +IBUS_Serbian_lje +IBUS_Cyrillic_nje +IBUS_Serbian_nje +IBUS_Serbian_tshe +IBUS_Macedonia_kje +IBUS_Ukrainian_ghe_with_upturn +IBUS_Byelorussian_shortu +IBUS_Cyrillic_dzhe +IBUS_Serbian_dze +IBUS_numerosign +IBUS_Serbian_DJE +IBUS_Macedonia_GJE +IBUS_Cyrillic_IO +IBUS_Ukrainian_IE +IBUS_Ukranian_JE +IBUS_Macedonia_DSE +IBUS_Ukrainian_I +IBUS_Ukranian_I +IBUS_Ukrainian_YI +IBUS_Ukranian_YI +IBUS_Cyrillic_JE +IBUS_Serbian_JE +IBUS_Cyrillic_LJE +IBUS_Serbian_LJE +IBUS_Cyrillic_NJE +IBUS_Serbian_NJE +IBUS_Serbian_TSHE +IBUS_Macedonia_KJE +IBUS_Ukrainian_GHE_WITH_UPTURN +IBUS_Byelorussian_SHORTU +IBUS_Cyrillic_DZHE +IBUS_Serbian_DZE +IBUS_Cyrillic_yu +IBUS_Cyrillic_a +IBUS_Cyrillic_be +IBUS_Cyrillic_tse +IBUS_Cyrillic_de +IBUS_Cyrillic_ie +IBUS_Cyrillic_ef +IBUS_Cyrillic_ghe +IBUS_Cyrillic_ha +IBUS_Cyrillic_i +IBUS_Cyrillic_shorti +IBUS_Cyrillic_ka +IBUS_Cyrillic_el +IBUS_Cyrillic_em +IBUS_Cyrillic_en +IBUS_Cyrillic_o +IBUS_Cyrillic_pe +IBUS_Cyrillic_ya +IBUS_Cyrillic_er +IBUS_Cyrillic_es +IBUS_Cyrillic_te +IBUS_Cyrillic_u +IBUS_Cyrillic_zhe +IBUS_Cyrillic_ve +IBUS_Cyrillic_softsign +IBUS_Cyrillic_yeru +IBUS_Cyrillic_ze +IBUS_Cyrillic_sha +IBUS_Cyrillic_e +IBUS_Cyrillic_shcha +IBUS_Cyrillic_che +IBUS_Cyrillic_hardsign +IBUS_Cyrillic_YU +IBUS_Cyrillic_A +IBUS_Cyrillic_BE +IBUS_Cyrillic_TSE +IBUS_Cyrillic_DE +IBUS_Cyrillic_IE +IBUS_Cyrillic_EF +IBUS_Cyrillic_GHE +IBUS_Cyrillic_HA +IBUS_Cyrillic_I +IBUS_Cyrillic_SHORTI +IBUS_Cyrillic_KA +IBUS_Cyrillic_EL +IBUS_Cyrillic_EM +IBUS_Cyrillic_EN +IBUS_Cyrillic_O +IBUS_Cyrillic_PE +IBUS_Cyrillic_YA +IBUS_Cyrillic_ER +IBUS_Cyrillic_ES +IBUS_Cyrillic_TE +IBUS_Cyrillic_U +IBUS_Cyrillic_ZHE +IBUS_Cyrillic_VE +IBUS_Cyrillic_SOFTSIGN +IBUS_Cyrillic_YERU +IBUS_Cyrillic_ZE +IBUS_Cyrillic_SHA +IBUS_Cyrillic_E +IBUS_Cyrillic_SHCHA +IBUS_Cyrillic_CHE +IBUS_Cyrillic_HARDSIGN +IBUS_Greek_ALPHAaccent +IBUS_Greek_EPSILONaccent +IBUS_Greek_ETAaccent +IBUS_Greek_IOTAaccent +IBUS_Greek_IOTAdieresis +IBUS_Greek_IOTAdiaeresis +IBUS_Greek_OMICRONaccent +IBUS_Greek_UPSILONaccent +IBUS_Greek_UPSILONdieresis +IBUS_Greek_OMEGAaccent +IBUS_Greek_accentdieresis +IBUS_Greek_horizbar +IBUS_Greek_alphaaccent +IBUS_Greek_epsilonaccent +IBUS_Greek_etaaccent +IBUS_Greek_iotaaccent +IBUS_Greek_iotadieresis +IBUS_Greek_iotaaccentdieresis +IBUS_Greek_omicronaccent +IBUS_Greek_upsilonaccent +IBUS_Greek_upsilondieresis +IBUS_Greek_upsilonaccentdieresis +IBUS_Greek_omegaaccent +IBUS_Greek_ALPHA +IBUS_Greek_BETA +IBUS_Greek_GAMMA +IBUS_Greek_DELTA +IBUS_Greek_EPSILON +IBUS_Greek_ZETA +IBUS_Greek_ETA +IBUS_Greek_THETA +IBUS_Greek_IOTA +IBUS_Greek_KAPPA +IBUS_Greek_LAMDA +IBUS_Greek_LAMBDA +IBUS_Greek_MU +IBUS_Greek_NU +IBUS_Greek_XI +IBUS_Greek_OMICRON +IBUS_Greek_PI +IBUS_Greek_RHO +IBUS_Greek_SIGMA +IBUS_Greek_TAU +IBUS_Greek_UPSILON +IBUS_Greek_PHI +IBUS_Greek_CHI +IBUS_Greek_PSI +IBUS_Greek_OMEGA +IBUS_Greek_alpha +IBUS_Greek_beta +IBUS_Greek_gamma +IBUS_Greek_delta +IBUS_Greek_epsilon +IBUS_Greek_zeta +IBUS_Greek_eta +IBUS_Greek_theta +IBUS_Greek_iota +IBUS_Greek_kappa +IBUS_Greek_lamda +IBUS_Greek_lambda +IBUS_Greek_mu +IBUS_Greek_nu +IBUS_Greek_xi +IBUS_Greek_omicron +IBUS_Greek_pi +IBUS_Greek_rho +IBUS_Greek_sigma +IBUS_Greek_finalsmallsigma +IBUS_Greek_tau +IBUS_Greek_upsilon +IBUS_Greek_phi +IBUS_Greek_chi +IBUS_Greek_psi +IBUS_Greek_omega +IBUS_Greek_switch +IBUS_leftradical +IBUS_topleftradical +IBUS_horizconnector +IBUS_topintegral +IBUS_botintegral +IBUS_vertconnector +IBUS_topleftsqbracket +IBUS_botleftsqbracket +IBUS_toprightsqbracket +IBUS_botrightsqbracket +IBUS_topleftparens +IBUS_botleftparens +IBUS_toprightparens +IBUS_botrightparens +IBUS_leftmiddlecurlybrace +IBUS_rightmiddlecurlybrace +IBUS_topleftsummation +IBUS_botleftsummation +IBUS_topvertsummationconnector +IBUS_botvertsummationconnector +IBUS_toprightsummation +IBUS_botrightsummation +IBUS_rightmiddlesummation +IBUS_lessthanequal +IBUS_notequal +IBUS_greaterthanequal +IBUS_integral +IBUS_therefore +IBUS_variation +IBUS_infinity +IBUS_nabla +IBUS_approximate +IBUS_similarequal +IBUS_ifonlyif +IBUS_implies +IBUS_identical +IBUS_radical +IBUS_includedin +IBUS_includes +IBUS_intersection +IBUS_union +IBUS_logicaland +IBUS_logicalor +IBUS_partialderivative +IBUS_function +IBUS_leftarrow +IBUS_uparrow +IBUS_rightarrow +IBUS_downarrow +IBUS_blank +IBUS_soliddiamond +IBUS_checkerboard +IBUS_ht +IBUS_ff +IBUS_cr +IBUS_lf +IBUS_nl +IBUS_vt +IBUS_lowrightcorner +IBUS_uprightcorner +IBUS_upleftcorner +IBUS_lowleftcorner +IBUS_crossinglines +IBUS_horizlinescan1 +IBUS_horizlinescan3 +IBUS_horizlinescan5 +IBUS_horizlinescan7 +IBUS_horizlinescan9 +IBUS_leftt +IBUS_rightt +IBUS_bott +IBUS_topt +IBUS_vertbar +IBUS_emspace +IBUS_enspace +IBUS_em3space +IBUS_em4space +IBUS_digitspace +IBUS_punctspace +IBUS_thinspace +IBUS_hairspace +IBUS_emdash +IBUS_endash +IBUS_signifblank +IBUS_ellipsis +IBUS_doubbaselinedot +IBUS_onethird +IBUS_twothirds +IBUS_onefifth +IBUS_twofifths +IBUS_threefifths +IBUS_fourfifths +IBUS_onesixth +IBUS_fivesixths +IBUS_careof +IBUS_figdash +IBUS_leftanglebracket +IBUS_decimalpoint +IBUS_rightanglebracket +IBUS_marker +IBUS_oneeighth +IBUS_threeeighths +IBUS_fiveeighths +IBUS_seveneighths +IBUS_trademark +IBUS_signaturemark +IBUS_trademarkincircle +IBUS_leftopentriangle +IBUS_rightopentriangle +IBUS_emopencircle +IBUS_emopenrectangle +IBUS_leftsinglequotemark +IBUS_rightsinglequotemark +IBUS_leftdoublequotemark +IBUS_rightdoublequotemark +IBUS_prescription +IBUS_minutes +IBUS_seconds +IBUS_latincross +IBUS_hexagram +IBUS_filledrectbullet +IBUS_filledlefttribullet +IBUS_filledrighttribullet +IBUS_emfilledcircle +IBUS_emfilledrect +IBUS_enopencircbullet +IBUS_enopensquarebullet +IBUS_openrectbullet +IBUS_opentribulletup +IBUS_opentribulletdown +IBUS_openstar +IBUS_enfilledcircbullet +IBUS_enfilledsqbullet +IBUS_filledtribulletup +IBUS_filledtribulletdown +IBUS_leftpointer +IBUS_rightpointer +IBUS_club +IBUS_diamond +IBUS_heart +IBUS_maltesecross +IBUS_dagger +IBUS_doubledagger +IBUS_checkmark +IBUS_ballotcross +IBUS_musicalsharp +IBUS_musicalflat +IBUS_malesymbol +IBUS_femalesymbol +IBUS_telephone +IBUS_telephonerecorder +IBUS_phonographcopyright +IBUS_caret +IBUS_singlelowquotemark +IBUS_doublelowquotemark +IBUS_cursor +IBUS_leftcaret +IBUS_rightcaret +IBUS_downcaret +IBUS_upcaret +IBUS_overbar +IBUS_downtack +IBUS_upshoe +IBUS_downstile +IBUS_underbar +IBUS_jot +IBUS_quad +IBUS_uptack +IBUS_circle +IBUS_upstile +IBUS_downshoe +IBUS_rightshoe +IBUS_leftshoe +IBUS_lefttack +IBUS_righttack +IBUS_hebrew_doublelowline +IBUS_hebrew_aleph +IBUS_hebrew_bet +IBUS_hebrew_beth +IBUS_hebrew_gimel +IBUS_hebrew_gimmel +IBUS_hebrew_dalet +IBUS_hebrew_daleth +IBUS_hebrew_he +IBUS_hebrew_waw +IBUS_hebrew_zain +IBUS_hebrew_zayin +IBUS_hebrew_chet +IBUS_hebrew_het +IBUS_hebrew_tet +IBUS_hebrew_teth +IBUS_hebrew_yod +IBUS_hebrew_finalkaph +IBUS_hebrew_kaph +IBUS_hebrew_lamed +IBUS_hebrew_finalmem +IBUS_hebrew_mem +IBUS_hebrew_finalnun +IBUS_hebrew_nun +IBUS_hebrew_samech +IBUS_hebrew_samekh +IBUS_hebrew_ayin +IBUS_hebrew_finalpe +IBUS_hebrew_pe +IBUS_hebrew_finalzade +IBUS_hebrew_finalzadi +IBUS_hebrew_zade +IBUS_hebrew_zadi +IBUS_hebrew_qoph +IBUS_hebrew_kuf +IBUS_hebrew_resh +IBUS_hebrew_shin +IBUS_hebrew_taw +IBUS_hebrew_taf +IBUS_Hebrew_switch +IBUS_Thai_kokai +IBUS_Thai_khokhai +IBUS_Thai_khokhuat +IBUS_Thai_khokhwai +IBUS_Thai_khokhon +IBUS_Thai_khorakhang +IBUS_Thai_ngongu +IBUS_Thai_chochan +IBUS_Thai_choching +IBUS_Thai_chochang +IBUS_Thai_soso +IBUS_Thai_chochoe +IBUS_Thai_yoying +IBUS_Thai_dochada +IBUS_Thai_topatak +IBUS_Thai_thothan +IBUS_Thai_thonangmontho +IBUS_Thai_thophuthao +IBUS_Thai_nonen +IBUS_Thai_dodek +IBUS_Thai_totao +IBUS_Thai_thothung +IBUS_Thai_thothahan +IBUS_Thai_thothong +IBUS_Thai_nonu +IBUS_Thai_bobaimai +IBUS_Thai_popla +IBUS_Thai_phophung +IBUS_Thai_fofa +IBUS_Thai_phophan +IBUS_Thai_fofan +IBUS_Thai_phosamphao +IBUS_Thai_moma +IBUS_Thai_yoyak +IBUS_Thai_rorua +IBUS_Thai_ru +IBUS_Thai_loling +IBUS_Thai_lu +IBUS_Thai_wowaen +IBUS_Thai_sosala +IBUS_Thai_sorusi +IBUS_Thai_sosua +IBUS_Thai_hohip +IBUS_Thai_lochula +IBUS_Thai_oang +IBUS_Thai_honokhuk +IBUS_Thai_paiyannoi +IBUS_Thai_saraa +IBUS_Thai_maihanakat +IBUS_Thai_saraaa +IBUS_Thai_saraam +IBUS_Thai_sarai +IBUS_Thai_saraii +IBUS_Thai_saraue +IBUS_Thai_sarauee +IBUS_Thai_sarau +IBUS_Thai_sarauu +IBUS_Thai_phinthu +IBUS_Thai_maihanakat_maitho +IBUS_Thai_baht +IBUS_Thai_sarae +IBUS_Thai_saraae +IBUS_Thai_sarao +IBUS_Thai_saraaimaimuan +IBUS_Thai_saraaimaimalai +IBUS_Thai_lakkhangyao +IBUS_Thai_maiyamok +IBUS_Thai_maitaikhu +IBUS_Thai_maiek +IBUS_Thai_maitho +IBUS_Thai_maitri +IBUS_Thai_maichattawa +IBUS_Thai_thanthakhat +IBUS_Thai_nikhahit +IBUS_Thai_leksun +IBUS_Thai_leknung +IBUS_Thai_leksong +IBUS_Thai_leksam +IBUS_Thai_leksi +IBUS_Thai_lekha +IBUS_Thai_lekhok +IBUS_Thai_lekchet +IBUS_Thai_lekpaet +IBUS_Thai_lekkao +IBUS_Hangul +IBUS_Hangul_Start +IBUS_Hangul_End +IBUS_Hangul_Hanja +IBUS_Hangul_Jamo +IBUS_Hangul_Romaja +IBUS_Hangul_Codeinput +IBUS_Hangul_Jeonja +IBUS_Hangul_Banja +IBUS_Hangul_PreHanja +IBUS_Hangul_PostHanja +IBUS_Hangul_SingleCandidate +IBUS_Hangul_MultipleCandidate +IBUS_Hangul_PreviousCandidate +IBUS_Hangul_Special +IBUS_Hangul_switch +IBUS_Hangul_Kiyeog +IBUS_Hangul_SsangKiyeog +IBUS_Hangul_KiyeogSios +IBUS_Hangul_Nieun +IBUS_Hangul_NieunJieuj +IBUS_Hangul_NieunHieuh +IBUS_Hangul_Dikeud +IBUS_Hangul_SsangDikeud +IBUS_Hangul_Rieul +IBUS_Hangul_RieulKiyeog +IBUS_Hangul_RieulMieum +IBUS_Hangul_RieulPieub +IBUS_Hangul_RieulSios +IBUS_Hangul_RieulTieut +IBUS_Hangul_RieulPhieuf +IBUS_Hangul_RieulHieuh +IBUS_Hangul_Mieum +IBUS_Hangul_Pieub +IBUS_Hangul_SsangPieub +IBUS_Hangul_PieubSios +IBUS_Hangul_Sios +IBUS_Hangul_SsangSios +IBUS_Hangul_Ieung +IBUS_Hangul_Jieuj +IBUS_Hangul_SsangJieuj +IBUS_Hangul_Cieuc +IBUS_Hangul_Khieuq +IBUS_Hangul_Tieut +IBUS_Hangul_Phieuf +IBUS_Hangul_Hieuh +IBUS_Hangul_A +IBUS_Hangul_AE +IBUS_Hangul_YA +IBUS_Hangul_YAE +IBUS_Hangul_EO +IBUS_Hangul_E +IBUS_Hangul_YEO +IBUS_Hangul_YE +IBUS_Hangul_O +IBUS_Hangul_WA +IBUS_Hangul_WAE +IBUS_Hangul_OE +IBUS_Hangul_YO +IBUS_Hangul_U +IBUS_Hangul_WEO +IBUS_Hangul_WE +IBUS_Hangul_WI +IBUS_Hangul_YU +IBUS_Hangul_EU +IBUS_Hangul_YI +IBUS_Hangul_I +IBUS_Hangul_J_Kiyeog +IBUS_Hangul_J_SsangKiyeog +IBUS_Hangul_J_KiyeogSios +IBUS_Hangul_J_Nieun +IBUS_Hangul_J_NieunJieuj +IBUS_Hangul_J_NieunHieuh +IBUS_Hangul_J_Dikeud +IBUS_Hangul_J_Rieul +IBUS_Hangul_J_RieulKiyeog +IBUS_Hangul_J_RieulMieum +IBUS_Hangul_J_RieulPieub +IBUS_Hangul_J_RieulSios +IBUS_Hangul_J_RieulTieut +IBUS_Hangul_J_RieulPhieuf +IBUS_Hangul_J_RieulHieuh +IBUS_Hangul_J_Mieum +IBUS_Hangul_J_Pieub +IBUS_Hangul_J_PieubSios +IBUS_Hangul_J_Sios +IBUS_Hangul_J_SsangSios +IBUS_Hangul_J_Ieung +IBUS_Hangul_J_Jieuj +IBUS_Hangul_J_Cieuc +IBUS_Hangul_J_Khieuq +IBUS_Hangul_J_Tieut +IBUS_Hangul_J_Phieuf +IBUS_Hangul_J_Hieuh +IBUS_Hangul_RieulYeorinHieuh +IBUS_Hangul_SunkyeongeumMieum +IBUS_Hangul_SunkyeongeumPieub +IBUS_Hangul_PanSios +IBUS_Hangul_KkogjiDalrinIeung +IBUS_Hangul_SunkyeongeumPhieuf +IBUS_Hangul_YeorinHieuh +IBUS_Hangul_AraeA +IBUS_Hangul_AraeAE +IBUS_Hangul_J_PanSios +IBUS_Hangul_J_KkogjiDalrinIeung +IBUS_Hangul_J_YeorinHieuh +IBUS_Korean_Won +IBUS_Armenian_ligature_ew +IBUS_Armenian_full_stop +IBUS_Armenian_verjaket +IBUS_Armenian_separation_mark +IBUS_Armenian_but +IBUS_Armenian_hyphen +IBUS_Armenian_yentamna +IBUS_Armenian_exclam +IBUS_Armenian_amanak +IBUS_Armenian_accent +IBUS_Armenian_shesht +IBUS_Armenian_question +IBUS_Armenian_paruyk +IBUS_Armenian_AYB +IBUS_Armenian_ayb +IBUS_Armenian_BEN +IBUS_Armenian_ben +IBUS_Armenian_GIM +IBUS_Armenian_gim +IBUS_Armenian_DA +IBUS_Armenian_da +IBUS_Armenian_YECH +IBUS_Armenian_yech +IBUS_Armenian_ZA +IBUS_Armenian_za +IBUS_Armenian_E +IBUS_Armenian_e +IBUS_Armenian_AT +IBUS_Armenian_at +IBUS_Armenian_TO +IBUS_Armenian_to +IBUS_Armenian_ZHE +IBUS_Armenian_zhe +IBUS_Armenian_INI +IBUS_Armenian_ini +IBUS_Armenian_LYUN +IBUS_Armenian_lyun +IBUS_Armenian_KHE +IBUS_Armenian_khe +IBUS_Armenian_TSA +IBUS_Armenian_tsa +IBUS_Armenian_KEN +IBUS_Armenian_ken +IBUS_Armenian_HO +IBUS_Armenian_ho +IBUS_Armenian_DZA +IBUS_Armenian_dza +IBUS_Armenian_GHAT +IBUS_Armenian_ghat +IBUS_Armenian_TCHE +IBUS_Armenian_tche +IBUS_Armenian_MEN +IBUS_Armenian_men +IBUS_Armenian_HI +IBUS_Armenian_hi +IBUS_Armenian_NU +IBUS_Armenian_nu +IBUS_Armenian_SHA +IBUS_Armenian_sha +IBUS_Armenian_VO +IBUS_Armenian_vo +IBUS_Armenian_CHA +IBUS_Armenian_cha +IBUS_Armenian_PE +IBUS_Armenian_pe +IBUS_Armenian_JE +IBUS_Armenian_je +IBUS_Armenian_RA +IBUS_Armenian_ra +IBUS_Armenian_SE +IBUS_Armenian_se +IBUS_Armenian_VEV +IBUS_Armenian_vev +IBUS_Armenian_TYUN +IBUS_Armenian_tyun +IBUS_Armenian_RE +IBUS_Armenian_re +IBUS_Armenian_TSO +IBUS_Armenian_tso +IBUS_Armenian_VYUN +IBUS_Armenian_vyun +IBUS_Armenian_PYUR +IBUS_Armenian_pyur +IBUS_Armenian_KE +IBUS_Armenian_ke +IBUS_Armenian_O +IBUS_Armenian_o +IBUS_Armenian_FE +IBUS_Armenian_fe +IBUS_Armenian_apostrophe +IBUS_Georgian_an +IBUS_Georgian_ban +IBUS_Georgian_gan +IBUS_Georgian_don +IBUS_Georgian_en +IBUS_Georgian_vin +IBUS_Georgian_zen +IBUS_Georgian_tan +IBUS_Georgian_in +IBUS_Georgian_kan +IBUS_Georgian_las +IBUS_Georgian_man +IBUS_Georgian_nar +IBUS_Georgian_on +IBUS_Georgian_par +IBUS_Georgian_zhar +IBUS_Georgian_rae +IBUS_Georgian_san +IBUS_Georgian_tar +IBUS_Georgian_un +IBUS_Georgian_phar +IBUS_Georgian_khar +IBUS_Georgian_ghan +IBUS_Georgian_qar +IBUS_Georgian_shin +IBUS_Georgian_chin +IBUS_Georgian_can +IBUS_Georgian_jil +IBUS_Georgian_cil +IBUS_Georgian_char +IBUS_Georgian_xan +IBUS_Georgian_jhan +IBUS_Georgian_hae +IBUS_Georgian_he +IBUS_Georgian_hie +IBUS_Georgian_we +IBUS_Georgian_har +IBUS_Georgian_hoe +IBUS_Georgian_fi +IBUS_Xabovedot +IBUS_Ibreve +IBUS_Zstroke +IBUS_Gcaron +IBUS_Ocaron +IBUS_Obarred +IBUS_xabovedot +IBUS_ibreve +IBUS_zstroke +IBUS_gcaron +IBUS_ocaron +IBUS_obarred +IBUS_SCHWA +IBUS_schwa +IBUS_Lbelowdot +IBUS_lbelowdot +IBUS_Abelowdot +IBUS_abelowdot +IBUS_Ahook +IBUS_ahook +IBUS_Acircumflexacute +IBUS_acircumflexacute +IBUS_Acircumflexgrave +IBUS_acircumflexgrave +IBUS_Acircumflexhook +IBUS_acircumflexhook +IBUS_Acircumflextilde +IBUS_acircumflextilde +IBUS_Acircumflexbelowdot +IBUS_acircumflexbelowdot +IBUS_Abreveacute +IBUS_abreveacute +IBUS_Abrevegrave +IBUS_abrevegrave +IBUS_Abrevehook +IBUS_abrevehook +IBUS_Abrevetilde +IBUS_abrevetilde +IBUS_Abrevebelowdot +IBUS_abrevebelowdot +IBUS_Ebelowdot +IBUS_ebelowdot +IBUS_Ehook +IBUS_ehook +IBUS_Etilde +IBUS_etilde +IBUS_Ecircumflexacute +IBUS_ecircumflexacute +IBUS_Ecircumflexgrave +IBUS_ecircumflexgrave +IBUS_Ecircumflexhook +IBUS_ecircumflexhook +IBUS_Ecircumflextilde +IBUS_ecircumflextilde +IBUS_Ecircumflexbelowdot +IBUS_ecircumflexbelowdot +IBUS_Ihook +IBUS_ihook +IBUS_Ibelowdot +IBUS_ibelowdot +IBUS_Obelowdot +IBUS_obelowdot +IBUS_Ohook +IBUS_ohook +IBUS_Ocircumflexacute +IBUS_ocircumflexacute +IBUS_Ocircumflexgrave +IBUS_ocircumflexgrave +IBUS_Ocircumflexhook +IBUS_ocircumflexhook +IBUS_Ocircumflextilde +IBUS_ocircumflextilde +IBUS_Ocircumflexbelowdot +IBUS_ocircumflexbelowdot +IBUS_Ohornacute +IBUS_ohornacute +IBUS_Ohorngrave +IBUS_ohorngrave +IBUS_Ohornhook +IBUS_ohornhook +IBUS_Ohorntilde +IBUS_ohorntilde +IBUS_Ohornbelowdot +IBUS_ohornbelowdot +IBUS_Ubelowdot +IBUS_ubelowdot +IBUS_Uhook +IBUS_uhook +IBUS_Uhornacute +IBUS_uhornacute +IBUS_Uhorngrave +IBUS_uhorngrave +IBUS_Uhornhook +IBUS_uhornhook +IBUS_Uhorntilde +IBUS_uhorntilde +IBUS_Uhornbelowdot +IBUS_uhornbelowdot +IBUS_Ybelowdot +IBUS_ybelowdot +IBUS_Yhook +IBUS_yhook +IBUS_Ytilde +IBUS_ytilde +IBUS_Ohorn +IBUS_ohorn +IBUS_Uhorn +IBUS_uhorn +IBUS_EcuSign +IBUS_ColonSign +IBUS_CruzeiroSign +IBUS_FFrancSign +IBUS_LiraSign +IBUS_MillSign +IBUS_NairaSign +IBUS_PesetaSign +IBUS_RupeeSign +IBUS_WonSign +IBUS_NewSheqelSign +IBUS_DongSign +IBUS_EuroSign +IBUS_zerosuperior +IBUS_foursuperior +IBUS_fivesuperior +IBUS_sixsuperior +IBUS_sevensuperior +IBUS_eightsuperior +IBUS_ninesuperior +IBUS_zerosubscript +IBUS_onesubscript +IBUS_twosubscript +IBUS_threesubscript +IBUS_foursubscript +IBUS_fivesubscript +IBUS_sixsubscript +IBUS_sevensubscript +IBUS_eightsubscript +IBUS_ninesubscript +IBUS_partdifferential +IBUS_emptyset +IBUS_elementof +IBUS_notelementof +IBUS_containsas +IBUS_squareroot +IBUS_cuberoot +IBUS_fourthroot +IBUS_dintegral +IBUS_tintegral +IBUS_because +IBUS_approxeq +IBUS_notapproxeq +IBUS_notidentical +IBUS_stricteq +IBUS_braille_dot_1 +IBUS_braille_dot_2 +IBUS_braille_dot_3 +IBUS_braille_dot_4 +IBUS_braille_dot_5 +IBUS_braille_dot_6 +IBUS_braille_dot_7 +IBUS_braille_dot_8 +IBUS_braille_dot_9 +IBUS_braille_dot_10 +IBUS_braille_blank +IBUS_braille_dots_1 +IBUS_braille_dots_2 +IBUS_braille_dots_12 +IBUS_braille_dots_3 +IBUS_braille_dots_13 +IBUS_braille_dots_23 +IBUS_braille_dots_123 +IBUS_braille_dots_4 +IBUS_braille_dots_14 +IBUS_braille_dots_24 +IBUS_braille_dots_124 +IBUS_braille_dots_34 +IBUS_braille_dots_134 +IBUS_braille_dots_234 +IBUS_braille_dots_1234 +IBUS_braille_dots_5 +IBUS_braille_dots_15 +IBUS_braille_dots_25 +IBUS_braille_dots_125 +IBUS_braille_dots_35 +IBUS_braille_dots_135 +IBUS_braille_dots_235 +IBUS_braille_dots_1235 +IBUS_braille_dots_45 +IBUS_braille_dots_145 +IBUS_braille_dots_245 +IBUS_braille_dots_1245 +IBUS_braille_dots_345 +IBUS_braille_dots_1345 +IBUS_braille_dots_2345 +IBUS_braille_dots_12345 +IBUS_braille_dots_6 +IBUS_braille_dots_16 +IBUS_braille_dots_26 +IBUS_braille_dots_126 +IBUS_braille_dots_36 +IBUS_braille_dots_136 +IBUS_braille_dots_236 +IBUS_braille_dots_1236 +IBUS_braille_dots_46 +IBUS_braille_dots_146 +IBUS_braille_dots_246 +IBUS_braille_dots_1246 +IBUS_braille_dots_346 +IBUS_braille_dots_1346 +IBUS_braille_dots_2346 +IBUS_braille_dots_12346 +IBUS_braille_dots_56 +IBUS_braille_dots_156 +IBUS_braille_dots_256 +IBUS_braille_dots_1256 +IBUS_braille_dots_356 +IBUS_braille_dots_1356 +IBUS_braille_dots_2356 +IBUS_braille_dots_12356 +IBUS_braille_dots_456 +IBUS_braille_dots_1456 +IBUS_braille_dots_2456 +IBUS_braille_dots_12456 +IBUS_braille_dots_3456 +IBUS_braille_dots_13456 +IBUS_braille_dots_23456 +IBUS_braille_dots_123456 +IBUS_braille_dots_7 +IBUS_braille_dots_17 +IBUS_braille_dots_27 +IBUS_braille_dots_127 +IBUS_braille_dots_37 +IBUS_braille_dots_137 +IBUS_braille_dots_237 +IBUS_braille_dots_1237 +IBUS_braille_dots_47 +IBUS_braille_dots_147 +IBUS_braille_dots_247 +IBUS_braille_dots_1247 +IBUS_braille_dots_347 +IBUS_braille_dots_1347 +IBUS_braille_dots_2347 +IBUS_braille_dots_12347 +IBUS_braille_dots_57 +IBUS_braille_dots_157 +IBUS_braille_dots_257 +IBUS_braille_dots_1257 +IBUS_braille_dots_357 +IBUS_braille_dots_1357 +IBUS_braille_dots_2357 +IBUS_braille_dots_12357 +IBUS_braille_dots_457 +IBUS_braille_dots_1457 +IBUS_braille_dots_2457 +IBUS_braille_dots_12457 +IBUS_braille_dots_3457 +IBUS_braille_dots_13457 +IBUS_braille_dots_23457 +IBUS_braille_dots_123457 +IBUS_braille_dots_67 +IBUS_braille_dots_167 +IBUS_braille_dots_267 +IBUS_braille_dots_1267 +IBUS_braille_dots_367 +IBUS_braille_dots_1367 +IBUS_braille_dots_2367 +IBUS_braille_dots_12367 +IBUS_braille_dots_467 +IBUS_braille_dots_1467 +IBUS_braille_dots_2467 +IBUS_braille_dots_12467 +IBUS_braille_dots_3467 +IBUS_braille_dots_13467 +IBUS_braille_dots_23467 +IBUS_braille_dots_123467 +IBUS_braille_dots_567 +IBUS_braille_dots_1567 +IBUS_braille_dots_2567 +IBUS_braille_dots_12567 +IBUS_braille_dots_3567 +IBUS_braille_dots_13567 +IBUS_braille_dots_23567 +IBUS_braille_dots_123567 +IBUS_braille_dots_4567 +IBUS_braille_dots_14567 +IBUS_braille_dots_24567 +IBUS_braille_dots_124567 +IBUS_braille_dots_34567 +IBUS_braille_dots_134567 +IBUS_braille_dots_234567 +IBUS_braille_dots_1234567 +IBUS_braille_dots_8 +IBUS_braille_dots_18 +IBUS_braille_dots_28 +IBUS_braille_dots_128 +IBUS_braille_dots_38 +IBUS_braille_dots_138 +IBUS_braille_dots_238 +IBUS_braille_dots_1238 +IBUS_braille_dots_48 +IBUS_braille_dots_148 +IBUS_braille_dots_248 +IBUS_braille_dots_1248 +IBUS_braille_dots_348 +IBUS_braille_dots_1348 +IBUS_braille_dots_2348 +IBUS_braille_dots_12348 +IBUS_braille_dots_58 +IBUS_braille_dots_158 +IBUS_braille_dots_258 +IBUS_braille_dots_1258 +IBUS_braille_dots_358 +IBUS_braille_dots_1358 +IBUS_braille_dots_2358 +IBUS_braille_dots_12358 +IBUS_braille_dots_458 +IBUS_braille_dots_1458 +IBUS_braille_dots_2458 +IBUS_braille_dots_12458 +IBUS_braille_dots_3458 +IBUS_braille_dots_13458 +IBUS_braille_dots_23458 +IBUS_braille_dots_123458 +IBUS_braille_dots_68 +IBUS_braille_dots_168 +IBUS_braille_dots_268 +IBUS_braille_dots_1268 +IBUS_braille_dots_368 +IBUS_braille_dots_1368 +IBUS_braille_dots_2368 +IBUS_braille_dots_12368 +IBUS_braille_dots_468 +IBUS_braille_dots_1468 +IBUS_braille_dots_2468 +IBUS_braille_dots_12468 +IBUS_braille_dots_3468 +IBUS_braille_dots_13468 +IBUS_braille_dots_23468 +IBUS_braille_dots_123468 +IBUS_braille_dots_568 +IBUS_braille_dots_1568 +IBUS_braille_dots_2568 +IBUS_braille_dots_12568 +IBUS_braille_dots_3568 +IBUS_braille_dots_13568 +IBUS_braille_dots_23568 +IBUS_braille_dots_123568 +IBUS_braille_dots_4568 +IBUS_braille_dots_14568 +IBUS_braille_dots_24568 +IBUS_braille_dots_124568 +IBUS_braille_dots_34568 +IBUS_braille_dots_134568 +IBUS_braille_dots_234568 +IBUS_braille_dots_1234568 +IBUS_braille_dots_78 +IBUS_braille_dots_178 +IBUS_braille_dots_278 +IBUS_braille_dots_1278 +IBUS_braille_dots_378 +IBUS_braille_dots_1378 +IBUS_braille_dots_2378 +IBUS_braille_dots_12378 +IBUS_braille_dots_478 +IBUS_braille_dots_1478 +IBUS_braille_dots_2478 +IBUS_braille_dots_12478 +IBUS_braille_dots_3478 +IBUS_braille_dots_13478 +IBUS_braille_dots_23478 +IBUS_braille_dots_123478 +IBUS_braille_dots_578 +IBUS_braille_dots_1578 +IBUS_braille_dots_2578 +IBUS_braille_dots_12578 +IBUS_braille_dots_3578 +IBUS_braille_dots_13578 +IBUS_braille_dots_23578 +IBUS_braille_dots_123578 +IBUS_braille_dots_4578 +IBUS_braille_dots_14578 +IBUS_braille_dots_24578 +IBUS_braille_dots_124578 +IBUS_braille_dots_34578 +IBUS_braille_dots_134578 +IBUS_braille_dots_234578 +IBUS_braille_dots_1234578 +IBUS_braille_dots_678 +IBUS_braille_dots_1678 +IBUS_braille_dots_2678 +IBUS_braille_dots_12678 +IBUS_braille_dots_3678 +IBUS_braille_dots_13678 +IBUS_braille_dots_23678 +IBUS_braille_dots_123678 +IBUS_braille_dots_4678 +IBUS_braille_dots_14678 +IBUS_braille_dots_24678 +IBUS_braille_dots_124678 +IBUS_braille_dots_34678 +IBUS_braille_dots_134678 +IBUS_braille_dots_234678 +IBUS_braille_dots_1234678 +IBUS_braille_dots_5678 +IBUS_braille_dots_15678 +IBUS_braille_dots_25678 +IBUS_braille_dots_125678 +IBUS_braille_dots_35678 +IBUS_braille_dots_135678 +IBUS_braille_dots_235678 +IBUS_braille_dots_1235678 +IBUS_braille_dots_45678 +IBUS_braille_dots_145678 +IBUS_braille_dots_245678 +IBUS_braille_dots_1245678 +IBUS_braille_dots_345678 +IBUS_braille_dots_1345678 +IBUS_braille_dots_2345678 +IBUS_braille_dots_12345678 +</SECTION> + +<SECTION> +<FILE>ibusdebug</FILE> +ibus_warning +</SECTION> + +<SECTION> +<FILE>ibusinternal</FILE> +I_ +dbus_server_setup +dbus_connection_setup +</SECTION> + diff --git a/docs/reference/ibus/ibus.types b/docs/reference/ibus/ibus.types index 130545b..e986dd4 100644 --- a/docs/reference/ibus/ibus.types +++ b/docs/reference/ibus/ibus.types @@ -1,14 +1,17 @@ -ibus_factory_get_type -ibus_factory_info_get_type ibus_attribute_get_type ibus_attr_list_get_type -ibus_input_context_get_type -ibus_observed_path_get_type -ibus_engine_get_type -ibus_service_get_type -ibus_lookup_table_get_type +ibus_property_get_type +ibus_prop_list_get_type ibus_proxy_get_type -ibus_server_get_type +ibus_config_get_type +ibus_hotkey_profile_get_type +ibus_engine_desc_get_type +ibus_factory_get_type +ibus_factory_info_get_type +ibus_object_get_type +ibus_bus_get_type +ibus_service_get_type +ibus_serializable_get_type ibus_object_flags_get_type ibus_attr_type_get_type ibus_attr_underline_get_type @@ -16,14 +19,12 @@ ibus_prop_type_get_type ibus_prop_state_get_type ibus_modifier_type_get_type ibus_capabilite_get_type -ibus_component_get_type -ibus_connection_get_type -ibus_property_get_type -ibus_prop_list_get_type +ibus_lookup_table_get_type ibus_text_get_type -ibus_serializable_get_type -ibus_hotkey_profile_get_type -ibus_bus_get_type -ibus_engine_desc_get_type -ibus_object_get_type -ibus_config_get_type +ibus_connection_get_type +ibus_component_get_type +ibus_observed_path_get_type +ibus_server_get_type +ibus_engine_get_type +ibus_config_service_get_type +ibus_input_context_get_type diff --git a/src/ibusattribute.h b/src/ibusattribute.h index 3a0ff7f..a3907c7 100644 --- a/src/ibusattribute.h +++ b/src/ibusattribute.h @@ -17,11 +17,19 @@ * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ +/** + * SECTION: ibusattribute + * @short_description: Attributes of IBusText. + * @stability: Stable + * @see_also: #IBusText + * + * An IBusAttribute represents an attribute that associate to IBusText. + * It decorates preedit buffer and auxiliary text with underline, foreground and background colors. + */ #ifndef __IBUS_ATTRIBUTE_H_ #define __IBUS_ATTRIBUTE_H_ #include "ibusserializable.h" - /* * Type macros. */ @@ -53,12 +61,29 @@ #define IBUS_ATTR_LIST_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS ((obj), IBUS_TYPE_ATTR_LIST, IBusAttrListClass)) +/** + * IBusAttrType: + * @IBUS_ATTR_TYPE_UNDERLINE: Decorate with underline. + * @IBUS_ATTR_TYPE_FOREGROUND: Foreground color. + * @IBUS_ATTR_TYPE_BACKGROUND: Background color. + * + * Type of IBusText attribute. + */ typedef enum { IBUS_ATTR_TYPE_UNDERLINE = 1, IBUS_ATTR_TYPE_FOREGROUND = 2, IBUS_ATTR_TYPE_BACKGROUND = 3, } IBusAttrType; +/** + * IBusAttrUnderline: + * @IBUS_ATTR_UNDERLINE_NONE: No underline. + * @IBUS_ATTR_UNDERLINE_SINGLE: Single underline. + * @IBUS_ATTR_UNDERLINE_DOUBLE: Double underline. + * @IBUS_ATTR_UNDERLINE_LOW: Low underline ? %FIXME + * + * Type of IBusText attribute. + */ typedef enum { IBUS_ATTR_UNDERLINE_NONE = 0, IBUS_ATTR_UNDERLINE_SINGLE = 1, @@ -73,10 +98,21 @@ typedef struct _IBusAttributeClass IBusAttributeClass; typedef struct _IBusAttrList IBusAttrList; typedef struct _IBusAttrListClass IBusAttrListClass; + +/** + * IBusAttribute: + * @type: IBusAttributeType + * @value: Value for the type. + * @start_index: The starting index, inclusive. + * @end_index: The ending index, exclusive. + * + * Signify the type, value and scope of the attribute. + * The scope starts from @start_index till the @end_index-1. + */ struct _IBusAttribute { IBusSerializable parent; - /* members */ + /*< public >*/ guint type; guint value; guint start_index; @@ -87,10 +123,16 @@ struct _IBusAttributeClass { IBusSerializableClass parent; }; +/** + * IBusAttrList: + * @attributes: GArray that holds #IBusAttribute. + * + * Array of IBusAttribute. + */ struct _IBusAttrList { IBusSerializable parent; - /* members */ + /*< public >*/ GArray *attributes; }; @@ -98,26 +140,99 @@ struct _IBusAttrListClass { IBusSerializableClass parent; }; +/** + * ibus_attribute_get_type: + * @returns: GType of IBusAttribute. + * + * Returns GType of IBusAttribute. + */ GType ibus_attribute_get_type (); + +/** + * ibus_attribute_new: + * @type: Type of the attribute. + * @value: Value of the attribute. + * @start_index: Where attribute starts. + * @end_index: Where attribute ends. + * @returns: A newly allocated IBusAttribute. + * + * New an IBusAttribute. + */ IBusAttribute *ibus_attribute_new (guint type, guint value, guint start_index, guint end_index); +/** + * ibus_attr_underline_new: + * @underline_type: Type of underline. + * @start_index: Where attribute starts. + * @end_index: Where attribute ends. + * @returns: A newly allocated IBusAttribute. + * + * New an underline IBusAttribute. + */ IBusAttribute *ibus_attr_underline_new (guint underline_type, guint start_index, guint end_index); +/** + * ibus_attr_foreground_new: + * @color: Color in RGB. + * @start_index: Where attribute starts. + * @end_index: Where attribute ends. + * @returns: A newly allocated IBusAttribute. + * + * New an foreground IBusAttribute. + */ IBusAttribute *ibus_attr_foreground_new (guint color, guint start_index, guint end_index); +/** + * ibus_attr_background_new: + * @color: Color in RGB. + * @start_index: Where attribute starts. + * @end_index: Where attribute ends. + * @returns: A newly allocated IBusAttribute. + * + * New an background IBusAttribute. + */ IBusAttribute *ibus_attr_background_new (guint color, guint start_index, guint end_index); +/** + * ibus_attr_list_get_type: + * @returns: GType of IBusAttrList. + * + * Returns GType of IBusAttrList. + */ GType ibus_attr_list_get_type (); + +/** + * ibus_attr_list_new: + * @returns: A newly allocated IBusAttrList. + * + * New an IBusAttrList. + */ IBusAttrList *ibus_attr_list_new (); + +/** + * ibus_attr_list_append: + * @attr_list: An IBusAttrList instance. + * @attr: The IBusAttribute instance to be appended. + * + * Append an IBusAttribute to IBusAttrList. + */ void ibus_attr_list_append (IBusAttrList *attr_list, IBusAttribute *attr); +/** + * ibus_attr_list_get: + * @attr_list: An IBusAttrList instance. + * @index: Index of the @attr_list. + * @returns: IBusAttribute at given index, NULL if no such IBusAttribute. + * + * Returns IBusAttribute at given index. + */ IBusAttribute *ibus_attr_list_get (IBusAttrList *attr_list, guint index); diff --git a/src/ibusbus.c b/src/ibusbus.c index 4115689..be1e4e7 100644 --- a/src/ibusbus.c +++ b/src/ibusbus.c @@ -385,7 +385,16 @@ ibus_bus_set_watch_dbus_signal (IBusBus *bus, } } - +/* + * ibus_bus_call: + * @bus: An IBusBus + * @name: + * @path: + * @interface: + * @member: + * @first_arg_type: + * @returns: TRUE if succeed, FALSE otherwise. + */ static gboolean ibus_bus_call (IBusBus *bus, const gchar *name, diff --git a/src/ibusbus.h b/src/ibusbus.h index e02c193..7788cc2 100644 --- a/src/ibusbus.h +++ b/src/ibusbus.h @@ -17,6 +17,16 @@ * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ +/** + * SECTION: ibusbus + * @short_description: iBus-daemon communicating functions. + * + * iBus-bus handles the communication with iBus-daemon, including + * component registration, name request/release, + * and connection status checking. + * + * It also provides some function to invoke functions in iBus-daemon. + */ #ifndef __IBUS_BUS_H_ #define __IBUS_BUS_H_ @@ -46,6 +56,11 @@ G_BEGIN_DECLS +/** + * IBusBus: + * + * Struct for containing iBus bus (daemon communication) status. + */ typedef struct _IBusBus IBusBus; typedef struct _IBusBusClass IBusBusClass; @@ -60,24 +75,108 @@ struct _IBusBusClass { }; GType ibus_bus_get_type (void); + +/** + * ibus_bus_new: + * @returns: A newly allocated IBusBus instance. + * + * New an IBusBus instance. + */ IBusBus *ibus_bus_new (void); + +/** + * ibus_bus_is_connected: + * @bus: An IBusBus. + * @returns: TRUE if @bus is connected, FALSE otherwise. + * + * Return TRUE if @bus is connected to iBus daemon. + */ gboolean ibus_bus_is_connected (IBusBus *bus); + + +/** + * ibus_bus_get_connection: + * @bus: An IBusBus. + * @returns: TRUE if @bus is connected, FALSE otherwise. + * + * Return IBusConnection of an IBusIBus instance. + */ IBusConnection *ibus_bus_get_connection (IBusBus *bus); + /* declare dbus methods */ const gchar *ibus_bus_hello (IBusBus *bus); + +/** + * ibus_bus_request_name: + * @bus: the IBusBus instance to be processed. + * @name: Name to be requested. + * @flags: Flags (FixMe). + * @returns: 0 if failed; positive number otherwise. + * + * Request a name from iBus daemon. + */ guint ibus_bus_request_name (IBusBus *bus, const gchar *name, guint flags); +/** + * ibus_bus_release_name: + * @bus: An IBusBus. + * @name: Name to be released. + * @returns: 0 if failed; positive number otherwise. + * + * Release a name to iBus daemon. + */ guint ibus_bus_release_name (IBusBus *bus, const gchar *name); + +/** + * ibus_bus_name_has_owner: + * @bus: An IBusBus. + * @name: Name to be released. + * @returns: TRUE if the name has owner, FALSE otherwise. + * + * Whether the name has owner. + */ gboolean ibus_bus_name_has_owner (IBusBus *bus, const gchar *name); + +/** + * ibus_bus_list_names: + * @bus: An IBusBus. + * @returns: Lists that attached to @bus. + * + * Return lists that attached to @bus. + * <note><para>[FixMe] Not implemented yet, only return NULL.</para></note> + */ GList *ibus_bus_list_names (IBusBus *bus); + +/** + * ibus_bus_add_match: + * @bus: An IBusBus. + * @rule: Match rule. + * + * Add a match rule to an IBusBus. + */ void ibus_bus_add_match (IBusBus *bus, const gchar *rule); +/** + * ibus_bus_remove_match: + * @bus: An IBusBus. + * @rule: Match rule. + * + * Remove a match rule to an IBusBus. + */ void ibus_bus_remove_match (IBusBus *bus, const gchar *rule); +/** + * ibus_bus_get_name_owner: + * @bus: An IBusBus. + * @name: Name. + * @returns: Owner of the name. + * + * Return the name owner. + */ const gchar *ibus_bus_get_name_owner (IBusBus *bus, const gchar *name); /* declare ibus methods */ @@ -89,6 +188,7 @@ IBusInputContext const gchar *client_name); gboolean ibus_bus_register_component(IBusBus *bus, IBusComponent *component); + GList *ibus_bus_list_engines (IBusBus *bus); GList *ibus_bus_list_active_engines (IBusBus *bus); diff --git a/src/ibusconfig.h b/src/ibusconfig.h index 734218f..f64f402 100644 --- a/src/ibusconfig.h +++ b/src/ibusconfig.h @@ -17,6 +17,10 @@ * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ + +/** + * SECTION: iBus-config + */ #ifndef __CONFIG_H_ #define __CONFIG_H_ diff --git a/src/ibusconnection.h b/src/ibusconnection.h index 5a8e099..d5bdf59 100644 --- a/src/ibusconnection.h +++ b/src/ibusconnection.h @@ -17,6 +17,16 @@ * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ + +/** + * SECTION: ibusconnection + * @short_description: DBusConnection wrapper. + * @see_also: <ulink url="http://dbus.freedesktop.org/doc/api/html/structDBusConnection.html">DBusConnection</ulink> + * + * iBus-connection provides DBusConnection wrapper. + * It can be used to connect to either dBus or iBus daemon. + */ + #ifndef __IBUS_CONNECTION_H_ #define __IBUS_CONNECTION_H_ diff --git a/src/ibusengine.c b/src/ibusengine.c index e664454..87a980a 100644 --- a/src/ibusengine.c +++ b/src/ibusengine.c @@ -190,6 +190,11 @@ ibus_engine_class_init (IBusEngineClass *klass) /* install properties */ + /** + * IBusEngine:name: + * + * Name of this IBusEngine. + */ g_object_class_install_property (gobject_class, PROP_NAME, g_param_spec_string ("name", @@ -199,6 +204,11 @@ ibus_engine_class_init (IBusEngineClass *klass) G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); + /** + * IBusEngine:connection: + * + * Connection for this IBusEngine. + */ g_object_class_install_property (gobject_class, PROP_CONNECTION, g_param_spec_object ("connection", @@ -208,6 +218,15 @@ ibus_engine_class_init (IBusEngineClass *klass) G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); /* install signals */ + /** + * IBusEngine::process-key-event: + * @engine: An IBusEngine. + * @keyval: KeySym of the key press. + * @state: Key modifier flags + * + * This signal is emitted whenever a key event is received. + * Implement process_key_event() in extend class to receive this signal. + */ engine_signals[PROCESS_KEY_EVENT] = g_signal_new (I_("process-key-event"), G_TYPE_FROM_CLASS (gobject_class), @@ -220,6 +239,13 @@ ibus_engine_class_init (IBusEngineClass *klass) G_TYPE_UINT, G_TYPE_UINT); + /** + * IBusEngine::focus-in: + * @engine: An IBusEngine. + * + * This signal is emitted whenever the client application get the focus. + * Implement focus_in() in extend class to receive this signal. + */ engine_signals[FOCUS_IN] = g_signal_new (I_("focus-in"), G_TYPE_FROM_CLASS (gobject_class), @@ -230,6 +256,13 @@ ibus_engine_class_init (IBusEngineClass *klass) G_TYPE_NONE, 0); + /** + * IBusEngine::focus-out: + * @engine: An IBusEngine. + * + * This signal is emitted whenever the client application lost the focus. + * Implement focus_out() in extend class to receive this signal. + */ engine_signals[FOCUS_OUT] = g_signal_new (I_("focus-out"), G_TYPE_FROM_CLASS (gobject_class), @@ -240,6 +273,13 @@ ibus_engine_class_init (IBusEngineClass *klass) G_TYPE_NONE, 0); + /** + * IBusEngine::reset: + * @engine: An IBusEngine. + * + * This signal is emitted whenever the IME is reset. + * Implement reset() in extend class to receive this signal. + */ engine_signals[RESET] = g_signal_new (I_("reset"), G_TYPE_FROM_CLASS (gobject_class), @@ -250,6 +290,13 @@ ibus_engine_class_init (IBusEngineClass *klass) G_TYPE_NONE, 0); + /** + * IBusEngine::enable: + * @engine: An IBusEngine. + * + * This signal is emitted whenever the IME is enabled. + * Implement enable() in extend class to receive this signal. + */ engine_signals[ENABLE] = g_signal_new (I_("enable"), G_TYPE_FROM_CLASS (gobject_class), @@ -260,6 +307,13 @@ ibus_engine_class_init (IBusEngineClass *klass) G_TYPE_NONE, 0); + /** + * IBusEngine::disable: + * @engine: An IBusEngine. + * + * This signal is emitted whenever the IME is disabled. + * Implement disable() in extend class to receive this signal. + */ engine_signals[DISABLE] = g_signal_new (I_("disable"), G_TYPE_FROM_CLASS (gobject_class), @@ -270,6 +324,13 @@ ibus_engine_class_init (IBusEngineClass *klass) G_TYPE_NONE, 0); + /** + * IBusEngine::set-cursor-location: + * @engine: An IBusEngine. + * + * This signal is emitted whenever the location of IME is set. + * Implement set_cursor_location() in extend class to receive this signal. + */ engine_signals[SET_CURSOR_LOCATION] = g_signal_new (I_("set-cursor-location"), G_TYPE_FROM_CLASS (gobject_class), @@ -284,6 +345,13 @@ ibus_engine_class_init (IBusEngineClass *klass) G_TYPE_INT, G_TYPE_INT); + /** + * IBusEngine::set-capabilities: + * @engine: An IBusEngine. + * + * This signal is emitted whenever the client application capabilities is set. + * Implement set_cursor_location() in extend class to receive this signal. + */ engine_signals[SET_CAPABILITIES] = g_signal_new (I_("set-capabilities"), G_TYPE_FROM_CLASS (gobject_class), @@ -295,6 +363,13 @@ ibus_engine_class_init (IBusEngineClass *klass) 1, G_TYPE_UINT); + /** + * IBusEngine::page-up: + * @engine: An IBusEngine. + * + * This signal is emitted whenever the page-up key is pressed. + * Implement page_up() in extend class to receive this signal. + */ engine_signals[PAGE_UP] = g_signal_new (I_("page-up"), G_TYPE_FROM_CLASS (gobject_class), @@ -305,6 +380,13 @@ ibus_engine_class_init (IBusEngineClass *klass) G_TYPE_NONE, 0); + /** + * IBusEngine::page-down: + * @engine: An IBusEngine. + * + * This signal is emitted whenever the page-down key is pressed. + * Implement page_down() in extend class to receive this signal. + */ engine_signals[PAGE_DOWN] = g_signal_new (I_("page-down"), G_TYPE_FROM_CLASS (gobject_class), @@ -315,6 +397,13 @@ ibus_engine_class_init (IBusEngineClass *klass) G_TYPE_NONE, 0); + /** + * IBusEngine::cursor-up: + * @engine: An IBusEngine. + * + * This signal is emitted whenever the up cursor key is pressed. + * Implement cursor_up() in extend class to receive this signal. + */ engine_signals[CURSOR_UP] = g_signal_new (I_("cursor-up"), G_TYPE_FROM_CLASS (gobject_class), @@ -325,6 +414,13 @@ ibus_engine_class_init (IBusEngineClass *klass) G_TYPE_NONE, 0); + /** + * IBusEngine::cursor-down: + * @engine: An IBusEngine. + * + * This signal is emitted whenever the down cursor key is pressed. + * Implement cursor_down() in extend class to receive this signal. + */ engine_signals[CURSOR_DOWN] = g_signal_new (I_("cursor-down"), G_TYPE_FROM_CLASS (gobject_class), @@ -335,6 +431,13 @@ ibus_engine_class_init (IBusEngineClass *klass) G_TYPE_NONE, 0); + /** + * IBusEngine::property-activate: + * @engine: An IBusEngine. + * + * This signal is emitted whenever a property is activated or change changed. + * Implement property_activate() in extend class to receive this signal. + */ engine_signals[PROPERTY_ACTIVATE] = g_signal_new (I_("property-activate"), G_TYPE_FROM_CLASS (gobject_class), @@ -347,6 +450,13 @@ ibus_engine_class_init (IBusEngineClass *klass) G_TYPE_STRING, G_TYPE_UINT); + /** + * IBusEngine::property-show: + * @engine: An IBusEngine. + * + * This signal is emitted whenever a property is shown. + * Implement property_show() in extend class to receive this signal. + */ engine_signals[PROPERTY_SHOW] = g_signal_new (I_("property-show"), G_TYPE_FROM_CLASS (gobject_class), @@ -358,6 +468,13 @@ ibus_engine_class_init (IBusEngineClass *klass) 1, G_TYPE_STRING); + /** + * IBusEngine::property-hide: + * @engine: An IBusEngine. + * + * This signal is emitted whenever a property is hidden. + * Implement property_hide() in extend class to receive this signal. + */ engine_signals[PROPERTY_HIDE] = g_signal_new (I_("property-hide"), G_TYPE_FROM_CLASS (gobject_class), diff --git a/src/ibusengine.h b/src/ibusengine.h index 5a86bf0..afaa496 100644 --- a/src/ibusengine.h +++ b/src/ibusengine.h @@ -17,6 +17,16 @@ * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ +/** + * SECTION: ibusengine + * @short_description: Input method engine abstract. + * @stability: Stable + * @see_also: #IBusComponent, #IBusEngineDesc + * + * An IBusEngine provides infrastructure for input method engine. + * Developers can "extend" this class for input method engine development. + */ + #ifndef __IBUS_ENGINE_H_ #define __IBUS_ENGINE_H_ @@ -49,13 +59,22 @@ G_BEGIN_DECLS typedef struct _IBusEngine IBusEngine; typedef struct _IBusEngineClass IBusEngineClass; +/** + * IBusEngine: + * @enabled: Whether the engine is enabled. + * @has_focus: Whether the engine has focus. + * @cursor_area: Area of cursor. + * @client_capabilities: IBusCapabilite (client capabilities) flags. + * + * IBusEngine properties. + */ struct _IBusEngine { IBusService parent; /* instance members */ + /*< public >*/ gboolean enabled; gboolean has_focus; - /* cursor location */ IBusRectangle cursor_area; guint client_capabilities; }; @@ -103,47 +122,161 @@ struct _IBusEngineClass { }; GType ibus_engine_get_type (void); + +/** + * ibus_engine_new: + * @name: Name of the IBusObject. + * @path: Path for IBusService. + * @connection: An opened IBusConnection. + * @returns: A newly allocated IBusEngine. + * + * New an IBusEngine. + */ IBusEngine *ibus_engine_new (const gchar *name, const gchar *path, IBusConnection *connection); +/** + * ibus_engine_commit_text: + * @engine: An IBusEngine. + * @text: String commit to IBusEngine. + * + * Commit output of input method to IBus client. + */ void ibus_engine_commit_text (IBusEngine *engine, IBusText *text); + +/** + * ibus_engine_update_preedit_text: + * @engine: An IBusEngine. + * @text: Update content. + * @cursor_pos: Current position of cursor + * @visible: Whether the pre-edit buffer is visible. + * + * Update the pre-edit buffer. + */ void ibus_engine_update_preedit_text (IBusEngine *engine, IBusText *text, guint cursor_pos, gboolean visible); + +/** + * ibus_engine_show_preedit_text: + * @engine: An IBusEngine. + * + * Show the pre-edit buffer. + */ void ibus_engine_show_preedit_text (IBusEngine *engine); +/** + * ibus_engine_hide_preedit_text: + * @engine: An IBusEngine. + * + * Hide the pre-edit buffer. + */ void ibus_engine_hide_preedit_text (IBusEngine *engine); + +/** + * ibus_engine_update_auxiliary_text: + * @engine: An IBusEngine. + * @text: Update content. + * @visible: Whether the auxiliary text bar is visible. + * + * Update the auxiliary bar. + */ void ibus_engine_update_auxiliary_text (IBusEngine *engine, IBusText *text, gboolean visible); +/** + * ibus_engine_show_auxiliary_text: + * @engine: An IBusEngine. + * + * Show the auxiliary bar. + */ void ibus_engine_show_auxiliary_text (IBusEngine *engine); +/** + * ibus_engine_hide_auxiliary_text: + * @engine: An IBusEngine. + * + * Hide the auxiliary bar. + */ void ibus_engine_hide_auxiliary_text (IBusEngine *engine); + +/** + * ibus_engine_update_lookup_table: + * @engine: An IBusEngine. + * @lookup_table: An lookup_table. + * @visible: Whether the lookup_table is visible. + * + * Update the lookup table. + */ void ibus_engine_update_lookup_table (IBusEngine *engine, IBusLookupTable *lookup_table, gboolean visible); +/** + * ibus_engine_show_lookup_table: + * @engine: An IBusEngine. + * + * Show the lookup table. + */ void ibus_engine_show_lookup_table (IBusEngine *engine); +/** + * ibus_engine_hide_lookup_table: + * @engine: An IBusEngine. + * + * Hide the lookup table. + */ void ibus_engine_hide_lookup_table (IBusEngine *engine); + +/** + * ibus_engine_forward_key_event: + * @engine: An IBusEngine. + * @keyval: KeySym. + * @is_press: Where the key is pressed. + * @state: Key modifier flags. + * + * Forward the key event. + */ void ibus_engine_forward_key_event (IBusEngine *engine, guint keyval, guint state); +/** + * ibus_engine_register_properties: + * @engine: An IBusEngine. + * @prop_list: Property List. + * + * Register and show properties in language bar. + */ void ibus_engine_register_properties (IBusEngine *engine, IBusPropList *prop_list); +/** + * ibus_engine_update_property: + * @engine: An IBusEngine. + * @prop: IBusProperty to be updated. + * + * Update the state displayed in language bar. + */ void ibus_engine_update_property(IBusEngine *engine, IBusProperty *prop); + +/** + * ibus_engine_get_name: + * @engine: An IBusEngine. + * @returns: Name of IBusEngine. + * + * Return the name of IBusEngine. + */ const gchar *ibus_engine_get_name (IBusEngine *engine); G_END_DECLS diff --git a/src/ibusenginedesc.h b/src/ibusenginedesc.h index 1ba9153..243c92a 100644 --- a/src/ibusenginedesc.h +++ b/src/ibusenginedesc.h @@ -17,6 +17,22 @@ * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ +/** + * SECTION: ibusenginedesc + * @short_description: Input method engine description data. + * @stability: Stable + * @see_also: #IBusComponent, #IBusEngine + * + * An IBusEngineDesc stores description data of IBusEngine. + * The description data can either be passed to ibus_engine_desc_new(), + * or loaded from an XML node through ibus_engine_desc_new_from_xml_node() + * to construct IBusEngineDesc. + * + * However, the recommended way to load engine description data is + * using ibus_component_new_from_file() to load a component file, + * which also includes engine description data. + */ + #ifndef __ENGINE_DESC_H_ #define __ENGINE_DESC_H_ @@ -47,10 +63,26 @@ typedef struct _IBusEngineDesc IBusEngineDesc; typedef struct _IBusEngineDescClass IBusEngineDescClass; typedef struct _BusComponent BusComponent; +/** + * IBusEngineDesc: + * @name: Name of the engine. + * @longname: Long name of the input method engine. + * @description: Input method engine description. + * @language: Language (e.g. zh, jp) supported by this input method engine. + * @license: License of the input method engine. + * @author: Author of the input method engine. + * @icon: Icon file of this engine. + * @layout: Keyboard layout + * @rank: Preference rank among engines, the highest ranked IME will put in + * the front. + * + * Input method engine description data. + */ struct _IBusEngineDesc { IBusSerializable parent; /* instance members */ + /*< public >*/ gchar *name; gchar *longname; gchar *description; @@ -69,6 +101,21 @@ struct _IBusEngineDescClass { }; GType ibus_engine_desc_get_type (void); + +/** + * ibus_engine_desc_new: + * @name: Name of the engine. + * @longname: Long name of the input method engine. + * @description: Input method engine description. + * @language: Language (e.g. zh, jp) supported by this input method engine. + * @license: License of the input method engine. + * @author: Author of the input method engine. + * @icon: Icon file of this engine. + * @layout: Keyboard layout + * @returns: A newly allocated IBusEngineDesc. + * + * New a IBusEngineDesc. + */ IBusEngineDesc *ibus_engine_desc_new (const gchar *name, const gchar *longname, const gchar *description, @@ -77,8 +124,28 @@ IBusEngineDesc *ibus_engine_desc_new (const gchar *name, const gchar *author, const gchar *icon, const gchar *layout); +/** + * ibus_engine_desc_new_from_xml_node: + * @node: An XML node + * @returns: A newly allocated IBusEngineDesc that contains description from + * @node. + * + * New a IBusEngineDesc from an XML node. + * <note><para>This function is called by ibus_component_new_from_file(), + * so developers normally do not need to call it directly. + * </para></note> + */ IBusEngineDesc *ibus_engine_desc_new_from_xml_node (XMLNode *node); +/** + * ibus_engine_desc_output: + * @info: An IBusEngineDesc + * @output: XML-formatted Input method engine description. + * @indent: Number of indent (showed as 4 spaces). + * + * Output XML-formatted input method engine description. + * The result will be append to GString specified in @output. + */ void ibus_engine_desc_output (IBusEngineDesc *info, GString *output, gint indent); diff --git a/src/ibuslookuptable.h b/src/ibuslookuptable.h index ede02b1..5f1e0b6 100644 --- a/src/ibuslookuptable.h +++ b/src/ibuslookuptable.h @@ -17,6 +17,19 @@ * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ +/** + * SECTION: ibuslookuptable + * @short_description: Candidate word/phrase lookup table. + * @stability: Stable + * @see_also: #IBusEngine + * + * An IBusLookuptable stores the candidate words or phrases for users to choose from. + * + * Use ibus_engine_update_lookup_table(), ibus_engine_show_lookup_table(), + * and ibus_engine_hide_lookup_table() to update, show and hide the lookup + * table. + */ + #ifndef __IBUS_LOOKUP_TABLE_H_ #define __IBUS_LOOKUP_TABLE_H_ @@ -46,9 +59,21 @@ G_BEGIN_DECLS typedef struct _IBusLookupTable IBusLookupTable; typedef struct _IBusLookupTableClass IBusLookupTableClass; + +/** + * IBusLookupTable: + * @page_size: number of candidate shown per page. + * @cursor_pos: position index of cursor. + * @cursor_visible: whether the cursor is visible. + * @round: TRUE for lookup table wrap around. + * @candidates: Candidate words/phrases/ + * + * An IBusLookuptable stores the candidate words or phrases for users to choose from. + */ struct _IBusLookupTable { IBusSerializable parent; + /*< public >*/ guint page_size; guint cursor_pos; gboolean cursor_visible; @@ -63,37 +88,174 @@ struct _IBusLookupTableClass { GType ibus_lookup_table_get_type (void); + +/** + * ibus_lookup_table_new: + * @page_size: number of candidate shown per page. + * @cursor_pos: position index of cursor. + * @cursor_visible: whether the cursor is visible. + * @round: TRUE for lookup table wrap around. + * @returns: A newly allocated IBusLookupTable. + * + * New a IBusLookupTable. + */ IBusLookupTable *ibus_lookup_table_new (guint page_size, guint cursor_pos, gboolean cursor_visible, gboolean round); +/** + * ibus_lookup_table_append_candidate: + * @table: An IBusLookupTable. + * @text: candidate word/phrase to be appended (in IBusText format). + * + * Append a candidate word/phrase to IBusLookupTable. + */ void ibus_lookup_table_append_candidate (IBusLookupTable *table, IBusText *text); + +/** + * ibus_lookup_table_get_candidate: + * @table: An IBusLookupTable. + * @index: Index in the Lookup table. + * @returns: IBusText at the given index; NULL if no such IBusText. + * + * Return IBusText at the given index. + */ IBusText *ibus_lookup_table_get_candidate (IBusLookupTable *table, guint index); + +/** + * ibus_lookup_table_set_cursor_pos: + * @table: An IBusLookupTable. + * @cursor_pos: The position of cursor. + * + * Set the cursor position of IBusLookupTable. + */ void ibus_lookup_table_set_cursor_pos (IBusLookupTable *table, guint cursor_pos); + +/** + * ibus_lookup_table_get_cursor_pos: + * @table: An IBusLookupTable. + * @returns: The position of cursor. + * + * Get the cursor position of IBusLookupTable. + */ guint ibus_lookup_table_get_cursor_pos (IBusLookupTable *table); + +/** + * ibus_lookup_table_set_cursor_visible: + * @table: An IBusLookupTable. + * @visible: Whether to make the cursor of @table visible. + * + * Set whether to make the cursor of an IBusLookupTable visible or not. + */ void ibus_lookup_table_set_cursor_visible (IBusLookupTable *table, gboolean visible); + +/** + * ibus_lookup_table_is_cursor_visible: + * @table: An IBusLookupTable. + * @returns: Whether the cursor of @table is visible. + * + * Returns whether the cursor of an IBusLookupTable is visible. + */ gboolean ibus_lookup_table_is_cursor_visible (IBusLookupTable *table); + +/** + * ibus_lookup_table_get_cursor_in_page: + * @table: An IBusLookupTable. + * @returns: The position of cursor in current page. + * + * Get the cursor position in current page of IBusLookupTable. + */ guint ibus_lookup_table_get_cursor_in_page (IBusLookupTable *table); +/** + * ibus_lookup_table_set_page_size: + * @table: An IBusLookupTable. + * @page_size: number of candidate shown per page. + * + * Set the number of candidate shown per page. + */ void ibus_lookup_table_set_page_size (IBusLookupTable *table, guint page_size); + +/** + * ibus_lookup_table_get_page_size: + * @table: An IBusLookupTable. + * @returns: Page size, i.e., number of candidate shown per page. + * + * Get the number of candidate shown per page. + */ guint ibus_lookup_table_get_page_size (IBusLookupTable *table); + +/** + * ibus_lookup_table_clear: + * @table: An IBusLookupTable. + * + * Clear and remove all candidate from an IBusLookupTable. + */ void ibus_lookup_table_clear (IBusLookupTable *table); + +/** + * ibus_lookup_table_page_up: + * @table: An IBusLookupTable. + * @returns: TRUE if success. + * + * Go to previous page of an IBusLookupTable. + * + * It returns FALSE if it is already at the first page, + * unless <code>table>-round==TRUE</code>, where it will go + * to the last page. + */ gboolean ibus_lookup_table_page_up (IBusLookupTable *table); + +/** + * ibus_lookup_table_page_down: + * @table: An IBusLookupTable. + * @returns: TRUE if success. + * + * Go to next page of an IBusLookupTable. + * + * It returns FALSE if it is already at the last page, + * unless <code>table>-round==TRUE</code>, where it will go + * to the first page. + */ gboolean ibus_lookup_table_page_down(IBusLookupTable *table); + +/** + * ibus_lookup_table_cursor_up: + * @table: An IBusLookupTable. + * @returns: TRUE if success. + * + * Go to previous candidate of an IBusLookupTable. + * + * It returns FALSE if it is already at the first candidate, + * unless <code>table>-round==TRUE</code>, where it will go + * to the last candidate. + */ gboolean ibus_lookup_table_cursor_up(IBusLookupTable *table); + +/** + * ibus_lookup_table_cursor_down: + * @table: An IBusLookupTable. + * @returns: TRUE if success. + * + * Go to next candidate of an IBusLookupTable. + * + * It returns FALSE if it is already at the last candidate, + * unless <code>table>-round==TRUE</code>, where it will go + * to the first candidate. + */ gboolean ibus_lookup_table_cursor_down (IBusLookupTable *table); G_END_DECLS diff --git a/src/ibusobject.h b/src/ibusobject.h index 67fb95b..38cdfac 100644 --- a/src/ibusobject.h +++ b/src/ibusobject.h @@ -17,6 +17,13 @@ * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ +/** + * SECTION: ibusobject + * @short_description: Base Object of iBus. + * @stability: Stable + * + * Base object handling functions of iBus. + */ #ifndef __IBUS_OBJECT_H_ #define __IBUS_OBJECT_H_ @@ -73,6 +80,12 @@ struct _IBusObject { typedef void ( *IBusObjectDestroyFunc) (IBusObject *); + +/** + * IBusObjectClass: + * @destroy: IBus object destroy method, usually implemented by subclass. + * + */ struct _IBusObjectClass { GObjectClass parent; @@ -84,8 +97,28 @@ struct _IBusObjectClass { gpointer pdummy[7]; }; -GType ibus_object_get_type (void); +/** + * ibus_object_get_type: + * @returns: GType for IBusObject + * + * Returns GType for IBusObject. + */ + GType ibus_object_get_type (void); + +/** + * ibus_object_new: + * @returns: A newly allocated IBusObject + * + * Returns a newly allocated IBusObject. + */ IBusObject *ibus_object_new (void); + +/** + * ibus_object_destory: + * @object: IBusObject to be destroy. + * + * Destroy an IBusObject. + */ void ibus_object_destroy (IBusObject *object); G_END_DECLS diff --git a/src/ibusproperty.h b/src/ibusproperty.h index 19ff33c..6e90cd3 100644 --- a/src/ibusproperty.h +++ b/src/ibusproperty.h @@ -17,6 +17,20 @@ * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ +/** + * SECTION: ibusproperty + * @short_description: UI component for input method engine property. + * @stability: Stable + * @see_also: #IBusEngine + * + * An IBusProperty is an UI component like a button or a menu item + * which shows the status of corresponding input method engine property. + * End user can operate and see the current status of IME through these components. + * For example, ibus-chewing users change the English/Chinese input mode by + * pressing ctrl-space or click on the Eng/Chi switch button. + * And the IBusProperty shows the change correspondingly. + */ + #ifndef __IBUS_PROPERTY_H_ #define __IBUS_PROPERTY_H_ @@ -59,7 +73,17 @@ G_BEGIN_DECLS #define IBUS_PROP_LIST_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS ((obj), IBUS_TYPE_PROP_LIST, IBusPropListClass)) - +/** + * IBusPropType: + * @PROP_TYPE_NORMAL: Property is shown as normal text. + * @PROP_TYPE_TOGGLE: Property is shown as a toggle button. + * @PROP_TYPE_RADIO: Property is shown as a radio selection option. + * @PROP_TYPE_MENU: Property is shown as a menu, usually imply it has sub menu + * items. + * @PROP_TYPE_SEPARATOR: A separator for menu. + * + * Type of IBusProperty. + */ typedef enum { PROP_TYPE_NORMAL = 0, PROP_TYPE_TOGGLE = 1, @@ -68,21 +92,58 @@ typedef enum { PROP_TYPE_SEPARATOR = 4, } IBusPropType; +/** + * IBusPropState: + * @PROP_STATE_UNCHECKED: Property option is unchecked. + * @PROP_STATE_CHECKED: Property option is checked. + * @PROP_STATE_INCONSISTENT: The state is inconsistent with the associated IME + * property. + * + * State of IBusProperty. The actual effect depends on #IBusPropType of the + * IBusProperty. + * + * <variablelist> + * <varlistentry> + * <term>PROP_TYPE_TOGGLE</term> + * <listitem><para>Emphasized if PROP_STATE_CHECKED, normal otherwise.</para></listitem> + * </varlistentry> + * <varlistentry> + * <term>PROP_TYPE_RADIO</term> + * <listitem><para>Option checked if PROP_STATE_CHECKED, unchecked otherwise.</para></listitem> + * </varlistentry> + * </variablelist> + * No effect on other types. + */ typedef enum { PROP_STATE_UNCHECKED = 0, PROP_STATE_CHECKED = 1, PROP_STATE_INCONSISTENT = 2, } IBusPropState; - typedef struct _IBusProperty IBusProperty; typedef struct _IBusPropertyClass IBusPropertyClass; typedef struct _IBusPropList IBusPropList; typedef struct _IBusPropListClass IBusPropListClass; +/** + * IBusProperty: + * @key: Unique Identity for the IBusProperty. + * @icon: Icon file for the IBusProperty. + * @label: Text shown in UI. + * @tooltip: Message shown if mouse hovered the IBusProperty. + * @sensitive: Whether the IBusProperty is sensitive to keyboard and mouse event. + * @visible: Whether the IBusProperty is visible. + * @type: IBusPropType of IBusProperty. + * @state: IBusPropState of IBusProperty. + * @sub_props: IBusPropList that contains sub IBusProperties. These IBusProperties are usually + * shown as sub menu item. + * + * UI component for input method engine property. + */ struct _IBusProperty { IBusSerializable parent; - + + /*< public >*/ gchar *key; gchar *icon; IBusText *label; @@ -100,9 +161,17 @@ struct _IBusPropertyClass { IBusSerializableClass parent; }; + +/** + * IBusPropList: + * @properties: GArray that holds IBusProperties. + * + * An Array of IBusProperties. + */ struct _IBusPropList { IBusSerializable parent; + /*< public >*/ GArray *properties; }; @@ -111,6 +180,21 @@ struct _IBusPropListClass { }; GType ibus_property_get_type (); +/** + * ibus_property_new: + * @key: Unique Identity for the IBusProperty. + * @icon: Icon file for the IBusProperty. + * @label: Text shown in UI. + * @tooltip: Message shown if mouse hovered the IBusProperty. + * @sensitive: Whether the IBusProperty is sensitive to keyboard and mouse event. + * @visible: Whether the IBusProperty is visible. + * @type: IBusPropType of IBusProperty. + * @state: IBusPropState of IBusProperty. + * @prop_list: IBusPropList that contains sub IBusProperties. + * @returns: A newly allocated IBusProperty. + * + * New a IBusProperty. + */ IBusProperty *ibus_property_new (const gchar *key, IBusPropType type, IBusText *label, @@ -120,21 +204,78 @@ IBusProperty *ibus_property_new (const gchar *key, gboolean visible, IBusPropState state, IBusPropList *prop_list); + +/** + * ibus_property_set_label: + * @prop: An IBusProperty. + * @label: Text shown in UI. + * + * Set the label of IBusProperty. + */ void ibus_property_set_label (IBusProperty *prop, IBusText *label); + +/** + * ibus_property_set_visible: + * @prop: An IBusProperty. + * @visible: Whether the IBusProperty is visible. + * + * Set whether the IBusProperty is visible. + */ void ibus_property_set_visible (IBusProperty *prop, gboolean visible); + +/** + * ibus_property_set_sub_props: + * @prop: An IBusProperty. + * @prop_list: IBusPropList that contains sub IBusProperties. + * + * Set the sub IBusProperties. + */ void ibus_property_set_sub_props(IBusProperty *prop, IBusPropList *prop_list); gboolean ibus_property_update (IBusProperty *prop, IBusProperty *prop_update); GType ibus_prop_list_get_type (); + +/** + * ibus_prop_list_new: + * @returns: A newly allocated IBusPropList. + * + * New a IBusPropList. + */ IBusPropList *ibus_prop_list_new (); + +/** + * ibus_prop_list_append: + * @prop_list: An IBusPropList. + * @prop: IBusProperty to be append to @prop_list. + * + * Append an IBusProperty to an IBusPropList. + */ void ibus_prop_list_append (IBusPropList *prop_list, IBusProperty *prop); + +/** + * ibus_prop_list_get: + * @prop_list: An IBusPropList. + * @index: Index of an IBusPropList. + * @returns: IBusProperty at given index, NULL if no such IBusProperty. + * + * Returns IBusProperty at given index. + */ IBusProperty *ibus_prop_list_get (IBusPropList *prop_list, guint index); + +/** + * ibus_prop_list_update_property: + * @prop_list: An IBusPropList. + * @prop: IBusProperty to be update. + * @returns: TRUE if succeeded, FALSE otherwise. + * + * Update an IBusProperty in IBusPropList. + */ gboolean ibus_prop_list_update_property (IBusPropList *prop_list, IBusProperty *prop); diff --git a/src/ibustext.h b/src/ibustext.h index 9696f80..0144d54 100644 --- a/src/ibustext.h +++ b/src/ibustext.h @@ -17,6 +17,17 @@ * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ +/** + * SECTION: ibustext + * @short_description: Text with decorating information. + * @see_also: #IBusAttribute + * + * An IBusText is the main text object in IBus. + * The text is decorated according to associated IBusAttribute, + * e.g. the foreground/background color, underline, and + * applied scope. + */ + #ifndef __IBUS_TEXT_H_ #define __IBUS_TEXT_H_ @@ -45,10 +56,19 @@ G_BEGIN_DECLS typedef struct _IBusText IBusText; typedef struct _IBusTextClass IBusTextClass; +/** + * IBusText: + * @is_static: Whether @text is static, i.e., no need and will not be freed. Only TRUE if IBusText is newed from ibus_text_new_from_static_string(). + * @text: The string content of IBusText in UTF-8. + * @attrs: Associated IBusAttributes. + * + * A text object in IBus. + */ struct _IBusText { IBusSerializable parent; /* members */ + /*< public >*/ gboolean is_static; gchar *text; IBusAttrList *attrs; @@ -59,17 +79,79 @@ struct _IBusTextClass { }; GType ibus_text_get_type (void); + +/** + * ibus_text_new_from_string: + * @str: An text string to be set. + * @returns: A newly allocated IBusText. + * + * New an IBusText whose content is copied from a text string. + */ IBusText *ibus_text_new_from_string (const gchar *str); + +/** + * ibus_text_new_from_ucs4: + * @str: An text string to be set. + * @returns: A newly allocated IBusText. + * + * New an IBusText whose content is copied from a UCS4 encoded text string. + */ IBusText *ibus_text_new_from_ucs4 (const gunichar *str); + +/** + * ibus_text_new_from_static_string: + * @str: An text string to be set. + * @returns: A newly allocated IBusText. + * + * New an IBusText whose content is from a static string. + * Note that it is the developer's duty to ensure @str is static. + */ IBusText *ibus_text_new_from_static_string (const gchar *str); + +/** + * ibus_text_new_from_printf: + * @fmt: printf format string. + * @...: arguments for @fmt. + * @returns: A newly allocated IBusText. + * + * New an IBusText from a printf expression. + */ IBusText *ibus_text_new_from_printf (const gchar *fmt, ...); + +/** + * ibus_text_new_from_unichar: + * @c: A single UCS4-encoded character. + * @returns: A newly allocated IBusText. + * + * New an IBusText from a single UCS4-encoded character. + */ IBusText *ibus_text_new_from_unichar (gunichar c); + +/** + * ibus_text_append_attribute: + * @text: an IBusText + * @type: IBusAttributeType for @text. + * @value: Value for the type. + * @start_index: The starting index, inclusive. + * @end_index: The ending index, exclusive. + * + * Append an IBusAttribute for IBusText. + */ void ibus_text_append_attribute (IBusText *text, guint type, guint value, guint start_index, gint end_index); +/** + * ibus_text_get_length: + * @text: An IBusText. + * @returns: Number of character in @text, not counted by bytes. + * + * Return number of characters in an IBusText. + * This function is based on g_utf8_strlen(), so unlike strlen(), + * it does not count by bytes but characters instead. + */ guint ibus_text_get_length (IBusText *text); G_END_DECLS diff --git a/src/ibustypes.h b/src/ibustypes.h index a977db4..c2b40de 100644 --- a/src/ibustypes.h +++ b/src/ibustypes.h @@ -17,9 +17,41 @@ * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */ +/** + * SECTION: ibustypes + * @short_description: Generic types for iBus. + * @stability: Stable + * + * This session consists generic types for iBus, including shift/control key modifiers, + * and a rectangle structure. + */ #ifndef __IBUS_TYPES_H_ #define __IBUS_TYPES_H_ +/** + * IBusModifierType: + * @IBUS_SHIFT_MASK: Shift is activated. + * @IBUS_LOCK_MASK: Cap Lock is locked. + * @IBUS_CONTROL_MASK: Control key is activated. + * @IBUS_MOD1_MASK: Modifier 1 (Usually Alt_L (0x40), Alt_R (0x6c), Meta_L (0xcd)) activated. + * @IBUS_MOD2_MASK: Modifier 2 (Usually Num_Lock (0x4d)) activated. + * @IBUS_MOD3_MASK: Modifier 3 activated. + * @IBUS_MOD4_MASK: Modifier 4 (Usually Super_L (0xce), Hyper_L (0xcf)) activated. + * @IBUS_MOD5_MASK: Modifier 5 (ISO_Level3_Shift (0x5c), Mode_switch (0xcb)) activated. + * @IBUS_BUTTON1_MASK: Mouse button 1 (left) is activated. + * @IBUS_BUTTON2_MASK: Mouse button 2 (middle) is activated. + * @IBUS_BUTTON3_MASK: Mouse button 3 (right) is activated. + * @IBUS_BUTTON4_MASK: Mouse button 4 (scroll up) is activated. + * @IBUS_BUTTON5_MASK: Mouse button 5 (scroll down) is activated. + * @IBUS_FORWARD_MASK: Forward mask. + * @IBUS_SUPER_MASK: Super (Usually Win) key is activated. + * @IBUS_HYPER_MASK: Hyper key is activated. + * @IBUS_RELEASE_MASK: Key is released. + * @IBUS_MODIFIER_MASK: Modifier mask for the all the masks above. + * + * Handles key modifier such as control, shift and alt and release event. + * Note that nits 15 - 25 are currently unused, while bit 29 is used internally. + */ typedef enum { IBUS_SHIFT_MASK = 1 << 0, @@ -40,7 +72,7 @@ typedef enum * Bits 15 - 25 are currently unused. Bit 29 is used internally. */ - /* forard mask */ + /* forward mask */ IBUS_FORWARD_MASK = 1 << 25, IBUS_SUPER_MASK = 1 << 26, @@ -52,6 +84,16 @@ typedef enum IBUS_MODIFIER_MASK = 0x5c001fff } IBusModifierType; +/** + * IBusCapabilite: + * @IBUS_CAP_PREEDIT_TEXT: UI is capable to show pre-edit text. + * @IBUS_CAP_AUXILIARY_TEXT: UI is capable to show auxiliary text. + * @IBUS_CAP_LOOKUP_TABLE: UI is capable to show the lookup table. + * @IBUS_CAP_FOCUS: UI is capable to get focus. + * @IBUS_CAP_PROPERTY: UI is capable to have property. + * + * Capability flags of UI. + */ typedef enum { IBUS_CAP_PREEDIT_TEXT = 1 << 0, IBUS_CAP_AUXILIARY_TEXT = 1 << 1, @@ -60,6 +102,15 @@ typedef enum { IBUS_CAP_PROPERTY = 1 << 4, } IBusCapabilite; +/** + * IBusRectangle: + * @x: x coordinate. + * @y: y coordinate. + * @width: width of the rectangle. + * @height: height of the renctangl. + * + * Rectangle definition. + */ typedef struct _IBusRectangle IBusRectangle; struct _IBusRectangle { gint x; @@ -68,7 +119,13 @@ struct _IBusRectangle { gint height; }; -typedef void (* IBusFreeFunc) (gpointer ); +/** + * IBusFreeFunc: + * @object: object to be freed. + * + * Free function prototype. + */ +typedef void (* IBusFreeFunc) (gpointer object); #endif |