The <structname>GtkAboutDialog</structname> struct contains only private fields and should not be directly accessed. Creates a new #GtkAboutDialog. a newly created #GtkAboutDialog Installs a global function to be called whenever the user activates an email link in an about dialog. Since 2.18 there exists a default function which uses gtk_show_uri(). To deactivate it, you can pass %NULL for @func. the previous email hook. a function to call when an email link is activated. data to pass to @func #GDestroyNotify for @data Installs a global function to be called whenever the user activates a URL link in an about dialog. Since 2.18 there exists a default function which uses gtk_show_uri(). To deactivate it, you can pass %NULL for @func. the previous URL hook. a function to call when a URL link is activated. data to pass to @func #GDestroyNotify for @data Returns the program name displayed in the about dialog. dialog and must not be modified. The program name. The string is owned by the about Sets the name to display in the about dialog. If this is not set, it defaults to g_get_application_name(). the program name Returns the program name displayed in the about dialog. dialog and must not be modified. The program name. The string is owned by the about Sets the name to display in the about dialog. If this is not set, it defaults to g_get_application_name(). the program name Returns the version string. dialog and must not be modified. The version string. The string is owned by the about Sets the version string to display in the about dialog. the version string Returns the copyright string. dialog and must not be modified. The copyright string. The string is owned by the about Sets the copyright string to display in the about dialog. This should be a short string of one or two lines. (allow-none) the copyright string Returns the comments string. dialog and must not be modified. The comments. The string is owned by the about Sets the comments string to display in the about dialog. This should be a short string of one or two lines. a comments string Returns the license information. dialog and must not be modified. The license information. The string is owned by the about Sets the license information to be displayed in the secondary license dialog. If @license is %NULL, the license button is hidden. the license information or %NULL Returns whether the license text in @about is automatically wrapped. %TRUE if the license text is wrapped Sets whether the license text in @about is automatically wrapped. whether to wrap the license Returns the website URL. dialog and must not be modified. The website URL. The string is owned by the about Sets the URL to use for the website link. Note that that the hook functions need to be set up before calling this function. //" Returns the label used for the website link. owned by the about dialog and must not be modified. The label used for the website link. The string is Sets the label to be used for the website link. It defaults to the website URL. the label used for the website link Returns the string which are displayed in the authors tab of the secondary credits dialog. the authors. The array is owned by the about dialog and must not be modified. A %NULL-terminated string array containing Sets the strings which are displayed in the authors tab of the secondary credits dialog. a %NULL-terminated array of strings Returns the string which are displayed in the documenters tab of the secondary credits dialog. the documenters. The array is owned by the about dialog and must not be modified. A %NULL-terminated string array containing Sets the strings which are displayed in the documenters tab of the secondary credits dialog. a %NULL-terminated array of strings Returns the string which are displayed in the artists tab of the secondary credits dialog. the artists. The array is owned by the about dialog and must not be modified. A %NULL-terminated string array containing Sets the strings which are displayed in the artists tab of the secondary credits dialog. a %NULL-terminated array of strings Returns the translator credits string which is displayed in the translators tab of the secondary credits dialog. owned by the about dialog and must not be modified. The translator credits string. The string is Sets the translator credits string which is displayed in the translators tab of the secondary credits dialog. The intended use for this string is to display the translator of the language which is currently used in the user interface. Using gettext(), a simple way to achieve that is to mark the string for translation: |[ gtk_about_dialog_set_translator_credits (about, _("translator-credits")); ]| It is a good idea to use the customary msgid "translator-credits" for this purpose, since translators will already know the purpose of that msgid, and since #GtkAboutDialog will detect if "translator-credits" is untranslated and hide the tab. the translator credits Returns the pixbuf displayed as logo in the about dialog. owned by the about dialog. If you want to keep a reference to it, you have to call g_object_ref() on it. the pixbuf displayed as logo. The pixbuf is Sets the pixbuf to be displayed as logo in the about dialog. If it is %NULL, the default window icon set with gtk_window_set_default_icon() will be used. a #GdkPixbuf, or %NULL Returns the icon name displayed as logo in the about dialog. owned by the dialog. If you want to keep a reference to it, you have to call g_strdup() on it. the icon name displayed as logo. The string is Sets the pixbuf to be displayed as logo in the about dialog. If it is %NULL, the default window icon set with gtk_window_set_default_icon() will be used. an icon name, or %NULL The people who contributed artwork to the program, as a %NULL-terminated array of strings. Each string may contain email addresses and URLs, which will be displayed as links, see the introduction for more details. The authors of the program, as a %NULL-terminated array of strings. Each string may contain email addresses and URLs, which will be displayed as links, see the introduction for more details. Comments about the program. This string is displayed in a label in the main dialog, thus it should be a short explanation of the main purpose of the program, not a detailed list of features. Copyright information for the program. The people documenting the program, as a %NULL-terminated array of strings. Each string may contain email addresses and URLs, which will be displayed as links, see the introduction for more details. The license of the program. This string is displayed in a text view in a secondary dialog, therefore it is fine to use a long multi-paragraph text. Note that the text is only wrapped in the text view if the "wrap-license" property is set to %TRUE; otherwise the text itself must contain the intended linebreaks. A logo for the about box. If this is not set, it defaults to gtk_window_get_default_icon_list(). A named icon to use as the logo for the about box. This property overrides the #GtkAboutDialog:logo property. The name of the program. If this is not set, it defaults to g_get_application_name(). Credits to the translators. This string should be marked as translatable. The string may contain email addresses and URLs, which will be displayed as links, see the introduction for more details. The version of the program. The URL for the link to the website of the program. This should be a string starting with "http://. The label for the link to the website of the program. If this is not set, it defaults to the URL specified in the #GtkAboutDialog:website property. Whether to wrap the text in the license dialog. The type of a function which is called when a URL or email link is activated. the #GtkAboutDialog in which the link was activated the URL or email address to which the activated link points user data that was passed when the function was registered with gtk_about_dialog_set_email_hook() or gtk_about_dialog_set_url_hook() An object representing and maintaining a group of accelerators. Creates a new #GtkAccelGroup. a new #GtkAccelGroup object Finds the #GtkAccelGroup to which @closure is connected; see gtk_accel_group_connect(). the #GtkAccelGroup to which @closure is connected, or %NULL. a #GClosure Locks are added and removed using gtk_accel_group_lock() and gtk_accel_group_unlock(). %FALSE otherwise. %TRUE if there are 1 or more locks on the @accel_group, Gets a #GdkModifierType representing the mask for this the modifier mask for this accel group. Locks the given accelerator group. Locking an acelerator group prevents the accelerators contained within it to be changed during runtime. Refer to gtk_accel_map_change_entry() about runtime accelerator changes. If called more than once, @accel_group remains locked until gtk_accel_group_unlock() has been called an equivalent number of times. Undoes the last call to gtk_accel_group_lock() on this @accel_group. Installs an accelerator in this group. When @accel_group is being activated in response to a call to gtk_accel_groups_activate(), @closure will be invoked if the @accel_key and @accel_mods from gtk_accel_groups_activate() match those of this connection. The signature used for the @closure is that of #GtkAccelGroupActivate. Note that, due to implementation details, a single closure can only be connected to one accelerator group. key value of the accelerator modifier combination of the accelerator a flag mask to configure this accelerator closure to be executed upon accelerator activation Installs an accelerator in this group, using an accelerator path to look up the appropriate key and modifiers (see gtk_accel_map_add_entry()). When @accel_group is being activated in response to a call to gtk_accel_groups_activate(), @closure will be invoked if the @accel_key and for the path. The signature used for the @closure is that of #GtkAccelGroupActivate. Note that @accel_path string will be stored in a #GQuark. Therefore, if you pass a static string, you can save some memory by interning it first with g_intern_static_string(). path used for determining key and modifiers. closure to be executed upon accelerator activation Removes an accelerator previously installed through gtk_accel_group_connect(). Since 2.20 @closure can be %NULL. %TRUE if the closure was found and got disconnected the closure to remove from this accelerator group, or %NULL to remove all closures Removes an accelerator previously installed through gtk_accel_group_connect(). %TRUE if there was an accelerator which could be removed, %FALSE otherwise key value of the accelerator modifier combination of the accelerator Finds the first accelerator in @accel_group that matches @accel_key and @accel_mods, and activates it. %TRUE if an accelerator was activated and handled this keypress the quark for the accelerator name the #GObject, usually a #GtkWindow, on which to activate the accelerator. accelerator keyval from a key event keyboard state mask from a key event Finds the first entry in an accelerator group for which the key of the first entry passing @find_func. The key is owned by GTK+ and must not be freed. a function to filter the entries of @accel_group with data to pass to @find_func Queries an accelerator group for all entries matching @accel_key and an array of @n_entries #GtkAccelGroupEntry elements, or %NULL. The array is owned by GTK+ and must not be freed. key value of the accelerator modifier combination of the accelerator location to return the number of entries found, or %NULL The accel-activate signal is an implementation detail of #GtkAccelGroup and not meant to be used by applications. %TRUE if the accelerator was activated the object on which the accelerator was activated the accelerator keyval the modifier combination of the accelerator The accel-changed signal is emitted when a #GtkAccelGroupEntry is added to or removed from the accel group. Widgets like #GtkAccelLabel which display an associated accelerator should connect to this signal, and rebuild their visual representation if the @accel_closure is theirs. the accelerator keyval the modifier combination of the accelerator the #GClosure of the accelerator The #GtkAccelLabel-struct struct contains private data only, and should be accessed using the functions below. Creates a new #GtkAccelLabel. a new #GtkAccelLabel. the label string. Must be non-%NULL. Fetches the widget monitored by this accelerator label. See gtk_accel_label_set_accel_widget(). the object monitored by the accelerator label, or %NULL. Returns the width needed to display the accelerator key(s). This is used by menus to align all of the #GtkMenuItem widgets, and shouldn't be needed by applications. the width needed to display the accelerator key(s). Sets the widget to be monitored by this accelerator label. the widget to be monitored. Sets the closure to be monitored by this accelerator label. The closure must be connected to an accelerator group; see gtk_accel_group_connect(). the closure to monitor for accelerator changes. Recreates the string representing the accelerator keys. This should not be needed since the string is automatically updated whenever accelerators are added or removed from the associated widget. always returns %FALSE. Registers a new accelerator with the global accelerator map. This function should only be called once per @accel_path with the canonical @accel_key and @accel_mods for this path. To change the accelerator during runtime programatically, use gtk_accel_map_change_entry(). The accelerator path must consist of "&lt;WINDOWTYPE&gt;/Category1/Category2/.../Action", where &lt;WINDOWTYPE&gt; should be a unique application-specific identifier, that corresponds to the kind of window the accelerator is being used in, e.g. "Gimp-Image", "Abiword-Document" or "Gnumeric-Settings". The Category1/.../Action portion is most appropriately chosen by the action the accelerator triggers, i.e. for accelerators on menu items, choose the item's menu path, e.g. "File/Save As", "Image/View/Zoom" or "Edit/Select All". So a full valid accelerator path may look like: "&lt;Gimp-Toolbox&gt;/File/Dialogs/Tool Options...". Note that @accel_path string will be stored in a #GQuark. Therefore, if you pass a static string, you can save some memory by interning it first with g_intern_static_string(). valid accelerator path the accelerator key the accelerator modifiers Looks up the accelerator entry for @accel_path and fills in @key. %TRUE if @accel_path is known, %FALSE otherwise a valid accelerator path the accelerator key to be filled in (optional) Changes the @accel_key and @accel_mods currently associated with @accel_path. Due to conflicts with other accelerators, a change may not always be possible, conflicts. A change will only occur if all conflicts could be resolved (which might not be the case if conflicting accelerators are locked). Successful changes are indicated by a %TRUE return value. Note that @accel_path string will be stored in a #GQuark. Therefore, if you pass a static string, you can save some memory by interning it first with g_intern_static_string(). %TRUE if the accelerator could be changed, %FALSE otherwise a valid accelerator path the new accelerator key the new accelerator modifiers %TRUE if other accelerators may be deleted upon conflicts Parses a file previously saved with gtk_accel_map_save() for accelerator specifications, and propagates them accordingly. a file containing accelerator specifications, in the GLib file name encoding Saves current accelerator specifications (accelerator path, key and modifiers) to @file_name. The file is written in a format suitable to be read back in by gtk_accel_map_load(). the name of the file to contain accelerator specifications, in the GLib file name encoding Loops over the entries in the accelerator map whose accel path doesn't match any of the filters added with gtk_accel_map_add_filter(), and execute @foreach_func on each. The signature of @foreach_func is that of #GtkAccelMapForeach, the @changed parameter indicates whether this accelerator was changed during runtime (thus, would need saving during an accelerator map dump). data to be passed into @foreach_func function to be executed for each accel map entry which is not filtered out Filedescriptor variant of gtk_accel_map_load(). Note that the file descriptor will not be closed by this function. a valid readable file descriptor #GScanner variant of gtk_accel_map_load(). a #GScanner which has already been provided with an input file Filedescriptor variant of gtk_accel_map_save(). Note that the file descriptor will not be closed by this function. a valid writable file descriptor Locks the given accelerator path. If the accelerator map doesn't yet contain an entry for @accel_path, a new one is created. Locking an accelerator path prevents its accelerator from being changed during runtime. A locked accelerator path can be unlocked by gtk_accel_map_unlock_path(). Refer to gtk_accel_map_change_entry() for information about runtime accelerator changes. If called more than once, @accel_path remains locked until gtk_accel_map_unlock_path() has been called an equivalent number of times. Note that locking of individual accelerator paths is independent from locking the #GtkAccelGroup containing them. For runtime accelerator changes to be possible both the accelerator path and its #GtkAccelGroup have to be unlocked. a valid accelerator path Undoes the last call to gtk_accel_map_lock_path() on this @accel_path. Refer to gtk_accel_map_lock_path() for information about accelerator path locking. a valid accelerator path Adds a filter to the global list of accel path filters. Accel map entries whose accel path matches one of the filters are skipped by gtk_accel_map_foreach(). This function is intended for GTK+ modules that create their own menus, but don't want them to be saved into the applications accelerator map dump. a pattern (see #GPatternSpec) Loops over all entries in the accelerator map, and execute #GtkAccelMapForeach, the @changed parameter indicates whether this accelerator was changed during runtime (thus, would need saving during an accelerator map dump). data to be passed into @foreach_func function to be executed for each accel map entry Gets the singleton global #GtkAccelMap object. This object is useful only for notification of changes to the accelerator map via the ::changed signal; it isn't a parameter to the other accelerator map functions. the global #GtkAccelMap object Notifies of a change in the global accelerator map. The path is also used as the detail for the signal, so it is possible to connect to changed::<replaceable>accel_path</replaceable>. the path of the accelerator that changed the key value for the new accelerator the modifier mask for the new accelerator Gets the #GtkWidget corresponding to the #GtkAccessible. The returned widget does not have a reference added, so you do not need to unref it. the #GtkAccessible, or %NULL. pointer to the #GtkWidget corresponding to Creates a new #GtkAction object. To add the action to a #GtkActionGroup and set the accelerator for the action, call gtk_action_group_add_action_with_accel(). See <xref linkend="XML-UI"/> for information on allowed action names. a new #GtkAction A unique name for the action the label displayed in menu items and on buttons, or %NULL a tooltip for the action, or %NULL the stock icon to display in widgets representing the action, or %NULL Creates a menu item widget that proxies for the given action. a menu item connected to the action. Creates a toolbar item widget that proxies for the given action. a toolbar item connected to the action. Connects a widget to an action object as a proxy. Synchronises various properties of the action with the widget (such as label text, icon, tooltip, etc), and attaches a callback so that the action gets activated when the proxy widget does. If the widget is already connected to an action, it is disconnected first. the proxy widget Disconnects a proxy widget from an action. Does <emphasis>not</emphasis> destroy the widget, however. the proxy widget If @action provides a #GtkMenu widget as a submenu for the menu item or the toolbar item it creates, this function returns an instance of that menu. the menu item provided by the action, or %NULL. Returns the name of the action. be freed. the name of the action. The string belongs to GTK+ and should not Returns whether the action is effectively sensitive. are both sensitive. %TRUE if the action and its associated action group Returns whether the action itself is sensitive. Note that this doesn't necessarily mean effective sensitivity. See gtk_action_is_sensitive() for that. %TRUE if the action itself is sensitive. Sets the ::sensitive property of the action to @sensitive. Note that this doesn't necessarily mean effective sensitivity. See gtk_action_is_sensitive() for that. %TRUE to make the action sensitive Returns whether the action is effectively visible. are both visible. %TRUE if the action and its associated action group Returns whether the action itself is visible. Note that this doesn't necessarily mean effective visibility. See gtk_action_is_sensitive() for that. %TRUE if the action itself is visible. Sets the ::visible property of the action to @visible. Note that this doesn't necessarily mean effective visibility. See gtk_action_is_visible() for that. %TRUE to make the action visible Emits the "activate" signal on the specified action, if it isn't insensitive. This gets called by the proxy widgets when they get activated. It can also be used to manually activate an action. This function is intended for use by action implementations to create icons displayed in the proxy widgets. a widget that displays the icon for this action. the size of the icon that should be created. Creates a menu item widget that proxies for the given action. a menu item connected to the action. Creates a toolbar item widget that proxies for the given action. a toolbar item connected to the action. If @action provides a #GtkMenu widget as a submenu for the menu item or the toolbar item it creates, this function returns an instance of that menu. the menu item provided by the action, or %NULL. Returns the proxy widgets for an action. See also gtk_widget_get_action(). and must not be modified. a #GSList of proxy widgets. The list is owned by GTK+ Installs the accelerator for @action if @action has an accel path and group. See gtk_action_set_accel_path() and gtk_action_set_accel_group() Since multiple proxies may independently trigger the installation of the accelerator, the @action counts the number of times this function has been called and doesn't remove the accelerator until gtk_action_disconnect_accelerator() has been called as many times. Undoes the effect of one call to gtk_action_connect_accelerator(). Returns the accel path for this action. if none is set. The returned string is owned by GTK+ and must not be freed or modified. the accel path for this action, or %NULL Returns the accel closure for this action. owned by GTK+ and must not be unreffed or modified. the accel closure for this action. The returned closure is Connects a widget to an action object as a proxy. Synchronises various properties of the action with the widget (such as label text, icon, tooltip, etc), and attaches a callback so that the action gets activated when the proxy widget does. If the widget is already connected to an action, it is disconnected first. the proxy widget Disconnects a proxy widget from an action. Does <emphasis>not</emphasis> destroy the widget, however. the proxy widget Disables calls to the gtk_action_activate() function by signals on the given proxy widget. This is used to break notification loops for things like check or radio actions. This function is intended for use by action implementations. action directly so this doesnt apply anymore. a proxy widget Re-enables calls to the gtk_action_activate() function by signals on the given proxy widget. This undoes the blocking done by gtk_action_block_activate_from(). This function is intended for use by action implementations. action directly so this doesnt apply anymore. a proxy widget Disable activation signals from the action This is needed when updating the state of your proxy #GtkActivatable widget could result in calling gtk_action_activate(), this is a convenience function to avoid recursing in those cases (updating toggle state for instance). Reenable activation signals from the action Sets the accel path for this action. All proxy widgets associated with the action will have this accel path, so that their accelerators are consistent. Note that @accel_path string will be stored in a #GQuark. Therefore, if you pass a static string, you can save some memory by interning it first with g_intern_static_string(). the accelerator path Sets the #GtkAccelGroup in which the accelerator for this action will be installed. a #GtkAccelGroup or %NULL Sets the label of @action. the label text to set Gets the label text of @action. the label text Sets a shorter label text on @action. the label text to set Gets the short label text of @action. the short label text. Sets the tooltip text on @action the tooltip text Gets the tooltip text of @action. the tooltip text Sets the stock id on @action the stock id Gets the stock id of @action. the stock id Sets the icon of @action. the #GIcon to set Gets the gicon of @action. The action's #GIcon if one is set. Sets the icon name on @action the icon name to set Gets the icon name of @action. the icon name Sets whether @action is visible when horizontal whether the action is visible horizontally Checks whether @action is visible when horizontal whether @action is visible when horizontal Sets whether @action is visible when vertical whether the action is visible vertically Checks whether @action is visible when horizontal whether @action is visible when horizontal Sets whether the action is important, this attribute is used primarily by toolbar items to decide whether to show a label or not. %TRUE to make the action important Checks whether @action is important or not whether @action is important Sets whether @action<!-- -->'s menu item proxies will ignore the #GtkSettings:gtk-menu-images setting and always show their image, if available. Use this if the menu item would be useless or hard to use without their image. %TRUE if menuitem proxies should always show their image Returns whether @action<!-- -->'s menu item proxies will ignore the #GtkSettings:gtk-menu-images setting and always show their image, if available. %TRUE if the menu item proxies will always show their image If %TRUE, the action's menu item proxies will ignore the #GtkSettings:gtk-menu-images setting and always show their image, if available. Use this property if the menu item would be useless or hard to use without their image. The #GIcon displayed in the #GtkAction. Note that the stock icon is preferred, if the #GtkAction:stock-id property holds the id of an existing stock icon. This is an appearance property and thus only applies if #GtkActivatable:use-action-appearance is %TRUE. The name of the icon from the icon theme. Note that the stock icon is preferred, if the #GtkAction:stock-id property holds the id of an existing stock icon, and the #GIcon is preferred if the #GtkAction:gicon property is set. This is an appearance property and thus only applies if #GtkActivatable:use-action-appearance is %TRUE. The label used for menu items and buttons that activate this action. If the label is %NULL, GTK+ uses the stock label specified via the stock-id property. This is an appearance property and thus only applies if #GtkActivatable:use-action-appearance is %TRUE. A shorter label that may be used on toolbar buttons. This is an appearance property and thus only applies if #GtkActivatable:use-action-appearance is %TRUE. The stock icon displayed in widgets representing this action. This is an appearance property and thus only applies if #GtkActivatable:use-action-appearance is %TRUE. When %TRUE, toolitem proxies for this action are represented in the toolbar overflow menu. The "activate" signal is emitted when the action is activated. a menu item connected to the action. a toolbar item connected to the action. the proxy widget the proxy widget the menu item provided by the action, or %NULL. Creates a new #GtkActionGroup object. The name of the action group is used when associating <link linkend="Action-Accel">keybindings</link> with the actions. the new #GtkActionGroup the name of the action group. Looks up an action in the action group by name. the action, or %NULL if no action by that name exists the name of the action Gets the name of the action group. the name of the action group. Returns %TRUE if the group is sensitive. The constituent actions can only be logically sensitive (see gtk_action_is_sensitive()) if they are sensitive (see gtk_action_get_sensitive()) and their group is sensitive. %TRUE if the group is sensitive. Changes the sensitivity of @action_group new sensitivity Returns %TRUE if the group is visible. The constituent actions can only be logically visible (see gtk_action_is_visible()) if they are visible (see gtk_action_get_visible()) and their group is visible. %TRUE if the group is visible. Changes the visible of @action_group. new visiblity Looks up an action in the action group by name. the action, or %NULL if no action by that name exists the name of the action Lists the actions in the action group. an allocated list of the action objects in the action group Adds an action object to the action group. Note that this function does not set up the accel path of the action, which can lead to problems if a user tries to modify the accelerator of a menuitem associated with the action. Therefore you must either set the accel path yourself with gtk_action_set_accel_path(), or use <literal>gtk_action_group_add_action_with_accel (..., NULL)</literal>. an action Adds an action object to the action group and sets up the accelerator. If @accelerator is %NULL, attempts to use the accelerator associated with the stock_id of the action. Accel paths are set to <literal>&lt;Actions&gt;/<replaceable>group-name</replaceable>/<replaceable>action-name</replaceable></literal>. the action to add the accelerator for the action, in the format understood by gtk_accelerator_parse(), or "" for no accelerator, or %NULL to use the stock accelerator Removes an action object from the action group. an action This is a convenience function to create a number of actions and add them to the action group. The "activate" signals of the actions are connected to the callbacks and their accel paths are set to <literal>&lt;Actions&gt;/<replaceable>group-name</replaceable>/<replaceable>action-name</replaceable></literal>. an array of action descriptions the number of entries data to pass to the action callbacks This is a convenience function to create a number of toggle actions and add them to the action group. The "activate" signals of the actions are connected to the callbacks and their accel paths are set to <literal>&lt;Actions&gt;/<replaceable>group-name</replaceable>/<replaceable>action-name</replaceable></literal>. an array of toggle action descriptions the number of entries data to pass to the action callbacks This is a convenience routine to create a group of radio actions and add them to the action group. The "changed" signal of the first radio action is connected to the <literal>&lt;Actions&gt;/<replaceable>group-name</replaceable>/<replaceable>action-name</replaceable></literal>. an array of radio action descriptions the number of entries the value of the action to activate initially, or -1 if no action should be activated the callback to connect to the changed signal data to pass to the action callbacks This variant of gtk_action_group_add_actions() adds a #GDestroyNotify callback for @user_data. an array of action descriptions the number of entries data to pass to the action callbacks destroy notification callback for @user_data This variant of gtk_action_group_add_toggle_actions() adds a #GDestroyNotify callback for @user_data. an array of toggle action descriptions the number of entries data to pass to the action callbacks destroy notification callback for @user_data This variant of gtk_action_group_add_radio_actions() adds a #GDestroyNotify callback for @user_data. an array of radio action descriptions the number of entries the value of the action to activate initially, or -1 if no action should be activated the callback to connect to the changed signal data to pass to the action callbacks destroy notification callback for @user_data Sets a function to be used for translating the @label and @tooltip of #GtkActionGroupEntry<!-- -->s added by gtk_action_group_add_actions(). If you're using gettext(), it is enough to set the translation domain with gtk_action_group_set_translation_domain(). a #GtkTranslateFunc data to be passed to @func and @notify a #GDestroyNotify function to be called when @action_group is destroyed and when the translation function is changed again Sets the translation domain and uses g_dgettext() for translating the gtk_action_group_add_actions(). If you're not using gettext() for localization, see gtk_action_group_set_translate_func(). the translation domain to use for g_dgettext() calls Translates a string using the specified translate_func(). This is mainly intended for language bindings. the translation of @string a string The ::connect-proxy signal is emitted after connecting a proxy to an action in the group. Note that the proxy may have been connected to a different action before. This is intended for simple customizations for which a custom action class would be too clumsy, e.g. showing tooltips for menuitems in the statusbar. #GtkUIManager proxies the signal and provides global notification just before any action is connected to a proxy, which is probably more convenient to use. the action the proxy The ::disconnect-proxy signal is emitted after disconnecting a proxy from an action in the group. #GtkUIManager proxies the signal and provides global notification just before any action is connected to a proxy, which is probably more convenient to use. the action the proxy The ::post-activate signal is emitted just after the @action in the This is intended for #GtkUIManager to proxy the signal and provide global notification just after any action is activated. the action The ::pre-activate signal is emitted just before the @action in the This is intended for #GtkUIManager to proxy the signal and provide global notification just before any action is activated. the action the action, or %NULL if no action by that name exists the name of the action This is called to update the activatable completely, this is called internally when the #GtkActivatable::related-action property is set or unset and by the implementing class when #GtkActivatable::use-action-appearance changes. the related #GtkAction or %NULL This is called to update the activatable completely, this is called internally when the #GtkActivatable::related-action property is set or unset and by the implementing class when #GtkActivatable::use-action-appearance changes. the related #GtkAction or %NULL Sets the related action on the @activatable object. <note><para>#GtkActivatable implementors need to handle the #GtkActivatable:related-action property and call gtk_activatable_do_set_related_action() when it changes.</para></note> the #GtkAction to set Gets the related #GtkAction for @activatable. the related #GtkAction if one is set. Sets whether this activatable should reset its layout and appearance when setting the related action or when the action changes appearance <note><para>#GtkActivatable implementors need to handle the #GtkActivatable:use-action-appearance property and call gtk_activatable_sync_action_properties() to update @activatable if needed.</para></note> whether to use the actions appearance Gets whether this activatable should reset its layout and appearance when setting the related action or when the action changes appearance. whether @activatable uses its actions appearance. This is a utility function for #GtkActivatable implementors. When implementing #GtkActivatable you must call this when handling changes of the #GtkActivatable:related-action, and you must also use this to break references in #GObject->dispose(). This function adds a reference to the currently set related action for you, it also makes sure the #GtkActivatable->update() method is called when the related #GtkAction properties change and registers to the action's proxy list. <note><para>Be careful to call this before setting the local copy of the #GtkAction property, since this function uses gtk_activatable_get_action() to retrieve the previous action</para></note> the #GtkAction to set The action that this activatable will activate and receive updates from for various states and possibly appearance. <note><para>#GtkActivatable implementors need to handle the this property and call gtk_activatable_do_set_related_action() when it changes.</para></note> Whether this activatable should reset its layout and appearance when setting the related action or when the action changes appearance. See the #GtkAction documentation directly to find which properties should be ignored by the #GtkActivatable when this property is %FALSE. <note><para>#GtkActivatable implementors need to handle this property and call gtk_activatable_sync_action_properties() on the activatable widget when it changes.</para></note> the related #GtkAction or %NULL Gets the current value of the adjustment. See gtk_adjustment_set_value (). The current value of the adjustment. Retrieves the minimum value of the adjustment. The current minimum value of the adjustment. Sets the minimum value of the adjustment. When setting multiple adjustment properties via their individual setters, multiple "changed" signals will be emitted. However, since the emission of the "changed" signal is tied to the emission of the "GObject::notify" signals of the changed properties, it's possible to compress the "changed" signals into one by calling g_object_freeze_notify() and g_object_thaw_notify() around the calls to the individual setters. Alternatively, using a single g_object_set() for all the properties to change, or using gtk_adjustment_configure() has the same effect of compressing "changed" emissions. the new minimum value Retrieves the maximum value of the adjustment. The current maximum value of the adjustment. Sets the maximum value of the adjustment. Note that values will be restricted by <literal>upper - page-size</literal> if the page-size property is nonzero. See gtk_adjustment_set_lower() about how to compress multiple emissions of the "changed" signal when setting multiple adjustment properties. the new maximum value Retrieves the step increment of the adjustment. The current step increment of the adjustment. Sets the step increment of the adjustment. See gtk_adjustment_set_lower() about how to compress multiple emissions of the "changed" signal when setting multiple adjustment properties. the new step increment Retrieves the page increment of the adjustment. The current page increment of the adjustment. Sets the page increment of the adjustment. See gtk_adjustment_set_lower() about how to compress multiple emissions of the "changed" signal when setting multiple adjustment properties. the new page increment Retrieves the page size of the adjustment. The current page size of the adjustment. Sets the page size of the adjustment. See gtk_adjustment_set_lower() about how to compress multiple emissions of the "changed" signal when setting multiple adjustment properties. the new page size Sets all properties of the adjustment at once. Use this function to avoid multiple emissions of the "changed" signal. See gtk_adjustment_set_lower() for an alternative way of compressing multiple emissions of "changed" into one. the new value the new minimum value the new maximum value the new step increment the new page increment the new page size The minimum value of the adjustment. The page increment of the adjustment. The page size of the adjustment. Note that the page-size is irrelevant and should be set to zero if the adjustment is used for a simple scalar value, e.g. in a #GtkSpinButton. The step increment of the adjustment. The maximum value of the adjustment. Note that values will be restricted by <literal>upper - page-size</literal> if the page-size property is nonzero. The value of the adjustment. Creates a new #GtkAlignment. the new #GtkAlignment. the horizontal alignment of the child widget, from 0 (left) to 1 (right). the vertical alignment of the child widget, from 0 (top) to 1 (bottom). the amount that the child widget expands horizontally to fill up unused space, from 0 to 1. A value of 0 indicates that the child widget should never expand. A value of 1 indicates that the child widget will expand to fill all of the space allocated for the #GtkAlignment. the amount that the child widget expands vertically to fill up unused space, from 0 to 1. The values are similar to @xscale. Sets the #GtkAlignment values. the horizontal alignment of the child widget, from 0 (left) to 1 (right). the vertical alignment of the child widget, from 0 (top) to 1 (bottom). the amount that the child widget expands horizontally to fill up unused space, from 0 to 1. A value of 0 indicates that the child widget should never expand. A value of 1 indicates that the child widget will expand to fill all of the space allocated for the #GtkAlignment. the amount that the child widget expands vertically to fill up unused space, from 0 to 1. The values are similar to @xscale. Sets the padding on the different sides of the widget. The padding adds blank space to the sides of the widget. For instance, this can be used to indent the child widget towards the right by adding padding on the left. the padding at the top of the widget the padding at the bottom of the widget the padding at the left of the widget the padding at the right of the widget. Gets the padding on the different sides of the widget. See gtk_alignment_set_padding (). location to store the padding for the top of the widget, or %NULL location to store the padding for the bottom of the widget, or %NULL location to store the padding for the left of the widget, or %NULL location to store the padding for the right of the widget, or %NULL The padding to insert at the bottom of the widget. The padding to insert at the left of the widget. The padding to insert at the right of the widget. The padding to insert at the top of the widget. Creates a new #GtkArrow widget. the new #GtkArrow widget. a valid #GtkArrowType. a valid #GtkShadowType. Sets the direction and style of the #GtkArrow, @arrow. a valid #GtkArrowType. a valid #GtkShadowType. Create a new #GtkAspectFrame. the new #GtkAspectFrame. Label text. Horizontal alignment of the child within the allocation of the #GtkAspectFrame. This ranges from 0.0 (left aligned) to 1.0 (right aligned) Vertical alignment of the child within the allocation of the #GtkAspectFrame. This ranges from 0.0 (left aligned) to 1.0 (right aligned) The desired aspect ratio. If %TRUE, @ratio is ignored, and the aspect ratio is taken from the requistion of the child. Set parameters for an existing #GtkAspectFrame. Horizontal alignment of the child within the allocation of the #GtkAspectFrame. This ranges from 0.0 (left aligned) to 1.0 (right aligned) Vertical alignment of the child within the allocation of the #GtkAspectFrame. This ranges from 0.0 (left aligned) to 1.0 (right aligned) The desired aspect ratio. If %TRUE, @ratio is ignored, and the aspect ratio is taken from the requistion of the child. Creates a new #GtkAssistant. a newly created #GtkAssistant Returns the page number of the current page the @assistant, if the @assistant has no pages, -1 will be returned The index (starting from 0) of the current page in Switches the page to @page_num. Note that this will only be necessary in custom buttons, as the @assistant flow can be set with gtk_assistant_set_forward_page_func(). index of the page to switch to, starting from 0. If negative, the last page will be used. If greater than the number of pages in the @assistant, nothing will be done. Returns the number of pages in the @assistant The number of pages in the @assistant. Returns the child widget contained in page number @page_num. The child widget, or %NULL if @page_num is out of bounds. The index of a page in the @assistant, or -1 to get the last page; Prepends a page to the @assistant. the index (starting at 0) of the inserted page a #GtkWidget Appends a page to the @assistant. the index (starting at 0) of the inserted page a #GtkWidget Inserts a page in the @assistant at a given position. the index (starting from 0) of the inserted page a #GtkWidget the index (starting at 0) at which to insert the page, or -1 to append the page to the @assistant Sets the page forwarding function to be @page_func, this function will be used to determine what will be the next page when the user presses the forward button. Setting @page_func to %NULL will make the assistant to use the default forward function, which just goes to the next visible page. the #GtkAssistantPageFunc, or %NULL to use the default one user data for @page_func destroy notifier for @data Sets the page type for @page. The page type determines the page behavior in the @assistant. a page of @assistant the new type for @page Gets the page type of @page. the page type of @page. a page of @assistant Sets a title for @page. The title is displayed in the header area of the assistant when @page is the current page. a page of @assistant the new title for @page Gets the title for @page. the title for @page. a page of @assistant Sets a header image for @page. This image is displayed in the header area of the assistant when @page is the current page. a page of @assistant the new header image @page Gets the header image for @page. if there's no header image for the page. the header image for @page, or %NULL a page of @assistant Sets a header image for @page. This image is displayed in the side area of the assistant when @page is the current page. a page of @assistant the new header image @page Gets the header image for @page. if there's no side image for the page. the side image for @page, or %NULL a page of @assistant Sets whether @page contents are complete. This will make a page of @assistant the completeness status of the page Gets whether @page is complete. %TRUE if @page is complete. a page of @assistant Adds a widget to the action area of a #GtkAssistant. a #GtkWidget Removes a widget from the action area of a #GtkAssistant. a #GtkWidget Forces @assistant to recompute the buttons state. GTK+ automatically takes care of this in most situations, e.g. when the user goes to a different page, or when the visibility or completeness of a page changes. One situation where it can be necessary to call this function is when changing a value on the current page affects the future page flow of the assistant. The ::apply signal is emitted when the apply button is clicked. The default behavior of the #GtkAssistant is to switch to the page after the current page, unless the current page is the last one. A handler for the ::apply signal should carry out the actions for which the wizard has collected data. If the action takes a long time to complete, you might consider to put a page of type %GTK_ASSISTANT_PAGE_PROGRESS after the confirmation page and handle this operation within the #GtkAssistant::prepare signal of the progress page. The ::cancel signal is emitted when then the cancel button is clicked. The ::close signal is emitted either when the close button of a summary page is clicked, or when the apply button in the last page in the flow (of type %GTK_ASSISTANT_PAGE_CONFIRM) is clicked. The ::prepare signal is emitted when a new page is set as the assistant's current page, before making the new page visible. A handler for this signal can do any preparation which are necessary before showing @page. the current page A function used by gtk_assistant_set_forward_page_func() to know which is the next page given a current one. It's called both for computing the next page when the user presses the "forward" button and for handling the behavior of the "last" button. The next page number. The page number used to calculate the next page. user data. An enum for determining the page role inside the #GtkAssistant. It's used to handle buttons sensitivity and visibility. Note that an assistant needs to end its page flow with a page of type %GTK_ASSISTANT_PAGE_CONFIRM or %GTK_ASSISTANT_PAGE_SUMMARY to be correct. Gets the child of the #GtkBin, or %NULL if the bin contains no child widget. The returned widget does not have a reference added, so you do not need to unref it. pointer to child of the #GtkBin GTK+ maintains a global list of binding sets. Each binding set has a unique name which needs to be specified upon creation. new binding set unique name of this binding set Find a key binding matching @keyval and @modifiers within %TRUE if a binding was found and activated key value of the binding key modifier of the binding object to activate when binding found This function is used internally by the GtkRC parsing mechanism to assign match patterns to #GtkBindingSet structures. path type the pattern applies to the actual match pattern binding priority Allocates a new #GtkBorder structure and initializes its elements to zero. freed with gtk_border_free() a new empty #GtkBorder. The newly allocated #GtkBorder should be Copies a #GtkBorder structure. a copy of @border_. Frees a #GtkBorder structure. Adds @child to @box, packed with reference to the start of @box. The @child is packed after any other child packed with reference to the start of @box. the #GtkWidget to be added to @box %TRUE if the new child is to be given extra space allocated to %TRUE if space given to @child by the @expand option is actually allocated to @child, rather than just padding it. This parameter has no effect if @expand is set to %FALSE. A child is always allocated the full height of a #GtkHBox and the full width of a #GtkVBox. This option affects the other dimension extra space in pixels to put between this child and its neighbors, over and above the global amount specified by #GtkBox:spacing property. If @child is a widget at one of the reference ends of @box, then @padding pixels are also put between Adds @child to @box, packed with reference to the end of @box. The @child is packed after (away from end of) any other child packed with reference to the end of @box. the #GtkWidget to be added to @box %TRUE if the new child is to be given extra space allocated to @box. The extra space will be divided evenly between all children of @box that use this option %TRUE if space given to @child by the @expand option is actually allocated to @child, rather than just padding it. This parameter has no effect if @expand is set to %FALSE. A child is always allocated the full height of a #GtkHBox and the full width of a #GtkVBox. This option affects the other dimension extra space in pixels to put between this child and its neighbors, over and above the global amount specified by #GtkBox:spacing property. If @child is a widget at one of the reference ends of @box, then @padding pixels are also put between Adds @widget to @box, packed with reference to the start of @box. The child is packed after any other child packed with reference to the start of @box. Parameters for how to pack the child @widget, #GtkBox:expand, #GtkBox:fill and #GtkBox:padding, are given their default values, %TRUE, %TRUE, and 0, respectively. the #GtkWidget to be added to @box Adds @widget to @box, packed with reference to the end of @box. The child is packed after any other child packed with reference to the start of @box. Parameters for how to pack the child @widget, #GtkBox:expand, #GtkBox:fill and #GtkBox:padding, are given their default values, %TRUE, %TRUE, and 0, respectively. the #GtkWidget to be added to @box Sets the #GtkBox:homogeneous property of @box, controlling whether or not all children of @box are given equal space in the box. a boolean value, %TRUE to create equal allotments, %FALSE for variable allotments Returns whether the box is homogeneous (all children are the same size). See gtk_box_set_homogeneous(). %TRUE if the box is homogeneous. Sets the #GtkBox:spacing property of @box, which is the number of pixels to place between children of @box. the number of pixels to put between children Gets the value set by gtk_box_set_spacing(). spacing between children Moves @child to a new @position in the list of @box children. The list is the <structfield>children</structfield> field of #GtkBox-struct, and contains both widgets packed #GTK_PACK_START as well as widgets packed #GTK_PACK_END, in the order that these widgets were added to @box. A widget's position in the @box children list determines where the widget is packed into @box. A child widget at some position in the list will be packed just after all other widgets of the same packing type that appear earlier in the list. the #GtkWidget to move the new position for @child in the list of children of @box, starting from 0. If negative, indicates the end of the list Obtains information about how @child is packed into @box. the #GtkWidget of the child to query pointer to return location for #GtkBox:expand child property pointer to return location for #GtkBox:fill child property pointer to return location for #GtkBox:padding child property pointer to return location for #GtkBox:pack-type child property Sets the way @child is packed into @box. the #GtkWidget of the child to set the new value of the #GtkBox:expand child property the new value of the #GtkBox:fill child property the new value of the #GtkBox:padding child property the new value of the #GtkBox:pack-type child property Sets the name of the @buildable object. name to set Gets the name of the @buildable object. #GtkBuilder sets the name based on the the <link linkend="BUILDER-UI">GtkBuilder UI definition</link> used to construct the @buildable. the name set with gtk_buildable_set_name() Adds a child to @buildable. @type is an optional string describing how the child should be added. a #GtkBuilder child to add kind of child or %NULL Sets the property name @name to @value on the @buildable object. a #GtkBuilder name of property value of property Constructs a child of @buildable with the name @name. #GtkBuilder calls this function if a "constructor" has been specified in the UI definition. the constructed child #GtkBuilder used to construct this object name of child to construct This is called for each unknown element under &lt;child&gt;. if it doesn't. %TRUE if a object has a custom implementation, %FALSE a #GtkBuilder used to construct this object child object or %NULL for non-child tags name of tag a #GMarkupParser structure to fill in return location for user data that will be passed in to parser functions This is called at the end of each custom element handled by the buildable. #GtkBuilder used to construct this object child object or %NULL for non-child tags name of tag user data that will be passed in to parser functions This is similar to gtk_buildable_parser_finished() but is called once for each custom tag handled by the @buildable. a #GtkBuilder child object or %NULL for non-child tags the name of the tag user data created in custom_tag_start Called when the builder finishes the parsing of a <link linkend="BUILDER-UI">GtkBuilder UI definition</link>. Note that this will be called once for each time gtk_builder_add_from_file() or gtk_builder_add_from_string() is called on a builder. a #GtkBuilder Get the internal child called @childname of the @buildable object. the internal child of the buildable object a #GtkBuilder name of child Sets the name of the @buildable object. name to set Gets the name of the @buildable object. #GtkBuilder sets the name based on the the <link linkend="BUILDER-UI">GtkBuilder UI definition</link> used to construct the @buildable. the name set with gtk_buildable_set_name() Adds a child to @buildable. @type is an optional string describing how the child should be added. a #GtkBuilder child to add kind of child or %NULL Sets the property name @name to @value on the @buildable object. a #GtkBuilder name of property value of property Constructs a child of @buildable with the name @name. #GtkBuilder calls this function if a "constructor" has been specified in the UI definition. the constructed child #GtkBuilder used to construct this object name of child to construct This is called for each unknown element under &lt;child&gt;. if it doesn't. %TRUE if a object has a custom implementation, %FALSE a #GtkBuilder used to construct this object child object or %NULL for non-child tags name of tag a #GMarkupParser structure to fill in return location for user data that will be passed in to parser functions This is called at the end of each custom element handled by the buildable. #GtkBuilder used to construct this object child object or %NULL for non-child tags name of tag user data that will be passed in to parser functions This is similar to gtk_buildable_parser_finished() but is called once for each custom tag handled by the @buildable. a #GtkBuilder child object or %NULL for non-child tags the name of the tag user data created in custom_tag_start Called when the builder finishes the parsing of a <link linkend="BUILDER-UI">GtkBuilder UI definition</link>. Note that this will be called once for each time gtk_builder_add_from_file() or gtk_builder_add_from_string() is called on a builder. a #GtkBuilder Get the internal child called @childname of the @buildable object. the internal child of the buildable object a #GtkBuilder name of child The GtkBuildableIface interface contains method that are necessary to allow #GtkBuilder to construct an object from a GtkBuilder UI definition. name to set the name set with gtk_buildable_set_name() a #GtkBuilder child to add kind of child or %NULL a #GtkBuilder name of property value of property the constructed child #GtkBuilder used to construct this object name of child to construct %TRUE if a object has a custom implementation, %FALSE a #GtkBuilder used to construct this object child object or %NULL for non-child tags name of tag a #GMarkupParser structure to fill in return location for user data that will be passed in to parser functions #GtkBuilder used to construct this object child object or %NULL for non-child tags name of tag user data that will be passed in to parser functions a #GtkBuilder child object or %NULL for non-child tags the name of the tag user data created in custom_tag_start a #GtkBuilder the internal child of the buildable object a #GtkBuilder name of child Creates a new builder object. a new #GtkBuilder object Looks up a type by name, using the virtual function that #GtkBuilder has for that purpose. This is mainly used when implementing the #GtkBuildable interface on a type. if no type was found the #GType found for @type_name or #G_TYPE_INVALID type name to lookup Parses a file containing a <link linkend="BUILDER-UI">GtkBuilder UI definition</link> and merges it with the current contents of @builder. Upon errors 0 will be returned and @error will be assigned a #GError from the #GTK_BUILDER_ERROR, #G_MARKUP_ERROR or #G_FILE_ERROR domain. A positive value on success, 0 if an error occurred the name of the file to parse Parses a string containing a <link linkend="BUILDER-UI">GtkBuilder UI definition</link> and merges it with the current contents of @builder. Upon errors 0 will be returned and @error will be assigned a #GError from the #GTK_BUILDER_ERROR or #G_MARKUP_ERROR domain. A positive value on success, 0 if an error occurred the string to parse the length of @buffer (may be -1 if @buffer is nul-terminated) Parses a file containing a <link linkend="BUILDER-UI">GtkBuilder UI definition</link> building only the requested objects and merges them with the current contents of @builder. Upon errors 0 will be returned and @error will be assigned a #GError from the #GTK_BUILDER_ERROR, #G_MARKUP_ERROR or #G_FILE_ERROR domain. <note><para> If you are adding an object that depends on an object that is not its child (for instance a #GtkTreeView that depends on its #GtkTreeModel), you have to explicitely list all of them in @object_ids. </para></note> A positive value on success, 0 if an error occurred the name of the file to parse nul-terminated array of objects to build Parses a string containing a <link linkend="BUILDER-UI">GtkBuilder UI definition</link> building only the requested objects and merges them with the current contents of @builder. Upon errors 0 will be returned and @error will be assigned a #GError from the #GTK_BUILDER_ERROR or #G_MARKUP_ERROR domain. <note><para> If you are adding an object that depends on an object that is not its child (for instance a #GtkTreeView that depends on its #GtkTreeModel), you have to explicitely list all of them in @object_ids. </para></note> A positive value on success, 0 if an error occurred the string to parse the length of @buffer (may be -1 if @buffer is nul-terminated) nul-terminated array of objects to build Gets the object named @name. Note that this function does not increment the reference count of the returned object. it could not be found in the object tree. the object named @name or %NULL if name of object to get Gets all objects that have been constructed by @builder. Note that this function does not increment the reference counts of the returned objects. constructed by the #GtkBuilder instance. It should be freed by g_slist_free() a newly-allocated #GSList containing all the objects This method is a simpler variation of gtk_builder_connect_signals_full(). It uses #GModule's introspective features (by opening the module %NULL) to look at the application's symbol table. From here it tries to match the signal handler names given in the interface description with symbols in the application and connects the signals. Note that this function will not work correctly if #GModule is not supported on the platform. When compiling applications for Windows, you must declare signal callbacks with #G_MODULE_EXPORT, or they will not be put in the symbol table. On Linux and Unices, this is not necessary; applications should instead be compiled with the -Wl,--export-dynamic CFLAGS, and linked against gmodule-export-2.0. a pointer to a structure sent in as user data to all signals This function can be thought of the interpreted language binding version of gtk_builder_connect_signals(), except that it does not require GModule to function correctly. the function used to connect the signals arbitrary data that will be passed to the connection function Sets the translation domain of @builder. See #GtkBuilder:translation-domain. the translation domain or %NULL Gets the translation domain of @builder. by the builder object and must not be modified or freed. the translation domain. This string is owned Looks up a type by name, using the virtual function that #GtkBuilder has for that purpose. This is mainly used when implementing the #GtkBuildable interface on a type. if no type was found the #GType found for @type_name or #G_TYPE_INVALID type name to lookup This function demarshals a value from a string. This function calls g_value_init() on the @value argument, so it need not be initialised beforehand. This function can handle char, uchar, boolean, int, uint, long, ulong, enum, flags, float, double, string, #GdkColor and #GtkAdjustment type values. Support for #GtkWidget type values is still to come. Upon errors %FALSE will be returned and @error will be assigned a #GError from the #GTK_BUILDER_ERROR domain. %TRUE on success the #GParamSpec for the property the string representation of the value the #GValue to store the result in Like gtk_builder_value_from_string(), this function demarshals a value from a string, but takes a #GType instead of #GParamSpec. This function calls g_value_init() on the @value argument, so it need not be initialised beforehand. Upon errors %FALSE will be returned and @error will be assigned a #GError from the #GTK_BUILDER_ERROR domain. %TRUE on success the #GType of the value the string representation of the value the #GValue to store the result in the #GType found for @type_name or #G_TYPE_INVALID type name to lookup This is the signature of a function used to connect signals. It is used by the gtk_builder_connect_signals() and gtk_builder_connect_signals_full() methods. It is mainly intended for interpreted language bindings, but could be useful where the programmer wants more control over the signal connection process. a #GtkBuilder object to connect a signal to name of the signal name of the handler a #GObject, if non-%NULL, use g_signal_connect_object() #GConnectFlags to use user data Creates a new #GtkButton containing the image and text from a stock item. Some stock ids have preprocessor macros like #GTK_STOCK_OK and #GTK_STOCK_APPLY. If @stock_id is unknown, then it will be treated as a mnemonic label (as for gtk_button_new_with_mnemonic()). a new #GtkButton the name of the stock item Creates a new #GtkButton containing a label. If characters in @label are preceded by an underscore, they are underlined. If you need a literal underscore character in a label, use '__' (two underscores). The first underlined character represents a keyboard accelerator called a mnemonic. Pressing Alt and that key activates the button. a new #GtkButton The text of the button, with an underscore in front of the mnemonic character Sets the text of the label of the button to @str. This text is also used to select the stock item if gtk_button_set_use_stock() is used. This will also clear any previously set labels. a string Fetches the text from the label of the button, as set by gtk_button_set_label(). If the label text has not been set the return value will be %NULL. This will be the case if you create an empty button with gtk_button_new() to use as a container. by the widget and must not be modified or freed. The text of the label widget. This string is owned If true, an underline in the text of the button label indicates the next character should be used for the mnemonic accelerator key. %TRUE if underlines in the text indicate mnemonics Returns whether an embedded underline in the button label indicates a mnemonic. See gtk_button_set_use_underline (). indicates the mnemonic accelerator keys. %TRUE if an embedded underline in the button label If %TRUE, the label set on the button is used as a stock id to select the stock item for the button. %TRUE if the button should use a stock item Returns whether the button label is a stock item. select a stock item instead of being used directly as the label text. %TRUE if the button label is used to Sets whether the button will grab focus when it is clicked with the mouse. Making mouse clicks not grab focus is useful in places like toolbars where you don't want the keyboard focus removed from the main area of the application. whether the button grabs focus when clicked with the mouse Returns whether the button grabs focus when it is clicked with the mouse. See gtk_button_set_focus_on_click(). the mouse. %TRUE if the button grabs focus when it is clicked with Sets the alignment of the child. This property has no effect unless the child is a #GtkMisc or a #GtkAligment. the horizontal position of the child, 0.0 is left aligned, 1.0 is right aligned the vertical position of the child, 0.0 is top aligned, 1.0 is bottom aligned Gets the alignment of the child in the button. return location for horizontal alignment return location for vertical alignment Set the image of @button to the given widget. Note that it depends on the #GtkSettings:gtk-button-images setting whether the image will be displayed or not, you don't have to call gtk_widget_show() on @image yourself. a widget to set as the image for the button Gets the widget that is currenty set as the image of @button. This may have been explicitly set by gtk_button_set_image() or constructed by gtk_button_new_from_stock(). a #GtkWidget or %NULL in case there is no image Sets the position of the image relative to the text inside the button. the position Gets the position of the image relative to the text inside the button. the position The position of the image relative to the text inside the button. If the child of the button is a #GtkMisc or #GtkAlignment, this property can be used to control it's horizontal alignment. 0.0 is left aligned, 1.0 is right aligned. If the child of the button is a #GtkMisc or #GtkAlignment, this property can be used to control it's vertical alignment. 0.0 is top aligned, 1.0 is bottom aligned. The ::activate signal on GtkButton is an action signal and emitting it causes the button to animate press then release. Applications should never connect to this signal, but use the #GtkButton::clicked signal. Emitted when the button has been activated (pressed and released). Emitted when the pointer enters the button. Emitted when the pointer leaves the button. Emitted when the button is pressed. Emitted when the button is released. Returns whether @child should appear in a secondary group of children. whether @child should appear in a secondary group of children. a child of @widget Prebuilt sets of buttons for the dialog. If none of these choices are appropriate, simply use %GTK_BUTTONS_NONE then call gtk_dialog_add_buttons(). <note> Please note that %GTK_BUTTONS_OK, %GTK_BUTTONS_YES_NO and %GTK_BUTTONS_OK_CANCEL are discouraged by the <ulink url="http://library.gnome.org/devel/hig-book/stable/">GNOME HIG</ulink>. </note> Creates a new calendar, with the current date being selected. a newly #GtkCalendar widget Shifts the calendar to a different month. %TRUE, always a month number between 0 and 11. the year the month is in. Selects a day from the current month. the day number between 1 and 31, or 0 to unselect the currently selected day. Places a visual marker on a particular day. %TRUE, always the day number to mark between 1 and 31. Removes the visual marker from a particular day. %TRUE, always the day number to unmark between 1 and 31. Remove all visual markers. Sets display options (whether to display the heading and the month headings). the display options to set Returns the current display options of @calendar. the display options. Sets display options (whether to display the heading and the month headings). the display options to set. Obtains the selected date from a #GtkCalendar. location to store the year number, or %NULL location to store the month number (between 0 and 11), or %NULL location to store the day number (between 1 and 31), or %NULL Installs a function which provides Pango markup with detail information for each day. Examples for such details are holidays or appointments. That information is shown below each day when #GtkCalendar:show-details is set. A tooltip containing with full detail information is provided, if the entire text should not fit into the details area, or if #GtkCalendar:show-details is not set. The size of the details area can be restricted by setting the #GtkCalendar:detail-width-chars and #GtkCalendar:detail-height-rows properties. a function providing details for each day. data to pass to @func invokations. a function for releasing @data. Updates the width of detail cells. See #GtkCalendar:detail-width-chars. detail width in characters. Updates the height of detail cells. See #GtkCalendar:detail-height-rows. detail height in rows. Queries the width of detail cells, in characters. See #GtkCalendar:detail-width-chars. The width of detail cells, in characters. Queries the height of detail cells, in rows. See #GtkCalendar:detail-width-chars. The height of detail cells, in rows. Does nothing. Previously locked the display of the calendar until it was thawed with gtk_calendar_thaw(). Does nothing. Previously defrosted a calendar; all the changes made since the last gtk_calendar_freeze() were displayed. The selected day (as a number between 1 and 31, or 0 to unselect the currently selected day). This property gets initially set to the current day. Height of a detail cell, in rows. A value of 0 allows any width. See gtk_calendar_set_detail_func(). Width of a detail cell, in characters. A value of 0 allows any width. See gtk_calendar_set_detail_func(). The selected month (as a number between 0 and 11). This property gets initially set to the current month. Determines whether the selected month can be changed. Determines whether day names are displayed. Determines whether details are shown directly in the widget, or if they are available only as tooltip. When this property is set days with details are marked. Determines whether a heading is displayed. Determines whether week numbers are displayed. The selected year. This property gets initially set to the current year. This kind of functions provide Pango markup with detail information for the specified day. Examples for such details are holidays or appointments. The function returns %NULL when no information is available. for the specified day, or %NULL. Newly allocated string with Pango markup with details a #GtkCalendar. the year for which details are needed. the month for which details are needed. the day of @month for which details are needed. the data passed with gtk_calendar_set_detail_func(). These options can be used to influence the display and behaviour of a #GtkCalendar. The type of the callback functions used for e.g. iterating over the children of a container, see gtk_container_foreach(). the widget to operate on user-supplied data Begins editing on a @cell_editable. @event is the #GdkEvent that began the editing process. It may be %NULL, in the instance that editing was initiated through programatic means. A #GdkEvent, or %NULL Begins editing on a @cell_editable. @event is the #GdkEvent that began the editing process. It may be %NULL, in the instance that editing was initiated through programatic means. A #GdkEvent, or %NULL Emits the #GtkCellEditable::editing-done signal. Emits the #GtkCellEditable::remove-widget signal. Indicates whether editing on the cell has been canceled. This signal is a sign for the cell renderer to update its value from the @cell_editable. Implementations of #GtkCellEditable are responsible for emitting this signal when they are done editing, e.g. #GtkEntry is emitting it when the user presses Enter. gtk_cell_editable_editing_done() is a convenience method for emitting GtkCellEditable::editing-done. This signal is meant to indicate that the cell is finished editing, and the widget may now be destroyed. Implementations of #GtkCellEditable are responsible for emitting this signal when they are done editing. It must be emitted after the #GtkCellEditable::editing-done signal, to give the cell renderer a chance to update the cell's value before the widget is removed. gtk_cell_editable_remove_widget() is a convenience method for emitting GtkCellEditable::remove-widget. A #GdkEvent, or %NULL Packs the @cell into the beginning of @cell_layout. If @expand is %FALSE, then the @cell is allocated no more space than it needs. Any unused space is divided evenly between cells for which @expand is %TRUE. Note that reusing the same cell renderer is not supported. A #GtkCellRenderer. %TRUE if @cell is to be given extra space allocated to @cell_layout. Adds the @cell to the end of @cell_layout. If @expand is %FALSE, then the divided evenly between cells for which @expand is %TRUE. Note that reusing the same cell renderer is not supported. A #GtkCellRenderer. %TRUE if @cell is to be given extra space allocated to @cell_layout. Unsets all the mappings on all renderers on @cell_layout and removes all renderers from @cell_layout. Adds an attribute mapping to the list in @cell_layout. The @column is the column of the model to get a value from, and the @attribute is the parameter on @cell to be set from the value. So for example if column 2 of the model contains strings, you could have the "text" attribute of a #GtkCellRendererText get its values from column 2. A #GtkCellRenderer. An attribute on the renderer. The column position on the model to get the attribute from. Sets the #GtkCellLayoutDataFunc to use for @cell_layout. This function is used instead of the standard attributes mapping for setting the column value, and should set the value of @cell_layout's cell renderer(s) as appropriate. @func may be %NULL to remove and older one. A #GtkCellRenderer. The #GtkCellLayoutDataFunc to use. The user data for @func. The destroy notification for @func_data. Clears all existing attributes previously set with gtk_cell_layout_set_attributes(). A #GtkCellRenderer to clear the attribute mapping on. Re-inserts @cell at @position. Note that @cell has already to be packed into @cell_layout for this to function properly. A #GtkCellRenderer to reorder. New position to insert @cell at. Returns the cell renderers which have been added to @cell_layout. renderers has been newly allocated and should be freed with g_list_free() when no longer needed. a list of cell renderers. The list, but not the Packs the @cell into the beginning of @cell_layout. If @expand is %FALSE, then the @cell is allocated no more space than it needs. Any unused space is divided evenly between cells for which @expand is %TRUE. Note that reusing the same cell renderer is not supported. A #GtkCellRenderer. %TRUE if @cell is to be given extra space allocated to @cell_layout. Adds the @cell to the end of @cell_layout. If @expand is %FALSE, then the divided evenly between cells for which @expand is %TRUE. Note that reusing the same cell renderer is not supported. A #GtkCellRenderer. %TRUE if @cell is to be given extra space allocated to @cell_layout. Returns the cell renderers which have been added to @cell_layout. renderers has been newly allocated and should be freed with g_list_free() when no longer needed. a list of cell renderers. The list, but not the Unsets all the mappings on all renderers on @cell_layout and removes all renderers from @cell_layout. Sets the attributes in list as the attributes of @cell_layout. The attributes should be in attribute/column order, as in gtk_cell_layout_add_attribute(). All existing attributes are removed, and replaced with the new attributes. A #GtkCellRenderer. Adds an attribute mapping to the list in @cell_layout. The @column is the column of the model to get a value from, and the @attribute is the parameter on @cell to be set from the value. So for example if column 2 of the model contains strings, you could have the "text" attribute of a #GtkCellRendererText get its values from column 2. A #GtkCellRenderer. An attribute on the renderer. The column position on the model to get the attribute from. Sets the #GtkCellLayoutDataFunc to use for @cell_layout. This function is used instead of the standard attributes mapping for setting the column value, and should set the value of @cell_layout's cell renderer(s) as appropriate. @func may be %NULL to remove and older one. A #GtkCellRenderer. The #GtkCellLayoutDataFunc to use. The user data for @func. The destroy notification for @func_data. Clears all existing attributes previously set with gtk_cell_layout_set_attributes(). A #GtkCellRenderer to clear the attribute mapping on. Re-inserts @cell at @position. Note that @cell has already to be packed into @cell_layout for this to function properly. A #GtkCellRenderer to reorder. New position to insert @cell at. A #GtkCellRenderer. %TRUE if @cell is to be given extra space allocated to @cell_layout. A #GtkCellRenderer. %TRUE if @cell is to be given extra space allocated to @cell_layout. A #GtkCellRenderer. An attribute on the renderer. The column position on the model to get the attribute from. A #GtkCellRenderer. The #GtkCellLayoutDataFunc to use. The user data for @func. The destroy notification for @func_data. A #GtkCellRenderer to clear the attribute mapping on. A #GtkCellRenderer to reorder. New position to insert @cell at. a list of cell renderers. The list, but not the Obtains the width and height needed to render the cell. Used by view widgets to determine the appropriate size for the cell_area passed to gtk_cell_renderer_render(). If @cell_area is not %NULL, fills in the x and y offsets (if set) of the cell relative to this location. Please note that the values set in @width and @height, as well as those in @x_offset and @y_offset are inclusive of the xpad and ypad properties. the widget the renderer is rendering to The area a cell will be allocated, or %NULL location to return x offset of cell relative to @cell_area, or %NULL location to return y offset of cell relative to @cell_area, or %NULL location to return width needed to render a cell, or %NULL location to return height needed to render a cell, or %NULL Invokes the virtual render function of the #GtkCellRenderer. The three passed-in rectangles are areas of @window. Most renderers will draw within should be honored with respect to @cell_area. @background_area includes the blank space around the cell, and also the area containing the tree expander; so the @background_area rectangles for all cells tile to cover the entire a #GdkDrawable to draw to the widget owning @window entire cell area (including tree expanders and maybe padding on the sides) area normally rendered by a cell renderer area that actually needs updating flags that affect rendering Passes an activate event to the cell renderer for possible processing. Some cell renderers may use events; for example, #GtkCellRendererToggle toggles when it gets a mouse click. %TRUE if the event was consumed/handled a #GdkEvent widget that received the event widget-dependent string representation of the event location; e.g. for #GtkTreeView, a string representation of #GtkTreePath background area as passed to gtk_cell_renderer_render() cell area as passed to gtk_cell_renderer_render() render flags Passes an activate event to the cell renderer for possible processing. A new #GtkCellEditable, or %NULL a #GdkEvent widget that received the event widget-dependent string representation of the event location; e.g. for #GtkTreeView, a string representation of #GtkTreePath background area as passed to gtk_cell_renderer_render() cell area as passed to gtk_cell_renderer_render() render flags Obtains the width and height needed to render the cell. Used by view widgets to determine the appropriate size for the cell_area passed to gtk_cell_renderer_render(). If @cell_area is not %NULL, fills in the x and y offsets (if set) of the cell relative to this location. Please note that the values set in @width and @height, as well as those in @x_offset and @y_offset are inclusive of the xpad and ypad properties. the widget the renderer is rendering to The area a cell will be allocated, or %NULL location to return x offset of cell relative to @cell_area, or %NULL location to return y offset of cell relative to @cell_area, or %NULL location to return width needed to render a cell, or %NULL location to return height needed to render a cell, or %NULL Invokes the virtual render function of the #GtkCellRenderer. The three passed-in rectangles are areas of @window. Most renderers will draw within should be honored with respect to @cell_area. @background_area includes the blank space around the cell, and also the area containing the tree expander; so the @background_area rectangles for all cells tile to cover the entire a #GdkDrawable to draw to the widget owning @window entire cell area (including tree expanders and maybe padding on the sides) area normally rendered by a cell renderer area that actually needs updating flags that affect rendering Passes an activate event to the cell renderer for possible processing. Some cell renderers may use events; for example, #GtkCellRendererToggle toggles when it gets a mouse click. %TRUE if the event was consumed/handled a #GdkEvent widget that received the event widget-dependent string representation of the event location; e.g. for #GtkTreeView, a string representation of #GtkTreePath background area as passed to gtk_cell_renderer_render() cell area as passed to gtk_cell_renderer_render() render flags Passes an activate event to the cell renderer for possible processing. A new #GtkCellEditable, or %NULL a #GdkEvent widget that received the event widget-dependent string representation of the event location; e.g. for #GtkTreeView, a string representation of #GtkTreePath background area as passed to gtk_cell_renderer_render() cell area as passed to gtk_cell_renderer_render() render flags Sets the renderer size to be explicit, independent of the properties set. the width of the cell renderer, or -1 the height of the cell renderer, or -1 Fills in @width and @height with the appropriate size of @cell. location to fill in with the fixed width of the cell, or %NULL location to fill in with the fixed height of the cell, or %NULL Sets the renderer's alignment within its available space. the x alignment of the cell renderer the y alignment of the cell renderer Fills in @xalign and @yalign with the appropriate values of @cell. location to fill in with the x alignment of the cell, or %NULL location to fill in with the y alignment of the cell, or %NULL Sets the renderer's padding. the x padding of the cell renderer the y padding of the cell renderer Fills in @xpad and @ypad with the appropriate values of @cell. location to fill in with the x padding of the cell, or %NULL location to fill in with the y padding of the cell, or %NULL Sets the cell renderer's visibility. the visibility of the cell Returns the cell renderer's visibility. %TRUE if the cell renderer is visible Sets the cell renderer's sensitivity. the sensitivity of the cell Returns the cell renderer's sensitivity. %TRUE if the cell renderer is sensitive Causes the cell renderer to emit the #GtkCellRenderer::editing-canceled signal. This function is for use only by implementations of cell renderers that need to notify the client program that an editing process was canceled and the changes were not committed. Informs the cell renderer that the editing is stopped. If @canceled is %TRUE, the cell renderer will emit the #GtkCellRenderer::editing-canceled signal. This function should be called by cell renderer implementations in response to the #GtkCellEditable::editing-done signal of #GtkCellEditable. %TRUE if the editing has been canceled This signal gets emitted when the user cancels the process of editing a cell. For example, an editable cell renderer could be written to cancel editing when the user presses Escape. This signal gets emitted when a cell starts to be edited. The intended use of this signal is to do special setup on @editable, e.g. adding a #GtkEntryCompletion or setting up additional columns in a #GtkComboBox. Note that GTK+ doesn't guarantee that cell renderers will continue to use the same kind of widget for editing in future releases, therefore you should check the type of @editable before doing any specific setup, as in the following example: |[ static void text_editing_started (GtkCellRenderer *cell, GtkCellEditable *editable, const gchar *path, gpointer data) { if (GTK_IS_ENTRY (editable)) { GtkEntry *entry = GTK_ENTRY (editable); /&ast; ... create a GtkEntryCompletion &ast;/ gtk_entry_set_completion (entry, completion); } } ]| the #GtkCellEditable the path identifying the edited cell Creates a new #GtkCellRendererAccel. the new cell renderer The keyval of the accelerator. Determines if the edited accelerators are GTK+ accelerators. If they are, consumed modifiers are suppressed, only accelerators accepted by GTK+ are allowed, and the accelerators are rendered in the same way as they are in menus. The modifier mask of the accelerator. The hardware keycode of the accelerator. Note that the hardware keycode is only relevant if the key does not have a keyval. Normally, the keyboard configuration should assign keyvals to all keys. Gets emitted when the user has removed the accelerator. the path identifying the row of the edited cell Gets emitted when the user has selected a new accelerator. the path identifying the row of the edited cell the new accelerator keyval the new acclerator modifier mask the keycode of the new accelerator the widget the renderer is rendering to The area a cell will be allocated, or %NULL location to return x offset of cell relative to @cell_area, or %NULL location to return y offset of cell relative to @cell_area, or %NULL location to return width needed to render a cell, or %NULL location to return height needed to render a cell, or %NULL a #GdkDrawable to draw to the widget owning @window entire cell area (including tree expanders and maybe padding on the sides) area normally rendered by a cell renderer area that actually needs updating flags that affect rendering %TRUE if the event was consumed/handled a #GdkEvent widget that received the event widget-dependent string representation of the event location; e.g. for #GtkTreeView, a string representation of #GtkTreePath background area as passed to gtk_cell_renderer_render() cell area as passed to gtk_cell_renderer_render() render flags A new #GtkCellEditable, or %NULL a #GdkEvent widget that received the event widget-dependent string representation of the event location; e.g. for #GtkTreeView, a string representation of #GtkTreePath background area as passed to gtk_cell_renderer_render() cell area as passed to gtk_cell_renderer_render() render flags Creates a new #GtkCellRendererCombo. Adjust how text is drawn using object properties. Object properties can be set globally (with g_object_set()). Also, with #GtkTreeViewColumn, you can bind a property to a value in a #GtkTreeModel. For example, you can bind the "text" property on the cell renderer to a string value in the model, thus rendering a different string in each row of the #GtkTreeView. the new cell renderer Holds a tree model containing the possible values for the combo box. Use the text_column property to specify the column holding the values. Specifies the model column which holds the possible values for the combo box. Note that this refers to the model specified in the model property, <emphasis>not</emphasis> the model backing the tree view to which this cell renderer is attached. #GtkCellRendererCombo automatically adds a text cell renderer for this column to its combo box. This signal is emitted each time after the user selected an item in the combo box, either by using the mouse or the arrow keys. Contrary to GtkComboBox, GtkCellRendererCombo::changed is not emitted for changes made to a selected item in the entry. The argument @new_iter corresponds to the newly selected item in the combo box and it is relative to the GtkTreeModel set via the model property on GtkCellRendererCombo. Note that as soon as you change the model displayed in the tree view, the tree view will immediately cease the editing operating. This means that you most probably want to refrain from changing the model until the combo cell renderer emits the edited or editing_canceled signal. a string of the path identifying the edited cell (relative to the tree view model) the new iter selected in the combo box (relative to the combo box model) Creates a new #GtkCellRendererPixbuf. Adjust rendering parameters using object properties. Object properties can be set globally (with g_object_set()). Also, with #GtkTreeViewColumn, you can bind a property to a value in a #GtkTreeModel. For example, you can bind the "pixbuf" property on the cell renderer to a pixbuf value in the model, thus rendering a different image in each row of the #GtkTreeView. the new cell renderer Specifies whether the rendered pixbuf should be colorized according to the #GtkCellRendererState. The GIcon representing the icon to display. If the icon theme is changed, the image will be updated automatically. The name of the themed icon to display. This property only has an effect if not overridden by "stock_id" or "pixbuf" properties. Creates a new #GtkCellRendererProgress. the new cell renderer The "orientation" property controls the direction and growth direction of the progress bar (left-to-right, right-to-left, top-to-bottom or bottom-to-top). Setting this to a non-negative value causes the cell renderer to enter "activity mode", where a block bounces back and forth to indicate that some progress is made, without specifying exactly how much. Each increment of the property causes the block to move by a little bit. To indicate that the activity has not started yet, set the property to zero. To indicate completion, set the property to %G_MAXINT. The "text" property determines the label which will be drawn over the progress bar. Setting this property to %NULL causes the default label to be displayed. Setting this property to an empty string causes no label to be displayed. The "text-xalign" property controls the horizontal alignment of the text in the progress bar. Valid values range from 0 (left) to 1 (right). Reserved for RTL layouts. The "text-yalign" property controls the vertical alignment of the text in the progress bar. Valid values range from 0 (top) to 1 (bottom). The "value" property determines the percentage to which the progress bar will be "filled in". Creates a new #GtkCellRendererSpin. a new #GtkCellRendererSpin The adjustment that holds the value of the spinbutton. This must be non-%NULL for the cell renderer to be editable. The acceleration rate when you hold down a button. The number of decimal places to display. Pulse of the spinner. Increment this value to draw the next frame of the spinner animation. Usually, you would update this value in a timeout. The #GtkSpinner widget draws one full cycle of the animation per second by default. You can learn about the number of frames used by the theme by looking at the #GtkSpinner:num-steps style property and the duration of the cycle by looking at #GtkSpinner:cycle-duration. The #GtkIconSize value that specifies the size of the rendered spinner. Creates a new #GtkCellRendererText. Adjust how text is drawn using object properties. Object properties can be set globally (with g_object_set()). Also, with #GtkTreeViewColumn, you can bind a property to a value in a #GtkTreeModel. For example, you can bind the "text" property on the cell renderer to a string value in the model, thus rendering a different string in each row of the #GtkTreeView the new cell renderer Sets the height of a renderer to explicitly be determined by the "font" and "y_pad" property set on it. Further changes in these properties do not affect the height, so they must be accompanied by a subsequent call to this function. Using this function is unflexible, and should really only be used if calculating the size of a cell is too slow (ie, a massive number of cells displayed). If @number_of_rows is -1, then the fixed height is unset, and the height is determined by the properties again. Number of rows of text each cell renderer is allocated, or -1 Specifies how to align the lines of text with respect to each other. Note that this property describes how to align the lines of text in case there are several of them. The "xalign" property of #GtkCellRenderer, on the other hand, sets the horizontal alignment of the whole text. Specifies the preferred place to ellipsize the string, if the cell renderer does not have enough room to display the entire string. Setting it to %PANGO_ELLIPSIZE_NONE turns off ellipsizing. See the wrap-width property for another way of making the text fit into a given width. The desired width of the cell, in characters. If this property is set to -1, the width will be calculated automatically, otherwise the cell will request either 3 characters or the property value, whichever is greater. Specifies how to break the string into multiple lines, if the cell renderer does not have enough room to display the entire string. This property has no effect unless the wrap-width property is set. Specifies the width at which the text is wrapped. The wrap-mode property can be used to influence at what character positions the line breaks can be placed. Setting wrap-width to -1 turns wrapping off. Creates a new #GtkCellRendererToggle. Adjust rendering parameters using object properties. Object properties can be set globally (with g_object_set()). Also, with #GtkTreeViewColumn, you can bind a property to a value in a #GtkTreeModel. For example, you can bind the "active" property on the cell renderer to a boolean value in the model, thus causing the check button to reflect the state of the model. the new cell renderer Returns whether we're rendering radio toggles rather than checkboxes. %TRUE if we're rendering radio toggles rather than checkboxes If @radio is %TRUE, the cell renderer renders a radio toggle (i.e. a toggle in a group of mutually-exclusive toggles). If %FALSE, it renders a check toggle (a standalone boolean option). This can be set globally for the cell renderer, or changed just before rendering each cell in the model (for #GtkTreeView, you set up a per-row setting using #GtkTreeViewColumn to associate model columns with cell renderer properties). %TRUE to make the toggle look like a radio button Returns whether the cell renderer is active. See gtk_cell_renderer_toggle_set_active(). %TRUE if the cell renderer is active. Activates or deactivates a cell renderer. the value to set. Returns whether the cell renderer is activatable. See gtk_cell_renderer_toggle_set_activatable(). %TRUE if the cell renderer is activatable. Makes the cell renderer activatable. the value to set. The ::toggled signal is emitted when the cell is toggled. string representation of #GtkTreePath describing the event location Creates a new #GtkCellView widget. A newly created #GtkCellView widget. Creates a new #GtkCellView widget, adds a #GtkCellRendererText to it, and makes its show @text. A newly created #GtkCellView widget. the text to display in the cell view Creates a new #GtkCellView widget, adds a #GtkCellRendererText to it, and makes it show @markup. The text can be marked up with the <link linkend="PangoMarkupFormat">Pango text markup language</link>. A newly created #GtkCellView widget. the text to display in the cell view Creates a new #GtkCellView widget, adds a #GtkCellRendererPixbuf to it, and makes its show @pixbuf. A newly created #GtkCellView widget. the image to display in the cell view Sets the model for @cell_view. If @cell_view already has a model set, it will remove it before setting the new model. If @model is %NULL, then it will unset the old model. a #GtkTreeModel Returns the model for @cell_view. If no model is used %NULL is returned. a #GtkTreeModel used or %NULL Sets the row of the model that is currently displayed by the #GtkCellView. If the path is unset, then the contents of the cellview "stick" at their last value; this is not normally a desired result, but may be a needed intermediate state if say, the model for the #GtkCellView becomes temporarily empty. a #GtkTreePath or %NULL to unset. Returns a #GtkTreePath referring to the currently displayed row. If no row is currently displayed, %NULL is returned. the currently displayed row or %NULL Sets @requisition to the size needed by @cell_view to display the model row pointed to by @path. %TRUE a #GtkTreePath return location for the size Sets the background color of @view. the new background color Returns the cell renderers which have been added to @cell_view. renderers has been newly allocated and should be freed with g_list_free() when no longer needed. a list of cell renderers. The list, but not the Creates a new #GtkCheckButton containing a label. The label will be created using gtk_label_new_with_mnemonic(), so underscores in @label indicate the mnemonic for the check button. a new #GtkCheckButton The text of the button, with an underscore in front of the mnemonic character Creates a new #GtkCheckMenuItem containing a label. The label will be created using gtk_label_new_with_mnemonic(), so underscores in @label indicate the mnemonic for the menu item. a new #GtkCheckMenuItem The text of the button, with an underscore in front of the mnemonic character Returns whether the check menu item is active. See gtk_check_menu_item_set_active (). %TRUE if the menu item is checked. If the user has selected a range of elements (such as some text or spreadsheet cells) that are affected by a boolean setting, and the current values in that range are inconsistent, you may want to display the check in an "in between" state. This function turns on "in between" display. Normally you would turn off the inconsistent state again if the user explicitly selects a setting. This has to be done manually, gtk_check_menu_item_set_inconsistent() only affects visual appearance, it doesn't affect the semantics of the widget. %TRUE to display an "inconsistent" third state check Retrieves the value set by gtk_check_menu_item_set_inconsistent(). %TRUE if inconsistent Sets whether @check_menu_item is drawn like a #GtkRadioMenuItem whether @check_menu_item is drawn like a #GtkRadioMenuItem Returns whether @check_menu_item looks like a #GtkRadioMenuItem Whether @check_menu_item looks like a #GtkRadioMenuItem Returns the clipboard object for the given selection. Cut/copy/paste menu items and keyboard shortcuts should use the default clipboard, returned by passing %GDK_SELECTION_CLIPBOARD for @selection. (%GDK_NONE is supported as a synonym for GDK_SELECTION_CLIPBOARD for backwards compatibility reasons.) The currently-selected object or text should be provided on the clipboard identified by #GDK_SELECTION_PRIMARY. Cut/copy/paste menu items conceptually copy the contents of the #GDK_SELECTION_PRIMARY clipboard to the default clipboard, i.e. they copy the selection to what the user sees as the clipboard. (Passing #GDK_NONE is the same as using <literal>gdk_atom_intern ("CLIPBOARD", FALSE)</literal>. See <ulink url="http://www.freedesktop.org/Standards/clipboards-spec"> http://www.freedesktop.org/Standards/clipboards-spec</ulink> for a detailed discussion of the "CLIPBOARD" vs. "PRIMARY" selections under the X window system. On Win32 the #GDK_SELECTION_PRIMARY clipboard is essentially ignored.) It's possible to have arbitrary named clipboards; if you do invent new clipboards, you should prefix the selection name with an underscore (because the ICCCM requires that nonstandard atoms are underscore-prefixed), and namespace it as well. For example, if your application called "Foo" has a special-purpose clipboard, you might call it "_FOO_SPECIAL_CLIPBOARD". clipboard already exists, a new one will be created. Once a clipboard object has been created, it is persistent and, since it is owned by GTK+, must not be freed or unrefd. the appropriate clipboard object. If no the display for which the clipboard is to be retrieved or created a #GdkAtom which identifies the clipboard to use. Returns the clipboard object for the given selection. See gtk_clipboard_get_for_display() for complete details. already exists, a new one will be created. Once a clipboard object has been created, it is persistent and, since it is owned by GTK+, must not be freed or unreffed. the appropriate clipboard object. If no clipboard a #GdkAtom which identifies the clipboard to use Gets the #GdkDisplay associated with @clipboard the #GdkDisplay associated with @clipboard Virtually sets the contents of the specified clipboard by providing a list of supported formats for the clipboard data and a function to call to get the actual data when it is requested. the clipboard data failed the provided callback functions will be ignored. %TRUE if setting the clipboard data succeeded. If setting array containing information about the available forms for the clipboard data number of elements in @targets function to call to get the actual clipboard data when the clipboard contents are set again, this function will be called, and @get_func will not be subsequently called. user data to pass to @get_func and @clear_func. Virtually sets the contents of the specified clipboard by providing a list of supported formats for the clipboard data and a function to call to get the actual data when it is requested. The difference between this function and gtk_clipboard_set_with_data() is that instead of an generic @user_data pointer, a #GObject is passed in. the clipboard data failed the provided callback functions will be ignored. %TRUE if setting the clipboard data succeeded. If setting array containing information about the available forms for the clipboard data number of elements in @targets function to call to get the actual clipboard data when the clipboard contents are set again, this function will be called, and @get_func will not be subsequently called. an object that "owns" the data. This object will be passed to the callbacks when called. If the clipboard contents callbacks were set with gtk_clipboard_set_with_owner(), and the gtk_clipboard_set_with_data() or gtk_clipboard_clear() has not subsequently called, returns the owner set by gtk_clipboard_set_with_owner(). the owner of the clipboard, if any; otherwise %NULL. Clears the contents of the clipboard. Generally this should only be called between the time you call gtk_clipboard_set_with_owner() or gtk_clipboard_set_with_data(), and when the @clear_func you supplied is called. Otherwise, the clipboard may be owned by someone else. Sets the contents of the clipboard to the given UTF-8 string. GTK+ will make a copy of the text and take responsibility for responding for requests for the text, and for converting the text into the requested format. a UTF-8 string. length of @text, in bytes, or -1, in which case the length will be determined with <function>strlen()</function>. Sets the contents of the clipboard to the given #GdkPixbuf. GTK+ will take responsibility for responding for requests for the image, and for converting the image into the requested format. a #GdkPixbuf Requests the contents of clipboard as the given target. When the results of the result are later received the supplied callback will be called. an atom representing the form into which the clipboard owner should convert the selection. A function to call when the results are received (or the retrieval fails). If the retrieval fails the length field of @selection_data will be negative. user data to pass to @callback Requests the contents of the clipboard as text. When the text is later received, it will be converted to UTF-8 if necessary, and The @text parameter to @callback will contain the resulting text if the request succeeded, or %NULL if it failed. This could happen for various reasons, in particular if the clipboard was empty or if the contents of the clipboard could not be converted into text form. a function to call when the text is received, or the retrieval fails. (It will always be called one way or the other.) user data to pass to @callback. Requests the contents of the clipboard as rich text. When the rich text is later received, @callback will be called. The @text parameter to @callback will contain the resulting rich text if the request succeeded, or %NULL if it failed. The @length parameter will contain @text's length. This function can fail for various reasons, in particular if the clipboard was empty or if the contents of the clipboard could not be converted into rich text form. a #GtkTextBuffer a function to call when the text is received, or the retrieval fails. (It will always be called one way or the other.) user data to pass to @callback. Requests the contents of the clipboard as image. When the image is later received, it will be converted to a #GdkPixbuf, and The @pixbuf parameter to @callback will contain the resulting #GdkPixbuf if the request succeeded, or %NULL if it failed. This could happen for various reasons, in particular if the clipboard was empty or if the contents of the clipboard could not be converted into an image. a function to call when the image is received, or the retrieval fails. (It will always be called one way or the other.) user data to pass to @callback. Requests the contents of the clipboard as URIs. When the URIs are later received @callback will be called. The @uris parameter to @callback will contain the resulting array of URIs if the request succeeded, or %NULL if it failed. This could happen for various reasons, in particular if the clipboard was empty or if the contents of the clipboard could not be converted into URI form. a function to call when the URIs are received, or the retrieval fails. (It will always be called one way or the other.) user data to pass to @callback. Requests the contents of the clipboard as list of supported targets. When the list is later received, @callback will be called. The @targets parameter to @callback will contain the resulting targets if the request succeeded, or %NULL if it failed. a function to call when the targets are received, or the retrieval fails. (It will always be called one way or the other.) user data to pass to @callback. Requests the contents of the clipboard using the given target. This function waits for the data to be received using the main loop, so events, timeouts, etc, may be dispatched during the wait. if retrieving the given target failed. If non-%NULL, this value must be freed with gtk_selection_data_free() when you are finished with it. a newly-allocated #GtkSelectionData object or %NULL an atom representing the form into which the clipboard owner should convert the selection. Requests the contents of the clipboard as text and converts the result to UTF-8 if necessary. This function waits for the data to be received using the main loop, so events, timeouts, etc, may be dispatched during the wait. be freed with g_free(), or %NULL if retrieving the selection data failed. (This could happen for various reasons, in particular if the clipboard was empty or if the contents of the clipboard could not be converted into text form.) a newly-allocated UTF-8 string which must Requests the contents of the clipboard as rich text. This function waits for the data to be received using the main loop, so events, timeouts, etc, may be dispatched during the wait. be freed with g_free(), or %NULL if retrieving the selection data failed. (This could happen for various reasons, in particular if the clipboard was empty or if the contents of the clipboard could not be converted into text form.) a newly-allocated binary block of data which must a #GtkTextBuffer return location for the format of the returned data return location for the length of the returned data Requests the contents of the clipboard as image and converts the result to a #GdkPixbuf. This function waits for the data to be received using the main loop, so events, timeouts, etc, may be dispatched during the wait. be disposed with g_object_unref(), or %NULL if retrieving the selection data failed. (This could happen for various reasons, in particular if the clipboard was empty or if the contents of the clipboard could not be converted into an image.) a newly-allocated #GdkPixbuf object which must Requests the contents of the clipboard as URIs. This function waits for the data to be received using the main loop, so events, timeouts, etc, may be dispatched during the wait. %NULL-terminated array of strings which must be freed with g_strfreev(), or %NULL if retrieving the selection data failed. (This could happen for various reasons, in particular if the clipboard was empty or if the contents of the clipboard could not be converted into URI form.) a newly-allocated Test to see if there is text available to be pasted This is done by requesting the TARGETS atom and checking if it contains any of the supported text targets. This function waits for the data to be received using the main loop, so events, timeouts, etc, may be dispatched during the wait. This function is a little faster than calling gtk_clipboard_wait_for_text() since it doesn't need to retrieve the actual text. %TRUE is there is text available, %FALSE otherwise. Test to see if there is rich text available to be pasted This is done by requesting the TARGETS atom and checking if it contains any of the supported rich text targets. This function waits for the data to be received using the main loop, so events, timeouts, etc, may be dispatched during the wait. This function is a little faster than calling gtk_clipboard_wait_for_rich_text() since it doesn't need to retrieve the actual text. %TRUE is there is rich text available, %FALSE otherwise. a #GtkTextBuffer Test to see if there is an image available to be pasted This is done by requesting the TARGETS atom and checking if it contains any of the supported image targets. This function waits for the data to be received using the main loop, so events, timeouts, etc, may be dispatched during the wait. This function is a little faster than calling gtk_clipboard_wait_for_image() since it doesn't need to retrieve the actual image data. %TRUE is there is an image available, %FALSE otherwise. Test to see if there is a list of URIs available to be pasted This is done by requesting the TARGETS atom and checking if it contains the URI targets. This function waits for the data to be received using the main loop, so events, timeouts, etc, may be dispatched during the wait. This function is a little faster than calling gtk_clipboard_wait_for_uris() since it doesn't need to retrieve the actual URI data. %TRUE is there is an URI list available, %FALSE otherwise. Checks if a clipboard supports pasting data of a given type. This function can be used to determine if a "Paste" menu item should be insensitive or not. If you want to see if there's text available on the clipboard, use gtk_clipboard_wait_is_text_available () instead. %TRUE if the target is available, %FALSE otherwise. A #GdkAtom indicating which target to look for. Hints that the clipboard data should be stored somewhere when the application exits or when gtk_clipboard_store () is called. This value is reset when the clipboard owner changes. Where the clipboard data is stored is platform dependent, see gdk_display_store_clipboard () for more information. array containing information about which forms should be stored or %NULL to indicate that all forms should be stored. number of elements in @targets Stores the current clipboard data somewhere so that it will stay around after the application has quit. The ::owner-change signal is emitted when GTK+ receives an event that indicates that the ownership of the selection associated with @clipboard has changed. the @GdkEventOwnerChange event Creates a new color button. This returns a widget in the form of a small button containing a swatch representing the current selected color. When the button is clicked, a color-selection dialog will open, allowing the user to select a color. The swatch will be updated to reflect the new color when the user finishes. a new color button. Creates a new color button. a new color button. A #GdkColor to set the current color with. Sets the current color to be @color. A #GdkColor to set the current color with. Sets the current opacity to be @alpha. an integer between 0 and 65535. Sets @color to be the current color in the #GtkColorButton widget. a #GdkColor to fill in with the current color. Returns the current alpha value. an integer between 0 and 65535. Sets whether or not the color button should use the alpha channel. %TRUE if color button should use alpha channel, %FALSE if not. Does the color selection dialog use the alpha channel? %TRUE if the color sample uses alpha channel, %FALSE if not. Sets the title for the color selection dialog. String containing new window title. Gets the title of the color selection dialog. An internal string, do not free the return value The selected opacity value (0 fully transparent, 65535 fully opaque). The selected color. The title of the color selection dialog If this property is set to %TRUE, the color swatch on the button is rendered against a checkerboard background to show its opacity and the opacity slider is displayed in the color selection dialog. The ::color-set signal is emitted when the user selects a color. When handling this signal, use gtk_color_button_get_color() and gtk_color_button_get_alpha() to find out which color was just selected. Note that this signal is only emitted when the <emphasis>user</emphasis> changes the color. If you need to react to programmatic color changes as well, use the notify::color signal. Creates a new GtkColorSelection. a new #GtkColorSelection Parses a color palette string; the string is a colon-separated list of color names readable by gdk_color_parse(). %TRUE if a palette was successfully parsed. a string encoding a color palette. return location for allocated array of #GdkColor. return location for length of array. Encodes a palette as a string, useful for persistent storage. allocated string encoding the palette. an array of colors. length of the array. Installs a global function to be called whenever the user tries to modify the palette in a color selection. This function should save the new palette contents, and update the GtkSettings property "gtk-color-palette" so all GtkColorSelection widgets will be modified. Use gtk_color_selection_set_change_palette_with_screen_hook() instead. the previous change palette hook (that was replaced). a function to call when the custom palette needs saving. Installs a global function to be called whenever the user tries to modify the palette in a color selection. This function should save the new palette contents, and update the GtkSettings property "gtk-color-palette" so all GtkColorSelection widgets will be modified. the previous change palette hook (that was replaced). a function to call when the custom palette needs saving. Determines whether the colorsel has an opacity control. %TRUE if the @colorsel has an opacity control. %FALSE if it does't. Sets the @colorsel to use or not use opacity. %TRUE if @colorsel can set the opacity, %FALSE otherwise. Determines whether the color selector has a color palette. %TRUE if the selector has a palette. %FALSE if it hasn't. Shows and hides the palette based upon the value of @has_palette. %TRUE if palette is to be visible, %FALSE otherwise. Sets the current color to be @color. The first time this is called, it will also set the original color to be @color too. A #GdkColor to set the current color with. Sets the current opacity to be @alpha. The first time this is called, it will also set the original opacity to be @alpha too. an integer between 0 and 65535. Sets @color to be the current color in the GtkColorSelection widget. a #GdkColor to fill in with the current color. Returns the current alpha value. an integer between 0 and 65535. Sets the 'previous' color to be @color. This function should be called with some hesitations, as it might seem confusing to have that color change. Calling gtk_color_selection_set_current_color() will also set this color the first time it is called. a #GdkColor to set the previous color with. Sets the 'previous' alpha to be @alpha. This function should be called with some hesitations, as it might seem confusing to have that alpha change. an integer between 0 and 65535. Fills @color in with the original color value. a #GdkColor to fill in with the original color value. Returns the previous alpha value. an integer between 0 and 65535. Gets the current state of the @colorsel. if the selection has stopped. %TRUE if the user is currently dragging a color around, and %FALSE Sets the current color to be @color. The first time this is called, it will also set the original color to be @color too. an array of 4 doubles specifying the red, green, blue and opacity to set the current color to. Sets @color to be the current color in the GtkColorSelection widget. an array of 4 #gdouble to fill in with the current color. Retrieves the #GtkColorSelection widget embedded in the dialog. the embedded #GtkColorSelection Creates a new empty #GtkComboBox. A new #GtkComboBox. Creates a new #GtkComboBox with the model initialized to @model. A new #GtkComboBox. A #GtkTreeModel. Convenience function which constructs a new text combo box, which is a #GtkComboBox just displaying strings. If you use this function to create a text combo box, you should only manipulate its data source with the gtk_combo_box_insert_text(), gtk_combo_box_prepend_text() and gtk_combo_box_remove_text(). A new text combo box. Returns the currently active string in @combo_box or %NULL if none is selected. Note that you can only use this function with combo boxes constructed with gtk_combo_box_new_text() and with #GtkComboBoxEntry<!-- -->s. Must be freed with g_free(). a newly allocated string containing the currently active text. Returns the wrap width which is used to determine the number of columns for the popup menu. If the wrap width is larger than 1, the combo box is in table mode. the wrap width. Sets the wrap width of @combo_box to be @width. The wrap width is basically the preferred number of columns when you want the popup to be layed out in a table. Preferred number of columns Returns the column with row span information for @combo_box. the row span column. Sets the column with row span information for @combo_box to be @row_span. The row span column contains integers which indicate how many rows an item should span. A column in the model passed during construction. Returns the column with column span information for @combo_box. the column span column. Sets the column with column span information for @combo_box to be how many columns an item should span. A column in the model passed during construction Gets the current value of the :add-tearoffs property. the current value of the :add-tearoffs property. Sets whether the popup menu should have a tearoff menu item. %TRUE to add tearoff menu items Gets the current title of the menu in tearoff mode. See gtk_combo_box_set_add_tearoffs(). string which must not be freed. the menu's title in tearoff mode. This is an internal copy of the Sets the menu's title in tearoff mode. a title for the menu in tearoff mode Returns whether the combo box grabs focus when it is clicked with the mouse. See gtk_combo_box_set_focus_on_click(). clicked with the mouse. %TRUE if the combo box grabs focus when it is Sets whether the combo box will grab focus when it is clicked with the mouse. Making mouse clicks not grab focus is useful in places like toolbars where you don't want the keyboard focus removed from the main area of the application. whether the combo box grabs focus when clicked with the mouse Returns the index of the currently active item, or -1 if there's no active item. If the model is a non-flat treemodel, and the active item is not an immediate child of the root of the tree, this function returns <literal>gtk_tree_path_get_indices (path)[0]</literal>, where <literal>path</literal> is the #GtkTreePath of the active item. or -1 if there's no active item. An integer which is the index of the currently active item, Sets the active item of @combo_box to be the item at @index. An index in the model passed during construction, or -1 to have no active item Sets @iter to point to the current active item, if it exists. %TRUE, if @iter was set The uninitialized #GtkTreeIter Sets the current active item to be the one referenced by @iter, or unsets the active item if @iter is %NULL. The #GtkTreeIter, or %NULL Sets the model used by @combo_box to be @model. Will unset a previously set model (if applicable). If model is %NULL, then it will unset the model. Note that this function does not clear the cell renderers, you have to call gtk_cell_layout_clear() yourself if you need to set up different cell renderers for the new model. A #GtkTreeModel Returns the current row separator function. the current row separator function. Sets the row separator function, which is used to determine whether a row should be drawn as a separator. If the row separator function is %NULL, no separators are drawn. This is the default value. a #GtkTreeViewRowSeparatorFunc user data to pass to @func, or %NULL destroy notifier for @data, or %NULL Sets whether the dropdown button of the combo box should be always sensitive (%GTK_SENSITIVITY_ON), never sensitive (%GTK_SENSITIVITY_OFF) or only if there is at least one item to display (%GTK_SENSITIVITY_AUTO). specify the sensitivity of the dropdown button Returns whether the combo box sets the dropdown button sensitive or not when there are no items in the model. is sensitive when the model is empty, %GTK_SENSITIVITY_OFF if the button is always insensitive or %GTK_SENSITIVITY_AUTO if it is only sensitive as long as the model has one item to be selected. %GTK_SENSITIVITY_ON if the dropdown button Appends @string to the list of strings stored in @combo_box. Note that you can only use this function with combo boxes constructed with gtk_combo_box_new_text(). A string Inserts @string at @position in the list of strings stored in @combo_box. Note that you can only use this function with combo boxes constructed with gtk_combo_box_new_text(). An index to insert @text A string Prepends @string to the list of strings stored in @combo_box. Note that you can only use this function with combo boxes constructed with gtk_combo_box_new_text(). A string Removes the string at @position from @combo_box. Note that you can only use this function with combo boxes constructed with gtk_combo_box_new_text(). Index of the item to remove Returns the currently active string in @combo_box or %NULL if none is selected. Note that you can only use this function with combo boxes constructed with gtk_combo_box_new_text() and with #GtkComboBoxEntry<!-- -->s. Must be freed with g_free(). a newly allocated string containing the currently active text. Pops up the menu or dropdown list of @combo_box. This function is mostly intended for use by accessibility technologies; applications should have little use for it. Hides the menu or dropdown list of @combo_box. This function is mostly intended for use by accessibility technologies; applications should have little use for it. Gets the accessible object corresponding to the combo box's popup. This function is mostly intended for use by accessibility technologies; applications should have little use for it. the accessible object corresponding to the combo box's popup. The item which is currently active. If the model is a non-flat treemodel, and the active item is not an immediate child of the root of the tree, this property has the value <literal>gtk_tree_path_get_indices (path)[0]</literal>, where <literal>path</literal> is the #GtkTreePath of the active item. The add-tearoffs property controls whether generated menus have tearoff menu items. Note that this only affects menu style combo boxes. Whether the dropdown button is sensitive when the model is empty. If this is set to a non-negative value, it must be the index of a column of type %G_TYPE_INT in the model. The values of that column are used to determine how many columns a value in the list will span. The has-frame property controls whether a frame is drawn around the entry. The model from which the combo box takes the values shown in the list. Whether the combo boxes dropdown is popped up. Note that this property is mainly useful, because it allows you to connect to notify::popup-shown. If this is set to a non-negative value, it must be the index of a column of type %G_TYPE_INT in the model. The values of that column are used to determine how many rows a value in the list will span. Therefore, the values in the model column pointed to by this property must be greater than zero and not larger than wrap-width. A title that may be displayed by the window manager when the popup is torn-off. If wrap-width is set to a positive value, the list will be displayed in multiple columns, the number of columns is determined by wrap-width. The changed signal is emitted when the active item is changed. The can be due to the user selecting a different item from the list, or due to a call to gtk_combo_box_set_active_iter(). It will also be emitted while typing into a GtkComboBoxEntry, as well as when selecting an item from the GtkComboBoxEntry's list. The ::move-active signal is a <link linkend="keybinding-signals">keybinding signal</link> which gets emitted to move the active selection. a #GtkScrollType The ::popdown signal is a <link linkend="keybinding-signals">keybinding signal</link> which gets emitted to popdown the combo box list. The default bindings for this signal are Alt+Up and Escape. The ::popup signal is a <link linkend="keybinding-signals">keybinding signal</link> which gets emitted to popup the combo box list. The default binding for this signal is Alt+Down. a newly allocated string containing the currently active text. Creates a new #GtkComboBoxEntry which has a #GtkEntry as child. After construction, you should set a model using gtk_combo_box_set_model() and a text column using gtk_combo_box_entry_set_text_column(). A new #GtkComboBoxEntry. Creates a new #GtkComboBoxEntry which has a #GtkEntry as child and a list of strings as popup. You can get the #GtkEntry from a #GtkComboBoxEntry using GTK_ENTRY (GTK_BIN (combo_box_entry)->child). To add and remove strings from the list, just modify @model using its data manipulation API. A new #GtkComboBoxEntry. A #GtkTreeModel. A column in @model to get the strings from. Convenience function which constructs a new editable text combo box, which is a #GtkComboBoxEntry just displaying strings. If you use this function to create a text combo box, you should only manipulate its data source with gtk_combo_box_insert_text(), gtk_combo_box_prepend_text() and gtk_combo_box_remove_text(). A new text #GtkComboBoxEntry. Sets the model column which @entry_box should use to get strings from to be @text_column. A column in @model to get the strings from. Returns the column which @entry_box is using to get the strings from. A column in the data source model of @entry_box. Finds a child property of a container class by name. the #GParamSpec of the child property or %NULL if @class has no child property with that name. a #GtkContainerClass the name of the child property to find Returns all child properties of a container class. a newly allocated %NULL-terminated array of #GParamSpec*. The array must be freed with g_free(). a #GtkContainerClass location to return the number of child properties found Returns the type of the children supported by the container. Note that this may return %G_TYPE_NONE to indicate that no more children can be added, e.g. for a #GtkPaned which already has two children. a #GType. Sets the border width of the container. The border width of a container is the amount of space to leave around the outside of the container. The only exception to this is #GtkWindow; because toplevel windows can't leave space outside, they leave the space inside. The border is added on all sides of the container. To add space to only one side, one approach is to create a #GtkAlignment widget, call gtk_widget_set_size_request() to give it a size, and place it on the side of the container as a spacer. amount of blank space to leave <emphasis>outside</emphasis> the container. Valid values are in the range 0-65535 pixels. Retrieves the border width of the container. See gtk_container_set_border_width(). the current border width Adds @widget to @container. Typically used for simple containers such as #GtkWindow, #GtkFrame, or #GtkButton; for more complicated layout containers such as #GtkBox or #GtkTable, this function will pick default packing parameters that may not be correct. So consider functions such as gtk_box_pack_start() and gtk_table_attach() as an alternative to gtk_container_add() in those cases. A widget may be added to only one container at a time; you can't place the same widget inside two different containers. a widget to be placed inside @container Removes @widget from @container. @widget must be inside @container. Note that @container will own a reference to @widget, and that this may be the last reference held; so removing a widget from its container can destroy that widget. If you want to use @widget again, you need to add a reference to it while it's not inside a container, using g_object_ref(). If you don't want to use @widget again it's usually more efficient to simply destroy it directly using gtk_widget_destroy() since this will remove it from the container and help break any circular reference count cycles. a current child of @container Sets the resize mode for the container. The resize mode of a container determines whether a resize request will be passed to the container's parent, queued for later execution or executed immediately. the new resize mode Returns the resize mode for the container. See gtk_container_set_resize_mode (). the current resize mode Invokes @callback on each non-internal child of @container. See gtk_container_forall() for details on what constitutes an "internal" child. Most applications should use gtk_container_foreach(), rather than gtk_container_forall(). a callback callback user data Returns the container's non-internal children. See gtk_container_forall() for details on what constitutes an "internal" child. a newly-allocated list of the container's non-internal children. When a container receives an expose event, it must send synthetic expose events to all children that don't have their own #GdkWindows. This function provides a convenient way of doing this. A container, when it receives an expose event, calls gtk_container_propagate_expose() once for each child, passing in the event the container received. gtk_container_propagate_expose() takes care of deciding whether an expose event needs to be sent to the child, intersecting the event's area with the child area, and sending the event. In most cases, a container can simply either simply inherit the #GtkWidget::expose implementation from #GtkContainer, or, do some drawing and then chain to the ::expose implementation from #GtkContainer. a child of @container a expose event sent to container Sets a focus chain, overriding the one computed automatically by GTK+. In principle each widget in the chain should be a descendant of the container, but this is not enforced by this method, since it's allowed to set the focus chain before you pack the widgets, or have a widget in the chain that isn't always packed. The necessary checks are done when the focus chain is actually traversed. the new focus chain Retrieves the focus chain of the container, if one has been set explicitly. If no focus chain has been explicitly set, GTK+ computes the focus chain based on the positions of the children. In that case, GTK+ stores %NULL in has been set explicitly. %TRUE if the focus chain of the container location to store the focus chain of the container, or %NULL. You should free this list using g_list_free() when you are done with it, however no additional reference count is added to the individual widgets in the focus chain. Removes a focus chain explicitly set with gtk_container_set_focus_chain(). Sets the @reallocate_redraws flag of the container to the given value. Containers requesting reallocation redraws get automatically redrawn if any of their children changed allocation. the new value for the container's @reallocate_redraws flag Sets, or unsets if @child is %NULL, the focused child of @container. This function emits the GtkContainer::set_focus_child signal of default behaviour by overriding the class closure of this signal. a #GtkWidget, or %NULL Returns the current focus child widget inside @container. inside @container, or %NULL if none is set. The child widget which has the focus Hooks up an adjustment to focus handling in a container, so when a child of the container is focused, the adjustment is scrolled to show that widget. This function sets the vertical alignment. See gtk_scrolled_window_get_vadjustment() for a typical way of obtaining the adjustment and gtk_container_set_focus_hadjustment() for setting the horizontal adjustment. The adjustments have to be in pixel units and in the same coordinate system as the allocation for immediate children of the container. an adjustment which should be adjusted when the focus is moved among the descendents of @container Retrieves the vertical focus adjustment for the container. See gtk_container_set_focus_vadjustment(). none has been set. the vertical focus adjustment, or %NULL if Hooks up an adjustment to focus handling in a container, so when a child of the container is focused, the adjustment is scrolled to show that widget. This function sets the horizontal alignment. See gtk_scrolled_window_get_hadjustment() for a typical way of obtaining the adjustment and gtk_container_set_focus_vadjustment() for setting the vertical adjustment. The adjustments have to be in pixel units and in the same coordinate system as the allocation for immediate children of the container. an adjustment which should be adjusted when the focus is moved among the descendents of @container Retrieves the horizontal focus adjustment for the container. See gtk_container_set_focus_hadjustment (). none has been set. the horizontal focus adjustment, or %NULL if Returns the type of the children supported by the container. Note that this may return %G_TYPE_NONE to indicate that no more children can be added, e.g. for a #GtkPaned which already has two children. a #GType. Adds @widget to @container, setting child properties at the same time. See gtk_container_add() and gtk_container_child_set() for more details. a widget to be placed inside @container the name of the first child property to set Sets one or more child properties for @child and @container. a widget which is a child of @container the name of the first property to set Gets the values of one or more child properties for @child and @container. a widget which is a child of @container the name of the first property to get Sets a child property for @child and @container. a widget which is a child of @container the name of the property to set the value to set the property to Gets the value of a child property for @child and @container. a widget which is a child of @container the name of the property to get a location to return the value Invokes @callback on each child of @container, including children that are considered "internal" (implementation details of the container). "Internal" children generally weren't added by the user of the container, but were added by the container implementation itself. Most applications should use gtk_container_foreach(), rather than gtk_container_forall(). a callback callback user data a #GType. Installs a child property on a container class. the id for the property the #GParamSpec for the property Creates a new #GtkDialog with title @title (or %NULL for the default title; see gtk_window_set_title()) and transient parent @parent (or %NULL for none; see gtk_window_set_transient_for()). The @flags argument can be used to make the dialog modal (#GTK_DIALOG_MODAL) and/or to have it destroyed along with its transient parent (#GTK_DIALOG_DESTROY_WITH_PARENT). After @flags, button text/response ID pairs should be listed, with a %NULL pointer ending the list. Button text can be either a stock ID such as #GTK_STOCK_OK, or some arbitrary text. A response ID can be any positive number, or one of the values in the #GtkResponseType enumeration. If the user clicks one of these dialog buttons, #GtkDialog will emit the #GtkDialog::response signal with the corresponding response ID. If a #GtkDialog receives the #GtkWidget::delete-event signal, it will emit ::response with a response ID of #GTK_RESPONSE_DELETE_EVENT. However, destroying a dialog does not emit the ::response signal; so be careful relying on ::response when using the #GTK_DIALOG_DESTROY_WITH_PARENT flag. Buttons are from left to right, so the first button in the list will be the leftmost button in the dialog. Here's a simple example: |[ GtkWidget *dialog = gtk_dialog_new_with_buttons ("My dialog", main_app_window, GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, NULL); ]| a new #GtkDialog Title of the dialog, or %NULL Transient parent of the dialog, or %NULL from #GtkDialogFlags stock ID or text to go in first button, or %NULL Adds an activatable widget to the action area of a #GtkDialog, connecting a signal handler that will emit the #GtkDialog::response signal on the dialog when the widget is activated. The widget is appended to the end of the dialog's action area. If you want to add a non-activatable widget, simply pack it into the @action_area field of the #GtkDialog struct. an activatable widget response ID for @child Adds a button with the given text (or a stock button, if @button_text is a stock ID) and sets things up so that clicking the button will emit the #GtkDialog::response signal with the given @response_id. The button is appended to the end of the dialog's action area. The button widget is returned, but usually you don't need it. the button widget that was added text of button, or stock ID response ID for the button Adds more buttons, same as calling gtk_dialog_add_button() repeatedly. The variable argument list should be %NULL-terminated as with gtk_dialog_new_with_buttons(). Each button must have both text and response ID. button text or stock ID Calls <literal>gtk_widget_set_sensitive (widget, @setting)</literal> for each widget in the dialog's action area with the given @response_id. A convenient way to sensitize/desensitize dialog buttons. a response ID %TRUE for sensitive Sets the last widget in the dialog's action area with the given @response_id as the default widget for the dialog. Pressing "Enter" normally activates the default widget. a response ID Gets the widget button that uses the given response ID in the action area of a dialog. the @widget button that uses the given @response_id, or %NULL. the response ID used by the @dialog widget Gets the response id of a widget in the action area of a dialog. if @widget doesn't have a response id set. the response id of @widget, or %GTK_RESPONSE_NONE a widget in the action area of @dialog Sets whether the dialog has a separator above the buttons. %TRUE by default. %TRUE to have a separator Accessor for whether the dialog has a separator. %TRUE if the dialog has a separator Sets an alternative button order. If the #GtkSettings:gtk-alternative-button-order setting is set to %TRUE, the dialog buttons are reordered according to the order of the response ids passed to this function. By default, GTK+ dialogs use the button order advocated by the Gnome <ulink url="http://developer.gnome.org/projects/gup/hig/2.0/">Human Interface Guidelines</ulink> with the affirmative button at the far right, and the cancel button left of it. But the builtin GTK+ dialogs and #GtkMessageDialog<!-- -->s do provide an alternative button order, which is more suitable on some platforms, e.g. Windows. Use this function after adding all the buttons to your dialog, as the following example shows: |[ cancel_button = gtk_dialog_add_button (GTK_DIALOG (dialog), GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL); ok_button = gtk_dialog_add_button (GTK_DIALOG (dialog), GTK_STOCK_OK, GTK_RESPONSE_OK); gtk_widget_grab_default (ok_button); help_button = gtk_dialog_add_button (GTK_DIALOG (dialog), GTK_STOCK_HELP, GTK_RESPONSE_HELP); gtk_dialog_set_alternative_button_order (GTK_DIALOG (dialog), GTK_RESPONSE_OK, GTK_RESPONSE_CANCEL, GTK_RESPONSE_HELP, -1); ]| a response id used by one @dialog's buttons Sets an alternative button order. If the #GtkSettings:gtk-alternative-button-order setting is set to %TRUE, the dialog buttons are reordered according to the order of the response ids in @new_order. See gtk_dialog_set_alternative_button_order() for more information. This function is for use by language bindings. the number of response ids in @new_order an array of response ids of @dialog's buttons Emits the #GtkDialog::response signal with the given response ID. Used to indicate that the user has responded to the dialog in some way; typically either you or gtk_dialog_run() will be monitoring the ::response signal and take appropriate action. response ID Blocks in a recursive main loop until the @dialog either emits the #GtkDialog::response signal, or is destroyed. If the dialog is destroyed during the call to gtk_dialog_run(), gtk_dialog_run() returns #GTK_RESPONSE_NONE. Otherwise, it returns the response ID from the ::response signal emission. Before entering the recursive main loop, gtk_dialog_run() calls gtk_widget_show() on the dialog for you. Note that you still need to show any children of the dialog yourself. During gtk_dialog_run(), the default behavior of #GtkWidget::delete-event is disabled; if the dialog receives ::delete_event, it will not be destroyed as windows usually are, and gtk_dialog_run() will return #GTK_RESPONSE_DELETE_EVENT. Also, during gtk_dialog_run() the dialog will be modal. You can force gtk_dialog_run() to return at any time by calling gtk_dialog_response() to emit the ::response signal. Destroying the dialog during gtk_dialog_run() is a very bad idea, because your post-run code won't know whether the dialog was destroyed or not. After gtk_dialog_run() returns, you are responsible for hiding or destroying the dialog if you wish to do so. Typical usage of this function might be: |[ gint result = gtk_dialog_run (GTK_DIALOG (dialog)); switch (result) { case GTK_RESPONSE_ACCEPT: do_application_specific_something (); break; default: do_nothing_since_dialog_was_cancelled (); break; } gtk_widget_destroy (dialog); ]| Note that even though the recursive main loop gives the effect of a modal dialog (it prevents the user from interacting with other windows in the same window group while the dialog is run), callbacks such as timeouts, IO channel watches, DND drops, etc, <emphasis>will</emphasis> be triggered during a gtk_dialog_run() call. response ID Returns the action area of @dialog. the action area. Returns the content area of @dialog. the content area #GtkVBox. When %TRUE, the dialog has a separator bar above its buttons. The ::close signal is a <link linkend="keybinding-signals">keybinding signal</link> which gets emitted when the user uses a keybinding to close the dialog. The default binding for this signal is the Escape key. Emitted when an action widget is clicked, the dialog receives a delete event, or the application programmer calls gtk_dialog_response(). On a delete event, the response ID is #GTK_RESPONSE_DELETE_EVENT. Otherwise, it depends on which action widget was clicked. the response ID Retrieves a sequence of characters. The characters that are retrieved are those characters at positions from @start_pos up to, but not including @end_pos. If @end_pos is negative, then the the characters retrieved are those characters from @start_pos to the end of the text. Note that positions are specified in characters, not bytes. string. This string is allocated by the #GtkEditable implementation and should be freed by the caller. a pointer to the contents of the widget as a start of text end of text Retrieves the selection bound of the editable. start_pos will be filled with the start of the selection and @end_pos with end. If no text was selected both will be identical and %FALSE will be returned. Note that positions are specified in characters, not bytes. %TRUE if an area is selected, %FALSE otherwise location to store the starting position, or %NULL location to store the end position, or %NULL Sets the cursor position in the editable to the given value. The cursor is displayed before the character with the given (base 0) index in the contents of the editable. The value must be less than or equal to the number of characters in the editable. A value of -1 indicates that the position should be set after the last character of the editable. Note that @position is in characters, not in bytes. the position of the cursor Retrieves the current position of the cursor relative to the start of the content of the editable. Note that this position is in characters, not in bytes. the cursor position Selects a region of text. The characters that are selected are those characters at positions from @start_pos up to, but not including @end_pos. If @end_pos is negative, then the the characters selected are those characters from @start_pos to the end of the text. Note that positions are specified in characters, not bytes. start of region end of region Retrieves the selection bound of the editable. start_pos will be filled with the start of the selection and @end_pos with end. If no text was selected both will be identical and %FALSE will be returned. Note that positions are specified in characters, not bytes. %TRUE if an area is selected, %FALSE otherwise location to store the starting position, or %NULL location to store the end position, or %NULL Inserts @new_text_length bytes of @new_text into the contents of the widget, at position @position. Note that the position is in characters, not in bytes. The function updates @position to point after the newly inserted text. the text to append the length of the text in bytes, or -1 location of the position text will be inserted at Deletes a sequence of characters. The characters that are deleted are those characters at positions from @start_pos up to, but not including are those from @start_pos to the end of the text. Note that the positions are specified in characters, not bytes. start position end position Retrieves a sequence of characters. The characters that are retrieved are those characters at positions from @start_pos up to, but not including @end_pos. If @end_pos is negative, then the the characters retrieved are those characters from @start_pos to the end of the text. Note that positions are specified in characters, not bytes. string. This string is allocated by the #GtkEditable implementation and should be freed by the caller. a pointer to the contents of the widget as a start of text end of text Removes the contents of the currently selected content in the editable and puts it on the clipboard. Copies the contents of the currently selected content in the editable and puts it on the clipboard. Pastes the content of the clipboard to the current position of the cursor in the editable. Deletes the currently selected text of the editable. This call doesn't do anything if there is no selected text. Sets the cursor position in the editable to the given value. The cursor is displayed before the character with the given (base 0) index in the contents of the editable. The value must be less than or equal to the number of characters in the editable. A value of -1 indicates that the position should be set after the last character of the editable. Note that @position is in characters, not in bytes. the position of the cursor Retrieves the current position of the cursor relative to the start of the content of the editable. Note that this position is in characters, not in bytes. the cursor position Determines if the user can edit the text in the editable widget or not. %TRUE if the user is allowed to edit the text in the widget Retrieves whether @editable is editable. See gtk_editable_set_editable(). %TRUE if @editable is editable. The ::changed signal is emitted at the end of a single user-visible operation on the contents of the #GtkEditable. E.g., a paste operation that replaces the contents of the selection will cause only one signal emission (even though it is implemented by first deleting the selection, then inserting the new content, and may cause multiple ::notify::text signals to be emitted). This signal is emitted when text is deleted from the widget by the user. The default handler for this signal will normally be responsible for deleting the text, so by connecting to this signal and then stopping the signal with g_signal_stop_emission(), it is possible to modify the range of deleted text, or prevent it from being deleted entirely. The @start_pos and @end_pos parameters are interpreted as for gtk_editable_delete_text(). the starting position the end position This signal is emitted when text is inserted into the widget by the user. The default handler for this signal will normally be responsible for inserting the text, so by connecting to this signal and then stopping the signal with g_signal_stop_emission(), it is possible to modify the inserted text, or prevent it from being inserted entirely. the new text to insert the length of the new text, in bytes, or -1 if new_text is nul-terminated the position, in characters, at which to insert the new text. this is an in-out parameter. After the signal emission is finished, it should point after the newly inserted text. a pointer to the contents of the widget as a start of text end of text %TRUE if an area is selected, %FALSE otherwise location to store the starting position, or %NULL location to store the end position, or %NULL the position of the cursor the cursor position Creates a new entry. a new #GtkEntry. Creates a new entry with the specified text buffer. a new #GtkEntry The buffer to use for the new #GtkEntry. Creates a new #GtkEntry widget with the given maximum length. a new #GtkEntry the maximum length of the entry, or 0 for no maximum. (other than the maximum length of entries.) The value passed in will be clamped to the range 0-65536. Get the #GtkEntryBuffer object which holds the text for this widget. A #GtkEntryBuffer object. Set the #GtkEntryBuffer object which holds the text for this widget. a #GtkEntryBuffer Returns the #GdkWindow which contains the text. This function is useful when drawing something to the entry in an expose-event callback because it enables the callback to distinguish between the text window and entry's icon windows. See also gtk_entry_get_icon_window(). the entry's text window. Sets whether the contents of the entry are visible or not. When visibility is set to %FALSE, characters are displayed as the invisible char, and will also appear that way when the text in the entry widget is copied elsewhere. By default, GTK+ picks the best invisible character available in the current font, but it can be changed with gtk_entry_set_invisible_char(). %TRUE if the contents of the entry are displayed as plaintext Retrieves whether the text in @entry is visible. See gtk_entry_set_visibility(). %TRUE if the text is currently visible Sets the character to use in place of the actual text when gtk_entry_set_visibility() has been called to set text visibility to %FALSE. i.e. this is the character used in "password mode" to show the user how many characters have been typed. By default, GTK+ picks the best invisible char available in the current font. If you set the invisible char to 0, then the user will get no feedback at all; there will be no text on the screen as they type. a Unicode character Retrieves the character displayed in place of the real characters for entries with visibility set to false. See gtk_entry_set_invisible_char(). show invisible text at all. the current invisible char, or 0, if the entry does not Unsets the invisible char previously set with gtk_entry_set_invisible_char(). So that the default invisible char is used again. Sets whether the entry has a beveled frame around it. new value Gets the value set by gtk_entry_set_has_frame(). whether the entry has a beveled frame Sets %entry's inner-border property to %border, or clears it if %NULL is passed. The inner-border is the area around the entry's text, but inside its frame. If set, this property overrides the inner-border style property. Overriding the style-provided border is useful when you want to do in-place editing of some text in a canvas or list widget, where pixel-exact positioning of the entry is important. a #GtkBorder, or %NULL This function returns the entry's #GtkEntry:inner-border property. See gtk_entry_set_inner_border() for more information. the entry's #GtkBorder, or %NULL if none was set. Sets whether the text is overwritten when typing in the #GtkEntry. new value Gets the value set by gtk_entry_set_overwrite_mode(). whether the text is overwritten when typing. Sets the maximum allowed length of the contents of the widget. If the current contents are longer than the given length, then they will be truncated to fit. This is equivalent to: <informalexample><programlisting> gtk_entry_buffer_set_max_length (gtk_entry_get_buffer (entry), max); </programlisting></informalexample> the maximum length of the entry, or 0 for no maximum. (other than the maximum length of entries.) The value passed in will be clamped to the range 0-65536. Retrieves the maximum allowed length of the text in This is equivalent to: <informalexample><programlisting> gtk_entry_buffer_get_max_length (gtk_entry_get_buffer (entry)); </programlisting></informalexample> in #GtkEntry, or 0 if there is no maximum. the maximum allowed number of characters Retrieves the current length of the text in This is equivalent to: <informalexample><programlisting> gtk_entry_buffer_get_length (gtk_entry_get_buffer (entry)); </programlisting></informalexample> in #GtkEntry, or 0 if there are none. the current number of characters If @setting is %TRUE, pressing Enter in the @entry will activate the default widget for the window containing the entry. This usually means that the dialog box containing the entry will be closed, since the default widget is usually one of the dialog buttons. (For experts: if @setting is %TRUE, the entry calls gtk_window_activate_default() on the window containing the entry, in the default handler for the #GtkWidget::activate signal.) %TRUE to activate window's default widget on Enter keypress Retrieves the value set by gtk_entry_set_activates_default(). %TRUE if the entry will activate the default widget Changes the size request of the entry to be about the right size for @n_chars characters. Note that it changes the size <emphasis>request</emphasis>, the size can still be affected by how you pack the widget into containers. If @n_chars is -1, the size reverts to the default entry size. width in chars Gets the value set by gtk_entry_set_width_chars(). number of chars to request space for, or negative if unset Sets the text in the widget to the given value, replacing the current contents. See gtk_entry_buffer_set_text(). the new text Retrieves the contents of the entry widget. See also gtk_editable_get_chars(). This is equivalent to: <informalexample><programlisting> gtk_entry_buffer_get_text (gtk_entry_get_buffer (entry)); </programlisting></informalexample> string. This string points to internally allocated storage in the widget and must not be freed, modified or stored. a pointer to the contents of the widget as a Gets the #PangoLayout used to display the entry. The layout is useful to e.g. convert text positions to pixel positions, in combination with gtk_entry_get_layout_offsets(). The returned layout is owned by the entry and must not be modified or freed by the caller. Keep in mind that the layout text may contain a preedit string, so gtk_entry_layout_index_to_text_index() and gtk_entry_text_index_to_layout_index() are needed to convert byte indices in the layout to byte indices in the entry contents. the #PangoLayout for this entry Obtains the position of the #PangoLayout used to render text in the entry, in widget coordinates. Useful if you want to line up the text in an entry with some other text, e.g. when using the entry to implement editable cells in a sheet widget. Also useful to convert mouse events into coordinates inside the #PangoLayout, e.g. to take some action if some part of the entry text is clicked. Note that as the user scrolls around in the entry the offsets will change; you'll need to connect to the "notify::scroll-offset" signal to track this. Remember when using the #PangoLayout functions you need to convert to and from pixels using PANGO_PIXELS() or #PANGO_SCALE. Keep in mind that the layout text may contain a preedit string, so gtk_entry_layout_index_to_text_index() and gtk_entry_text_index_to_layout_index() are needed to convert byte indices in the layout to byte indices in the entry contents. location to store X offset of layout, or %NULL location to store Y offset of layout, or %NULL Sets the alignment for the contents of the entry. This controls the horizontal positioning of the contents when the displayed text is shorter than the width of the entry. The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL layouts Gets the value set by gtk_entry_set_alignment(). the alignment Sets @completion to be the auxiliary completion object to use with @entry. All further configuration of the completion mechanism is done on The #GtkEntryCompletion or %NULL Returns the auxiliary completion object currently in use by @entry. The auxiliary completion object currently in use by @entry. Converts from a position in the entry contents (returned by gtk_entry_get_text()) to a position in the entry's #PangoLayout (returned by gtk_entry_get_layout(), with text retrieved via pango_layout_get_text()). byte index into the entry contents byte index into the entry layout text Converts from a position in the entry's #PangoLayout (returned by gtk_entry_get_layout()) to a position in the entry contents (returned by gtk_entry_get_text()). byte index into the entry layout text byte index into the entry contents Hooks up an adjustment to the cursor position in an entry, so that when the cursor is moved, the adjustment is scrolled to show that position. See gtk_scrolled_window_get_hadjustment() for a typical way of obtaining the adjustment. The adjustment has to be in pixel units and in the same coordinate system as the entry. an adjustment which should be adjusted when the cursor is moved, or %NULL Retrieves the horizontal cursor adjustment for the entry. See gtk_entry_set_cursor_hadjustment(). if none has been set. the horizontal cursor adjustment, or %NULL Causes the entry's progress indicator to "fill in" the given fraction of the bar. The fraction should be between 0.0 and 1.0, inclusive. fraction of the task that's been completed Returns the current fraction of the task that's been completed. See gtk_entry_set_progress_fraction(). a fraction from 0.0 to 1.0 Sets the fraction of total entry width to move the progress bouncing block for each call to gtk_entry_progress_pulse(). fraction between 0.0 and 1.0 Retrieves the pulse step set with gtk_entry_set_progress_pulse_step(). a fraction from 0.0 to 1.0 Indicates that some progress is made, but you don't know how much. Causes the entry's progress indicator to enter "activity mode," where a block bounces back and forth. Each call to gtk_entry_progress_pulse() causes the block to move by a little bit (the amount of movement per pulse is determined by gtk_entry_set_progress_pulse_step()). Sets the icon shown in the specified position using a pixbuf. If @pixbuf is %NULL, no icon will be shown in the specified position. Icon position A #GdkPixbuf, or %NULL Sets the icon shown in the entry at the specified position from a stock image. If @stock_id is %NULL, no icon will be shown in the specified position. Icon position The name of the stock item, or %NULL Sets the icon shown in the entry at the specified position from the current icon theme. If the icon name isn't known, a "broken image" icon will be displayed instead. If @icon_name is %NULL, no icon will be shown in the specified position. The position at which to set the icon An icon name, or %NULL Sets the icon shown in the entry at the specified position from the current icon theme. If the icon isn't known, a "broken image" icon will be displayed instead. If @icon is %NULL, no icon will be shown in the specified position. The position at which to set the icon The icon to set, or %NULL Gets the type of representation being used by the icon to store image data. If the icon has no image data, the return value will be %GTK_IMAGE_EMPTY. image representation being used Icon position Retrieves the image used for the icon. Unlike the other methods of setting and getting icon data, this method will work regardless of whether the icon was set using a #GdkPixbuf, a #GIcon, a stock item, or an icon name. A #GdkPixbuf, or %NULL if no icon is set for this position. Icon position Retrieves the stock id used for the icon, or %NULL if there is no icon or if the icon was set by some other method (e.g., by pixbuf, icon name or gicon). wasn't set from a stock id A stock id, or %NULL if no icon is set or if the icon Icon position Retrieves the icon name used for the icon, or %NULL if there is no icon or if the icon was set by some other method (e.g., by pixbuf, stock or gicon). wasn't set from an icon name An icon name, or %NULL if no icon is set or if the icon Icon position Retrieves the #GIcon used for the icon, or %NULL if there is no icon or if the icon was set by some other method (e.g., by stock, pixbuf, or icon name). is not a #GIcon A #GIcon, or %NULL if no icon is set or if the icon Icon position Sets whether the icon is activatable. Icon position %TRUE if the icon should be activatable Returns whether the icon is activatable. %TRUE if the icon is activatable. Icon position Sets the sensitivity for the specified icon. Icon position Specifies whether the icon should appear sensitive or insensitive Returns whether the icon appears sensitive or insensitive. %TRUE if the icon is sensitive. Icon position Finds the icon at the given position and return its index. If @x, @y doesn't lie inside an icon, -1 is returned. This function is intended for use in a #GtkWidget::query-tooltip signal handler. the index of the icon at the given position, or -1 the x coordinate of the position to find the y coordinate of the position to find Sets @tooltip as the contents of the tooltip for the icon at the specified position. Use %NULL for @tooltip to remove an existing tooltip. See also gtk_widget_set_tooltip_text() and gtk_entry_set_icon_tooltip_markup(). the icon position the contents of the tooltip for the icon, or %NULL Gets the contents of the tooltip on the icon at the specified position in @entry. with g_free() when done. the tooltip text, or %NULL. Free the returned string the icon position Sets @tooltip as the contents of the tooltip for the icon at the specified position. @tooltip is assumed to be marked up with the <link linkend="PangoMarkupFormat">Pango text markup language</link>. Use %NULL for @tooltip to remove an existing tooltip. See also gtk_widget_set_tooltip_markup() and gtk_enty_set_icon_tooltip_text(). the icon position the contents of the tooltip for the icon, or %NULL Gets the contents of the tooltip on the icon at the specified position in @entry. with g_free() when done. the tooltip text, or %NULL. Free the returned string the icon position Sets up the icon at the given position so that GTK+ will start a drag operation when the user clicks and drags the icon. To handle the drag operation, you need to connect to the usual #GtkWidget::drag-data-get (or possibly #GtkWidget::drag-data-delete) signal, and use gtk_entry_get_current_icon_drag_source() in your signal handler to find out if the drag was started from an icon. By default, GTK+ uses the icon as the drag icon. You can use the #GtkWidget::drag-begin signal to set a different icon. Note that you have to use g_signal_connect_after() to ensure that your signal handler gets executed after the default handler. icon position the targets (data formats) in which the data can be provided a bitmask of the allowed drag actions Returns the index of the icon which is the source of the current DND operation, or -1. This function is meant to be used in a #GtkWidget::drag-data-get callback. DND operation, or -1. index of the icon which is the source of the current Returns the #GdkWindow which contains the entry's icon at entry in an expose-event callback because it enables the callback to distinguish between the text window and entry's icon windows. See also gtk_entry_get_text_window(). the entry's icon window at @icon_pos. Icon position Allow the #GtkEntry input method to internally handle key press and release events. If this function returns %TRUE, then no further processing should be done for this key event. See gtk_im_context_filter_keypress(). Note that you are expected to call this function from your handler when overriding key event handling. This is needed in the case when you need to insert your own key handling between the input method and the default key event handling of the #GtkEntry. See gtk_text_view_reset_im_context() for an example of use. %TRUE if the input method handled the key event. the key event Reset the input method context of the entry if needed. This can be necessary in the case where modifying the buffer would confuse on-going input method behavior. Appends the given text to the contents of the widget. the text to append Prepends the given text to the contents of the widget. the text to prepend Sets the cursor position in an entry to the given value. the position of the cursor. The cursor is displayed before the character with the given (base 0) index in the widget. The value must be less than or equal to the number of characters in the widget. A value of -1 indicates that the position should be set after the last character in the entry. Note that this position is in characters, not in bytes. Selects a region of text. The characters that are selected are those characters at positions from @start_pos up to, but not including @end_pos. If @end_pos is negative, then the the characters selected will be those characters from @start_pos to the end of the text. the starting position the end position Determines if the user can edit the text in the editable widget or not. %TRUE if the user is allowed to edit the text in the widget Which IM (input method) module should be used for this entry. See #GtkIMContext. Setting this to a non-%NULL value overrides the system-wide IM module setting. See the GtkSettings #GtkSettings:gtk-im-module property. Sets the text area's border between the text and the frame. The invisible character is used when masking entry contents (in \"password mode\")"). When it is not explicitly set with the #GtkEntry::invisible-char property, GTK+ determines the character to use from a list of possible candidates, depending on availability in the current font. This style property allows the theme to prepend a character to the list of candidates. Whether the invisible char has been set for the #GtkEntry. If text is overwritten when typing in the #GtkEntry. Whether the primary icon is activatable. GTK+ emits the #GtkEntry::icon-press and #GtkEntry::icon-release signals only on sensitive, activatable icons. Sensitive, but non-activatable icons can be used for purely informational purposes. The #GIcon to use for the primary icon for the entry. The icon name to use for the primary icon for the entry. A pixbuf to use as the primary icon for the entry. Whether the primary icon is sensitive. An insensitive icon appears grayed out. GTK+ does not emit the #GtkEntry::icon-press and #GtkEntry::icon-release signals and does not allow DND from insensitive icons. An icon should be set insensitive if the action that would trigger when clicked is currently not available. The stock id to use for the primary icon for the entry. The representation which is used for the primary icon of the entry. The contents of the tooltip on the primary icon, which is marked up with the <link linkend="PangoMarkupFormat">Pango text markup language</link>. Also see gtk_entry_set_icon_tooltip_markup(). The contents of the tooltip on the primary icon. Also see gtk_entry_set_icon_tooltip_text(). The current fraction of the task that's been completed. The fraction of total entry width to move the progress bouncing block for each call to gtk_entry_progress_pulse(). Whether the secondary icon is activatable. GTK+ emits the #GtkEntry::icon-press and #GtkEntry::icon-release signals only on sensitive, activatable icons. Sensitive, but non-activatable icons can be used for purely informational purposes. The #GIcon to use for the secondary icon for the entry. The icon name to use for the secondary icon for the entry. An pixbuf to use as the secondary icon for the entry. Whether the secondary icon is sensitive. An insensitive icon appears grayed out. GTK+ does not emit the #GtkEntry::icon-press and #GtkEntry::icon-release signals and does not allow DND from insensitive icons. An icon should be set insensitive if the action that would trigger when clicked is currently not available. The stock id to use for the secondary icon for the entry. The representation which is used for the secondary icon of the entry. The contents of the tooltip on the secondary icon, which is marked up with the <link linkend="PangoMarkupFormat">Pango text markup language</link>. Also see gtk_entry_set_icon_tooltip_markup(). The contents of the tooltip on the secondary icon. Also see gtk_entry_set_icon_tooltip_text(). Which kind of shadow to draw around the entry when #GtkEntry:has-frame is set to %TRUE. The length of the text in the #GtkEntry. When %TRUE, pasted multi-line text is truncated to the first line. The horizontal alignment, from 0 (left) to 1 (right). Reversed for RTL layouts. A <link linkend="keybinding-signals">keybinding signal</link> which gets emitted when the user activates the entry. Applications should not connect to it, but may emit it with g_signal_emit_by_name() if they need to control activation programmatically. The default bindings for this signal are all forms of the Enter key. The ::backspace signal is a <link linkend="keybinding-signals">keybinding signal</link> which gets emitted when the user asks for it. The default bindings for this signal are Backspace and Shift-Backspace. The ::copy-clipboard signal is a <link linkend="keybinding-signals">keybinding signal</link> which gets emitted to copy the selection to the clipboard. The default bindings for this signal are Ctrl-c and Ctrl-Insert. The ::cut-clipboard signal is a <link linkend="keybinding-signals">keybinding signal</link> which gets emitted to cut the selection to the clipboard. The default bindings for this signal are Ctrl-x and Shift-Delete. The ::delete-from-cursor signal is a <link linkend="keybinding-signals">keybinding signal</link> which gets emitted when the user initiates a text deletion. If the @type is %GTK_DELETE_CHARS, GTK+ deletes the selection if there is one, otherwise it deletes the requested number of characters. The default bindings for this signal are Delete for deleting a character and Ctrl-Delete for deleting a word. the granularity of the deletion, as a #GtkDeleteType the number of @type units to delete The ::icon-press signal is emitted when an activatable icon is clicked. The position of the clicked icon the button press event The ::icon-release signal is emitted on the button release from a mouse click over an activatable icon. The position of the clicked icon the button release event The ::insert-at-cursor signal is a <link linkend="keybinding-signals">keybinding signal</link> which gets emitted when the user initiates the insertion of a fixed string at the cursor. This signal has no default bindings. the string to insert The ::move-cursor signal is a <link linkend="keybinding-signals">keybinding signal</link> which gets emitted when the user initiates a cursor movement. If the cursor is not visible in @entry, this signal causes the viewport to be moved instead. Applications should not connect to it, but may emit it with g_signal_emit_by_name() if they need to control the cursor programmatically. The default bindings for this signal come in two variants, the variant with the Shift modifier extends the selection, the variant without the Shift modifer does not. There are too many key combinations to list them all here. <itemizedlist> <listitem>Arrow keys move by individual characters/lines</listitem> <listitem>Ctrl-arrow key combinations move by words/paragraphs</listitem> <listitem>Home/End keys move to the ends of the buffer</listitem> </itemizedlist> the granularity of the move, as a #GtkMovementStep the number of @step units to move %TRUE if the move should extend the selection The ::paste-clipboard signal is a <link linkend="keybinding-signals">keybinding signal</link> which gets emitted to paste the contents of the clipboard into the text view. The default bindings for this signal are Ctrl-v and Shift-Insert. The ::populate-popup signal gets emitted before showing the context menu of the entry. If you need to add items to the context menu, connect to this signal and append your menuitems to the @menu. the menu that is being populated If an input method is used, the typed text will not immediately be committed to the buffer. So if you are interested in the text, connect to this signal. the current preedit string The ::toggle-overwrite signal is a <link linkend="keybinding-signals">keybinding signal</link> which gets emitted to toggle the overwrite mode of the entry. The default bindings for this signal is Insert. Create a new GtkEntryBuffer object. Optionally, specify initial text to set in the buffer. A new GtkEntryBuffer object. initial buffer text, or %NULL number of characters in @initial_chars, or -1 Retrieves the length in characters of the buffer. The number of characters in the buffer. Inserts @n_chars characters of @chars into the contents of the buffer, at position @position. If @n_chars is negative, then characters from chars will be inserted until a null-terminator is found. If @position or @n_chars are out of bounds, or the maximum buffer text length is exceeded, then they are coerced to sane values. Note that the position and length are in characters, not in bytes. The number of characters actually inserted. the position at which to insert text. the text to insert into the buffer. the length of the text in characters, or -1 Deletes a sequence of characters from the buffer. @n_chars characters are deleted starting at @position. If @n_chars is negative, then all characters until the end of the text are deleted. If @position or @n_chars are out of bounds, then they are coerced to sane values. Note that the positions are specified in characters, not bytes. The number of characters deleted. position at which to delete text number of characters to delete Retrieves the length in bytes of the buffer. See gtk_entry_buffer_get_length(). The byte length of the buffer. Retrieves the length in characters of the buffer. The number of characters in the buffer. Retrieves the contents of the buffer. The memory pointer returned by this call will not change unless this object emits a signal, or is finalized. string. This string points to internally allocated storage in the buffer and must not be freed, modified or stored. a pointer to the contents of the widget as a Sets the text in the buffer. This is roughly equivalent to calling gtk_entry_buffer_delete_text() and gtk_entry_buffer_insert_text(). Note that @n_chars is in characters, not in bytes. the new text the number of characters in @text, or -1 Sets the maximum allowed length of the contents of the buffer. If the current contents are longer than the given length, then they will be truncated to fit. the maximum length of the entry buffer, or 0 for no maximum. (other than the maximum length of entries.) The value passed in will be clamped to the range 0-65536. Retrieves the maximum allowed length of the text in in #GtkEntryBuffer, or 0 if there is no maximum. the maximum allowed number of characters Inserts @n_chars characters of @chars into the contents of the buffer, at position @position. If @n_chars is negative, then characters from chars will be inserted until a null-terminator is found. If @position or @n_chars are out of bounds, or the maximum buffer text length is exceeded, then they are coerced to sane values. Note that the position and length are in characters, not in bytes. The number of characters actually inserted. the position at which to insert text. the text to insert into the buffer. the length of the text in characters, or -1 Deletes a sequence of characters from the buffer. @n_chars characters are deleted starting at @position. If @n_chars is negative, then all characters until the end of the text are deleted. If @position or @n_chars are out of bounds, then they are coerced to sane values. Note that the positions are specified in characters, not bytes. The number of characters deleted. position at which to delete text number of characters to delete Used when subclassing #GtkEntryBuffer position at which text was inserted text that was inserted number of characters inserted Used when subclassing #GtkEntryBuffer position at which text was deleted number of characters deleted The length (in characters) of the text in buffer. The maximum length (in characters) of the text in the buffer. The contents of the buffer. The number of characters in the buffer. The number of characters actually inserted. the position at which to insert text. the text to insert into the buffer. the length of the text in characters, or -1 The number of characters deleted. position at which to delete text number of characters to delete Creates a new #GtkEntryCompletion object. A newly created #GtkEntryCompletion object. Gets the entry @completion has been attached to. The entry @completion has been attached to. Sets the model for a #GtkEntryCompletion. If @completion already has a model set, it will remove it before setting the new model. If model is %NULL, then it will unset the model. The #GtkTreeModel. Returns the model the #GtkEntryCompletion is using as data source. Returns %NULL if the model is unset. A #GtkTreeModel, or %NULL if none is currently being used. Sets the match function for @completion to be @func. The match function is used to determine if a row should or should not be in the completion list. The #GtkEntryCompletionMatchFunc to use. The user data for @func. Destroy notifier for @func_data. Requires the length of the search key for @completion to be at least key takes a lot of time and will come up with meaningless results anyway (ie, a too large dataset). The minimum length of the key in order to start completing. Returns the minimum key length as set for @completion. The currently used minimum key length. Requests a completion operation, or in other words a refiltering of the current list with completions, using the current key. The completion list view will be updated accordingly. Requests a prefix insertion. Inserts an action in @completion's action item list at position @index_ with text @text. If you want the action item to have markup, use gtk_entry_completion_insert_action_markup(). The index of the item to insert. Text of the item to insert. Inserts an action in @completion's action item list at position @index_ with markup @markup. The index of the item to insert. Markup of the item to insert. Deletes the action at @index_ from @completion's action list. The index of the item to Delete. Sets whether the common prefix of the possible completions should be automatically inserted in the entry. %TRUE to do inline completion Returns whether the common prefix of the possible completions should be automatically inserted in the entry. %TRUE if inline completion is turned on Sets whether it is possible to cycle through the possible completions inside the entry. %TRUE to do inline selection Returns %TRUE if inline-selection mode is turned on. %TRUE if inline-selection mode is on Sets whether the completions should be presented in a popup window. %TRUE to do popup completion Returns whether the completions should be presented in a popup window. %TRUE if popup completion is turned on Sets whether the completion popup window will be resized to be the same width as the entry. %TRUE to make the width of the popup the same as the entry Returns whether the completion popup window will be resized to the width of the entry. the entry %TRUE if the popup window will be resized to the width of Sets whether the completion popup window will appear even if there is only a single match. You may want to set this to %FALSE if you are using <link linkend="GtkEntryCompletion--inline-completion">inline completion</link>. %TRUE if the popup should appear even for a single match Returns whether the completion popup window will appear even if there is only a single match. number of matches. %TRUE if the popup window will appear regardless of the Get the original text entered by the user that triggered the completion or %NULL if there's no completion ongoing. the prefix for the current completion completion list with just strings. This function will set up @completion to have a list displaying all (and just) strings in the completion list, and to get those strings from @column in the model of @completion. This functions creates and adds a #GtkCellRendererText for the selected column. If you need to set the text column, but don't want the cell renderer, use g_object_set() to set the ::text_column property directly. The column in the model of @completion to get strings from. Returns the column in the model of @completion to get strings from. the column containing the strings Determines whether the common prefix of the possible completions should be inserted automatically in the entry. Note that this requires text-column to be set, even if you are using a custom match function. Determines whether the possible completions on the popup will appear in the entry as you navigate through them. Determines whether the possible completions should be shown in a popup window. Determines whether the completions popup window will be resized to the width of the entry. Determines whether the completions popup window will shown for a single possible completion. You probably want to set this to %FALSE if you are using <link linkend="GtkEntryCompletion--inline-completion">inline completion</link>. The column of the model containing the strings. Note that the strings must be UTF-8. Gets emitted when an action is activated. the index of the activated action Gets emitted when a match from the cursor is on a match of the list.The default behaviour is to replace the contents of the entry with the contents of the text column in the row pointed to by @iter. %TRUE if the signal has been handled the #GtkTreeModel containing the matches a #GtkTreeIter positioned at the selected match Gets emitted when the inline autocompletion is triggered. The default behaviour is to make the entry display the whole prefix and select the newly inserted part. Applications may connect to this signal in order to insert only a smaller part of the @prefix into the entry - e.g. the entry used in the #GtkFileChooser inserts only the part of the prefix up to the next '/'. %TRUE if the signal has been handled the common prefix of all possible completions Gets emitted when a match from the list is selected. The default behaviour is to replace the contents of the entry with the contents of the text column in the row pointed to by @iter. %TRUE if the signal has been handled the #GtkTreeModel containing the matches a #GtkTreeIter positioned at the selected match Returns whether the event box has a visible window. See gtk_event_box_set_visible_window() for details. %TRUE if the event box window is visible Set whether the event box uses a visible or invisible child window. The default is to use visible windows. In an invisible window event box, the window that the event box creates is a %GDK_INPUT_ONLY window, which means that it is invisible and only serves to receive events. A visible window event box creates a visible (%GDK_INPUT_OUTPUT) window that acts as the parent window for all the widgets contained in the event box. You should generally make your event box invisible if you just want to trap events. Creating a visible window may cause artifacts that are visible to the user, especially if the user is using a theme with gradients or pixmaps. The main reason to create a non input-only event box is if you want to set the background to a different color or draw on it. <note><para> There is one unexpected issue for an invisible event box that has its window below the child. (See gtk_event_box_set_above_child().) Since the input-only window is not an ancestor window of any windows that descendent widgets of the event box create, events on these windows aren't propagated up by the windowing system, but only by GTK+. The practical effect of this is if an event isn't in the event mask for the descendant window (see gtk_widget_add_events()), it won't be received by the event box. </para><para> This problem doesn't occur for visible event boxes, because in that case, the event box window is actually the ancestor of the descendant windows, not just at the same place on the screen. </para></note> boolean value Returns whether the event box window is above or below the windows of its child. See gtk_event_box_set_above_child() for details. of its child. %TRUE if the event box window is above the window Set whether the event box window is positioned above the windows of its child, as opposed to below it. If the window is above, all events inside the event box will go to the event box. If the window is below, events in windows of child widgets will first got to that widget, and then to its parents. The default is to keep the window below the child. %TRUE if the event box window is above the windows of its child Creates a new expander using @label as the text of the label. a new #GtkExpander widget. the text of the label Creates a new expander using @label as the text of the label. If characters in @label are preceded by an underscore, they are underlined. If you need a literal underscore character in a label, use '__' (two underscores). The first underlined character represents a keyboard accelerator called a mnemonic. Pressing Alt and that key activates the button. a new #GtkExpander widget. the text of the label with an underscore in front of the mnemonic character Sets the state of the expander. Set to %TRUE, if you want the child widget to be revealed, and %FALSE if you want the child widget to be hidden. whether the child widget is revealed Queries a #GtkExpander and returns its current state. Returns %TRUE if the child widget is revealed. See gtk_expander_set_expanded(). the current state of the expander. Sets the spacing field of @expander, which is the number of pixels to place between expander and the child. distance between the expander and child in pixels. Gets the value set by gtk_expander_set_spacing(). spacing between the expander and child. Sets the text of the label of the expander to @label. This will also clear any previously set labels. a string Fetches the text from a label widget including any embedded underlines indicating mnemonics and Pango markup, as set by gtk_expander_set_label(). If the label text has not been set the return value will be %NULL. This will be the case if you create an empty button with gtk_button_new() to use as a container. Note that this function behaved differently in versions prior to 2.14 and used to return the label text stripped of embedded underlines indicating mnemonics and Pango markup. This problem can be avoided by fetching the label text directly from the label widget. by the widget and must not be modified or freed. The text of the label widget. This string is owned If true, an underline in the text of the expander label indicates the next character should be used for the mnemonic accelerator key. %TRUE if underlines in the text indicate mnemonics Returns whether an embedded underline in the expander label indicates a mnemonic. See gtk_expander_set_use_underline(). indicates the mnemonic accelerator keys. %TRUE if an embedded underline in the expander label Sets whether the text of the label contains markup in <link linkend="PangoMarkupFormat">Pango's text markup language</link>. See gtk_label_set_markup(). %TRUE if the label's text should be parsed for markup Returns whether the label's text is interpreted as marked up with the <link linkend="PangoMarkupFormat">Pango text markup language</link>. See gtk_expander_set_use_markup (). %TRUE if the label's text will be parsed for markup Set the label widget for the expander. This is the widget that will appear embedded alongside the expander arrow. the new label widget Retrieves the label widget for the frame. See gtk_expander_set_label_widget(). the label widget, or %NULL if there is none. Sets the type of operation that the chooser is performing; the user interface is adapted to suit the selected action. For example, an option to create a new folder might be shown if the action is %GTK_FILE_CHOOSER_ACTION_SAVE but not if the action is %GTK_FILE_CHOOSER_ACTION_OPEN. the action that the file selector is performing Gets the type of operation that the file chooser is performing; see gtk_file_chooser_set_action(). the action that the file selector is performing Sets whether only local files can be selected in the file selector. If @local_only is %TRUE (the default), then the selected file are files are guaranteed to be accessible through the operating systems native file file system and therefore the application only needs to worry about the filename functions in #GtkFileChooser, like gtk_file_chooser_get_filename(), rather than the URI functions like gtk_file_chooser_get_uri(), %TRUE if only local files can be selected Gets whether only local files can be selected in the file selector. See gtk_file_chooser_set_local_only() %TRUE if only local files can be selected. Sets whether multiple files can be selected in the file selector. This is only relevant if the action is set to be %GTK_FILE_CHOOSER_ACTION_OPEN or %GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER. %TRUE if multiple files can be selected. Gets whether multiple files can be selected in the file selector. See gtk_file_chooser_set_select_multiple(). %TRUE if multiple files can be selected. Sets whether hidden files and folders are displayed in the file selector. %TRUE if hidden files and folders should be displayed. Gets whether hidden files and folders are displayed in the file selector. See gtk_file_chooser_set_show_hidden(). %TRUE if hidden files and folders are displayed. Sets whether a file chooser in %GTK_FILE_CHOOSER_ACTION_SAVE mode will present a confirmation dialog if the user types a file name that already exists. This is %FALSE by default. Regardless of this setting, the @chooser will emit the #GtkFileChooser::confirm-overwrite signal when appropriate. If all you need is the stock confirmation dialog, set this property to %TRUE. You can override the way confirmation is done by actually handling the #GtkFileChooser::confirm-overwrite signal; please refer to its documentation for the details. whether to confirm overwriting in save mode Queries whether a file chooser is set to confirm for overwriting when the user types a file name that already exists. %FALSE otherwise. %TRUE if the file chooser will present a confirmation dialog; Sets whether file choser will offer to create new folders. This is only relevant if the action is not set to be %GTK_FILE_CHOOSER_ACTION_OPEN. %TRUE if the New Folder button should be displayed Gets whether file choser will offer to create new folders. See gtk_file_chooser_set_create_folders(). %TRUE if the New Folder button should be displayed. Sets the current name in the file selector, as if entered by the user. Note that the name passed in here is a UTF-8 string rather than a filename. This function is meant for such uses as a suggested name in a "Save As..." dialog. If you want to preselect a particular existing file, you should use gtk_file_chooser_set_filename() or gtk_file_chooser_set_uri() instead. Please see the documentation for those functions for an example of using gtk_file_chooser_set_current_name() as well. the filename to use, as a UTF-8 string Gets the filename for the currently selected file in the file selector. If multiple files are selected, one of the filenames will be returned at random. If the file chooser is in folder mode, this function returns the selected folder. if no file is selected, or the selected file can't be represented with a local filename. Free with g_free(). The currently selected filename, or %NULL Sets @filename as the current filename for the file chooser, by changing to the file's parent folder and actually selecting the file in list. If the @chooser is in %GTK_FILE_CHOOSER_ACTION_SAVE mode, the file's base name will also appear in the dialog's file name entry. If the file name isn't in the current folder of @chooser, then the current folder of @chooser will be changed to the folder containing @filename. This is equivalent to a sequence of gtk_file_chooser_unselect_all() followed by gtk_file_chooser_select_filename(). Note that the file must exist, or nothing will be done except for the directory change. If you are implementing a <guimenuitem>File/Save As...</guimenuitem> dialog, you should use this function if you already have a file name to which the user may save; for example, when the user opens an existing file and then does <guimenuitem>File/Save As...</guimenuitem> on it. If you don't have a file name already &mdash; for example, if the user just created a new file and is saving it for the first time, do not call this function. Instead, use something similar to this: |[ if (document_is_new) { /&ast; the user just created a new document &ast;/ gtk_file_chooser_set_current_folder (chooser, default_folder_for_saving); gtk_file_chooser_set_current_name (chooser, "Untitled document"); } else { /&ast; the user edited an existing document &ast;/ gtk_file_chooser_set_filename (chooser, existing_filename); } ]| selected successfully, %FALSE otherwise. %TRUE if both the folder could be changed and the file was the filename to set as current Selects a filename. If the file name isn't in the current folder of @chooser, then the current folder of @chooser will be changed to the folder containing @filename. selected successfully, %FALSE otherwise. %TRUE if both the folder could be changed and the file was the filename to select Unselects a currently selected filename. If the filename is not in the current directory, does not exist, or is otherwise not currently selected, does nothing. the filename to unselect Selects all the files in the current folder of a file chooser. Unselects all the files in the current folder of a file chooser. Lists all the selected files and subfolders in the current folder of folder cannot be represented as local filenames they will be ignored. (See gtk_file_chooser_get_uris()) files and subfolders in the current folder. Free the returned list with g_slist_free(), and the filenames with g_free(). a #GSList containing the filenames of all selected Sets the current folder for @chooser from a local filename. The user will be shown the full contents of the current folder, plus user interface elements for navigating to other folders. otherwise. %TRUE if the folder could be changed successfully, %FALSE the full path of the new current folder Gets the current folder of @chooser as a local filename. See gtk_file_chooser_set_current_folder(). Note that this is the folder that the file chooser is currently displaying (e.g. "/home/username/Documents"), which is <emphasis>not the same</emphasis> as the currently-selected folder if the chooser is in %GTK_FILE_CHOOSER_SELECT_FOLDER mode (e.g. "/home/username/Documents/selected-folder/". To get the currently-selected folder in that mode, use gtk_file_chooser_get_uri() as the usual way to get the selection. path cannot be represented as a local filename. Free with g_free(). This function will also return %NULL if the file chooser was unable to load the last folder that was requested from it; for example, as would be for calling gtk_file_chooser_set_current_folder() on a nonexistent folder. the full path of the current folder, or %NULL if the current Gets the URI for the currently selected file in the file selector. If multiple files are selected, one of the filenames will be returned at random. If the file chooser is in folder mode, this function returns the selected folder. if no file is selected. Free with g_free() The currently selected URI, or %NULL Sets the file referred to by @uri as the current file for the file chooser, by changing to the URI's parent folder and actually selecting the URI in the list. If the @chooser is %GTK_FILE_CHOOSER_ACTION_SAVE mode, the URI's base name will also appear in the dialog's file name entry. If the URI isn't in the current folder of @chooser, then the current folder of @chooser will be changed to the folder containing @uri. This is equivalent to a sequence of gtk_file_chooser_unselect_all() followed by gtk_file_chooser_select_uri(). Note that the URI must exist, or nothing will be done except for the directory change. If you are implementing a <guimenuitem>File/Save As...</guimenuitem> dialog, you should use this function if you already have a file name to which the user may save; for example, when the user opens an existing file and then does <guimenuitem>File/Save As...</guimenuitem> on it. If you don't have a file name already &mdash; for example, if the user just created a new file and is saving it for the first time, do not call this function. Instead, use something similar to this: |[ if (document_is_new) { /&ast; the user just created a new document &ast;/ gtk_file_chooser_set_current_folder_uri (chooser, default_folder_for_saving); gtk_file_chooser_set_current_name (chooser, "Untitled document"); } else { /&ast; the user edited an existing document &ast;/ gtk_file_chooser_set_uri (chooser, existing_uri); } ]| selected successfully, %FALSE otherwise. %TRUE if both the folder could be changed and the URI was the URI to set as current Selects the file to by @uri. If the URI doesn't refer to a file in the current folder of @chooser, then the current folder of selected successfully, %FALSE otherwise. %TRUE if both the folder could be changed and the URI was the URI to select Unselects the file referred to by @uri. If the file is not in the current directory, does not exist, or is otherwise not currently selected, does nothing. the URI to unselect Lists all the selected files and subfolders in the current folder of files and subfolders in the current folder. Free the returned list with g_slist_free(), and the filenames with g_free(). a #GSList containing the URIs of all selected Sets the current folder for @chooser from an URI. The user will be shown the full contents of the current folder, plus user interface elements for navigating to other folders. otherwise. %TRUE if the folder could be changed successfully, %FALSE the URI for the new current folder Gets the current folder of @chooser as an URI. See gtk_file_chooser_set_current_folder_uri(). Note that this is the folder that the file chooser is currently displaying (e.g. "file:///home/username/Documents"), which is <emphasis>not the same</emphasis> as the currently-selected folder if the chooser is in %GTK_FILE_CHOOSER_SELECT_FOLDER mode (e.g. "file:///home/username/Documents/selected-folder/". To get the currently-selected folder in that mode, use gtk_file_chooser_get_uri() as the usual way to get the selection. function will also return %NULL if the file chooser was unable to load the last folder that was requested from it; for example, as would be for calling gtk_file_chooser_set_current_folder_uri() on a nonexistent folder. the URI for the current folder. Free with g_free(). This Gets the #GFile for the currently selected file in the file selector. If multiple files are selected, one of the files will be returned at random. If the file chooser is in folder mode, this function returns the selected folder. g_object_unref() to release it. a selected #GFile. You own the returned file; use Sets @file as the current filename for the file chooser, by changing to the file's parent folder and actually selecting the file in list. If the @chooser is in %GTK_FILE_CHOOSER_ACTION_SAVE mode, the file's base name will also appear in the dialog's file name entry. If the file name isn't in the current folder of @chooser, then the current folder of @chooser will be changed to the folder containing @filename. This is equivalent to a sequence of gtk_file_chooser_unselect_all() followed by gtk_file_chooser_select_filename(). Note that the file must exist, or nothing will be done except for the directory change. If you are implementing a <guimenuitem>File/Save As...</guimenuitem> dialog, you should use this function if you already have a file name to which the user may save; for example, when the user opens an existing file and then does <guimenuitem>File/Save As...</guimenuitem> on it. If you don't have a file name already &mdash; for example, if the user just created a new file and is saving it for the first time, do not call this function. Instead, use something similar to this: |[ if (document_is_new) { /&ast; the user just created a new document &ast;/ gtk_file_chooser_set_current_folder_file (chooser, default_file_for_saving); gtk_file_chooser_set_current_name (chooser, "Untitled document"); } else { /&ast; the user edited an existing document &ast;/ gtk_file_chooser_set_file (chooser, existing_file); } ]| selected successfully, %FALSE otherwise. %TRUE if both the folder could be changed and the file was the #GFile to set as current Selects the file referred to by @file. An internal function. See _gtk_file_chooser_select_uri(). selected successfully, %FALSE otherwise. %TRUE if both the folder could be changed and the path was the file to select Unselects the file referred to by @file. If the file is not in the current directory, does not exist, or is otherwise not currently selected, does nothing. a #GFile Lists all the selected files and subfolders in the current folder of @chooser as #GFile. An internal function, see gtk_file_chooser_get_uris(). file and subfolder in the current folder. Free the returned list with g_slist_free(), and the files with g_object_unref(). a #GSList containing a #GFile for each selected Sets the current folder for @chooser from a #GFile. Internal function, see gtk_file_chooser_set_current_folder_uri(). otherwise. %TRUE if the folder could be changed successfully, %FALSE the #GFile for the new folder Gets the current folder of @chooser as #GFile. See gtk_file_chooser_get_current_folder_uri(). the #GFile for the current folder. Sets an application-supplied widget to use to display a custom preview of the currently selected file. To implement a preview, after setting the preview widget, you connect to the #GtkFileChooser::update-preview signal, and call gtk_file_chooser_get_preview_filename() or gtk_file_chooser_get_preview_uri() on each change. If you can display a preview of the new file, update your widget and set the preview active using gtk_file_chooser_set_preview_widget_active(). Otherwise, set the preview inactive. When there is no application-supplied preview widget, or the application-supplied preview widget is not active, the file chooser may display an internally generated preview of the current file or it may display no preview at all. widget for displaying preview. Gets the current preview widget; see gtk_file_chooser_set_preview_widget(). the current preview widget, or %NULL Sets whether the preview widget set by gtk_file_chooser_set_preview_widget() should be shown for the current filename. When @active is set to false, the file chooser may display an internally generated preview of the current file or it may display no preview at all. See gtk_file_chooser_set_preview_widget() for more details. whether to display the user-specified preview widget Gets whether the preview widget set by gtk_file_chooser_set_preview_widget() should be shown for the current filename. See gtk_file_chooser_set_preview_widget_active(). %TRUE if the preview widget is active for the current filename. Sets whether the file chooser should display a stock label with the name of the file that is being previewed; the default is %TRUE. Applications that want to draw the whole preview area themselves should set this to %FALSE and display the name themselves in their preview widget. whether to display a stock label with the name of the previewed file Gets whether a stock label should be drawn with the name of the previewed file. See gtk_file_chooser_set_use_preview_label(). name of the previewed file, %FALSE otherwise. %TRUE if the file chooser is set to display a label with the Gets the filename that should be previewed in a custom preview widget. See gtk_file_chooser_set_preview_widget(). is selected, or if the selected file cannot be represented as a local filename. Free with g_free() the filename to preview, or %NULL if no file Gets the URI that should be previewed in a custom preview widget. See gtk_file_chooser_set_preview_widget(). selected. Free with g_free(). the URI for the file to preview, or %NULL if no file is Gets the #GFile that should be previewed in a custom preview Internal function, see gtk_file_chooser_get_preview_uri(). is selected. Free with g_object_unref(). the #GFile for the file to preview, or %NULL if no file Sets an application-supplied widget to provide extra options to the user. widget for extra options Gets the current preview widget; see gtk_file_chooser_set_extra_widget(). the current extra widget, or %NULL Adds @filter to the list of filters that the user can select between. When a filter is selected, only files that are passed by that filter are displayed. Note that the @chooser takes ownership of the filter, so you have to ref and sink it if you want to keep a reference. a #GtkFileFilter Removes @filter from the list of filters that the user can select between. a #GtkFileFilter Lists the current set of user-selectable filters; see gtk_file_chooser_add_filter(), gtk_file_chooser_remove_filter(). user selectable filters. The contents of the list are owned by GTK+, but you must free the list itself with g_slist_free() when you are done with it. a #GSList containing the current set of Sets the current filter; only the files that pass the filter will be displayed. If the user-selectable list of filters is non-empty, then the filter should be one of the filters in that list. Setting the current filter when the list of filters is empty is useful if you want to restrict the displayed set of files without letting the user change it. a #GtkFileFilter Gets the current filter; see gtk_file_chooser_set_filter(). the current filter, or %NULL Adds a folder to be displayed with the shortcut folders in a file chooser. Note that shortcut folders do not get saved, as they are provided by the application. For example, you can use this to add a "/usr/share/mydrawprogram/Clipart" folder to the volume list. otherwise. In the latter case, the @error will be set as appropriate. %TRUE if the folder could be added successfully, %FALSE filename of the folder to add Removes a folder from a file chooser's list of shortcut folders. In the latter case, the @error will be set as appropriate. %TRUE if the operation succeeds, %FALSE otherwise. filename of the folder to remove Queries the list of shortcut folders in the file chooser, as set by gtk_file_chooser_add_shortcut_folder(). folders. Free the returned list with g_slist_free(), and the filenames with g_free(). A list of folder filenames, or %NULL if there are no shortcut Adds a folder URI to be displayed with the shortcut folders in a file chooser. Note that shortcut folders do not get saved, as they are provided by the application. For example, you can use this to add a "file:///usr/share/mydrawprogram/Clipart" folder to the volume list. otherwise. In the latter case, the @error will be set as appropriate. %TRUE if the folder could be added successfully, %FALSE URI of the folder to add Removes a folder URI from a file chooser's list of shortcut folders. In the latter case, the @error will be set as appropriate. %TRUE if the operation succeeds, %FALSE otherwise. URI of the folder to remove Queries the list of shortcut folders in the file chooser, as set by gtk_file_chooser_add_shortcut_folder_uri(). folders. Free the returned list with g_slist_free(), and the URIs with g_free(). A list of folder URIs, or %NULL if there are no shortcut Whether a file chooser not in %GTK_FILE_CHOOSER_ACTION_OPEN mode will offer the user to create new folders. Whether a file chooser in %GTK_FILE_CHOOSER_ACTION_SAVE mode will present an overwrite confirmation dialog if the user selects a file name that already exists. This signal gets emitted whenever it is appropriate to present a confirmation dialog when the user has selected a file name that already exists. The signal only gets emitted when the file chooser is in %GTK_FILE_CHOOSER_ACTION_SAVE mode. Most applications just need to turn on the #GtkFileChooser:do-overwrite-confirmation property (or call the gtk_file_chooser_set_do_overwrite_confirmation() function), and they will automatically get a stock confirmation dialog. Applications which need to customize this behavior should do that, and also connect to the #GtkFileChooser::confirm-overwrite signal. A signal handler for this signal must return a #GtkFileChooserConfirmation value, which indicates the action to take. If the handler determines that the user wants to select a different filename, it should return %GTK_FILE_CHOOSER_CONFIRMATION_SELECT_AGAIN. If it determines that the user is satisfied with his choice of file name, it should return %GTK_FILE_CHOOSER_CONFIRMATION_ACCEPT_FILENAME. On the other hand, if it determines that the stock confirmation dialog should be used, it should return %GTK_FILE_CHOOSER_CONFIRMATION_CONFIRM. The following example illustrates this. <example id="gtkfilechooser-confirmation"> <title>Custom confirmation</title> <programlisting> static GtkFileChooserConfirmation confirm_overwrite_callback (GtkFileChooser *chooser, gpointer data) { char *uri; uri = gtk_file_chooser_get_uri (chooser); if (is_uri_read_only (uri)) { if (user_wants_to_replace_read_only_file (uri)) return GTK_FILE_CHOOSER_CONFIRMATION_ACCEPT_FILENAME; else return GTK_FILE_CHOOSER_CONFIRMATION_SELECT_AGAIN; } else return GTK_FILE_CHOOSER_CONFIRMATION_CONFIRM; // fall back to the default dialog } ... chooser = gtk_file_chooser_dialog_new (...); gtk_file_chooser_set_do_overwrite_confirmation (GTK_FILE_CHOOSER (dialog), TRUE); g_signal_connect (chooser, "confirm-overwrite", G_CALLBACK (confirm_overwrite_callback), NULL); if (gtk_dialog_run (chooser) == GTK_RESPONSE_ACCEPT) save_to_file (gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (chooser)); gtk_widget_destroy (chooser); </programlisting> </example> action to take after emitting the signal. a #GtkFileChooserConfirmation value that indicates which Describes whether a #GtkFileChooser is being used to open existing files or to save to a possibly new file. Creates a new file-selecting button widget. a new button widget. the title of the browse dialog. the open mode for the widget. Creates a new file-selecting button widget using @backend. a new button widget. the title of the browse dialog. the open mode for the widget. the name of the #GtkFileSystem backend to use. Creates a #GtkFileChooserButton widget which uses @dialog as its file-picking window. Note that @dialog must be a #GtkDialog (or subclass) which implements the #GtkFileChooser interface and must not have %GTK_DIALOG_DESTROY_WITH_PARENT set. Also note that the dialog needs to have its confirmative button added with response %GTK_RESPONSE_ACCEPT or %GTK_RESPONSE_OK in order for the button to take over the file selected in the dialog. a new button widget. the widget to use as dialog Retrieves the title of the browse dialog used by @button. The returned value should not be modified or freed. a pointer to the browse dialog's title. Modifies the @title of the browse dialog used by @button. the new browse dialog title. Retrieves the width in characters of the @button widget's entry and/or label. an integer width (in characters) that the button will use to size itself. Sets the width (in characters) that @button will use to @n_chars. the new width, in characters. Returns whether the button grabs focus when it is clicked with the mouse. See gtk_file_chooser_button_set_focus_on_click(). the mouse. %TRUE if the button grabs focus when it is clicked with Sets whether the button will grab focus when it is clicked with the mouse. Making mouse clicks not grab focus is useful in places like toolbars where you don't want the keyboard focus removed from the main area of the application. whether the button grabs focus when clicked with the mouse Instance of the #GtkFileChooserDialog associated with the button. Whether the #GtkFileChooserButton button grabs focus when it is clicked with the mouse. Title to put on the #GtkFileChooserDialog associated with the button. The width of the entry and label inside the button, in characters. The ::file-set signal is emitted when the user selects a file. Note that this signal is only emitted when the <emphasis>user</emphasis> changes the file. Used as a return value of handlers for the #GtkFileChooser::confirm-overwrite signal of a #GtkFileChooser. This value determines whether the file chooser will present the stock confirmation dialog, accept the user's choice of a filename, or let the user choose another filename. Creates a new #GtkFileChooserDialog. This function is analogous to gtk_dialog_new_with_buttons(). a new #GtkFileChooserDialog Title of the dialog, or %NULL Transient parent of the dialog, or %NULL Open or save mode for the dialog stock ID or text to go in the first button, or %NULL Creates a new #GtkFileChooserDialog with a specified backend. This is especially useful if you use gtk_file_chooser_set_local_only() to allow non-local files and you use a more expressive vfs, such as gnome-vfs, to load files. a new #GtkFileChooserDialog Title of the dialog, or %NULL Transient parent of the dialog, or %NULL Open or save mode for the dialog The name of the specific filesystem backend to use. stock ID or text to go in the first button, or %NULL These identify the various errors that can occur while calling #GtkFileChooser functions. Creates a new #GtkFileChooserWidget. This is a file chooser widget that can be embedded in custom windows, and it is the same widget that is used by #GtkFileChooserDialog. a new #GtkFileChooserWidget Open or save mode for the widget Creates a new #GtkFileChooserWidget with a specified backend. This is especially useful if you use gtk_file_chooser_set_local_only() to allow non-local files. This is a file chooser widget that can be embedded in custom windows and it is the same widget that is used by #GtkFileChooserDialog. a new #GtkFileChooserWidget Open or save mode for the widget The name of the specific filesystem backend to use. Creates a new #GtkFileFilter with no rules added to it. Such a filter doesn't accept any files, so is not particularly useful until you add rules with gtk_file_filter_add_mime_type(), gtk_file_filter_add_pattern(), or gtk_file_filter_add_custom(). To create a filter that accepts any file, use: |[ GtkFileFilter *filter = gtk_file_filter_new (); gtk_file_filter_add_pattern (filter, "*"); ]| a new #GtkFileFilter Sets the human-readable name of the filter; this is the string that will be displayed in the file selector user interface if there is a selectable list of filters. the human-readable-name for the filter, or %NULL to remove any existing name. Gets the human-readable name for the filter. See gtk_file_filter_set_name(). or %NULL. This value is owned by GTK+ and must not be modified or freed. The human-readable name of the filter, Adds a rule allowing a given mime type to @filter. name of a MIME type Adds a rule allowing a shell style glob to a filter. a shell style glob Adds a rule allowing image files in the formats supported by GdkPixbuf. Adds rule to a filter that allows files based on a custom callback function. The bitfield @needed which is passed in provides information about what sorts of information that the filter function needs; this allows GTK+ to avoid retrieving expensive information when it isn't needed by the filter. bitfield of flags indicating the information that the custom filter function needs. callback function; if the function returns %TRUE, then the file will be displayed. data to pass to @func function to call to free @data when it is no longer needed. Gets the fields that need to be filled in for the structure passed to gtk_file_filter_filter() This function will not typically be used by applications; it is intended principally for use in the implementation of #GtkFileChooser. calling gtk_file_filter_filter() bitfield of flags indicating needed fields when Tests whether a file should be displayed according to @filter. The #GtkFileFilterInfo structure @filter_info should include the fields returned from gtk_file_filter_get_needed(). This function will not typically be used by applications; it is intended principally for use in the implementation of #GtkFileChooser. %TRUE if the file should be displayed a #GtkFileFilterInfo structure containing information about a file. Sets a default path for the file requestor. If @filename includes a directory path, then the requestor will open with that path as its current working directory. This has the consequence that in order to open the requestor with a working directory and an empty filename, @filename must have a trailing directory separator. The encoding of @filename is preferred GLib file name encoding, which may not be UTF-8. See g_filename_from_utf8(). a string to set as the default file name. This function returns the selected filename in the GLib file name encoding. To convert to UTF-8, call g_filename_to_utf8(). The returned string points to a statically allocated buffer and should be copied if you plan to keep it around. If no file is selected then the selected directory path is returned. currently-selected filename in the on-disk encoding. Retrieves the list of file selections the user has made in the dialog box. This function is intended for use when the user can select multiple files in the file list. The filenames are in the GLib file name encoding. To convert to UTF-8, call g_filename_to_utf8() on each string. g_strfreev() to free it. a newly-allocated %NULL-terminated array of strings. Use Sets whether the user is allowed to select multiple files in the file list. Use gtk_file_selection_get_selections () to get the list of selected files. whether or not the user is allowed to select multiple files in the file list. Determines whether or not the user is allowed to select multiple files in the file list. See gtk_file_selection_set_select_multiple(). file list %TRUE if the user is allowed to select multiple files in the Sets whether a #GtkFixed widget is created with a separate #GdkWindow for @widget->window or not. (By default, it will be created with no separate #GdkWindow). This function must be called while the #GtkFixed is not realized, for instance, immediately after the window is created. This function was added to provide an easy migration path for older applications which may expect #GtkFixed to have a separate window. %TRUE if a separate window should be created Gets whether the #GtkFixed has its own #GdkWindow. See gtk_fixed_set_has_window(). %TRUE if @fixed has its own window. Creates a new font picker widget. a new font picker widget. Creates a new font picker widget. a new font picker widget. Name of font to display in font selection dialog Retrieves the title of the font selection dialog. an internal copy of the title string which must not be freed. Sets the title for the font selection dialog. a string containing the font selection dialog title Returns whether the selected font is used in the label. whether the selected font is used in the label. If @use_font is %TRUE, the font name will be written using the selected font. If %TRUE, font name will be written using font chosen. Returns whether the selected size is used in the label. whether the selected size is used in the label. If @use_size is %TRUE, the font name will be written using the selected size. If %TRUE, font name will be written using the selected size. Retrieves the name of the currently selected font. This name includes style and size information as well. If you want to render something with the font, use this string with pango_font_description_from_string() . If you're interested in peeking certain values (family name, style, size, weight) just query these properties from the #PangoFontDescription object. an internal copy of the font name which must not be freed. Sets or updates the currently-displayed font in font picker dialog. font selection dialog exists, otherwise %FALSE. Return value of gtk_font_selection_dialog_set_font_name() if the Name of font to display in font selection dialog Returns whether the name of the font style will be shown in the label. whether the font style will be shown in the label. If @show_style is %TRUE, the font style will be displayed along with name of the selected font. %TRUE if font style should be displayed in label. Returns whether the font size will be shown in the label. whether the font size will be shown in the label. If @show_size is %TRUE, the font size will be displayed along with the name of the selected font. %TRUE if font size should be displayed in dialog. The name of the currently selected font. If this property is set to %TRUE, the selected font size will be shown in the label. For a more WYSIWYG way to show the selected size, see the ::use-size property. If this property is set to %TRUE, the name of the selected font style will be shown in the label. For a more WYSIWYG way to show the selected style, see the ::use-font property. The title of the font selection dialog. If this property is set to %TRUE, the label will be drawn in the selected font. If this property is set to %TRUE, the label will be drawn with the selected font size. The ::font-set signal is emitted when the user selects a font. When handling this signal, use gtk_font_button_get_font_name() to find out which font was just selected. Note that this signal is only emitted when the <emphasis>user</emphasis> changes the font. If you need to react to programmatic font changes as well, use the notify::font-name signal. Creates a new #GtkFontSelection. a n ew #GtkFontSelection This returns the #GtkTreeView that lists font families, for example, 'Sans', 'Serif', etc. A #GtkWidget that is part of @fontsel This returns the #GtkTreeView which lists all styles available for the selected font. For example, 'Regular', 'Bold', etc. A #GtkWidget that is part of @fontsel This returns the #GtkEntry used to allow the user to edit the font number manually instead of selecting it from the list of font sizes. A #GtkWidget that is part of @fontsel This returns the #GtkTreeeView used to list font sizes. A #GtkWidget that is part of @fontsel This returns the #GtkEntry used to display the font as a preview. A #GtkWidget that is part of @fontsel Gets the #PangoFontFamily representing the selected font family. family. Font families are a collection of font faces. The returned object is owned by @fontsel and must not be modified or freed. A #PangoFontFamily representing the selected font Gets the #PangoFontFace representing the selected font group details (i.e. family, slant, weight, width, etc). group details. The returned object is owned by @fontsel and must not be modified or freed. A #PangoFontFace representing the selected font The selected font size. or -1 if no font size is selected. A n integer representing the selected font size, Gets the currently-selected font name. Note that this can be a different string than what you set with gtk_font_selection_set_font_name(), as the font selection widget may normalize font names and thus return a string with a different structure. For example, "Helvetica Italic Bold 12" could be normalized to "Helvetica Bold Italic 12". Use pango_font_description_equal() if you want to compare two font descriptions. no font is selected. You must free this string with g_free(). A string with the name of the current font, or %NULL if Gets the currently-selected font. A #GdkFont. Sets the currently-selected font. Note that the @fontsel needs to know the screen in which it will appear for this to work; this can be guaranteed by simply making sure that the such font exists or if the @fontsel doesn't belong to a particular screen yet. %TRUE if the font could be set successfully; %FALSE if no a font name like "Helvetica 12" or "Times Bold 18" Gets the text displayed in the preview area. This string is owned by the widget and should not be modified or freed the text displayed in the preview area. Sets the text displayed in the preview area. The @text is used to show how the selected font looks. the text to display in the preview area Creates a new #GtkFontSelectionDialog. a new #GtkFontSelectionDialog the title of the dialog window Gets the 'OK' button. the #GtkWidget used in the dialog for the 'OK' button. Obtains a button. The button doesn't have any function. a #GtkWidget Gets the 'Cancel' button. the #GtkWidget used in the dialog for the 'Cancel' button. Gets the currently-selected font name. Note that this can be a different string than what you set with gtk_font_selection_dialog_set_font_name(), as the font selection widget may normalize font names and thus return a string with a different structure. For example, "Helvetica Italic Bold 12" could be normalized to "Helvetica Bold Italic 12". Use pango_font_description_equal() if you want to compare two font descriptions. font is selected. You must free this string with g_free(). A string with the name of the current font, or %NULL if no Gets the currently-selected font. currently selected font in the dialog, or %NULL if no font is selected the #GdkFont from the #GtkFontSelection for the Sets the currently selected font. %TRUE if the font selected in @fsd is now the a font name like "Helvetica 12" or "Times Bold 18" Gets the text displayed in the preview area. This string is owned by the widget and should not be modified or freed the text displayed in the preview area. Sets the text displayed in the preview area. the text to display in the preview area Creates a new #GtkFrame, with optional label @label. If @label is %NULL, the label is omitted. a new #GtkFrame widget the text to use as the label of the frame Sets the text of the label. If @label is %NULL, the current label is removed. the text to use as the label of the frame If the frame's label widget is a #GtkLabel, returns the text in the label widget. (The frame will have a #GtkLabel for the label widget if a non-%NULL argument was passed to gtk_frame_new().) was no label widget or the lable widget was not a #GtkLabel. This string is owned by GTK+ and must not be modified or freed. the text in the label, or %NULL if there Sets the label widget for the frame. This is the widget that will appear embedded in the top edge of the frame as a title. the new label widget Retrieves the label widget for the frame. See gtk_frame_set_label_widget(). the label widget, or %NULL if there is none. Sets the alignment of the frame widget's label. The default values for a newly created frame are 0.0 and 0.5. The position of the label along the top edge of the widget. A value of 0.0 represents left alignment; 1.0 represents right alignment. The y alignment of the label. A value of 0.0 aligns under the frame; 1.0 aligns above the frame. If the values are exactly 0.0 or 1.0 the gap in the frame won't be painted because the label will be completely above or below the frame. Retrieves the X and Y alignment of the frame's label. See gtk_frame_set_label_align(). location to store X alignment of frame's label, or %NULL location to store X alignment of frame's label, or %NULL Sets the shadow type for @frame. the new #GtkShadowType Retrieves the shadow type of the frame. See gtk_frame_set_shadow_type(). the current shadow type of the frame. Creates a new #GtkHBox. a new #GtkHBox. %TRUE if all children are to be given equal space allotments. the number of pixels to place by default between children. Creates a new HSV color selector. A newly-created HSV color selector. Converts a color from HSV space to RGB. Input values must be in the [0.0, 1.0] range; output values will be in the same range. Hue Saturation Value Return value for the red component Return value for the green component Return value for the blue component Sets the current color in an HSV color selector. Color component values must be in the [0.0, 1.0] range. Hue Saturation Value Queries the current color in an HSV color selector. Returned values will be in the [0.0, 1.0] range. Return value for the hue Return value for the saturation Return value for the value Sets the size and ring width of an HSV color selector. Diameter for the hue ring Width of the hue ring Queries the size and ring width of an HSV color selector. Return value for the diameter of the hue ring Return value for the width of the hue ring An HSV color selector can be said to be adjusting if multiple rapid changes are being made to its value, for example, when the user is adjusting the value with the mouse. This function queries whether the HSV color selector is being adjusted or not. since they may be transitory, or %FALSE if they should consider the color value status to be final. %TRUE if clients can ignore changes to the color value, Creates a new horizontal scale widget that lets the user input a number between @min and @max (including @min and @max) with the increment @step. @step must be nonzero; it's the distance the slider moves when using the arrow keys to adjust the scale value. Note that the way in which the precision is derived works best if @step is a power of ten. If the resulting precision is not suitable for your needs, use gtk_scale_set_digits() to correct it. a new #GtkHScale minimum value maximum value step increment (tick size) used with keyboard shortcuts Creates a new horizontal scrollbar. the new #GtkHScrollbar the #GtkAdjustment to use, or %NULL to create a new adjustment Gets the type of shadow drawn around the handle box. See gtk_handle_box_set_shadow_type(). the type of shadow currently drawn around the handle box. Gets the handle position of the handle box. See gtk_handle_box_set_handle_position(). the current handle position. Gets the edge used for determining reattachment of the handle box. See gtk_handle_box_set_snap_edge(). is determined (as per default) from the handle position. the edge used for determining reattachment, or (GtkPositionType)-1 if this Whether the handlebox's child is currently detached. %TRUE if the child is currently detached, otherwise %FALSE Set the client window for the input context; this is the #GdkWindow in which the input appears. This window is used in order to correctly position status windows, and may also be used for purposes internal to the input method. the client window. This may be %NULL to indicate that the previous client window no longer exists. Retrieve the current preedit string for the input context, and a list of attributes to apply to the string. This string should be displayed inserted at the insertion point. location to store the retrieved string. The string retrieved must be freed with g_free (). location to store the retrieved attribute list. When you are done with this list, you must unreference it with pango_attr_list_unref(). location to store position of cursor (in characters) within the preedit string. Allow an input method to internally handle key press and release events. If this function returns %TRUE, then no further processing should be done for this key event. %TRUE if the input method handled the key event. the key event Notify the input method that the widget to which this input context corresponds has gained focus. The input method may, for example, change the displayed feedback to reflect this change. Notify the input method that the widget to which this input context corresponds has lost focus. The input method may, for example, change the displayed feedback or reset the contexts state to reflect this change. Notify the input method that a change such as a change in cursor position has been made. This will typically cause the input method to clear the preedit state. Notify the input method that a change in cursor position has been made. The location is relative to the client window. new location Sets whether the IM context should use the preedit string to display feedback. If @use_preedit is FALSE (default is TRUE), then the IM context may use some other method to display feedback, such as displaying it in a child of the root window. whether the IM context should use the preedit string. Sets surrounding context around the insertion point and preedit string. This function is expected to be called in response to the GtkIMContext::retrieve_surrounding signal, and will likely have no effect if called at other times. text surrounding the insertion point, as UTF-8. the preedit string should not be included within the length of @text, or -1 if @text is nul-terminated the byte index of the insertion cursor within @text. Retrieves context around the insertion point. Input methods typically want context in order to constrain input text based on existing text; this is important for languages such as Thai where only some sequences of characters are allowed. This function is implemented by emitting the GtkIMContext::retrieve_surrounding signal on the input method; in response to this signal, a widget should provide as much context as is available, up to an entire paragraph, by calling gtk_im_context_set_surrounding(). Note that there is no obligation for a widget to respond to the ::retrieve_surrounding signal, so input methods must be prepared to function without context. you must free the result stored in *text. %TRUE if surrounding text was provided; in this case location to store a UTF-8 encoded string of text holding context around the insertion point. If the function returns %TRUE, then you must free the result stored in this location with g_free(). location to store byte index of the insertion cursor within @text. Set the client window for the input context; this is the #GdkWindow in which the input appears. This window is used in order to correctly position status windows, and may also be used for purposes internal to the input method. the client window. This may be %NULL to indicate that the previous client window no longer exists. Retrieve the current preedit string for the input context, and a list of attributes to apply to the string. This string should be displayed inserted at the insertion point. location to store the retrieved string. The string retrieved must be freed with g_free (). location to store the retrieved attribute list. When you are done with this list, you must unreference it with pango_attr_list_unref(). location to store position of cursor (in characters) within the preedit string. Allow an input method to internally handle key press and release events. If this function returns %TRUE, then no further processing should be done for this key event. %TRUE if the input method handled the key event. the key event Notify the input method that the widget to which this input context corresponds has gained focus. The input method may, for example, change the displayed feedback to reflect this change. Notify the input method that the widget to which this input context corresponds has lost focus. The input method may, for example, change the displayed feedback or reset the contexts state to reflect this change. Notify the input method that a change such as a change in cursor position has been made. This will typically cause the input method to clear the preedit state. Notify the input method that a change in cursor position has been made. The location is relative to the client window. new location Sets whether the IM context should use the preedit string to display feedback. If @use_preedit is FALSE (default is TRUE), then the IM context may use some other method to display feedback, such as displaying it in a child of the root window. whether the IM context should use the preedit string. Sets surrounding context around the insertion point and preedit string. This function is expected to be called in response to the GtkIMContext::retrieve_surrounding signal, and will likely have no effect if called at other times. text surrounding the insertion point, as UTF-8. the preedit string should not be included within the length of @text, or -1 if @text is nul-terminated the byte index of the insertion cursor within @text. Retrieves context around the insertion point. Input methods typically want context in order to constrain input text based on existing text; this is important for languages such as Thai where only some sequences of characters are allowed. This function is implemented by emitting the GtkIMContext::retrieve_surrounding signal on the input method; in response to this signal, a widget should provide as much context as is available, up to an entire paragraph, by calling gtk_im_context_set_surrounding(). Note that there is no obligation for a widget to respond to the ::retrieve_surrounding signal, so input methods must be prepared to function without context. you must free the result stored in *text. %TRUE if surrounding text was provided; in this case location to store a UTF-8 encoded string of text holding context around the insertion point. If the function returns %TRUE, then you must free the result stored in this location with g_free(). location to store byte index of the insertion cursor within @text. Asks the widget that the input context is attached to to delete characters around the cursor position by emitting the GtkIMContext::delete_surrounding signal. Note that @offset and @n_chars are in characters not in bytes which differs from the usage other places in #GtkIMContext. In order to use this function, you should first call gtk_im_context_get_surrounding() to get the current context, and call this function immediately afterwards to make sure that you know what you are deleting. You should also account for the fact that even if the signal was handled, the input context might not have deleted all the characters that were requested to be deleted. This function is used by an input method that wants to make subsitutions in the existing text in response to new input. It is not useful for applications. %TRUE if the signal was handled. offset from cursor position in chars; a negative value means start before the cursor. number of characters to delete. The ::commit signal is emitted when a complete input sequence has been entered by the user. This can be a single character immediately after a key press or the final result of preediting. the completed character(s) entered by the user The ::delete-surrounding signal is emitted when the input method needs to delete all or part of the context surrounding the cursor. %TRUE if the signal was handled. the character offset from the cursor position of the text to be deleted. A negative value indicates a position before the cursor. the number of characters to be deleted The ::preedit-changed signal is emitted whenever the preedit sequence currently being entered has changed. It is also emitted at the end of a preedit sequence, in which case gtk_im_context_get_preedit_string() returns the empty string. The ::preedit-end signal is emitted when a preediting sequence has been completed or canceled. The ::preedit-start signal is emitted when a new preediting sequence starts. The ::retrieve-surrounding signal is emitted when the input method requires the context surrounding the cursor. The callback should set the input method surrounding context by calling the gtk_im_context_set_surrounding() method. %TRUE if the signal was handled. the client window. This may be %NULL to indicate that the previous client window no longer exists. location to store the retrieved string. The string retrieved must be freed with g_free (). location to store the retrieved attribute list. When you are done with this list, you must unreference it with pango_attr_list_unref(). location to store position of cursor (in characters) within the preedit string. %TRUE if the input method handled the key event. the key event new location whether the IM context should use the preedit string. text surrounding the insertion point, as UTF-8. the preedit string should not be included within the length of @text, or -1 if @text is nul-terminated the byte index of the insertion cursor within @text. %TRUE if surrounding text was provided; in this case location to store a UTF-8 encoded string of text holding context around the insertion point. If the function returns %TRUE, then you must free the result stored in this location with g_free(). location to store byte index of the insertion cursor within @text. Bookkeeping information about a loadable input method. Adds an additional table to search to the input context. Each row of the table consists of @max_seq_len key symbols followed by two #guint16 interpreted as the high and low words of a #gunicode value. Tables are searched starting from the last added. The table must be sorted in dictionary order on the numeric value of the key symbol fields. (Values beyond the length of the sequence should be zero.) the table Maximum length of a sequence in the table (cannot be greater than #GTK_MAX_COMPOSE_LEN) number of sequences in the table Creates a new #GtkIMMulticontext. a new #GtkIMMulticontext. Add menuitems for various available input methods to a menu; the menuitems, when selected, will switch the input method for the context and the global default input method. a #GtkMenuShell Gets the id of the currently active slave of the @context. the id of the currently active slave Sets the context id for @context. This causes the currently active slave of @context to be replaced by the slave corresponding to the new context id. the id to use Creates a new #GtkIconFactory. An icon factory manages a collection of #GtkIconSet<!-- -->s; a #GtkIconSet manages a set of variants of a particular icon (i.e. a #GtkIconSet contains variants for different sizes and widget states). Icons in an icon factory are named by a stock ID, which is a simple string identifying the icon. Each #GtkStyle has a list of #GtkIconFactory<!-- -->s derived from the current theme; those icon factories are consulted first when searching for an icon. If the theme doesn't set a particular icon, GTK+ looks for the icon in a list of default icon factories, maintained by gtk_icon_factory_add_default() and gtk_icon_factory_remove_default(). Applications with icons should add a default icon factory with their icons, which will allow themes to override the icons for the application. a new #GtkIconFactory Looks for an icon in the list of default icon factories. For display to the user, you should use gtk_style_lookup_icon_set() on the #GtkStyle for the widget that will display the icon, instead of using this function directly, so that themes are taken into account. a #GtkIconSet, or %NULL an icon name Adds the given @icon_set to the icon factory, under the name e.g. "myapp-whatever-icon". Normally applications create a #GtkIconFactory, then add it to the list of default factories with gtk_icon_factory_add_default(). Then they pass the @stock_id to widgets such as #GtkImage to display the icon. Themes can provide an icon with the same name (such as "myapp-whatever-icon") to override your application's default icons. If an icon already existed in @factory for @stock_id, it is unreferenced and replaced with the new @icon_set. icon name icon set Looks up @stock_id in the icon factory, returning an icon set if found, otherwise %NULL. For display to the user, you should use gtk_style_lookup_icon_set() on the #GtkStyle for the widget that will display the icon, instead of using this function directly, so that themes are taken into account. icon set of @stock_id. an icon name Adds an icon factory to the list of icon factories searched by gtk_style_lookup_icon_set(). This means that, for example, gtk_image_new_from_stock() will be able to find icons in @factory. There will normally be an icon factory added for each library or application that comes with icons. The default icon factories can be overridden by themes. Removes an icon factory from the list of default icon factories. Not normally used; you might use it for a library that can be unloaded or shut down. Creates a #GtkIconInfo for a #GdkPixbuf. a #GtkIconInfo a #GtkIconTheme the pixbuf to wrap in a #GtkIconInfo Make a copy of a #GtkIconInfo. the new GtkIconInfo Free a #GtkIconInfo and associated information Gets the base size for the icon. The base size is a size for the icon that was specified by the icon theme creator. This may be different than the actual size of image; an example of this is small emblem icons that can be attached to a larger icon. These icons will be given the same base size as the larger icons to which they are attached. size is known for the icon. the base size, or 0, if no base Gets the filename for the icon. If the %GTK_ICON_LOOKUP_USE_BUILTIN flag was passed to gtk_icon_theme_lookup_icon(), there may be no filename if a builtin icon is returned; in this case, you should use gtk_icon_info_get_builtin_pixbuf(). if gtk_icon_info_get_builtin_pixbuf() should be used instead. The return value is owned by GTK+ and should not be modified or freed. the filename for the icon, or %NULL Gets the built-in image for this icon, if any. To allow GTK+ to use built in icon images, you must pass the %GTK_ICON_LOOKUP_USE_BUILTIN to gtk_icon_theme_lookup_icon(). extra reference is added to the returned pixbuf, so if you want to keep it around, you must use g_object_ref(). The returned image must not be modified. the built-in image pixbuf, or %NULL. No Renders an icon previously looked up in an icon theme using gtk_icon_theme_lookup_icon(); the size will be based on the size passed to gtk_icon_theme_lookup_icon(). Note that the resulting pixbuf may not be exactly this size; an icon theme may have icons that differ slightly from their nominal sizes, and in addition GTK+ will avoid scaling icons that it considers sufficiently close to the requested size or for which the source image would have to be scaled up too far. (This maintains sharpness.). This behaviour can be changed by passing the %GTK_ICON_LOOKUP_FORCE_SIZE flag when obtaining the #GtkIconInfo. If this flag has been specified, the pixbuf returned by this function will be scaled to the exact size. or a new reference to an internal icon, so you must not modify the icon. Use g_object_unref() to release your reference to the icon. the rendered icon; this may be a newly created icon Sets whether the coordinates returned by gtk_icon_info_get_embedded_rect() and gtk_icon_info_get_attach_points() should be returned in their original form as specified in the icon theme, instead of scaled appropriately for the pixbuf returned by gtk_icon_info_load_icon(). Raw coordinates are somewhat strange; they are specified to be with respect to the unscaled pixmap for PNG and XPM icons, but for SVG icons, they are in a 1000x1000 coordinate space that is scaled to the final size of the icon. You can determine if the icon is an SVG icon by using gtk_icon_info_get_filename(), and seeing if it is non-%NULL and ends in '.svg'. This function is provided primarily to allow compatibility wrappers for older API's, and is not expected to be useful for applications. whether the coordinates of embedded rectangles and attached points should be returned in their original (unscaled) form. Gets the coordinates of a rectangle within the icon that can be used for display of information such as a preview of the contents of a text file. See gtk_icon_info_set_raw_coordinates() for further information about the coordinate system. %TRUE if the icon has an embedded rectangle #GdkRectangle in which to store embedded rectangle coordinates; coordinates are only stored when this function returns %TRUE. Fetches the set of attach points for an icon. An attach point is a location in the icon that can be used as anchor points for attaching emblems or overlays to the icon. %TRUE if there are any attach points for the icon. location to store pointer to an array of points, or %NULL free the array of points with g_free(). location to store the number of points in @points, or %NULL Gets the display name for an icon. A display name is a string to be used in place of the icon name in a user visible context like a list of icons. the icon doesn't have a specified display name. This value is owned @icon_info and must not be modified or free. the display name for the icon or %NULL, if Used to specify options for gtk_icon_theme_lookup_icon() Creates a new #GtkIconSet. A #GtkIconSet represents a single icon in various sizes and widget states. It can provide a #GdkPixbuf for a given size and state on request, and automatically caches some of the rendered #GdkPixbuf objects. Normally you would use gtk_widget_render_icon() instead of using #GtkIconSet directly. The one case where you'd use #GtkIconSet is to create application-specific icon sets to place in a #GtkIconFactory. a new #GtkIconSet Creates a new #GtkIconSet with @pixbuf as the default/fallback source image. If you don't add any additional #GtkIconSource to the icon set, all variants of the icon will be created from @pixbuf, using scaling, pixelation, etc. as required to adjust the icon size or make the icon look insensitive/prelighted. a new #GtkIconSet a #GdkPixbuf Increments the reference count on @icon_set. @icon_set. Decrements the reference count on @icon_set, and frees memory if the reference count reaches 0. Copies @icon_set by value. a new #GtkIconSet identical to the first. Renders an icon using gtk_style_render_icon(). In most cases, gtk_widget_render_icon() is better, since it automatically provides most of the arguments from the current widget settings. This function never returns %NULL; if the icon can't be rendered (perhaps because an image file fails to load), a default "missing image" icon will be returned instead. a #GdkPixbuf to be displayed a #GtkStyle associated with @widget, or %NULL text direction widget state icon size. A size of (GtkIconSize)-1 means render at the size of the source and don't scale. widget that will display the icon, or %NULL. The only use that is typically made of this is to determine the appropriate #GdkScreen. detail to pass to the theme engine, or %NULL. Note that passing a detail of anything but %NULL will disable caching. Icon sets have a list of #GtkIconSource, which they use as base icons for rendering icons in different states and sizes. Icons are scaled, made to look insensitive, etc. in gtk_icon_set_render_icon(), but #GtkIconSet needs base images to work with. The base images and when to use them are described by a #GtkIconSource. This function copies @source, so you can reuse the same source immediately without affecting the icon set. to Previous Page" icon might point in a different direction in Hebrew and in English; it might look different when insensitive; and it might change size depending on toolbar mode (small/large icons). So a single icon set would contain all those variants of the icon, and you might add a separate source for each one. You should nearly always add a "default" icon source with all fields wildcarded, which will be used as a fallback if no more specific source matches. #GtkIconSet always prefers more specific icon sources to more generic icon sources. The order in which you add the sources to the icon set does not matter. gtk_icon_set_new_from_pixbuf() creates a new icon set with a default icon source based on the given pixbuf. a #GtkIconSource Obtains a list of icon sizes this icon set can render. The returned array must be freed with g_free(). return location for array of sizes location to store number of elements in returned array Creates a new #GtkIconSource. A #GtkIconSource contains a #GdkPixbuf (or image filename) that serves as the base image for one or more of the icons in a #GtkIconSet, along with a specification for which icons in the icon set will be based on that pixbuf or image file. An icon set contains a set of icons that represent "the same" logical concept in different states, different global text directions, and different sizes. So for example a web browser's "Back to Previous Page" icon might point in a different direction in Hebrew and in English; it might look different when insensitive; and it might change size depending on toolbar mode (small/large icons). So a single icon set would contain all those variants of the icon. #GtkIconSet contains a list of #GtkIconSource from which it can derive specific icon variants in the set. In the simplest case, #GtkIconSet contains one source pixbuf from which it derives all variants. The convenience function gtk_icon_set_new_from_pixbuf() handles this case; if you only have one source pixbuf, just use that function. If you want to use a different base pixbuf for different icon variants, you create multiple icon sources, mark which variants they'll be used to create, and add them to the icon set with gtk_icon_set_add_source(). By default, the icon source has all parameters wildcarded. That is, the icon source will be used as the base icon for any desired text direction, widget state, or icon size. a new #GtkIconSource Creates a copy of @source; mostly useful for language bindings. a new #GtkIconSource Frees a dynamically-allocated icon source, along with its filename, size, and pixbuf fields if those are not %NULL. Sets the name of an image file to use as a base image when creating icon variants for #GtkIconSet. The filename must be absolute. image file to use Sets a pixbuf to use as a base image when creating icon variants for #GtkIconSet. pixbuf to use as a source Retrieves the source filename, or %NULL if none is set. The filename is not a copy, and should not be modified or expected to persist beyond the lifetime of the icon source. or freed. image filename. This string must not be modified Retrieves the source icon name, or %NULL if none is set. The icon_name is not a copy, and should not be modified or expected to persist beyond the lifetime of the icon source. icon name. This string must not be modified or freed. Retrieves the source pixbuf, or %NULL if none is set. In addition, if a filename source is in use, this function in some cases will return the pixbuf from loaded from the filename. This is, for example, true for the GtkIconSource passed to the GtkStyle::render_icon() virtual function. The reference count on the pixbuf is not incremented. source pixbuf If the text direction is wildcarded, this source can be used as the base image for an icon in any #GtkTextDirection. If the text direction is not wildcarded, then the text direction the icon source applies to should be set with gtk_icon_source_set_direction(), and the icon source will only be used with that text direction. #GtkIconSet prefers non-wildcarded sources (exact matches) over wildcarded sources, and will use an exact match when possible. %TRUE to wildcard the text direction If the widget state is wildcarded, this source can be used as the base image for an icon in any #GtkStateType. If the widget state is not wildcarded, then the state the source applies to should be set with gtk_icon_source_set_state() and the icon source will only be used with that specific state. #GtkIconSet prefers non-wildcarded sources (exact matches) over wildcarded sources, and will use an exact match when possible. #GtkIconSet will normally transform wildcarded source images to produce an appropriate icon for a given state, for example lightening an image on prelight, but will not modify source images that match exactly. %TRUE to wildcard the widget state If the icon size is wildcarded, this source can be used as the base image for an icon of any size. If the size is not wildcarded, then the size the source applies to should be set with gtk_icon_source_set_size() and the icon source will only be used with that specific size. #GtkIconSet prefers non-wildcarded sources (exact matches) over wildcarded sources, and will use an exact match when possible. #GtkIconSet will normally scale wildcarded source images to produce an appropriate icon at a given size, but will not change the size of source images that match exactly. %TRUE to wildcard the widget state Gets the value set by gtk_icon_source_set_size_wildcarded(). %TRUE if this icon source is a base for any icon size variant Gets the value set by gtk_icon_source_set_state_wildcarded(). %TRUE if this icon source is a base for any widget state variant Gets the value set by gtk_icon_source_set_direction_wildcarded(). %TRUE if this icon source is a base for any text direction variant Sets the text direction this icon source is intended to be used with. Setting the text direction on an icon source makes no difference if the text direction is wildcarded. Therefore, you should usually call gtk_icon_source_set_direction_wildcarded() to un-wildcard it in addition to calling this function. text direction this source applies to Sets the widget state this icon source is intended to be used with. Setting the widget state on an icon source makes no difference if the state is wildcarded. Therefore, you should usually call gtk_icon_source_set_state_wildcarded() to un-wildcard it in addition to calling this function. widget state this source applies to Sets the icon size this icon source is intended to be used with. Setting the icon size on an icon source makes no difference if the size is wildcarded. Therefore, you should usually call gtk_icon_source_set_size_wildcarded() to un-wildcard it in addition to calling this function. icon size this source applies to Obtains the text direction this icon source applies to. The return value is only useful/meaningful if the text direction is <emphasis>not</emphasis> wildcarded. text direction this source matches Obtains the widget state this icon source applies to. The return value is only useful/meaningful if the widget state is <emphasis>not</emphasis> wildcarded. widget state this source matches Obtains the icon size this source applies to. The return value is only useful/meaningful if the icon size is <emphasis>not</emphasis> wildcarded. icon size this source matches. Creates a new icon theme object. Icon theme objects are used to lookup up an icon by name in a particular icon theme. Usually, you'll want to use gtk_icon_theme_get_default() or gtk_icon_theme_get_for_screen() rather than creating a new icon theme object for scratch. the newly created #GtkIconTheme object. Gets the icon theme for the default screen. See gtk_icon_theme_get_for_screen(). the default screen. This icon theme is associated with the screen and can be used as long as the screen is open. Do not ref or unref it. A unique #GtkIconTheme associated with Gets the icon theme object associated with @screen; if this function has not previously been called for the given screen, a new icon theme object will be created and associated with the screen. Icon theme objects are fairly expensive to create, so using this function is usually a better choice than calling than gtk_icon_theme_new() and setting the screen yourself; by using this function a single icon theme object will be shared between users. the given screen. This icon theme is associated with the screen and can be used as long as the screen is open. Do not ref or unref it. A unique #GtkIconTheme associated with a #GdkScreen Registers a built-in icon for icon theme lookups. The idea of built-in icons is to allow an application or library that uses themed icons to function requiring files to be present in the file system. For instance, the default images for all of GTK+'s stock icons are registered as built-icons. In general, if you use gtk_icon_theme_add_builtin_icon() you should also install the icon in the icon theme, so that the icon is generally available. This function will generally be used with pixbufs loaded via gdk_pixbuf_new_from_inline(). the name of the icon to register the size at which to register the icon (different images can be registered for the same icon name at different sizes.) #GdkPixbuf that contains the image to use for @icon_name. Sets the screen for an icon theme; the screen is used to track the user's currently configured icon theme, which might be different for different screens. a #GdkScreen Sets the search path for the icon theme object. When looking for an icon theme, GTK+ will search for a subdirectory of one or more of the directories in @path with the same name as the icon theme. (Themes from multiple of the path elements are combined to allow themes to be extended by adding icons in the user's home directory.) In addition if an icon found isn't found either in the current icon theme or the default icon theme, and an image file with the right name is found directly in one of the elements of (This is legacy feature, and new icons should be put into the default icon theme, which is called DEFAULT_THEME_NAME, rather than directly on the icon path.) array of directories that are searched for icon themes number of elements in @path. Gets the current search path. See gtk_icon_theme_set_search_path(). location to store a list of icon theme path directories or %NULL The stored value should be freed with g_strfreev(). location to store number of elements in @path, or %NULL Appends a directory to the search path. See gtk_icon_theme_set_search_path(). directory name to append to the icon path Prepends a directory to the search path. See gtk_icon_theme_set_search_path(). directory name to prepend to the icon path Sets the name of the icon theme that the #GtkIconTheme object uses overriding system configuration. This function cannot be called on the icon theme objects returned from gtk_icon_theme_get_default() and gtk_icon_theme_get_for_screen(). name of icon theme to use instead of configured theme, or %NULL to unset a previously set custom theme Checks whether an icon theme includes an icon for a particular name. icon for @icon_name. %TRUE if @icon_theme includes an the name of an icon Returns an array of integers describing the sizes at which the icon is available without scaling. A size of -1 means that the icon is available in a scalable format. The array is zero-terminated. which the icon is available. The array should be freed with g_free() when it is no longer needed. An newly allocated array describing the sizes at the name of an icon Looks up a named icon and returns a structure containing information such as the filename of the icon. The icon can then be rendered into a pixbuf using gtk_icon_info_load_icon(). (gtk_icon_theme_load_icon() combines these two steps if all you need is the pixbuf.) about the icon, or %NULL if the icon wasn't found. Free with gtk_icon_info_free() a #GtkIconInfo structure containing information the name of the icon to lookup desired icon size flags modifying the behavior of the icon lookup Looks up a named icon and returns a structure containing information such as the filename of the icon. The icon can then be rendered into a pixbuf using gtk_icon_info_load_icon(). (gtk_icon_theme_load_icon() combines these two steps if all you need is the pixbuf.) If @icon_names contains more than one name, this function tries them all in the given order before falling back to inherited icon themes. about the icon, or %NULL if the icon wasn't found. Free with gtk_icon_info_free() a #GtkIconInfo structure containing information %NULL-terminated array of icon names to lookup desired icon size flags modifying the behavior of the icon lookup Looks up an icon in an icon theme, scales it to the given size and renders it into a pixbuf. This is a convenience function; if more details about the icon are needed, use gtk_icon_theme_lookup_icon() followed by gtk_icon_info_load_icon(). Note that you probably want to listen for icon theme changes and update the icon. This is usually done by connecting to the GtkWidget::style-set signal. If for some reason you do not want to update the icon when the icon theme changes, you should consider using gdk_pixbuf_copy() to make a private copy of the pixbuf returned by this function. Otherwise GTK+ may need to keep the old icon theme loaded, which would be a waste of memory. or a new reference to an internal icon, so you must not modify the icon. Use g_object_unref() to release your reference to the icon. %NULL if the icon isn't found. the rendered icon; this may be a newly created icon the name of the icon to lookup the desired icon size. The resulting icon may not be exactly this size; see gtk_icon_info_load_icon(). flags modifying the behavior of the icon lookup Looks up an icon and returns a structure containing information such as the filename of the icon. The icon can then be rendered into a pixbuf using gtk_icon_info_load_icon(). information about the icon, or %NULL if the icon wasn't found. Free with gtk_icon_info_free() a #GtkIconInfo structure containing the #GIcon to look up desired icon size flags modifying the behavior of the icon lookup Lists the icons in the current icon theme. Only a subset of the icons can be listed by providing a context string. The set of values for the context string is system dependent, but will typically include such values as "Applications" and "MimeTypes". icons in the theme. You must first free each element in the list with g_free(), then free the list itself with g_list_free(). a #GList list holding the names of all the a string identifying a particular type of icon, or %NULL to list all icons. Gets the list of contexts available within the current hierarchy of icon themes contexts in the theme. You must first free each element in the list with g_free(), then free the list itself with g_list_free(). a #GList list holding the names of all the Gets the name of an icon that is representative of the current theme (for instance, to use when presenting a list of themes to the user.) Free with g_free(). the name of an example icon or %NULL. Checks to see if the icon theme has changed; if it has, any currently cached information is discarded and will be reloaded next time @icon_theme is accessed. to be reloaded. %TRUE if the icon theme has changed and needed Error codes for GtkIconTheme operations. Creates a new #GtkIconView widget A newly created #GtkIconView widget Creates a new #GtkIconView widget with the model @model. A newly created #GtkIconView widget. The model. Sets the model for a #GtkIconView. If the @icon_view already has a model set, it will remove it before setting the new model. If @model is %NULL, then it will unset the old model. The model. Returns the model the #GtkIconView is based on. Returns %NULL if the model is unset. A #GtkTreeModel, or %NULL if none is currently being used. Sets the column with text for @icon_view to be @column. The text column must be of type #G_TYPE_STRING. A column in the currently used model, or -1 to display no text Returns the column with text for @icon_view. the text column, or -1 if it's unset. Sets the column with markup information for @icon_view to be If the markup column is set to something, it overrides the text column set by gtk_icon_view_set_text_column(). A column in the currently used model, or -1 to display no text Returns the column with markup text for @icon_view. the markup column, or -1 if it's unset. Sets the column with pixbufs for @icon_view to be @column. The pixbuf column must be of type #GDK_TYPE_PIXBUF A column in the currently used model, or -1 to disable Returns the column with pixbufs for @icon_view. the pixbuf column, or -1 if it's unset. Sets the ::orientation property which determines whether the labels are drawn beside the icons instead of below. the relative position of texts and icons Returns the value of the ::orientation property which determines whether the labels are drawn beside the icons instead of below. the relative position of texts and icons Sets the ::columns property which determines in how many columns the icons are arranged. If @columns is -1, the number of columns will be chosen automatically to fill the available area. the number of columns Returns the value of the ::columns property. the number of columns, or -1 Sets the ::item-width property which specifies the width to use for each item. If it is set to -1, the icon view will automatically determine a suitable item size. the width for each item Returns the value of the ::item-width property. the width of a single item, or -1 Sets the ::spacing property which specifies the space which is inserted between the cells (i.e. the icon and the text) of an item. the spacing Returns the value of the ::spacing property. the space between cells Sets the ::row-spacing property which specifies the space which is inserted between the rows of the icon view. the row spacing Returns the value of the ::row-spacing property. the space between rows Sets the ::column-spacing property which specifies the space which is inserted between the columns of the icon view. the column spacing Returns the value of the ::column-spacing property. the space between columns Sets the ::margin property which specifies the space which is inserted at the top, bottom, left and right of the icon view. the margin Returns the value of the ::margin property. the space at the borders Sets the #GtkIconView:item-padding property which specifies the padding around each of the icon view's items. the item padding Returns the value of the ::item-padding property. the padding around items Finds the path at the point (@x, @y), relative to bin_window coordinates. See gtk_icon_view_get_item_at_pos(), if you are also interested in the cell at the specified position. See gtk_icon_view_convert_widget_to_bin_window_coords() for converting widget coordinates to bin_window coordinates. if no icon exists at that position. The #GtkTreePath corresponding to the icon or %NULL The x position to be identified The y position to be identified Finds the path at the point (@x, @y), relative to bin_window coordinates. In contrast to gtk_icon_view_get_path_at_pos(), this function also obtains the cell at the specified position. The returned path should be freed with gtk_tree_path_free(). See gtk_icon_view_convert_widget_to_bin_window_coords() for converting widget coordinates to bin_window coordinates. %TRUE if an item exists at the specified position The x position to be identified The y position to be identified Return location for the path, or %NULL Return location for the renderer responsible for the cell at (@x, @y), or %NULL Sets @start_path and @end_path to be the first and last visible path. Note that there may be invisible paths in between. Both paths should be freed with gtk_tree_path_free() after use. %TRUE, if valid paths were placed in @start_path and @end_path Return location for start of region, or %NULL Return location for end of region, or %NULL Calls a function for each selected icon. Note that the model or selection cannot be modified from within this function. The funcion to call for each selected icon. User data to pass to the function. Sets the selection mode of the @icon_view. The selection mode Gets the selection mode of the @icon_view. the current selection mode Selects the row at @path. The #GtkTreePath to be selected. Unselects the row at @path. The #GtkTreePath to be unselected. Returns %TRUE if the icon pointed to by @path is currently selected. If @path does not point to a valid location, %FALSE is returned. %TRUE if @path is selected. A #GtkTreePath to check selection on. Creates a list of paths of all selected items. Additionally, if you are planning on modifying the model after calling this function, you may want to convert the returned list into a list of #GtkTreeRowReference<!-- -->s. To do this, you can use gtk_tree_row_reference_new(). To free the return value, use: |[ g_list_foreach (list, (GFunc)gtk_tree_path_free, NULL); g_list_free (list); ]| A #GList containing a #GtkTreePath for each selected row. Selects all the icons. @icon_view must has its selection mode set to #GTK_SELECTION_MULTIPLE. Unselects all the icons. Activates the item determined by @path. The #GtkTreePath to be activated Sets the current keyboard focus to be at @path, and selects it. This is useful when you want to focus the user's attention on a particular item. If @cell is not %NULL, then focus is given to the cell specified by it. Additionally, if @start_editing is %TRUE, then editing should be started in the specified cell. This function is often followed by <literal>gtk_widget_grab_focus (icon_view)</literal> in order to give keyboard focus to the widget. Please note that editing can only happen when the widget is realized. A #GtkTreePath One of the cell renderers of @icon_view, or %NULL %TRUE if the specified cell should start being edited. Fills in @path and @cell with the current cursor path and cell. If the cursor isn't currently set, then *@path will be %NULL. If no cell currently has focus, then *@cell will be %NULL. The returned #GtkTreePath must be freed with gtk_tree_path_free(). %TRUE if the cursor is set. Return location for the current cursor path, or %NULL Return location the current focus cell, or %NULL Moves the alignments of @icon_view to the position specified by @path. where @column is placed. Both are expected to be between 0.0 and 1.0. 0.0 means left/top alignment, 1.0 means right/bottom alignment, 0.5 means center. If @use_align is %FALSE, then the alignment arguments are ignored, and the tree does the minimum amount of work to scroll the item onto the screen. This means that the item will be scrolled to the edge closest to its current position. If the item is currently visible on the screen, nothing is done. This function only works if the model is set, and @path is a valid row on the model. If the model changes before the @icon_view is realized, the centered path will be modified to reflect this change. The path of the item to move to. whether to use alignment arguments, or %FALSE. The vertical alignment of the item specified by @path. The horizontal alignment of the item specified by @path. Turns @icon_view into a drag source for automatic DND. Calling this method sets #GtkIconView:reorderable to %FALSE. Mask of allowed buttons to start drag the table of targets that the drag will support the number of items in @targets the bitmask of possible actions for a drag from this widget Turns @icon_view into a drop destination for automatic DND. Calling this method sets #GtkIconView:reorderable to %FALSE. the table of targets that the drag will support the number of items in @targets the bitmask of possible actions for a drag to this widget Undoes the effect of gtk_icon_view_enable_model_drag_source(). Calling this method sets #GtkIconView:reorderable to %FALSE. Undoes the effect of gtk_icon_view_enable_model_drag_dest(). Calling this method sets #GtkIconView:reorderable to %FALSE. This function is a convenience function to allow you to reorder models that support the #GtkTreeDragSourceIface and the #GtkTreeDragDestIface. Both #GtkTreeStore and #GtkListStore support these. If @reorderable is %TRUE, then the user can reorder the model by dragging and dropping rows. The developer can listen to these changes by connecting to the model's row_inserted and row_deleted signals. The reordering is implemented by setting up the icon view as a drag source and destination. Therefore, drag and drop can not be used in a reorderable view for any other purpose. This function does not give you any degree of control over the order -- any reordering is allowed. If more control is needed, you should probably handle drag and drop manually. %TRUE, if the list of items can be reordered. Retrieves whether the user can reorder the list via drag-and-drop. See gtk_icon_view_set_reorderable(). %TRUE if the list can be reordered. Sets the item that is highlighted for feedback. The path of the item to highlight, or %NULL. Specifies where to drop, relative to the item Gets information about the item that is highlighted for feedback. Return location for the path of the highlighted item, or %NULL. Return location for the drop position, or %NULL Determines the destination item for a given position. whether there is an item at the given position. the position to determine the destination item for the position to determine the destination item for Return location for the path of the item, or %NULL. Return location for the drop position, or %NULL Creates a #GdkPixmap representation of the item at @path. This image is used for a drag icon. a newly-allocated pixmap of the drag icon. a #GtkTreePath in @icon_view Converts widget coordinates to coordinates for the bin_window, as expected by e.g. gtk_icon_view_get_path_at_pos(). X coordinate relative to the widget Y coordinate relative to the widget return location for bin_window X coordinate return location for bin_window Y coordinate Sets the tip area of @tooltip to be the area covered by the item at @path. See also gtk_icon_view_set_tooltip_column() for a simpler alternative. See also gtk_tooltip_set_tip_area(). a #GtkTooltip a #GtkTreePath Sets the tip area of @tooltip to the area which @cell occupies in the item pointed to by @path. See also gtk_tooltip_set_tip_area(). See also gtk_icon_view_set_tooltip_column() for a simpler alternative. a #GtkTooltip a #GtkTreePath a #GtkCellRenderer or %NULL This function is supposed to be used in a #GtkWidget::query-tooltip signal handler for #GtkIconView. The @x, @y and @keyboard_tip values which are received in the signal handler, should be passed to this function without modification. The return value indicates whether there is an icon view item at the given coordinates (%TRUE) or not (%FALSE) for mouse tooltips. For keyboard tooltips the item returned will be the cursor item. When %TRUE, then any of that row and the corresponding model. @x and @y will always be converted to be relative to @icon_view's bin_window if @keyboard_tooltip is %FALSE. whether or not the given tooltip context points to a item the x coordinate (relative to widget coordinates) the y coordinate (relative to widget coordinates) whether this is a keyboard tooltip or not a pointer to receive a #GtkTreeModel or %NULL a pointer to receive a #GtkTreePath or %NULL a pointer to receive a #GtkTreeIter or %NULL If you only plan to have simple (text-only) tooltips on full items, you can use this function to have #GtkIconView handle these automatically for you. @column should be set to the column in @icon_view's model containing the tooltip texts, or -1 to disable this feature. When enabled, #GtkWidget::has-tooltip will be set to %TRUE and an integer, which is a valid column number for @icon_view's model The column-spacing property specifies the space which is inserted between the columns of the icon view. The columns property contains the number of the columns in which the items should be displayed. If it is -1, the number of columns will be chosen automatically to fill the available area. The item-padding property specifies the padding around each of the icon view's item. The item-width property specifies the width to use for each item. If it is set to -1, the icon view will automatically determine a suitable item size. The margin property specifies the space which is inserted at the edges of the icon view. The ::markup-column property contains the number of the model column containing markup information to be displayed. The markup column must be of type #G_TYPE_STRING. If this property and the :text-column property are both set to column numbers, it overrides the text column. If both are set to -1, no texts are displayed. The orientation property specifies how the cells (i.e. the icon and the text) of the item are positioned relative to each other. The ::pixbuf-column property contains the number of the model column containing the pixbufs which are displayed. The pixbuf column must be of type #GDK_TYPE_PIXBUF. Setting this property to -1 turns off the display of pixbufs. The reorderable property specifies if the items can be reordered by DND. The row-spacing property specifies the space which is inserted between the rows of the icon view. The ::selection-mode property specifies the selection mode of icon view. If the mode is #GTK_SELECTION_MULTIPLE, rubberband selection is enabled, for the other modes, only keyboard selection is possible. The spacing property specifies the space which is inserted between the cells (i.e. the icon and the text) of an item. The ::text-column property contains the number of the model column containing the texts which are displayed. The text column must be of type #G_TYPE_STRING. If this property and the :markup-column property are both set to -1, no texts are displayed. A <link linkend="keybinding-signals">keybinding signal</link> which gets emitted when the user activates the currently focused item. Applications should not connect to it, but may emit it with g_signal_emit_by_name() if they need to control activation programmatically. The default bindings for this signal are Space, Return and Enter. The ::item-activated signal is emitted when the method gtk_icon_view_item_activated() is called or the user double clicks an item. It is also emitted when a non-editable item pressed. the #GtkTreePath for the activated item The ::move-cursor signal is a <link linkend="keybinding-signals">keybinding signal</link> which gets emitted when the user initiates a cursor movement. Applications should not connect to it, but may emit it with g_signal_emit_by_name() if they need to control the cursor programmatically. The default bindings for this signal include <itemizedlist> <listitem>Arrow keys which move by individual steps</listitem> <listitem>Home/End keys which move to the first/last item</listitem> <listitem>PageUp/PageDown which move by "pages"</listitem> </itemizedlist> All of these will extend the selection when combined with the Shift modifier. the granularity of the move, as a #GtkMovementStep the number of @step units to move A <link linkend="keybinding-signals">keybinding signal</link> which gets emitted when the user selects all items. Applications should not connect to it, but may emit it with g_signal_emit_by_name() if they need to control selection programmatically. The default binding for this signal is Ctrl-a. A <link linkend="keybinding-signals">keybinding signal</link> which gets emitted when the user selects the item that is currently focused. Applications should not connect to it, but may emit it with g_signal_emit_by_name() if they need to control selection programmatically. There is no default binding for this signal. The ::selection-changed signal is emitted when the selection (i.e. the set of selected items) changes. A <link linkend="keybinding-signals">keybinding signal</link> which gets emitted when the user toggles whether the currently focused item is selected or not. The exact effect of this depend on the selection mode. Applications should not connect to it, but may emit it with g_signal_emit_by_name() if they need to control selection programmatically. There is no default binding for this signal is Ctrl-Space. A <link linkend="keybinding-signals">keybinding signal</link> which gets emitted when the user unselects all items. Applications should not connect to it, but may emit it with g_signal_emit_by_name() if they need to control selection programmatically. The default binding for this signal is Ctrl-Shift-a. This struct contain private data only and should be accessed by the functions below. Creates a new empty #GtkImage widget. a newly created #GtkImage widget. Creates a #GtkImage widget displaying @pixmap with a @mask. A #GdkPixmap is a server-side image buffer in the pixel format of the current display. The #GtkImage does not assume a reference to the pixmap or mask; you still need to unref them if you own references. #GtkImage will add its own reference rather than adopting yours. a new #GtkImage a #GdkPixmap, or %NULL a #GdkBitmap, or %NULL Creates a #GtkImage widget displaying a @image with a @mask. A #GdkImage is a client-side image buffer in the pixel format of the current display. The #GtkImage does not assume a reference to the image or mask; you still need to unref them if you own references. #GtkImage will add its own reference rather than adopting yours. a new #GtkImage a #GdkImage, or %NULL a #GdkBitmap, or %NULL Creates a new #GtkImage displaying the file @filename. If the file isn't found or can't be loaded, the resulting #GtkImage will display a "broken image" icon. This function never returns %NULL, it always returns a valid #GtkImage widget. If the file contains an animation, the image will contain an animation. If you need to detect failures to load the file, use gdk_pixbuf_new_from_file() to load the file yourself, then create the #GtkImage from the pixbuf. (Or for animations, use gdk_pixbuf_animation_new_from_file()). The storage type (gtk_image_get_storage_type()) of the returned image is not defined, it will be whatever is appropriate for displaying the file. a new #GtkImage a filename Creates a new #GtkImage displaying @pixbuf. The #GtkImage does not assume a reference to the pixbuf; you still need to unref it if you own references. #GtkImage will add its own reference rather than adopting yours. Note that this function just creates an #GtkImage from the pixbuf. The #GtkImage created will not react to state changes. Should you want that, you should use gtk_image_new_from_icon_set(). a new #GtkImage a #GdkPixbuf, or %NULL Creates a #GtkImage displaying a stock icon. Sample stock icon names are #GTK_STOCK_OPEN, #GTK_STOCK_QUIT. Sample stock sizes are #GTK_ICON_SIZE_MENU, #GTK_ICON_SIZE_SMALL_TOOLBAR. If the stock icon name isn't known, the image will be empty. You can register your own stock icon names, see gtk_icon_factory_add_default() and gtk_icon_factory_add(). a new #GtkImage displaying the stock icon a stock icon name a stock icon size Creates a #GtkImage displaying an icon set. Sample stock sizes are #GTK_ICON_SIZE_MENU, #GTK_ICON_SIZE_SMALL_TOOLBAR. Instead of using this function, usually it's better to create a #GtkIconFactory, put your icon sets in the icon factory, add the icon factory to the list of default factories with gtk_icon_factory_add_default(), and then use gtk_image_new_from_stock(). This will allow themes to override the icon you ship with your application. The #GtkImage does not assume a reference to the icon set; you still need to unref it if you own references. #GtkImage will add its own reference rather than adopting yours. a new #GtkImage a #GtkIconSet a stock icon size Creates a #GtkImage displaying the given animation. The #GtkImage does not assume a reference to the animation; you still need to unref it if you own references. #GtkImage will add its own reference rather than adopting yours. Note that the animation frames are shown using a timeout with #G_PRIORITY_DEFAULT. When using animations to indicate busyness, keep in mind that the animation will only be shown if the main loop is not busy with something that has a higher priority. a new #GtkImage widget an animation Creates a #GtkImage displaying an icon from the current icon theme. If the icon name isn't known, a "broken image" icon will be displayed instead. If the current icon theme is changed, the icon will be updated appropriately. a new #GtkImage displaying the themed icon an icon name a stock icon size Creates a #GtkImage displaying an icon from the current icon theme. If the icon name isn't known, a "broken image" icon will be displayed instead. If the current icon theme is changed, the icon will be updated appropriately. a new #GtkImage displaying the themed icon an icon a stock icon size Resets the image to be empty. See gtk_image_new_from_pixmap() for details. a #GdkPixmap or %NULL a #GdkBitmap or %NULL See gtk_image_new_from_image() for details. a #GdkImage or %NULL a #GdkBitmap or %NULL See gtk_image_new_from_file() for details. a filename or %NULL See gtk_image_new_from_pixbuf() for details. a #GdkPixbuf or %NULL See gtk_image_new_from_stock() for details. a stock icon name a stock icon size See gtk_image_new_from_icon_set() for details. a #GtkIconSet a stock icon size Causes the #GtkImage to display the given animation (or display nothing, if you set the animation to %NULL). the #GdkPixbufAnimation See gtk_image_new_from_icon_name() for details. an icon name an icon size See gtk_image_new_from_gicon() for details. an icon an icon size Sets the pixel size to use for named icons. If the pixel size is set to a value != -1, it is used instead of the icon size set by gtk_image_set_from_icon_name(). the new pixel size Gets the type of representation being used by the #GtkImage to store image data. If the #GtkImage has no image data, the return value will be %GTK_IMAGE_EMPTY. image representation being used Gets the pixmap and mask being displayed by the #GtkImage. The storage type of the image must be %GTK_IMAGE_EMPTY or %GTK_IMAGE_PIXMAP (see gtk_image_get_storage_type()). The caller of this function does not own a reference to the returned pixmap and mask. location to store the pixmap, or %NULL location to store the mask, or %NULL Gets the #GdkImage and mask being displayed by the #GtkImage. The storage type of the image must be %GTK_IMAGE_EMPTY or %GTK_IMAGE_IMAGE (see gtk_image_get_storage_type()). The caller of this function does not own a reference to the returned image and mask. return location for a #GtkImage, or %NULL return location for a #GdkBitmap, or %NULL Gets the #GdkPixbuf being displayed by the #GtkImage. The storage type of the image must be %GTK_IMAGE_EMPTY or %GTK_IMAGE_PIXBUF (see gtk_image_get_storage_type()). The caller of this function does not own a reference to the returned pixbuf. the image is empty the displayed pixbuf, or %NULL if Gets the stock icon name and size being displayed by the #GtkImage. The storage type of the image must be %GTK_IMAGE_EMPTY or %GTK_IMAGE_STOCK (see gtk_image_get_storage_type()). The returned string is owned by the #GtkImage and should not be freed. place to store a stock icon name, or %NULL place to store a stock icon size, or %NULL Gets the icon set and size being displayed by the #GtkImage. The storage type of the image must be %GTK_IMAGE_EMPTY or %GTK_IMAGE_ICON_SET (see gtk_image_get_storage_type()). location to store a #GtkIconSet, or %NULL location to store a stock icon size, or %NULL Gets the #GdkPixbufAnimation being displayed by the #GtkImage. The storage type of the image must be %GTK_IMAGE_EMPTY or %GTK_IMAGE_ANIMATION (see gtk_image_get_storage_type()). The caller of this function does not own a reference to the returned animation. the image is empty the displayed animation, or %NULL if Gets the icon name and size being displayed by the #GtkImage. The storage type of the image must be %GTK_IMAGE_EMPTY or %GTK_IMAGE_ICON_NAME (see gtk_image_get_storage_type()). The returned string is owned by the #GtkImage and should not be freed. place to store an icon name, or %NULL place to store an icon size, or %NULL Gets the #GIcon and size being displayed by the #GtkImage. The storage type of the image must be %GTK_IMAGE_EMPTY or %GTK_IMAGE_GICON (see gtk_image_get_storage_type()). The caller of this function does not own a reference to the returned #GIcon. place to store a #GIcon, or %NULL place to store an icon size, or %NULL Gets the pixel size used for named icons. the pixel size used for named icons. Sets the #GtkImage. a #GdkImage a #GdkBitmap that indicates which parts of the image should be transparent. Gets the #GtkImage. return location for a #GdkImage a #GdkBitmap that indicates which parts of the image should be transparent. The GIcon displayed in the GtkImage. For themed icons, If the icon theme is changed, the image will be updated automatically. The name of the icon in the icon theme. If the icon theme is changed, the image will be updated automatically. The "pixel-size" property can be used to specify a fixed size overriding the #GtkImage:icon-size property for images of type %GTK_IMAGE_ICON_NAME. Creates a new #GtkImageMenuItem with an empty label. a new #GtkImageMenuItem. Creates a new #GtkImageMenuItem containing a label. a new #GtkImageMenuItem. the text of the menu item. Creates a new #GtkImageMenuItem containing a label. The label will be created using gtk_label_new_with_mnemonic(), so underscores in @label indicate the mnemonic for the menu item. a new #GtkImageMenuItem the text of the menu item, with an underscore in front of the mnemonic character Creates a new #GtkImageMenuItem containing the image and text from a stock item. Some stock ids have preprocessor macros like #GTK_STOCK_OK and #GTK_STOCK_APPLY. If you want this menu item to have changeable accelerators, then pass in %NULL for accel_group. Next call gtk_menu_item_set_accel_path() with an appropriate path for the menu item, use gtk_stock_lookup() to look up the standard accelerator for the stock item, and if one is found, call gtk_accel_map_add_entry() to register it. a new #GtkImageMenuItem. the name of the stock item. the #GtkAccelGroup to add the menu items accelerator to, or %NULL. If %TRUE, the menu item will ignore the #GtkSettings:gtk-menu-images setting and always show the image, if available. Use this property if the menuitem would be useless or hard to use without the image. %TRUE if the menuitem should always show the image Returns whether the menu item will ignore the #GtkSettings:gtk-menu-images setting and always show the image, if available. %TRUE if the menu item will always show the image Gets the widget that is currently set as the image of @image_menu_item. See gtk_image_menu_item_set_image(). the widget set as image of @image_menu_item. If %TRUE, the label set in the menuitem is used as a stock id to select the stock item for the item. %TRUE if the menuitem should use a stock item Checks whether the label set in the menuitem is used as a stock id to select the stock item for the item. stock id to select the stock item for the item %TRUE if the label set in the menuitem is used as a Specifies an @accel_group to add the menu items accelerator to (this only applies to stock items so a stock item must already be set, make sure to call gtk_image_menu_item_set_use_stock() and gtk_menu_item_set_label() with a valid stock item first). If you want this menu item to have changeable accelerators then you shouldnt need this (see gtk_image_menu_item_new_from_stock()). the #GtkAccelGroup The Accel Group to use for stock accelerator keys If %TRUE, the menu item will ignore the #GtkSettings:gtk-menu-images setting and always show the image, if available. Use this property if the menuitem would be useless or hard to use without the image. If %TRUE, the label set in the menuitem is used as a stock id to select the stock item for the item. Describes the image data representation used by a #GtkImage. If you want to get the image from the widget, you can only get the currently-stored representation. e.g. if the gtk_image_get_storage_type() returns #GTK_IMAGE_PIXBUF, then you can call gtk_image_get_pixbuf() but not gtk_image_get_stock(). For empty images, you can request any storage type (call any of the "get" functions), but they will all return %NULL values. Creates a new #GtkInfoBar object. a new #GtkInfoBar object Creates a new #GtkInfoBar with buttons. Button text/response ID pairs should be listed, with a %NULL pointer ending the list. Button text can be either a stock ID such as %GTK_STOCK_OK, or some arbitrary text. A response ID can be any positive number, or one of the values in the #GtkResponseType enumeration. If the user clicks one of these dialog buttons, GtkInfoBar will emit the "response" signal with the corresponding response ID. a new #GtkInfoBar stock ID or text to go in first button, or %NULL Returns the action area of @info_bar. the action area. Returns the content area of @info_bar. the content area. Add an activatable widget to the action area of a #GtkInfoBar, connecting a signal handler that will emit the #GtkInfoBar::response signal on the message area when the widget is activated. The widget is appended to the end of the message areas action area. an activatable widget response ID for @child Adds a button with the given text (or a stock button, if button_text is a stock ID) and sets things up so that clicking the button will emit the "response" signal with the given response_id. The button is appended to the end of the info bars's action area. The button widget is returned, but usually you don't need it. the button widget that was added text of button, or stock ID response ID for the button Adds more buttons, same as calling gtk_info_bar_add_button() repeatedly. The variable argument list should be %NULL-terminated as with gtk_info_bar_new_with_buttons(). Each button must have both text and response ID. button text or stock ID Calls gtk_widget_set_sensitive (widget, setting) for each widget in the info bars's action area with the given response_id. A convenient way to sensitize/desensitize dialog buttons. a response ID TRUE for sensitive Sets the last widget in the info bar's action area with the given response_id as the default widget for the dialog. Pressing "Enter" normally activates the default widget. Note that this function currently requires @info_bar to be added to a widget hierarchy. a response ID Emits the 'response' signal with the given @response_id. a response ID Sets the message type of the message area. GTK+ uses this type to determine what color to use when drawing the message area. a #GtkMessageType Returns the message type of the message area. the message type of the message area. The type of the message. The type is used to determine the colors to use in the info bar. The following symbolic color names can by used to customize these colors: "info_fg_color", "info_bg_color", "warning_fg_color", "warning_bg_color", "question_fg_color", "question_bg_color", "error_fg_color", "error_bg_color". "other_fg_color", "other_bg_color". If the type is #GTK_MESSAGE_OTHER, no info bar is painted but the colors are still set. The ::close signal is a <link linkend="keybinding-signals">keybinding signal</link> which gets emitted when the user uses a keybinding to dismiss the info bar. The default binding for this signal is the Escape key. Emitted when an action widget is clicked or the application programmer calls gtk_dialog_response(). The @response_id depends on which action widget was clicked. the response ID Creates a new #GtkInvisible. a new #GtkInvisible. Creates a new #GtkInvisible object for a specified screen a newly created #GtkInvisible object a #GdkScreen which identifies on which the new #GtkInvisible will be created. Sets the #GdkScreen where the #GtkInvisible object will be displayed. a #GdkScreen. Returns the #GdkScreen object associated with @invisible the associated #GdkScreen. Deletes all widgets constructed from the specified path. a factory path to prepend to @path. May be %NULL if @path starts with a factory path a path Creates a new #GtkItemFactory. Beware that the returned object does not have a floating reference. a new #GtkItemFactory the kind of menu to create; can be #GTK_TYPE_MENU_BAR, #GTK_TYPE_MENU or #GTK_TYPE_OPTION_MENU the factory path of the new item factory, a string of the form <literal>"&lt;name&gt;"</literal> a #GtkAccelGroup to which the accelerators for the menu items will be added, or %NULL to create a new one Installs an accelerator for @accel_widget in @accel_group, that causes the ::activate signal to be emitted if the accelerator is activated. This function can be used to make widgets participate in the accel saving/restoring functionality provided by gtk_accel_map_save() and gtk_accel_map_load(), even if they haven't been created by an item factory. gtk_menu_item_set_accel_path() and gtk_widget_set_accel_path(); don't use gtk_item_factory_add_foreign() in new code, since it is likely to be removed in the future. widget to install an accelerator on the accelerator group to install the accelerator in key value of the accelerator modifier combination of the accelerator Obtains the item factory from which a widget was created. the item factory from which @widget was created, or %NULL a widget If @widget has been created by an item factory, returns the full path to it. (The full path of a widget is the concatenation of the factory path specified in gtk_item_factory_new() with the path specified in the #GtkItemFactoryEntry from which the widget was created.) the full path to @widget if it has been created by an item factory, %NULL otherwise. This value is owned by GTK+ and must not be modified or freed. a widget Obtains the @popup_data which was passed to gtk_item_factory_popup_with_data(). This data is available until the menu is popped down again. @popup_data associated with the item factory from which @widget was created, or %NULL if @widget wasn't created by an item factory a widget Finds an item factory which has been constructed using the <literal>"&lt;name&gt;"</literal> prefix of @path as the @path argument for gtk_item_factory_new(). the #GtkItemFactory created for the given factory path, or %NULL a string starting with a factory path of the form <literal>"&lt;name&gt;"</literal> Creates the menu items from the @entries. the length of @entries an array of #GtkMenuEntry<!-- -->s Initializes an item factory. the kind of menu to create; can be #GTK_TYPE_MENU_BAR, #GTK_TYPE_MENU or #GTK_TYPE_OPTION_MENU the factory path of @ifactory, a string of the form <literal>"&lt;name&gt;"</literal> a #GtkAccelGroup to which the accelerators for the menu items will be added, or %NULL to create a new one Obtains the widget which corresponds to @path. If the widget corresponding to @path is a menu item which opens a submenu, then the submenu is returned. If you are interested in the menu item, use gtk_item_factory_get_item() instead. the widget for the given path, or %NULL if @path doesn't lead to a widget the path to the widget Obtains the widget which was constructed from the #GtkItemFactoryEntry with the given @action. If there are multiple items with the same action, the result is undefined. the widget which corresponds to the given action, or %NULL if no widget was found an action as specified in the @callback_action field of #GtkItemFactoryEntry Obtains the menu item which was constructed from the first #GtkItemFactoryEntry with the given @action. the menu item which corresponds to the given action, or %NULL if no menu item was found an action as specified in the @callback_action field of #GtkItemFactoryEntry Creates an item for @entry. the #GtkItemFactoryEntry to create an item for data passed to the callback function of @entry 1 if the callback function of @entry is of type #GtkItemFactoryCallback1, 2 if it is of type #GtkItemFactoryCallback2 Creates the menu items from the @entries. the length of @entries an array of #GtkItemFactoryEntry<!-- -->s whose @callback members must by of type #GtkItemFactoryCallback1 data passed to the callback functions of all entries Deletes the menu item which was created for @path by the given item factory. a path Deletes the menu item which was created from @entry by the given item factory. a #GtkItemFactoryEntry Deletes the menu items which were created from the @entries by the given item factory. the length of @entries an array of #GtkItemFactoryEntry<!-- -->s Pops up the menu constructed from the item factory at (@x, @y). The @mouse_button parameter should be the mouse button pressed to initiate the menu popup. If the menu popup was initiated by something other than a mouse button press, such as a mouse button release or a keypress, The @time_ parameter should be the time stamp of the event that initiated the popup. If such an event is not available, use gtk_get_current_event_time() instead. The operation of the @mouse_button and the @time_ parameter is the same as the @button and @activation_time parameters for gtk_menu_popup(). the x position the y position the mouse button which was pressed to initiate the popup the time at which the activation event occurred Pops up the menu constructed from the item factory at (@x, @y). Callbacks can access the @popup_data while the menu is posted via gtk_item_factory_popup_data() and gtk_item_factory_popup_data_from_widget(). The @mouse_button parameter should be the mouse button pressed to initiate the menu popup. If the menu popup was initiated by something other than a mouse button press, such as a mouse button release or a keypress, The @time_ parameter should be the time stamp of the event that initiated the popup. If such an event is not available, use gtk_get_current_event_time() instead. The operation of the @mouse_button and the @time_ parameters is the same as the @button and @activation_time parameters for gtk_menu_popup(). data available for callbacks while the menu is posted a #GDestroyNotify function to be called on @popup_data when the menu is unposted the x position the y position the mouse button which was pressed to initiate the popup the time at which the activation event occurred Obtains the @popup_data which was passed to gtk_item_factory_popup_with_data(). This data is available until the menu is popped down again. @popup_data associated with @ifactory Sets a function to be used for translating the path elements before they are displayed. the #GtkTranslateFunc function to be used to translate path elements data to pass to @func and @notify a #GDestroyNotify function to be called when @ifactory is destroyed and when the translation function is changed again Creates the menu items from the @entries. the length of @entries an array of #GtkItemFactoryEntry<!-- -->s data passed to the callback functions of all entries 1 if the callback functions in @entries are of type #GtkItemFactoryCallback1, 2 if they are of type #GtkItemFactoryCallback2 Creates a new label with the given text inside it. You can pass %NULL to get an empty label widget. the new #GtkLabel The text of the label Creates a new #GtkLabel, containing the text in @str. If characters in @str are preceded by an underscore, they are underlined. If you need a literal underscore character in a label, use '__' (two underscores). The first underlined character represents a keyboard accelerator called a mnemonic. The mnemonic key can be used to activate another widget, chosen automatically, or explicitly using gtk_label_set_mnemonic_widget(). If gtk_label_set_mnemonic_widget() is not called, then the first activatable ancestor of the #GtkLabel will be chosen as the mnemonic widget. For instance, if the label is inside a button or menu item, the button or menu item will automatically become the mnemonic widget and be activated by the mnemonic. the new #GtkLabel The text of the label, with an underscore in front of the mnemonic character Sets the text within the #GtkLabel widget. It overwrites any text that was there before. This will also clear any previously set mnemonic accelerators. The text you want to set Fetches the text from a label widget, as displayed on the screen. This does not include any embedded underlines indicating mnemonics or Pango markup. (See gtk_label_get_label()) string used by the label, and must not be modified. the text in the label widget. This is the internal Sets a #PangoAttrList; the attributes in the list are applied to the label text. <note><para>The attributes set with this function will be applied and merged with any other attributes previously effected by way of the #GtkLabel:use-underline or #GtkLabel:use-markup properties. While it is not recommended to mix markup strings with manually set attributes, if you must; know that the attributes will be applied to the label after the markup string is parsed.</para></note> a #PangoAttrList Gets the attribute list that was set on the label using gtk_label_set_attributes(), if any. This function does not reflect attributes that come from the labels markup (see gtk_label_set_markup()). If you want to get the effective attributes for the label, use pango_layout_get_attribute (gtk_label_get_layout (label)). the attribute list, or %NULL if none was set. Sets the text of the label. The label is interpreted as including embedded underlines and/or Pango markup depending on the values of the #GtkLabel:use-underline" and #GtkLabel:use-markup properties. the new text to set for the label Fetches the text from a label widget including any embedded underlines indicating mnemonics and Pango markup. (See gtk_label_get_text()). owned by the widget and must not be modified or freed. the text of the label widget. This string is Parses @str which is marked up with the <link linkend="PangoMarkupFormat">Pango text markup language</link>, setting the label's text and attribute list based on the parse results. If the @str is external data, you may need to escape it with g_markup_escape_text() or g_markup_printf_escaped()<!-- -->: |[ char *markup; markup = g_markup_printf_escaped ("&lt;span style=\"italic\"&gt;&percnt;s&lt;/span&gt;", str); gtk_label_set_markup (GTK_LABEL (label), markup); g_free (markup); ]| a markup string (see <link linkend="PangoMarkupFormat">Pango markup format</link>) Sets whether the text of the label contains markup in <link linkend="PangoMarkupFormat">Pango's text markup language</link>. See gtk_label_set_markup(). %TRUE if the label's text should be parsed for markup. Returns whether the label's text is interpreted as marked up with the <link linkend="PangoMarkupFormat">Pango text markup language</link>. See gtk_label_set_use_markup (). %TRUE if the label's text will be parsed for markup. If true, an underline in the text indicates the next character should be used for the mnemonic accelerator key. %TRUE if underlines in the text indicate mnemonics Returns whether an embedded underline in the label indicates a mnemonic. See gtk_label_set_use_underline(). the mnemonic accelerator keys. %TRUE whether an embedded underline in the label indicates Parses @str which is marked up with the <link linkend="PangoMarkupFormat">Pango text markup language</link>, setting the label's text and attribute list based on the parse results. If characters in @str are preceded by an underscore, they are underlined indicating that they represent a keyboard accelerator called a mnemonic. The mnemonic key can be used to activate another widget, chosen automatically, or explicitly using gtk_label_set_mnemonic_widget(). a markup string (see <link linkend="PangoMarkupFormat">Pango markup format</link>) If the label has been set so that it has an mnemonic key this function returns the keyval used for the mnemonic accelerator. If there is no mnemonic set up it returns #GDK_VoidSymbol. GDK keyval usable for accelerators, or #GDK_VoidSymbol If the label has been set so that it has an mnemonic key (using i.e. gtk_label_set_markup_with_mnemonic(), gtk_label_set_text_with_mnemonic(), gtk_label_new_with_mnemonic() or the "use_underline" property) the label can be associated with a widget that is the target of the mnemonic. When the label is inside a widget (like a #GtkButton or a #GtkNotebook tab) it is automatically associated with the correct widget, but sometimes (i.e. when the target is a #GtkEntry next to the label) you need to set it explicitly using this function. The target widget will be accelerated by emitting the GtkWidget::mnemonic-activate signal on it. The default handler for this signal will activate the widget if there are no mnemonic collisions and toggle focus between the colliding widgets otherwise. the target #GtkWidget Retrieves the target of the mnemonic (keyboard shortcut) of this label. See gtk_label_set_mnemonic_widget(). has been set and the default algorithm will be used. the target of the label's mnemonic, or %NULL if none Sets the label's text from the string @str. If characters in @str are preceded by an underscore, they are underlined indicating that they represent a keyboard accelerator called a mnemonic. The mnemonic key can be used to activate another widget, chosen automatically, or explicitly using gtk_label_set_mnemonic_widget(). a string Sets the alignment of the lines in the text of the label relative to each other. %GTK_JUSTIFY_LEFT is the default value when the widget is first created with gtk_label_new(). If you instead want to set the alignment of the label as a whole, use gtk_misc_set_alignment() instead. gtk_label_set_justify() has no effect on labels containing only a single line. a #GtkJustification Returns the justification of the label. See gtk_label_set_justify(). #GtkJustification if there is not enough space to render the entire string. a #PangoEllipsizeMode Returns the ellipsizing position of the label. See gtk_label_set_ellipsize(). #PangoEllipsizeMode Sets the desired width in characters of @label to @n_chars. the new desired width, in characters. Retrieves the desired width of @label, in characters. See gtk_label_set_width_chars(). the width of the label in characters. Sets the desired maximum width in characters of @label to @n_chars. the new desired maximum width, in characters. Retrieves the desired maximum width of @label, in characters. See gtk_label_set_width_chars(). the maximum width of the label in characters. Toggles line wrapping within the #GtkLabel widget. %TRUE makes it break lines if text exceeds the widget's size. %FALSE lets the text get cut off by the edge of the widget if it exceeds the widget size. Note that setting line wrapping to %TRUE does not make the label wrap at its parent container's width, because GTK+ widgets conceptually can't make their requisition depend on the parent container's size. For a label that wraps at a specific position, set the label's width using gtk_widget_set_size_request(). the setting Returns whether lines in the label are automatically wrapped. See gtk_label_set_line_wrap(). %TRUE if the lines of the label are automatically wrapped. If line wrapping is on (see gtk_label_set_line_wrap()) this controls how the line wrapping is done. The default is %PANGO_WRAP_WORD which means wrap on word boundaries. the line wrapping mode Returns line wrap mode used by the label. See gtk_label_set_line_wrap_mode(). %TRUE if the lines of the label are automatically wrapped. Selectable labels allow the user to select text from the label, for copy-and-paste. %TRUE to allow selecting text in the label Gets the value set by gtk_label_set_selectable(). %TRUE if the user can copy text from the label Sets the angle of rotation for the label. An angle of 90 reads from from bottom to top, an angle of 270, from top to bottom. The angle setting for the label is ignored if the label is selectable, wrapped, or ellipsized. the angle that the baseline of the label makes with the horizontal, in degrees, measured counterclockwise Gets the angle of rotation for the label. See gtk_label_set_angle(). the angle of rotation for the label Selects a range of characters in the label, if the label is selectable. See gtk_label_set_selectable(). If the label is not selectable, this function has no effect. If @start_offset or start offset (in characters not bytes) end offset (in characters not bytes) Gets the selected range of characters in the label, returning %TRUE if there's a selection. %TRUE if selection is non-empty return location for start of selection, as a character offset return location for end of selection, as a character offset Gets the #PangoLayout used to display the label. The layout is useful to e.g. convert text positions to pixel positions, in combination with gtk_label_get_layout_offsets(). The returned layout is owned by the label so need not be freed by the caller. the #PangoLayout for this label Obtains the coordinates where the label will draw the #PangoLayout representing the text in the label; useful to convert mouse events into coordinates inside the #PangoLayout, e.g. to take some action if some part of the label is clicked. Of course you will need to create a #GtkEventBox to receive the events, and pack the label inside it, since labels are a #GTK_NO_WINDOW widget. Remember when using the #PangoLayout functions you need to convert to and from pixels using PANGO_PIXELS() or #PANGO_SCALE. location to store X offset of layout, or %NULL location to store Y offset of layout, or %NULL Sets whether the label is in single line mode. %TRUE if the label should be in single line mode Returns whether the label is in single line mode. %TRUE when the label is in single line mode. Returns the URI for the currently active link in the label. The active link is the one under the mouse pointer or, in a selectable label, the link in which the text cursor is currently positioned. This function is intended for use in a #GtkLabel::activate-link handler or for use in a #GtkWidget::query-tooltip handler. not be freed or modified. the currently active URI. The string is owned by GTK+ and must Sets whether the label should keep track of clicked links (and use a different color for them). %TRUE to track visited links Returns whether the label is currently keeping track of clicked links. %TRUE if clicked links are remembered The angle that the baseline of the label makes with the horizontal, in degrees, measured counterclockwise. An angle of 90 reads from from bottom to top, an angle of 270, from top to bottom. Ignored if the label is selectable, wrapped, or ellipsized. The preferred place to ellipsize the string, if the label does not have enough room to display the entire string, specified as a #PangoEllisizeMode. Note that setting this property to a value other than %PANGO_ELLIPSIZE_NONE has the side-effect that the label requests only enough space to display the ellipsis "...". In particular, this means that ellipsizing labels do not work well in notebook tabs, unless the tab's #GtkNotebook:tab-expand property is set to %TRUE. Other ways to set a label's width are gtk_widget_set_size_request() and gtk_label_set_width_chars(). The desired maximum width of the label, in characters. If this property is set to -1, the width will be calculated automatically, otherwise the label will request space for no more than the requested number of characters. If the #GtkLabel:width-chars property is set to a positive value, then the "max-width-chars" property is ignored. Whether the label is in single line mode. In single line mode, the height of the label does not depend on the actual text, it is always set to ascent + descent of the font. This can be an advantage in situations where resizing the label because of text changes would be distracting, e.g. in a statusbar. Set this property to %TRUE to make the label track which links have been clicked. It will then apply the ::visited-link-color color, instead of ::link-color. The desired width of the label, in characters. If this property is set to -1, the width will be calculated automatically, otherwise the label will request either 3 characters or the property value, whichever is greater. If the "width-chars" property is set to a positive value, then the #GtkLabel:max-width-chars property is ignored. If line wrapping is on (see the #GtkLabel:wrap property) this controls how the line wrapping is done. The default is %PANGO_WRAP_WORD, which means wrap on word boundaries. A <link linkend="keybinding-signals">keybinding signal</link> which gets emitted when the user activates a link in the label. Applications may also emit the signal with g_signal_emit_by_name() if they need to control activation of URIs programmatically. The default bindings for this signal are all forms of the Enter key. The signal which gets emitted to activate a URI. Applications may connect to it to override the default behaviour, which is to call gtk_show_uri(). %TRUE if the link has been activated the URI that is activated The ::copy-clipboard signal is a <link linkend="keybinding-signals">keybinding signal</link> which gets emitted to copy the selection to the clipboard. The default binding for this signal is Ctrl-c. The ::move-cursor signal is a <link linkend="keybinding-signals">keybinding signal</link> which gets emitted when the user initiates a cursor movement. If the cursor is not visible in @entry, this signal causes the viewport to be moved instead. Applications should not connect to it, but may emit it with g_signal_emit_by_name() if they need to control the cursor programmatically. The default bindings for this signal come in two variants, the variant with the Shift modifier extends the selection, the variant without the Shift modifer does not. There are too many key combinations to list them all here. <itemizedlist> <listitem>Arrow keys move by individual characters/lines</listitem> <listitem>Ctrl-arrow key combinations move by words/paragraphs</listitem> <listitem>Home/End keys move to the ends of the buffer</listitem> </itemizedlist> the granularity of the move, as a #GtkMovementStep the number of @step units to move %TRUE if the move should extend the selection The ::populate-popup signal gets emitted before showing the context menu of the label. Note that only selectable labels have context menus. If you need to add items to the context menu, connect to this signal and append your menuitems to the @menu. the menu that is being populated Creates a new #GtkLayout. Unless you have a specific adjustment you'd like the layout to use for scrolling, pass %NULL for a new #GtkLayout horizontal scroll adjustment, or %NULL vertical scroll adjustment, or %NULL Retrieve the bin window of the layout used for drawing operations. a #GdkWindow Adds @child_widget to @layout, at position (@x,@y). child widget X position of child widget Y position of child widget Moves a current child of @layout to a new position. a current child of @layout X position to move to Y position to move to Sets the size of the scrollable area of the layout. width of entire scrollable area height of entire scrollable area Gets the size that has been set on the layout, and that determines the total extents of the layout's scrollbar area. See gtk_layout_set_size (). location to store the width set on @layout, or %NULL location to store the height set on @layout, or %NULL This function should only be called after the layout has been placed in a #GtkScrolledWindow or otherwise configured for scrolling. It returns the #GtkAdjustment used for communication between the horizontal scrollbar and @layout. See #GtkScrolledWindow, #GtkScrollbar, #GtkAdjustment for details. horizontal scroll adjustment This function should only be called after the layout has been placed in a #GtkScrolledWindow or otherwise configured for scrolling. It returns the #GtkAdjustment used for communication between the vertical scrollbar and @layout. See #GtkScrolledWindow, #GtkScrollbar, #GtkAdjustment for details. vertical scroll adjustment Sets the horizontal scroll adjustment for the layout. See #GtkScrolledWindow, #GtkScrollbar, #GtkAdjustment for details. new scroll adjustment Sets the vertical scroll adjustment for the layout. See #GtkScrolledWindow, #GtkScrollbar, #GtkAdjustment for details. new scroll adjustment This is a deprecated function, it doesn't do anything useful. This is a deprecated function, it doesn't do anything useful. Creates a new #GtkLinkButton with the URI as its text. a new link button widget. a valid URI Creates a new #GtkLinkButton containing a label. a new link button widget. a valid URI the text of the button Sets @func as the function that should be invoked every time a user clicks a #GtkLinkButton. This function is called before every callback registered for the "clicked" signal. If no uri hook has been set, GTK+ defaults to calling gtk_show_uri(). the previously set hook function. a function called each time a #GtkLinkButton is clicked, or %NULL user data to be passed to @func, or %NULL a #GDestroyNotify that gets called when @data is no longer needed, or %NULL Retrieves the URI set using gtk_link_button_set_uri(). and should not be modified or freed. a valid URI. The returned string is owned by the link button Sets @uri as the URI where the #GtkLinkButton points. As a side-effect this unsets the 'visited' state of the button. a valid URI Retrieves the 'visited' state of the URI where the #GtkLinkButton points. The button becomes visited when it is clicked. If the URI is changed on the button, the 'visited' state is unset again. The state may also be changed using gtk_link_button_set_visited(). %TRUE if the link has been visited, %FALSE otherwise Sets the 'visited' state of the URI where the #GtkLinkButton points. See gtk_link_button_get_visited() for more details. the new 'visited' state Creates a new list store as with @n_columns columns each of the types passed in. Note that only types derived from standard GObject fundamental types are supported. As an example, <literal>gtk_tree_store_new (3, G_TYPE_INT, G_TYPE_STRING, GDK_TYPE_PIXBUF);</literal> will create a new #GtkListStore with three columns, of type int, string and #GdkPixbuf respectively. a new #GtkListStore number of columns in the list store Non-vararg creation function. Used primarily by language bindings. a new #GtkListStore number of columns in the list store an array of #GType types for the columns, from first to last This function is meant primarily for #GObjects that inherit from #GtkListStore, and should only be used when constructing a new #GtkListStore. It will not function after a row has been added, or a method on the #GtkTreeModel interface is called. Number of columns for the list store An array length n of #GTypes Sets the data in the cell specified by @iter and @column. The type of @value must be convertible to the type of the column. A valid #GtkTreeIter for the row being modified column number to modify new value for the cell Sets the value of one or more cells in the row referenced by @iter. The variable argument list should contain integer column numbers, each column number followed by the value to be set. The list is terminated by a -1. For example, to set column 0 with type %G_TYPE_STRING to "Foo", you would write <literal>gtk_list_store_set (store, iter, 0, "Foo", -1)</literal>. The value will be copied or referenced by the store if appropriate. row iterator A variant of gtk_list_store_set_valist() which takes the columns and values as two arrays, instead of varargs. This function is mainly intended for language-bindings and in case the number of columns to change is not known until run-time. A valid #GtkTreeIter for the row being modified an array of column numbers an array of GValues the length of the @columns and @values arrays Removes the given row from the list store. After being removed, to the last row in @list_store. %TRUE if @iter is valid, %FALSE if not. A valid #GtkTreeIter Creates a new row at @position. @iter will be changed to point to this new row. If @position is larger than the number of rows on the list, then the new row will be appended to the list. The row will be empty after this function is called. To fill in values, you need to call gtk_list_store_set() or gtk_list_store_set_value(). An unset #GtkTreeIter to set to the new row position to insert the new row Inserts a new row before @sibling. If @sibling is %NULL, then the row will be appended to the end of the list. @iter will be changed to point to this new row. The row will be empty after this function is called. To fill in values, you need to call gtk_list_store_set() or gtk_list_store_set_value(). An unset #GtkTreeIter to set to the new row A valid #GtkTreeIter, or %NULL Inserts a new row after @sibling. If @sibling is %NULL, then the row will be prepended to the beginning of the list. @iter will be changed to point to this new row. The row will be empty after this function is called. To fill in values, you need to call gtk_list_store_set() or gtk_list_store_set_value(). An unset #GtkTreeIter to set to the new row A valid #GtkTreeIter, or %NULL Creates a new row at @position. @iter will be changed to point to this new row. If @position is larger than the number of rows on the list, then the new row will be appended to the list. The row will be filled with the values given to this function. Calling <literal>gtk_list_store_insert_with_values(list_store, iter, position...)</literal> has the same effect as calling |[ gtk_list_store_insert (list_store, iter, position); gtk_list_store_set (list_store, iter, ...); ]| with the difference that the former will only emit a row_inserted signal, while the latter will emit row_inserted, row_changed and, if the list store is sorted, rows_reordered. Since emitting the rows_reordered signal repeatedly can affect the performance of the program, gtk_list_store_insert_with_values() should generally be preferred when inserting rows in a sorted list store. An unset #GtkTreeIter to set to the new row, or %NULL. position to insert the new row A variant of gtk_list_store_insert_with_values() which takes the columns and values as two arrays, instead of varargs. This function is mainly intended for language-bindings. An unset #GtkTreeIter to set to the new row, or %NULL. position to insert the new row an array of column numbers an array of GValues the length of the @columns and @values arrays Prepends a new row to @list_store. @iter will be changed to point to this new row. The row will be empty after this function is called. To fill in values, you need to call gtk_list_store_set() or gtk_list_store_set_value(). An unset #GtkTreeIter to set to the prepend row Appends a new row to @list_store. @iter will be changed to point to this new row. The row will be empty after this function is called. To fill in values, you need to call gtk_list_store_set() or gtk_list_store_set_value(). An unset #GtkTreeIter to set to the appended row Removes all rows from the list store. <warning>This function is slow. Only use it for debugging and/or testing purposes.</warning> Checks if the given iter is a valid iter for this #GtkListStore. %TRUE if the iter is valid, %FALSE if the iter is invalid. A #GtkTreeIter. Reorders @store to follow the order indicated by @new_order. Note that this function only works with unsorted stores. an array of integers mapping the new position of each child to its old position before the re-ordering, i.e. @new_order<literal>[newpos] = oldpos</literal>. Swaps @a and @b in @store. Note that this function only works with unsorted stores. A #GtkTreeIter. Another #GtkTreeIter. Moves @iter in @store to the position after @position. Note that this function only works with unsorted stores. If @position is %NULL, @iter will be moved to the start of the list. A #GtkTreeIter. A #GtkTreeIter or %NULL. Moves @iter in @store to the position before @position. Note that this function only works with unsorted stores. If @position is %NULL, @iter will be moved to the end of the list. A #GtkTreeIter. A #GtkTreeIter, or %NULL. Returns a list of the menus which are attached to this widget. This list is owned by GTK+ and must not be modified. the list of menus attached to his widget. a #GtkWidget Displays a menu and makes it available for selection. Applications can use this function to display context-sensitive menus, and will typically supply %NULL for the @parent_menu_shell, @parent_menu_item, @func and @data parameters. The default menu positioning function will position the menu at the current mouse cursor position. The @button parameter should be the mouse button pressed to initiate the menu popup. If the menu popup was initiated by something other than a mouse button press, such as a mouse button release or a keypress, The @activate_time parameter is used to conflict-resolve initiation of concurrent requests for mouse/keyboard grab requests. To function properly, this needs to be the time stamp of the user event (such as a mouse click or key press) that caused the initiation of the popup. Only if no such event is available, gtk_get_current_event_time() can be used instead. the menu shell containing the triggering menu item, or %NULL the menu item whose activation triggered the popup, or %NULL a user supplied function used to position the menu, or %NULL user supplied data to be passed to @func. the mouse button which was pressed to initiate the event. the time at which the activation event occurred. Returns whether the menu is torn off. See gtk_menu_set_tearoff_state (). %TRUE if the menu is currently torn off. Sets the title string for the menu. The title is displayed when the menu is shown as a tearoff menu. If @title is %NULL, the menu will see if it is attached to a parent menu item, and if so it will try to use the same text as that menu item's label. a string containing the title for the menu. Returns the title of the menu. See gtk_menu_set_title(). title set on it. This string is owned by the widget and should not be modified or freed. the title of the menu, or %NULL if the menu has no Sets the #GdkScreen on which the menu will be displayed. a #GdkScreen, or %NULL if the screen should be determined by the widget the menu is attached to. Adds a new #GtkMenuItem to a (table) menu. The number of 'cells' that an item will occupy is specified by @left_attach, @right_attach, rightmost, uppermost and lower column and row numbers of the table. (Columns and rows are indexed from zero). Note that this function is not related to gtk_menu_detach(). a #GtkMenuItem. The column number to attach the left side of the item to. The column number to attach the right side of the item to. The row number to attach the top of the item to. The row number to attach the bottom of the item to. Informs GTK+ on which monitor a menu should be popped up. See gdk_screen_get_monitor_geometry(). This function should be called from a #GtkMenuPositionFunc if the menu should not appear on the same monitor as the pointer. This information can't be reliably inferred from the coordinates returned by a #GtkMenuPositionFunc, since, for very long menus, these coordinates may extend beyond the monitor boundaries or even the screen boundaries. the number of the monitor on which the menu should be popped up Retrieves the number of the monitor on which to show the menu. be popped up or -1, if no monitor has been set the number of the monitor on which the menu should Sets whether the menu should reserve space for drawing toggles or icons, regardless of their actual presence. whether to reserve size for toggles Returns whether the menu reserves space for toggles and icons, regardless of their actual presence. Whether the menu reserves toggle space The accel group holding accelerators for the menu. An accel path used to conveniently construct accel paths of child items. The index of the currently selected menu item, or -1 if no menu item is selected. The widget the menu is attached to. Setting this property attaches the menu without a #GtkMenuDetachFunc. If you need to use a detacher, use gtk_menu_attach_to_widget() directly. The monitor the menu will be popped up on. A boolean that indicates whether the menu reserves space for toggles and icons, regardless of their actual presence. This property should only be changed from its default value for special-purposes such as tabular menus. Regular menus that are connected to a menu bar or context menus should reserve toggle space for consistency. A boolean that indicates whether the menu is torn-off. Retrieves the current pack direction of the menubar. See gtk_menu_bar_set_pack_direction(). the pack direction Sets how items should be packed inside a menubar. a new #GtkPackDirection Retrieves the current child pack direction of the menubar. See gtk_menu_bar_set_child_pack_direction(). the child pack direction Sets how widgets should be packed inside the children of a menubar. a new #GtkPackDirection The child pack direction of the menubar. It determines how the widgets contained in child menuitems are arranged. The pack direction of the menubar. It determines how menuitems are arranged in the menubar. Creates a new #GtkMenuItem containing a label. The label will be created using gtk_label_new_with_mnemonic(), so underscores in @label indicate the mnemonic for the menu item. a new #GtkMenuItem The text of the button, with an underscore in front of the mnemonic character Sets @text on the @menu_item label the text you want to set Sets @text on the @menu_item label string used by the label, and must not be modified. The text in the @menu_item label. This is the internal Sets or replaces the menu item's submenu, or removes it when a %NULL submenu is passed. the submenu, or %NULL Gets the submenu underneath this menu item, if any. See gtk_menu_item_set_submenu(). submenu for this menu item, or %NULL if none. Sets whether the menu item appears justified at the right side of a menu bar. This was traditionally done for "Help" menu items, but is now considered a bad idea. (If the widget layout is reversed for a right-to-left language like Hebrew or Arabic, right-justified-menu-items appear at the left.) if %TRUE the menu item will appear at the far right if added to a menu bar. Gets whether the menu item appears justified at the right side of the menu bar. far right if added to a menu bar. %TRUE if the menu item will appear at the Sets @text on the @menu_item label the text you want to set Sets @text on the @menu_item label string used by the label, and must not be modified. The text in the @menu_item label. This is the internal If true, an underline in the text indicates the next character should be used for the mnemonic accelerator key. %TRUE if underlines in the text indicate mnemonics Checks if an underline in the text indicates the next character should be used for the mnemonic accelerator key. the mnemonic accelerator key. %TRUE if an embedded underline in the label indicates Removes the widget's submenu. should not be used in newly written code. Use gtk_menu_item_set_submenu() instead. Sets the accelerator path of the menu item, through which runtime changes of the menu item's accelerator caused by the user can be identified and saved to persistant storage. The text for the child label. Sets whether the menu item appears justified at the right side of a menu bar. The submenu attached to the menu item, or NULL if it has none. %TRUE if underlines in the text indicate mnemonics the text you want to set The text in the @menu_item label. This is the internal Select the first visible or selectable child of the menu shell; don't select tearoff items unless the only item is a tearoff item. if %TRUE, search for the first selectable menu item, otherwise select nothing if the first item isn't sensitive. This should be %FALSE if the menu is being popped up initially. Cancels the selection within the menu shell. Returns %TRUE if the menu shell will take the keyboard focus on popup. %TRUE if the menu shell will take the keyboard focus on popup. If @take_focus is %TRUE (the default) the menu shell will take the keyboard focus so that it will receive all keyboard events which is needed to enable keyboard navigation in menus. Setting @take_focus to %FALSE is useful only for special applications like virtual keyboard implementations which should not take keyboard focus. The @take_focus state of a menu or menu bar is automatically propagated to submenus whenever a submenu is popped up, so you don't have to worry about recursively setting it for your entire menu hierarchy. Only when programmatically picking a submenu and popping it up manually, the Note that setting it to %FALSE has side-effects: If the focus is in some other app, it keeps the focus and keynav in the menu doesn't work. Consequently, keynav on the menu will only work if the focus is on some toplevel owned by the onscreen keyboard. To avoid confusing the user, menus with @take_focus set to %FALSE should not display mnemonics or accelerators, since it cannot be guaranteed that they will work. See also gdk_keyboard_grab() %TRUE if the menu shell should take the keyboard focus on popup. A boolean that determines whether the menu and its submenus grab the keyboard focus. See gtk_menu_shell_set_take_focus() and gtk_menu_shell_get_take_focus(). The ::move-selected signal is emitted to move the selection to another item. %TRUE to stop the signal emission, %FALSE to continue +1 to move to the next item, -1 to move to the previous Creates a new #GtkMenuToolButton using @icon_widget as icon and the new #GtkMenuToolButton a widget that will be used as icon widget, or %NULL a string that will be used as label, or %NULL Creates a new #GtkMenuToolButton. The new #GtkMenuToolButton will contain an icon and label from the stock item indicated by @stock_id. the new #GtkMenuToolButton the name of a stock item Sets the #GtkMenu that is popped up when the user clicks on the arrow. If @menu is NULL, the arrow button becomes insensitive. the #GtkMenu associated with #GtkMenuToolButton Gets the #GtkMenu associated with #GtkMenuToolButton. the #GtkMenu associated with #GtkMenuToolButton Sets the #GtkTooltips object to be used for arrow button which pops up the menu. See gtk_tool_item_set_tooltip() for setting a tooltip on the whole #GtkMenuToolButton. instead. the #GtkTooltips object to be used text to be used as tooltip text for tool_item text to be used as private tooltip text Sets the tooltip text to be used as tooltip for the arrow button which pops up the menu. See gtk_tool_item_set_tooltip() for setting a tooltip on the whole #GtkMenuToolButton. text to be used as tooltip text for button's arrow button Sets the tooltip markup text to be used as tooltip for the arrow button which pops up the menu. See gtk_tool_item_set_tooltip() for setting a tooltip on the whole #GtkMenuToolButton. markup text to be used as tooltip text for button's arrow button The ::show-menu signal is emitted before the menu is shown. It can be used to populate the menu on demand, using gtk_menu_tool_button_get_menu(). Note that even if you populate the menu dynamically in this way, you must set an empty menu on the #GtkMenuToolButton beforehand, since the arrow is made insensitive if the menu is not set. Creates a new message dialog, which is a simple dialog with an icon indicating the dialog type (error, warning, etc.) and some text the user may want to see. When the user clicks a button a "response" signal is emitted with response IDs from #GtkResponseType. See #GtkDialog for more details. a new #GtkMessageDialog transient parent, or %NULL for none flags type of message set of buttons to use printf()-style format string, or %NULL Creates a new message dialog, which is a simple dialog with an icon indicating the dialog type (error, warning, etc.) and some text which is marked up with the <link linkend="PangoMarkupFormat">Pango text markup language</link>. When the user clicks a button a "response" signal is emitted with response IDs from #GtkResponseType. See #GtkDialog for more details. Special XML characters in the printf() arguments passed to this function will automatically be escaped as necessary. (See g_markup_printf_escaped() for how this is implemented.) Usually this is what you want, but if you have an existing Pango markup string that you want to use literally as the label, then you need to use gtk_message_dialog_set_markup() instead, since you can't pass the markup string either as the format (it might contain '%' characters) or as a string argument. |[ GtkWidget *dialog; dialog = gtk_message_dialog_new (main_application_window, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, NULL); gtk_message_dialog_set_markup (GTK_MESSAGE_DIALOG (dialog), markup); ]| a new #GtkMessageDialog transient parent, or %NULL for none flags type of message set of buttons to use printf()-style format string, or %NULL Sets the dialog's image to @image. the image Gets the dialog's image. the dialog's image Sets the text of the message dialog to be @str, which is marked up with the <link linkend="PangoMarkupFormat">Pango text markup language</link>. markup string (see <link linkend="PangoMarkupFormat">Pango markup format</link>) Sets the secondary text of the message dialog to be @message_format (with printf()-style). Note that setting a secondary text makes the primary text become bold, unless you have provided explicit markup. printf()-style format string, or %NULL Sets the secondary text of the message dialog to be @message_format (with printf()-style), which is marked up with the <link linkend="PangoMarkupFormat">Pango text markup language</link>. Note that setting a secondary text makes the primary text become bold, unless you have provided explicit markup. Due to an oversight, this function does not escape special XML characters like gtk_message_dialog_new_with_markup() does. Thus, if the arguments may contain special XML characters, you should use g_markup_printf_escaped() to escape it. <informalexample><programlisting> gchar *msg; msg = g_markup_printf_escaped (message_format, ...); gtk_message_dialog_format_secondary_markup (message_dialog, "&percnt;s", msg); g_free (msg); </programlisting></informalexample> printf()-style markup string (see The image for this dialog. The type of the message. The type is used to determine the image that is shown in the dialog, unless the image is explicitly set by the ::image property. The secondary text of the message dialog. %TRUE if the secondary text of the dialog includes Pango markup. See pango_parse_markup(). The primary text of the message dialog. If the dialog has a secondary text, this will appear as the title. %TRUE if the primary text of the dialog includes Pango markup. See pango_parse_markup(). The type of message being displayed in the dialog. Gets the X and Y alignment of the widget within its allocation. See gtk_misc_set_alignment(). location to store X alignment of @misc, or %NULL location to store Y alignment of @misc, or %NULL Gets the padding in the X and Y directions of the widget. See gtk_misc_set_padding(). location to store padding in the X direction, or %NULL location to store padding in the Y direction, or %NULL This should not be accessed directly. Use the accessor functions below. Creates a new #GtkMountOperation a new #GtkMountOperation transient parent of the window, or %NULL Returns whether the #GtkMountOperation is currently displaying a window. %TRUE if @op is currently displaying a window Sets the transient parent for windows shown by the #GtkMountOperation. transient parent of the window, or %NULL Gets the transient parent used by the #GtkMountOperation the transient parent for windows shown by @op Sets the screen to show windows of the #GtkMountOperation on. a #GdkScreen Gets the screen on which windows of the #GtkMountOperation will be shown. the screen on which windows of @op are shown Creates a new #GtkNotebook widget with no pages. the newly created #GtkNotebook Installs a global function used to create a window when a detached tab is dropped in an empty area. the #GtkNotebookWindowCreationFunc, or %NULL user data for @func Destroy notifier for @data, or %NULL Appends a page to @notebook. page in the notebook, or -1 if function fails the index (starting from 0) of the appended the #GtkWidget to use as the contents of the page. the #GtkWidget to be used as the label for the page, or %NULL to use the default label, 'page N'. Appends a page to @notebook, specifying the widget to use as the label in the popup menu. page in the notebook, or -1 if function fails the index (starting from 0) of the appended the #GtkWidget to use as the contents of the page. the #GtkWidget to be used as the label for the page, or %NULL to use the default label, 'page N'. the widget to use as a label for the page-switch menu, if that is enabled. If %NULL, and @tab_label is a #GtkLabel or %NULL, then the menu label will be a newly created label with the same text as @tab_label; If @tab_label is not a #GtkLabel, @menu_label must be specified if the page-switch menu is to be used. Prepends a page to @notebook. page in the notebook, or -1 if function fails the index (starting from 0) of the prepended the #GtkWidget to use as the contents of the page. the #GtkWidget to be used as the label for the page, or %NULL to use the default label, 'page N'. Prepends a page to @notebook, specifying the widget to use as the label in the popup menu. page in the notebook, or -1 if function fails the index (starting from 0) of the prepended the #GtkWidget to use as the contents of the page. the #GtkWidget to be used as the label for the page, or %NULL to use the default label, 'page N'. the widget to use as a label for the page-switch menu, if that is enabled. If %NULL, and @tab_label is a #GtkLabel or %NULL, then the menu label will be a newly created label with the same text as @tab_label; If @tab_label is not a #GtkLabel, @menu_label must be specified if the page-switch menu is to be used. Insert a page into @notebook at the given position. page in the notebook, or -1 if function fails the index (starting from 0) of the inserted the #GtkWidget to use as the contents of the page. the #GtkWidget to be used as the label for the page, or %NULL to use the default label, 'page N'. the index (starting at 0) at which to insert the page, or -1 to append the page after all other pages. Insert a page into @notebook at the given position, specifying the widget to use as the label in the popup menu. page in the notebook the index (starting from 0) of the inserted the #GtkWidget to use as the contents of the page. the #GtkWidget to be used as the label for the page, or %NULL to use the default label, 'page N'. the widget to use as a label for the page-switch menu, if that is enabled. If %NULL, and @tab_label is a #GtkLabel or %NULL, then the menu label will be a newly created label with the same text as @tab_label; If @tab_label is not a #GtkLabel, @menu_label must be specified if the page-switch menu is to be used. the index (starting at 0) at which to insert the page, or -1 to append the page after all other pages. Removes a page from the notebook given its index in the notebook. the index of a notebook page, starting from 0. If -1, the last page will be removed. Sets an group identificator for @notebook, notebooks sharing the same group identificator will be able to exchange tabs via drag and drop. A notebook with group identificator -1 will not be able to exchange tabs with any other notebook. a group identificator, or -1 to unset it Gets the current group identificator for @notebook. the group identificator, or -1 if none is set. Sets a group identificator pointer for @notebook, notebooks sharing the same group identificator pointer will be able to exchange tabs via drag and drop. A notebook with a %NULL group identificator will not be able to exchange tabs with any other notebook. a pointer to identify the notebook group, or %NULL to unset it Gets the current group identificator pointer for @notebook. the group identificator, or %NULL if none is set. Returns the page number of the current page. page in the notebook. If the notebook has no pages, then -1 will be returned. the index (starting from 0) of the current Returns the child widget contained in page number @page_num. out of bounds. the child widget, or %NULL if @page_num is the index of a page in the notebook, or -1 to get the last page. Gets the number of pages in a notebook. the number of pages in the notebook. Finds the index of the page which contains the given child widget. -1 if @child is not in the notebook. the index of the page containing @child, or a #GtkWidget Switches to the page number @page_num. Note that due to historical reasons, GtkNotebook refuses to switch to a page unless the child widget is visible. Therefore, it is recommended to show child widgets before adding them to a notebook. index of the page to switch to, starting from 0. If negative, the last page will be used. If greater than the number of pages in the notebook, nothing will be done. Switches to the next page. Nothing happens if the current page is the last page. Switches to the previous page. Nothing happens if the current page is the first page. Sets whether a bevel will be drawn around the notebook pages. This only has a visual effect when the tabs are not shown. See gtk_notebook_set_show_tabs(). %TRUE if a bevel should be drawn around the notebook. Returns whether a bevel will be drawn around the notebook pages. See gtk_notebook_set_show_border(). %TRUE if the bevel is drawn Sets whether to show the tabs for the notebook or not. %TRUE if the tabs should be shown. Returns whether the tabs of the notebook are shown. See gtk_notebook_set_show_tabs(). %TRUE if the tabs are shown Sets the edge at which the tabs for switching pages in the notebook are drawn. the edge to draw the tabs at. Gets the edge at which the tabs for switching pages in the notebook are drawn. the edge at which the tabs are drawn Sets whether the tabs must have all the same size or not. %TRUE if all tabs should be the same size. Sets the width the border around the tab labels in a notebook. This is equivalent to calling gtk_notebook_set_tab_hborder (@notebook, @border_width) followed by gtk_notebook_set_tab_vborder (@notebook, @border_width). width of the border around the tab labels. Sets the width of the horizontal border of tab labels. width of the horizontal border of tab labels. Sets the width of the vertical border of tab labels. width of the vertical border of tab labels. Sets whether the tab label area will have arrows for scrolling if there are too many tabs to fit in the area. %TRUE if scroll arrows should be added Returns whether the tab label area has arrows for scrolling. See gtk_notebook_set_scrollable(). %TRUE if arrows for scrolling are present the tab labels, a menu with all the pages will be popped up. Disables the popup menu. Returns the tab label widget for the page @child. %NULL is returned if @child is not in @notebook or if no tab label has specifically been set for @child. the tab label the page Changes the tab label for @child. If %NULL is specified for @tab_label, then the page will have the label 'page N'. the page the tab label widget to use, or %NULL for default tab label. Creates a new label and sets it as the tab label for the page containing @child. the page the label text Retrieves the text of the tab label for the page containing tab label widget is not a #GtkLabel. The string is owned by the widget and must not be freed. the text of the tab label, or %NULL if the a widget contained in a page of @notebook Retrieves the menu label widget of the page containing @child. notebook page does not have a menu label other than the default (the tab label). the menu label, or %NULL if the a widget contained in a page of @notebook Changes the menu label for the page containing @child. the child widget the menu label, or NULL for default Creates a new label and sets it as the menu label of @child. the child widget the label text Retrieves the text of the menu label for the page containing widget does not have a menu label other than the default menu label, or the menu label widget is not a #GtkLabel. The string is owned by the widget and must not be freed. the text of the tab label, or %NULL if the the child widget of a page of the notebook. Query the packing attributes for the tab label of the page containing @child. #GtkNotebook:tab-fill child properties instead. the page location to store the expand value (or NULL) location to store the fill value (or NULL) location to store the pack_type (or NULL) Sets the packing parameters for the tab label of the page containing @child. See gtk_box_pack_start() for the exact meaning of the parameters. #GtkNotebook:tab-fill child properties instead. Modifying the packing of the tab label is a deprecated feature and shouldn't be done anymore. the child widget whether to expand the tab label or not whether the tab label should fill the allocated area or not the position of the tab label Reorders the page containing @child, so that it appears in position children in the list or negative, @child will be moved to the end of the list. the child to move the new position, or -1 to move to the end Gets whether the tab can be reordered via drag and drop or not. %TRUE if the tab is reorderable. a child #GtkWidget Sets whether the notebook tab can be reordered via drag and drop or not. a child #GtkWidget whether the tab is reorderable or not. Returns whether the tab contents can be detached from @notebook. TRUE if the tab is detachable. a child #GtkWidget Sets whether the tab can be detached from @notebook to another notebook or widget. Note that 2 notebooks must share a common group identificator (see gtk_notebook_set_group_id ()) to allow automatic tabs interchange between them. If you want a widget to interact with a notebook through DnD (i.e.: accept dragged tabs from it) it must be set as a drop destination and accept the target "GTK_NOTEBOOK_TAB". The notebook will fill the selection with a GtkWidget** pointing to the child widget that corresponds to the dropped tab. |[ static void on_drop_zone_drag_data_received (GtkWidget *widget, GdkDragContext *context, gint x, gint y, GtkSelectionData *selection_data, guint info, guint time, gpointer user_data) { GtkWidget *notebook; GtkWidget **child; notebook = gtk_drag_get_source_widget (context); child = (void*) selection_data->data; process_widget (*child); gtk_container_remove (GTK_CONTAINER (notebook), *child); } ]| If you want a notebook to accept drags from other widgets, you will have to set your own DnD code to do it. a child #GtkWidget whether the tab is detachable or not Gets one of the action widgets. See gtk_notebook_set_action_widget(). %NULL when this action widget has not been set The action widget with the given @pack_type or pack type of the action widget to receive Sets @widget as one of the action widgets. Depending on the pack type the widget will be placed before or after the tabs. You can use a #GtkBox if you need to pack more than one widget on the same side. Note that action widgets are "internal" children of the notebook and thus not included in the list returned from gtk_container_foreach(). a #GtkWidget pack type of the action widget Group for tabs drag and drop. The ::create-window signal is emitted when a detachable tab is dropped on the root window. A handler for this signal can create a window containing a notebook where the tab will be attached. It is also responsible for moving/resizing the window and adding the necessary properties to the notebook (e.g. the #GtkNotebook:group-id ). The default handler uses the global window creation hook, if one has been set with gtk_notebook_set_window_creation_hook(). a #GtkNotebook that @page should be added to, or %NULL. the tab of @notebook that is being detached the X coordinate where the drop happens the Y coordinate where the drop happens the ::page-added signal is emitted in the notebook right after a page is added to the notebook. the child #GtkWidget affected the new page number for @child the ::page-removed signal is emitted in the notebook right after a page is removed from the notebook. the child #GtkWidget affected the @child page number the ::page-reordered signal is emitted in the notebook right after a page has been reordered. the child #GtkWidget affected the new page number for @child Creates a toplevel container widget that is used to retrieve snapshots of widgets without showing them on the screen. For widgets that are on the screen and part of a normal widget hierarchy, gtk_widget_get_snapshot() can be used instead. A pointer to a #GtkWidget Retrieves a snapshot of the contained widget in the form of a #GdkPixmap. If you need to keep this around over window resizes then you should add a reference to it. A #GdkPixmap pointer to the offscreen pixmap, or %NULL. Retrieves a snapshot of the contained widget in the form of a #GdkPixbuf. This is a new pixbuf with a reference count of 1, and the application should unreference it once it is no longer needed. A #GdkPixbuf pointer, or %NULL. Claims or gives up ownership of the selection. if %TRUE, claim ownership of the selection, if %FALSE, give up ownership timestamp for this operation Emits the ::changed signal on @old_editable. Retrieves the index of the currently selected menu item. The menu items are numbered from top to bottom, starting with 0. index of the selected menu item, or -1 if there are no menu items Sets the orientation of the @orientable. the orientable's new orientation. Retrieves the orientation of the @orientable. the orientation of the @orientable. The orientation of the orientable. Creates a new #GtkPageSetup. a new #GtkPageSetup. Reads the page setup from the file @file_name. Returns a new #GtkPageSetup object with the restored page setup, or %NULL if an error occurred. See gtk_page_setup_to_file(). the restored #GtkPageSetup the filename to read the page setup from Reads the page setup from the group @group_name in the key file page setup, or %NULL if an error occurred. the restored #GtkPageSetup the #GKeyFile to retrieve the page_setup from the name of the group in the key_file to read, or %NULL to use the default name "Page Setup" Copies a #GtkPageSetup. a copy of @other Gets the page orientation of the #GtkPageSetup. the page orientation Sets the page orientation of the #GtkPageSetup. a #GtkPageOrientation value Gets the paper size of the #GtkPageSetup. the paper size Sets the paper size of the #GtkPageSetup without changing the margins. See gtk_page_setup_set_paper_size_and_default_margins(). a #GtkPaperSize Gets the top margin in units of @unit. the top margin the unit for the return value Sets the top margin of the #GtkPageSetup. the new top margin in units of @unit the units for @margin Gets the bottom margin in units of @unit. the bottom margin the unit for the return value Sets the bottom margin of the #GtkPageSetup. the new bottom margin in units of @unit the units for @margin Gets the left margin in units of @unit. the left margin the unit for the return value Sets the left margin of the #GtkPageSetup. the new left margin in units of @unit the units for @margin Gets the right margin in units of @unit. the right margin the unit for the return value Sets the right margin of the #GtkPageSetup. the new right margin in units of @unit the units for @margin Sets the paper size of the #GtkPageSetup and modifies the margins according to the new paper size. a #GtkPaperSize Returns the paper width in units of @unit. Note that this function takes orientation, but not margins into consideration. See gtk_page_setup_get_page_width(). the paper width. the unit for the return value Returns the paper height in units of @unit. Note that this function takes orientation, but not margins into consideration. See gtk_page_setup_get_page_height(). the paper height. the unit for the return value Returns the page width in units of @unit. Note that this function takes orientation and margins into consideration. See gtk_page_setup_get_paper_width(). the page width. the unit for the return value Returns the page height in units of @unit. Note that this function takes orientation and margins into consideration. See gtk_page_setup_get_paper_height(). the page height. the unit for the return value Reads the page setup from the file @file_name. See gtk_page_setup_to_file(). %TRUE on success the filename to read the page setup from This function saves the information from @setup to @file_name. %TRUE on success the file to save to Reads the page setup from the group @group_name in the key file %TRUE on success the #GKeyFile to retrieve the page_setup from the name of the group in the key_file to read, or %NULL to use the default name "Page Setup" This function adds the page setup from @setup to @key_file. the #GKeyFile to save the page setup to the group to add the settings to in @key_file, or %NULL to use the default name "Page Setup" Obtains the position of the divider between the two panes. position of the divider Sets the position of the divider between the two panes. pixel position of divider, a negative value means that the position is unset. Obtains the first child of the paned widget. first child, or %NULL if it is not set. Obtains the second child of the paned widget. second child, or %NULL if it is not set. Returns the #GdkWindow of the handle. This function is useful when handling button or motion events because it enables the callback to distinguish between the window of the paned, a child and the handle. the paned's handle window. The largest possible value for the position property. This property is derived from the size and shrinkability of the widget's children. The smallest possible value for the position property. This property is derived from the size and shrinkability of the widget's children. The ::accept-position signal is a <link linkend="keybinding-signals">keybinding signal</link> which gets emitted to accept the current position of the handle when moving it using key bindings. The default binding for this signal is Return or Space. The ::cancel-position signal is a <link linkend="keybinding-signals">keybinding signal</link> which gets emitted to cancel moving the position of the handle using key bindings. The position of the handle will be reset to the value prior to moving it. The default binding for this signal is Escape. The ::cycle-child-focus signal is a <link linkend="keybinding-signals">keybinding signal</link> which gets emitted to cycle the focus between the children of the paned. The default binding is f6. whether cycling backward or forward The ::cycle-handle-focus signal is a <link linkend="keybinding-signals">keybinding signal</link> which gets emitted to cycle whether the paned should grab focus to allow the user to change position of the handle by using key bindings. The default binding for this signal is f8. whether cycling backward or forward The ::move-handle signal is a <link linkend="keybinding-signals">keybinding signal</link> which gets emitted to move the handle when the user is using key bindings to move it. a #GtkScrollType The ::toggle-handle-focus is a <link linkend="keybinding-signals">keybinding signal</link> which gets emitted to accept the current position of the handle and then move focus to the next widget in the focus chain. The default binding is Tab. Creates a new #GtkPaperSize object by parsing a <ulink url="ftp://ftp.pwg.org/pub/pwg/candidates/cs-pwgmsn10-20020226-5101.1.pdf">PWG 5101.1-2002</ulink> paper name. If @name is %NULL, the default paper size is returned, see gtk_paper_size_get_default(). to free it a new #GtkPaperSize, use gtk_paper_size_free() a paper size name, or %NULL Creates a new #GtkPaperSize object by using PPD information. If @ppd_name is not a recognized PPD paper name, construct a custom #GtkPaperSize object. to free it a new #GtkPaperSize, use gtk_paper_size_free() a PPD paper name the corresponding human-readable name the paper width, in points the paper height in points Creates a new #GtkPaperSize object with the given parameters. to free it a new #GtkPaperSize object, use gtk_paper_size_free() the paper name the human-readable name the paper width, in units of @unit the paper height, in units of @unit the unit for @width and @height Reads a paper size from the group @group_name in the key file paper size, or %NULL if an error occurred. a new #GtkPaperSize object with the restored the #GKeyFile to retrieve the papersize from the name ofthe group in the key file to read, or %NULL to read the first group Copies an existing #GtkPaperSize. a copy of @other Free the given #GtkPaperSize object. Compares two #GtkPaperSize objects. represent the same paper size %TRUE, if @size1 and @size2 another #GtkPaperSize object Gets the name of the #GtkPaperSize. the name of @size Gets the human-readable name of the #GtkPaperSize. the human-readable name of @size Gets the PPD name of the #GtkPaperSize, which may be %NULL. the PPD name of @size Gets the paper width of the #GtkPaperSize, in units of @unit. the paper width the unit for the return value Gets the paper height of the #GtkPaperSize, in units of @unit. the paper height the unit for the return value Returns %TRUE if @size is not a standard paper size. whether @size is a custom paper size. Changes the dimensions of a @size to @width x @height. the new width in units of @unit the new height in units of @unit the unit for @width and @height Gets the default top margin for the #GtkPaperSize. the default top margin the unit for the return value Gets the default bottom margin for the #GtkPaperSize. the default bottom margin the unit for the return value Gets the default left margin for the #GtkPaperSize. the default left margin the unit for the return value Gets the default right margin for the #GtkPaperSize. the default right margin the unit for the return value This function adds the paper size from @size to @key_file. the #GKeyFile to save the paper size to the group to add the settings to in @key_file Creates a new plug widget inside the #GtkSocket identified by @socket_id. If @socket_id is 0, the plug is left "unplugged" and can later be plugged into a #GtkSocket by gtk_socket_add_id(). the new #GtkPlug widget. the window ID of the socket, or 0. Create a new plug widget inside the #GtkSocket identified by socket_id. the new #GtkPlug widget. the XID of the socket's window. Finish the initialization of @plug for a given #GtkSocket identified by the XID of the socket's window. Finish the initialization of @plug for a given #GtkSocket identified by This function will generally only be used by classes deriving from #GtkPlug. the #GdkDisplay associated with @socket_id's #GtkSocket. the XID of the socket's window. Gets the window ID of a #GtkPlug widget, which can then be used to embed this window inside another window, for instance with gtk_socket_add_id(). the window ID for the plug Determines whether the plug is embedded in a socket. %TRUE if the plug is embedded in a socket Retrieves the socket the plug is embedded in. the window of the socket, or %NULL %TRUE if the plug is embedded in a socket. The window of the socket the plug is embedded in. Gets emitted when the plug becomes embedded in a socket. Obtains the cairo context that is associated with the #GtkPrintContext. the cairo context of @context Obtains the #GtkPageSetup that determines the page dimensions of the #GtkPrintContext. the page setup of @context Obtains the width of the #GtkPrintContext, in pixels. the width of @context Obtains the height of the #GtkPrintContext, in pixels. the height of @context Obtains the horizontal resolution of the #GtkPrintContext, in dots per inch. the horizontal resolution of @context Obtains the vertical resolution of the #GtkPrintContext, in dots per inch. the vertical resolution of @context Obtains the hardware printer margins of the #GtkPrintContext, in units. %TRUE if the hard margins were retrieved top hardware printer margin bottom hardware printer margin left hardware printer margin right hardware printer margin Returns a #PangoFontMap that is suitable for use with the #GtkPrintContext. the font map of @context Creates a new #PangoContext that can be used with the #GtkPrintContext. a new Pango context for @context Creates a new #PangoLayout that is suitable for use with the #GtkPrintContext. a new Pango layout for @context Sets a new cairo context on a print context. This function is intended to be used when implementing an internal print preview, it is not needed for printing, since GTK+ itself creates a suitable cairo context in that case. the cairo context the horizontal resolution to use with @cr the vertical resolution to use with @cr Creates a new #GtkPrintOperation. a new #GtkPrintOperation Makes @default_page_setup the default page setup for @op. This page setup will be used by gtk_print_operation_run(), but it can be overridden on a per-page basis by connecting to the #GtkPrintOperation::request-page-setup signal. a #GtkPageSetup, or %NULL Returns the default page setup, see gtk_print_operation_set_default_page_setup(). the default page setup Sets the print settings for @op. This is typically used to re-establish print settings from a previous print operation, see gtk_print_operation_run(). #GtkPrintSettings Returns the current print settings. Note that the return value is %NULL until either gtk_print_operation_set_print_settings() or gtk_print_operation_run() have been called. the current print settings of @op. Sets the name of the print job. The name is used to identify the job (e.g. in monitoring applications like eggcups). If you don't set a job name, GTK+ picks a default one by numbering successive print jobs. a string that identifies the print job Sets the number of pages in the document. This <emphasis>must</emphasis> be set to a positive number before the rendering starts. It may be set in a #GtkPrintOperation::begin-print signal hander. Note that the page numbers passed to the #GtkPrintOperation::request-page-setup and #GtkPrintOperation::draw-page signals are 0-based, i.e. if the user chooses to print all pages, the last ::draw-page signal will be for page @n_pages - 1. the number of pages Sets the current page. If this is called before gtk_print_operation_run(), the user will be able to select to print only the current page. Note that this only makes sense for pre-paginated documents. the current page, 0-based If @full_page is %TRUE, the transformation for the cairo context obtained from #GtkPrintContext puts the origin at the top left corner of the page (which may not be the top left corner of the sheet, depending on page orientation and the number of pages per sheet). Otherwise, the origin is at the top left corner of the imageable area (i.e. inside the margins). %TRUE to set up the #GtkPrintContext for the full page Sets up the transformation for the cairo context obtained from #GtkPrintContext in such a way that distances are measured in units of @unit. the unit to use Sets up the #GtkPrintOperation to generate a file instead of showing the print dialog. The indended use of this function is for implementing "Export to PDF" actions. Currently, PDF is the only supported format. "Print to PDF" support is independent of this and is done by letting the user pick the "Print to PDF" item from the list of printers in the print dialog. the filename for the exported file If track_status is %TRUE, the print operation will try to continue report on the status of the print job in the printer queues and printer. This can allow your application to show things like "out of paper" issues, and when the print job actually reaches the printer. This function is often implemented using some form of polling, so it should not be enabled unless needed. %TRUE to track status after printing If @show_progress is %TRUE, the print operation will show a progress dialog during the print operation. %TRUE to show a progress dialog Sets whether the gtk_print_operation_run() may return before the print operation is completed. Note that some platforms may not allow asynchronous operation. %TRUE to allow asynchronous operation Sets the label for the tab holding custom widgets. the label to use, or %NULL to use the default label Runs the print operation, by first letting the user modify print settings in the print dialog, and then print the document. Normally that this function does not return until the rendering of all pages is complete. You can connect to the #GtkPrintOperation::status-changed signal on @op to obtain some information about the progress of the print operation. Furthermore, it may use a recursive mainloop to show the print dialog. If you call gtk_print_operation_set_allow_async() or set the #GtkPrintOperation:allow-async property the operation will run asynchronously if this is supported on the platform. The #GtkPrintOperation::done signal will be emitted with the result of the operation when the it is done (i.e. when the dialog is canceled, or when the print succeeds or fails). |[ if (settings != NULL) gtk_print_operation_set_print_settings (print, settings); if (page_setup != NULL) gtk_print_operation_set_default_page_setup (print, page_setup); g_signal_connect (print, "begin-print", G_CALLBACK (begin_print), &data); g_signal_connect (print, "draw-page", G_CALLBACK (draw_page), &data); res = gtk_print_operation_run (print, GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG, parent, &error); if (res == GTK_PRINT_OPERATION_RESULT_ERROR) { error_dialog = gtk_message_dialog_new (GTK_WINDOW (parent), GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, "Error printing file:\n%s", error->message); g_signal_connect (error_dialog, "response", G_CALLBACK (gtk_widget_destroy), NULL); gtk_widget_show (error_dialog); g_error_free (error); } else if (res == GTK_PRINT_OPERATION_RESULT_APPLY) { if (settings != NULL) g_object_unref (settings); settings = g_object_ref (gtk_print_operation_get_print_settings (print)); } ]| Note that gtk_print_operation_run() can only be called once on a given #GtkPrintOperation. %GTK_PRINT_OPERATION_RESULT_APPLY indicates that the printing was completed successfully. In this case, it is a good idea to obtain the used print settings with gtk_print_operation_get_print_settings() and store them for reuse with the next print operation. A value of %GTK_PRINT_OPERATION_RESULT_IN_PROGRESS means the operation is running asynchronously, and will emit the #GtkPrintOperation::done signal when done. the result of the print operation. A return value of the action to start Transient parent of the dialog Returns the status of the print operation. Also see gtk_print_operation_get_status_string(). the status of the print operation Returns a string representation of the status of the print operation. The string is translated and suitable for displaying the print status e.g. in a #GtkStatusbar. Use gtk_print_operation_get_status() to obtain a status value that is suitable for programmatic use. of the print operation a string representation of the status A convenience function to find out if the print operation is finished, either successfully (%GTK_PRINT_STATUS_FINISHED) or unsuccessfully (%GTK_PRINT_STATUS_FINISHED_ABORTED). can be in a non-finished state even after done has been called, as the operation status then tracks the print job status on the printer. %TRUE, if the print operation is finished. Cancels a running print operation. This function may be called from a #GtkPrintOperation::begin-print, #GtkPrintOperation::paginate or #GtkPrintOperation::draw-page signal handler to stop the currently running print operation. Signalize that drawing of particular page is complete. It is called after completion of page drawing (e.g. drawing in another thread). If gtk_print_operation_set_defer_drawing() was called before, then this function has to be called by application. In another case it is called by the library itself. Sets up the #GtkPrintOperation to wait for calling of gtk_print_operation_draw_page_finish() from application. It can be used for drawing page in another thread. This function must be called in the callback of "draw-page" signal. Sets whether selection is supported by #GtkPrintOperation. %TRUE to support selection Gets the value of #GtkPrintOperation::support-selection property. whether the application supports print of selection Sets whether there is a selection to print. Application has to set number of pages to which the selection will draw by gtk_print_operation_set_n_pages() in a callback of #GtkPrintOperation::begin-print. %TRUE indicates that a selection exists Gets the value of #GtkPrintOperation::has-selection property. whether there is a selection Embed page size combo box and orientation combo box into page setup page. Selected page setup is stored as default page setup in #GtkPrintOperation. %TRUE to embed page setup selection in the #GtkPrintDialog Gets the value of #GtkPrintOperation::embed-page-setup property. whether page setup selection combos are embedded Returns the number of pages that will be printed. Note that this value is set during print preparation phase (%GTK_PRINT_STATUS_PREPARING), so this function should never be called before the data generation phase (%GTK_PRINT_STATUS_GENERATING_DATA). You can connect to the #GtkPrintOperation::status-changed signal and call gtk_print_operation_get_n_pages_to_print() when print status is %GTK_PRINT_STATUS_GENERATING_DATA. This is typically used to track the progress of print operation. the number of pages that will be printed Determines whether the print operation may run asynchronously or not. Some systems don't support asynchronous printing, but those that do will return %GTK_PRINT_OPERATION_RESULT_IN_PROGRESS as the status, and emit the #GtkPrintOperation::done signal when the operation is actually done. The Windows port does not support asynchronous operation at all (this is unlikely to change). On other platforms, all actions except for %GTK_PRINT_OPERATION_ACTION_EXPORT support asynchronous operation. The current page in the document. If this is set before gtk_print_operation_run(), the user will be able to select to print only the current page. Note that this only makes sense for pre-paginated documents. Used as the label of the tab containing custom widgets. Note that this property may be ignored on some platforms. If this is %NULL, GTK+ uses a default label. The #GtkPageSetup used by default. This page setup will be used by gtk_print_operation_run(), but it can be overridden on a per-page basis by connecting to the #GtkPrintOperation::request-page-setup signal. If %TRUE, page size combo box and orientation combo box are embedded into page setup page. The name of a file to generate instead of showing the print dialog. Currently, PDF is the only supported format. The intended use of this property is for implementing "Export to PDF" actions. "Print to PDF" support is independent of this and is done by letting the user pick the "Print to PDF" item from the list of printers in the print dialog. Determines whether there is a selection in your application. This can allow your application to print the selection. This is typically used to make a "Selection" button sensitive. A string used to identify the job (e.g. in monitoring applications like eggcups). If you don't set a job name, GTK+ picks a default one by numbering successive print jobs. The number of pages in the document. This <emphasis>must</emphasis> be set to a positive number before the rendering starts. It may be set in a #GtkPrintOperation::begin-print signal hander. Note that the page numbers passed to the #GtkPrintOperation::request-page-setup and #GtkPrintOperation::draw-page signals are 0-based, i.e. if the user chooses to print all pages, the last ::draw-page signal will be for page @n_pages - 1. The number of pages that will be printed. Note that this value is set during print preparation phase (%GTK_PRINT_STATUS_PREPARING), so this value should never be get before the data generation phase (%GTK_PRINT_STATUS_GENERATING_DATA). You can connect to the #GtkPrintOperation::status-changed signal and call gtk_print_operation_get_n_pages_to_print() when print status is %GTK_PRINT_STATUS_GENERATING_DATA. This is typically used to track the progress of print operation. The #GtkPrintSettings used for initializing the dialog. Setting this property is typically used to re-establish print settings from a previous print operation, see gtk_print_operation_run(). Determines whether to show a progress dialog during the print operation. The status of the print operation. A string representation of the status of the print operation. The string is translated and suitable for displaying the print status e.g. in a #GtkStatusbar. See the #GtkPrintOperation:status property for a status value that is suitable for programmatic use. If %TRUE, the print operation will support print of selection. This allows the print dialog to show a "Selection" button. If %TRUE, the print operation will try to continue report on the status of the print job in the printer queues and printer. This can allow your application to show things like "out of paper" issues, and when the print job actually reaches the printer. However, this is often implemented using polling, and should not be enabled unless needed. The transformation for the cairo context obtained from #GtkPrintContext is set up in such a way that distances are measured in units of @unit. If %TRUE, the transformation for the cairo context obtained from #GtkPrintContext puts the origin at the top left corner of the page (which may not be the top left corner of the sheet, depending on page orientation and the number of pages per sheet). Otherwise, the origin is at the top left corner of the imageable area (i.e. inside the margins). Emitted after the user has finished changing print settings in the dialog, before the actual rendering starts. A typical use for ::begin-print is to use the parameters from the #GtkPrintContext and paginate the document accordingly, and then set the number of pages with gtk_print_operation_set_n_pages(). the #GtkPrintContext for the current operation Emitted when displaying the print dialog. If you return a widget in a handler for this signal it will be added to a custom tab in the print dialog. You typically return a container widget with multiple widgets in it. The print dialog owns the returned widget, and its lifetime is not controlled by the application. However, the widget is guaranteed to stay around until the #GtkPrintOperation::custom-widget-apply signal is emitted on the operation. Then you can read out any information you need from the widgets. or %NULL A custom widget that gets embedded in the print dialog, Emitted right before #GtkPrintOperation::begin-print if you added a custom widget in the #GtkPrintOperation::create-custom-widget handler. When you get this signal you should read the information from the custom widgets, as the widgets are not guaraneed to be around at a later time. the custom widget added in create-custom-widget Emitted when the print operation run has finished doing everything required for printing. If @result is %GTK_PRINT_OPERATION_RESULT_ERROR then you can call gtk_print_operation_get_error() for more information. If you enabled print status tracking then gtk_print_operation_is_finished() may still return %FALSE after #GtkPrintOperation::done was emitted. the result of the print operation Emitted for every page that is printed. The signal handler must render the @page_nr's page onto the cairo context obtained from @context using gtk_print_context_get_cairo_context(). |[ static void draw_page (GtkPrintOperation *operation, GtkPrintContext *context, gint page_nr, gpointer user_data) { cairo_t *cr; PangoLayout *layout; gdouble width, text_height; gint layout_height; PangoFontDescription *desc; cr = gtk_print_context_get_cairo_context (context); width = gtk_print_context_get_width (context); cairo_rectangle (cr, 0, 0, width, HEADER_HEIGHT); cairo_set_source_rgb (cr, 0.8, 0.8, 0.8); cairo_fill (cr); layout = gtk_print_context_create_pango_layout (context); desc = pango_font_description_from_string ("sans 14"); pango_layout_set_font_description (layout, desc); pango_font_description_free (desc); pango_layout_set_text (layout, "some text", -1); pango_layout_set_width (layout, width * PANGO_SCALE); pango_layout_set_alignment (layout, PANGO_ALIGN_CENTER); pango_layout_get_size (layout, NULL, &layout_height); text_height = (gdouble)layout_height / PANGO_SCALE; cairo_move_to (cr, width / 2, (HEADER_HEIGHT - text_height) / 2); pango_cairo_show_layout (cr, layout); g_object_unref (layout); } ]| Use gtk_print_operation_set_use_full_page() and gtk_print_operation_set_unit() before starting the print operation to set up the transformation of the cairo context according to your needs. the #GtkPrintContext for the current operation the number of the currently printed page (0-based) Emitted after all pages have been rendered. A handler for this signal can clean up any resources that have been allocated in the #GtkPrintOperation::begin-print handler. the #GtkPrintContext for the current operation Emitted after the #GtkPrintOperation::begin-print signal, but before the actual rendering starts. It keeps getting emitted until a connected signal handler returns %TRUE. The ::paginate signal is intended to be used for paginating a document in small chunks, to avoid blocking the user interface for a long time. The signal handler should update the number of pages using gtk_print_operation_set_n_pages(), and return %TRUE if the document has been completely paginated. If you don't need to do pagination in chunks, you can simply do it all in the ::begin-print handler, and set the number of pages from there. %TRUE if pagination is complete the #GtkPrintContext for the current operation Gets emitted when a preview is requested from the native dialog. The default handler for this signal uses an external viewer application to preview. To implement a custom print preview, an application must return %TRUE from its handler for this signal. In order to use the provided @context for the preview implementation, it must be given a suitable cairo context with gtk_print_context_set_cairo_context(). The custom preview implementation can use gtk_print_operation_preview_is_selected() and gtk_print_operation_preview_render_page() to find pages which are selected for print and render them. The preview must be finished by calling gtk_print_operation_preview_end_preview() (typically in response to the user clicking a close button). %TRUE if the listener wants to take over control of the preview the #GtkPrintPreviewOperation for the current operation the #GtkPrintContext that will be used the #GtkWindow to use as window parent, or %NULL Emitted once for every page that is printed, to give the application a chance to modify the page setup. Any changes done to @setup will be in force only for printing this page. the #GtkPrintContext for the current operation the number of the currently printed page (0-based) the #GtkPageSetup Emitted at between the various phases of the print operation. See #GtkPrintStatus for the phases that are being discriminated. Use gtk_print_operation_get_status() to find out the current status. Emitted after change of selected printer. The actual page setup and print settings are passed to the custom widget, which can actualize itself according to this change. the custom widget added in create-custom-widget actual page setup actual print settings Renders a page to the preview, using the print context that was passed to the #GtkPrintOperation::preview handler together with @preview. A custom iprint preview should use this function in its ::expose handler to render the currently selected page. Note that this function requires a suitable cairo context to be associated with the print context. the page to render Returns whether the given page is included in the set of pages that have been selected for printing. %TRUE if the page has been selected for printing a page number Ends a preview. This function must be called to finish a custom print preview. Renders a page to the preview, using the print context that was passed to the #GtkPrintOperation::preview handler together with @preview. A custom iprint preview should use this function in its ::expose handler to render the currently selected page. Note that this function requires a suitable cairo context to be associated with the print context. the page to render Ends a preview. This function must be called to finish a custom print preview. Returns whether the given page is included in the set of pages that have been selected for printing. %TRUE if the page has been selected for printing a page number The ::got-page-size signal is emitted once for each page that gets rendered to the preview. A handler for this signal should update the @context according to @page_setup and set up a suitable cairo context, using gtk_print_context_set_cairo_context(). the current #GtkPrintContext the #GtkPageSetup for the current page The ::ready signal gets emitted once per preview operation, before the first page is rendered. A handler for this signal can be used for setup tasks. the current #GtkPrintContext the page to render %TRUE if the page has been selected for printing a page number Creates a new #GtkPrintSettings object. a new #GtkPrintSettings object Reads the print settings from @file_name. Returns a new #GtkPrintSettings object with the restored settings, or %NULL if an error occurred. If the file could not be loaded then error is set to either a #GFileError or #GKeyFileError. See gtk_print_settings_to_file(). the restored #GtkPrintSettings the filename to read the settings from Reads the print settings from the group @group_name in @key_file. Returns a new #GtkPrintSettings object with the restored settings, or %NULL if an error occurred. If the file could not be loaded then error is set to either a #GFileError or #GKeyFileError. the restored #GtkPrintSettings the #GKeyFile to retrieve the settings from the name of the group to use, or %NULL to use the default "Print Settings" Copies a #GtkPrintSettings object. a newly allocated copy of @other Reads the print settings from @file_name. If the file could not be loaded then error is set to either a #GFileError or #GKeyFileError. See gtk_print_settings_to_file(). %TRUE on success the filename to read the settings from This function saves the print settings from @settings to @file_name. If the file could not be loaded then error is set to either a #GFileError or #GKeyFileError. %TRUE on success the file to save to Reads the print settings from the group @group_name in @key_file. If the file could not be loaded then error is set to either a #GFileError or #GKeyFileError. %TRUE on success the #GKeyFile to retrieve the settings from the name of the group to use, or %NULL to use the default "Print Settings" This function adds the print settings from @settings to @key_file. the #GKeyFile to save the print settings to the group to add the settings to in @key_file, or %NULL to use the default "Print Settings" Returns %TRUE, if a value is associated with @key. %TRUE, if @key has a value a key Looks up the string value associated with @key. the string value for @key a key Associates @value with @key. a key a string value, or %NULL Removes any value associated with @key. This has the same effect as setting the value to %NULL. a key Calls @func for each key-value pair of @settings. (scope call) the function to call user data for @func Returns the boolean represented by the value that is associated with @key. The string "true" represents %TRUE, any other string %FALSE. %TRUE, if @key maps to a true value. a key Sets @key to a boolean value. a key a boolean Returns the double value associated with @key, or 0. the double value of @key a key Returns the floating point number represented by the value that is associated with @key, or @default_val if the value does not represent a floating point number. Floating point numbers are parsed with g_ascii_strtod(). the floating point number associated with @key a key the default value Sets @key to a double value. a key a double value Returns the value associated with @key, interpreted as a length. The returned value is converted to @units. the length value of @key, converted to @unit a key the unit of the return value Associates a length in units of @unit with @key. a key a length the unit of @length Returns the integer value of @key, or 0. the integer value of @key a key Returns the value of @key, interpreted as an integer, or the default value. the integer value of @key a key the default value Sets @key to an integer value. a key an integer Convenience function to obtain the value of %GTK_PRINT_SETTINGS_PRINTER. the printer name Convenience function to set %GTK_PRINT_SETTINGS_PRINTER to @printer. the printer name Get the value of %GTK_PRINT_SETTINGS_ORIENTATION, converted to a #GtkPageOrientation. the orientation Sets the value of %GTK_PRINT_SETTINGS_ORIENTATION. a page orientation Gets the value of %GTK_PRINT_SETTINGS_PAPER_FORMAT, converted to a #GtkPaperSize. the paper size Sets the value of %GTK_PRINT_SETTINGS_PAPER_FORMAT, %GTK_PRINT_SETTINGS_PAPER_WIDTH and %GTK_PRINT_SETTINGS_PAPER_HEIGHT. a paper size Gets the value of %GTK_PRINT_SETTINGS_PAPER_WIDTH, converted to @unit. the paper width, in units of @unit the unit for the return value Sets the value of %GTK_PRINT_SETTINGS_PAPER_WIDTH. the paper width the units of @width Gets the value of %GTK_PRINT_SETTINGS_PAPER_HEIGHT, converted to @unit. the paper height, in units of @unit the unit for the return value Sets the value of %GTK_PRINT_SETTINGS_PAPER_HEIGHT. the paper height the units of @height Gets the value of %GTK_PRINT_SETTINGS_USE_COLOR. whether to use color Sets the value of %GTK_PRINT_SETTINGS_USE_COLOR. whether to use color Gets the value of %GTK_PRINT_SETTINGS_COLLATE. whether to collate the printed pages Sets the value of %GTK_PRINT_SETTINGS_COLLATE. whether to collate the output Gets the value of %GTK_PRINT_SETTINGS_REVERSE. whether to reverse the order of the printed pages Sets the value of %GTK_PRINT_SETTINGS_REVERSE. whether to reverse the output Gets the value of %GTK_PRINT_SETTINGS_DUPLEX. whether to print the output in duplex. Sets the value of %GTK_PRINT_SETTINGS_DUPLEX. a #GtkPrintDuplex value Gets the value of %GTK_PRINT_SETTINGS_QUALITY. the print quality Sets the value of %GTK_PRINT_SETTINGS_QUALITY. a #GtkPrintQuality value Gets the value of %GTK_PRINT_SETTINGS_N_COPIES. the number of copies to print Sets the value of %GTK_PRINT_SETTINGS_N_COPIES. the number of copies Gets the value of %GTK_PRINT_SETTINGS_NUMBER_UP. the number of pages per sheet Sets the value of %GTK_PRINT_SETTINGS_NUMBER_UP. the number of pages per sheet Gets the value of %GTK_PRINT_SETTINGS_NUMBER_UP_LAYOUT. layout of page in number-up mode Sets the value of %GTK_PRINT_SETTINGS_NUMBER_UP_LAYOUT. a #GtkNumberUpLayout value Gets the value of %GTK_PRINT_SETTINGS_RESOLUTION. the resolution in dpi Sets the values of %GTK_PRINT_SETTINGS_RESOLUTION, %GTK_PRINT_SETTINGS_RESOLUTION_X and %GTK_PRINT_SETTINGS_RESOLUTION_Y. the resolution in dpi Gets the value of %GTK_PRINT_SETTINGS_RESOLUTION_X. the horizontal resolution in dpi Gets the value of %GTK_PRINT_SETTINGS_RESOLUTION_Y. the vertical resolution in dpi Sets the values of %GTK_PRINT_SETTINGS_RESOLUTION, %GTK_PRINT_SETTINGS_RESOLUTION_X and %GTK_PRINT_SETTINGS_RESOLUTION_Y. the horizontal resolution in dpi the vertical resolution in dpi Gets the value of %GTK_PRINT_SETTINGS_PRINTER_LPI. the resolution in lpi (lines per inch) Sets the value of %GTK_PRINT_SETTINGS_PRINTER_LPI. the resolution in lpi (lines per inch) Gets the value of %GTK_PRINT_SETTINGS_SCALE. the scale in percent Sets the value of %GTK_PRINT_SETTINGS_SCALE. the scale in percent Gets the value of %GTK_PRINT_SETTINGS_PRINT_PAGES. which pages to print Sets the value of %GTK_PRINT_SETTINGS_PRINT_PAGES. a #GtkPrintPages value Gets the value of %GTK_PRINT_SETTINGS_PAGE_RANGES. to free the array when it is no longer needed. an array of #GtkPageRange<!-- -->s. Use g_free() return location for the length of the returned array Sets the value of %GTK_PRINT_SETTINGS_PAGE_RANGES. an array of #GtkPageRange<!-- -->s the length of @page_ranges Gets the value of %GTK_PRINT_SETTINGS_PAGE_SET. the set of pages to print Sets the value of %GTK_PRINT_SETTINGS_PAGE_SET. a #GtkPageSet value Gets the value of %GTK_PRINT_SETTINGS_DEFAULT_SOURCE. the default source Sets the value of %GTK_PRINT_SETTINGS_DEFAULT_SOURCE. the default source Gets the value of %GTK_PRINT_SETTINGS_MEDIA_TYPE. The set of media types is defined in PWG 5101.1-2002 PWG. <!-- FIXME link here --> the media type Sets the value of %GTK_PRINT_SETTINGS_MEDIA_TYPE. The set of media types is defined in PWG 5101.1-2002 PWG. <!-- FIXME link here --> the media type Gets the value of %GTK_PRINT_SETTINGS_DITHER. the dithering that is used Sets the value of %GTK_PRINT_SETTINGS_DITHER. the dithering that is used Gets the value of %GTK_PRINT_SETTINGS_FINISHINGS. the finishings Sets the value of %GTK_PRINT_SETTINGS_FINISHINGS. the finishings Gets the value of %GTK_PRINT_SETTINGS_OUTPUT_BIN. the output bin Sets the value of %GTK_PRINT_SETTINGS_OUTPUT_BIN. the output bin Creates a new #GtkProgressBar with an associated #GtkAdjustment. a #GtkProgressBar. Indicates that some progress is made, but you don't know how much. Causes the progress bar to enter "activity mode," where a block bounces back and forth. Each call to gtk_progress_bar_pulse() causes the block to move by a little bit (the amount of movement per pulse is determined by gtk_progress_bar_set_pulse_step()). Causes the given @text to appear superimposed on the progress bar. a UTF-8 string, or %NULL Causes the progress bar to "fill in" the given fraction of the bar. The fraction should be between 0.0 and 1.0, inclusive. fraction of the task that's been completed Sets the fraction of total progress bar length to move the bouncing block for each call to gtk_progress_bar_pulse(). fraction between 0.0 and 1.0 Causes the progress bar to switch to a different orientation (left-to-right, right-to-left, top-to-bottom, or bottom-to-top). orientation of the progress bar Retrieves the text displayed superimposed on the progress bar, if any, otherwise %NULL. The return value is a reference to the text, not a copy of it, so will become invalid if you change the text in the progress bar. and should not be modified or freed. text, or %NULL; this string is owned by the widget Returns the current fraction of the task that's been completed. a fraction from 0.0 to 1.0 Retrieves the pulse step set with gtk_progress_bar_set_pulse_step() a fraction from 0.0 to 1.0 Retrieves the current progress bar orientation. orientation of the progress bar if there is not enough space to render the entire string. a #PangoEllipsizeMode Returns the ellipsizing position of the progressbar. See gtk_progress_bar_set_ellipsize(). #PangoEllipsizeMode The preferred place to ellipsize the string, if the progressbar does not have enough room to display the entire string, specified as a #PangoEllisizeMode. Note that setting this property to a value other than %PANGO_ELLIPSIZE_NONE has the side-effect that the progressbar requests only enough space to display the ellipsis "...". Another means to set a progressbar's width is gtk_widget_set_size_request(). Creates a new #GtkRadioAction object. To add the action to a #GtkActionGroup and set the accelerator for the action, call gtk_action_group_add_action_with_accel(). a new #GtkRadioAction A unique name for the action The label displayed in menu items and on buttons, or %NULL A tooltip for this action, or %NULL The stock icon to display in widgets representing this action, or %NULL The value which gtk_radio_action_get_current_value() should return if this action is selected. Returns the list representing the radio group for this object. Note that the returned list is only valid until the next change to the group. A common way to set up a group of radio group is the following: |[ GSList *group = NULL; GtkRadioAction *action; while (/&ast; more actions to add &ast;/) { action = gtk_radio_action_new (...); gtk_radio_action_set_group (action, group); group = gtk_radio_action_get_group (action); } ]| the list representing the radio group for this object Sets the radio group for the radio action object. a list representing a radio group Obtains the value property of the currently active member of the group to which @action belongs. The value of the currently active group member Sets the currently active group member to the member with value property @current_value. the new value The value property of the currently active member of the group to which this action belongs. Sets a new group for a radio action. The value is an arbitrary integer which can be used as a convenient way to determine which action in the group is currently active in an ::activate or ::changed signal handler. See gtk_radio_action_get_current_value() and #GtkRadioActionEntry for convenient ways to get and set this property. The ::changed signal is emitted on every member of a radio group when the active member is changed. The signal gets emitted after the ::activate signals for the previous and current active members. the member of @action<!-- -->s group which has just been activated Creates a new #GtkRadioButton containing a label, adding it to the same group as @group. The label will be created using gtk_label_new_with_mnemonic(), so underscores in @label indicate the mnemonic for the button. a new #GtkRadioButton the radio button group the text of the button, with an underscore in front of the mnemonic character Creates a new #GtkRadioButton containing a label. The label will be created using gtk_label_new_with_mnemonic(), so underscores in @label indicate the mnemonic for the button. a new #GtkRadioButton widget to get radio group from or %NULL the text of the button, with an underscore in front of the mnemonic character Retrieves the group assigned to a radio button. containing all the radio buttons in the same group as @radio_button. The returned list is owned by the radio button and must not be modified or freed. a linked list Emitted when the group of radio buttons that a radio button belongs to changes. This is emitted when a radio button switches from being alone to being part of a group of 2 or more buttons, or vice-versa, and when a button is moved from one group of 2 or more buttons to a different one, but not when the composition of the group that a button belongs to changes. Creates a new #GtkRadioMenuItem whose child is a simple #GtkLabel. A new #GtkRadioMenuItem the text for the label Creates a new #GtkRadioMenuItem containing a label. The label will be created using gtk_label_new_with_mnemonic(), so underscores in @label indicate the mnemonic for the menu item. a new #GtkRadioMenuItem group the radio menu item is inside the text of the button, with an underscore in front of the mnemonic character Creates a new #GtkRadioMenuItem adding it to the same group as @group. The new #GtkRadioMenuItem An existing #GtkRadioMenuItem Creates a new GtkRadioMenuItem containing a label. The label will be created using gtk_label_new_with_mnemonic(), so underscores in label indicate the mnemonic for the menu item. The new #GtkRadioMenuItem is added to the same group as @group. The new #GtkRadioMenuItem An existing #GtkRadioMenuItem the text of the button, with an underscore in front of the mnemonic character Creates a new GtkRadioMenuItem whose child is a simple GtkLabel. The new #GtkRadioMenuItem is added to the same group as @group. The new #GtkRadioMenuItem an existing #GtkRadioMenuItem the text for the label The radio menu item whose group this widget belongs to. Creates a new #GtkRadioToolButton, adding it to @group. The new #GtkRadioToolButton An existing radio button group, or %NULL if you are creating a new group Creates a new #GtkRadioToolButton, adding it to @group. The new #GtkRadioToolButton will contain an icon and label from the stock item indicated by @stock_id. The new #GtkRadioToolItem an existing radio button group, or %NULL if you are creating a new group the name of a stock item Creates a new #GtkRadioToolButton adding it to the same group as @gruup The new #GtkRadioToolButton An existing #GtkRadioToolButton Creates a new #GtkRadioToolButton adding it to the same group as @group. The new #GtkRadioToolButton will contain an icon and label from the stock item indicated by @stock_id. A new #GtkRadioToolButton An existing #GtkRadioToolButton. the name of a stock item Returns the radio button group @button belongs to. The group @button belongs to. Adds @button to @group, removing it from the group it belonged to before. an existing radio button group Sets a new group for a radio tool button. Sets the update policy for the range. #GTK_UPDATE_CONTINUOUS means that anytime the range slider is moved, the range value will change and the value_changed signal will be emitted. #GTK_UPDATE_DELAYED means that the value will be updated after a brief timeout where no slider motion occurs, so updates are spaced by a short time rather than continuous. #GTK_UPDATE_DISCONTINUOUS means that the value will only be updated when the user releases the button and ends the slider drag operation. update policy Gets the update policy of @range. See gtk_range_set_update_policy(). the current update policy Sets the adjustment to be used as the "model" object for this range widget. The adjustment indicates the current range value, the minimum and maximum range values, the step/page increments used for keybindings and scrolling, and the page size. The page size is normally 0 for #GtkScale and nonzero for #GtkScrollbar, and indicates the size of the visible area of the widget being scrolled. The page size affects the size of the scrollbar slider. a #GtkAdjustment Get the #GtkAdjustment which is the "model" object for #GtkRange. See gtk_range_set_adjustment() for details. The return value does not have a reference added, so should not be unreferenced. a #GtkAdjustment Ranges normally move from lower to higher values as the slider moves from top to bottom or left to right. Inverted ranges have higher values at the top or on the right rather than on the bottom or left. %TRUE to invert the range Gets the value set by gtk_range_set_inverted(). %TRUE if the range is inverted If a range is flippable, it will switch its direction if it is horizontal and its direction is %GTK_TEXT_DIR_RTL. See gtk_widget_get_direction(). %TRUE to make the range flippable Gets the value set by gtk_range_set_flippable(). %TRUE if the range is flippable Sets whether the range's slider has a fixed size, or a size that depends on it's adjustment's page size. This function is useful mainly for #GtkRange subclasses. %TRUE to make the slider size constant This function is useful mainly for #GtkRange subclasses. See gtk_range_set_slider_size_fixed(). whether the range's slider has a fixed size. Sets the minimum size of the range's slider. This function is useful mainly for #GtkRange subclasses. The slider's minimum size This function is useful mainly for #GtkRange subclasses. See gtk_range_set_min_slider_size(). The minimum size of the range's slider. This function returns the area that contains the range's trough and its steppers, in widget->window coordinates. This function is useful mainly for #GtkRange subclasses. return location for the range rectangle This function returns sliders range along the long dimension, in widget->window coordinates. This function is useful mainly for #GtkRange subclasses. return location for the slider's start, or %NULL return location for the slider's end, or %NULL Sets the sensitivity policy for the stepper that points to the 'lower' end of the GtkRange's adjustment. the lower stepper's sensitivity policy. Gets the sensitivity policy for the stepper that points to the 'lower' end of the GtkRange's adjustment. The lower stepper's sensitivity policy. Sets the sensitivity policy for the stepper that points to the 'upper' end of the GtkRange's adjustment. the upper stepper's sensitivity policy. Gets the sensitivity policy for the stepper that points to the 'upper' end of the GtkRange's adjustment. The upper stepper's sensitivity policy. Sets the step and page sizes for the range. The step size is used when the user clicks the #GtkScrollbar arrows or moves #GtkScale via arrow keys. The page size is used for example when moving via Page Up or Page Down keys. step size page size Sets the allowable values in the #GtkRange, and clamps the range value to be between @min and @max. (If the range has a non-zero page size, it is clamped between @min and @max - page-size.) minimum range value maximum range value Sets the current value of the range; if the value is outside the minimum or maximum range values, it will be clamped to fit inside them. The range emits the #GtkRange::value-changed signal if the value changes. new value of the range Gets the current value of the range. current value of the range. Sets whether a graphical fill level is show on the trough. See gtk_range_set_fill_level() for a general description of the fill level concept. Whether a fill level indicator graphics is shown. Gets whether the range displays the fill level graphically. %TRUE if @range shows the fill level. Sets whether the slider is restricted to the fill level. See gtk_range_set_fill_level() for a general description of the fill level concept. Whether the fill level restricts slider movement. Gets whether the range is restricted to the fill level. %TRUE if @range is restricted to the fill level. Set the new position of the fill level indicator. The "fill level" is probably best described by its most prominent use case, which is an indicator for the amount of pre-buffering in a streaming media player. In that use case, the value of the range would indicate the current play position, and the fill level would be the position up to which the file/stream has been downloaded. This amount of prebuffering can be displayed on the range's trough and is themeable separately from the trough. To enable fill level display, use gtk_range_set_show_fill_level(). The range defaults to not showing the fill level. Additionally, it's possible to restrict the range's slider position to values which are smaller than the fill level. This is controller by gtk_range_set_restrict_to_fill_level() and is by default enabled. the new position of the fill level indicator Gets the current position of the fill level indicator. The current fill level The fill level (e.g. prebuffering of a network stream). See gtk_range_set_fill_level(). The restrict-to-fill-level property controls whether slider movement is restricted to an upper boundary set by the fill level. See gtk_range_set_restrict_to_fill_level(). The show-fill-level property controls whether fill level indicator graphics are displayed on the trough. See gtk_range_set_show_fill_level(). The ::change-value signal is emitted when a scroll action is performed on a range. It allows an application to determine the type of scroll event that occurred and the resultant new value. The application can handle the event itself and return %TRUE to prevent further processing. Or, by returning %FALSE, it can pass the event to other handlers until the default GTK+ handler is reached. The value parameter is unrounded. An application that overrides the ::change-value signal is responsible for clamping the value to the desired number of decimal digits; the default GTK+ handler clamps the value based on @range->round_digits. It is not possible to use delayed update policies in an overridden ::change-value handler. %TRUE to prevent other handlers from being invoked for the signal, %FALSE to propagate the signal further the type of scroll action that was performed the new value resulting from the scroll action Virtual function that moves the slider. Used for keybindings. how to move the slider Emitted when the range value changes. Makes a copy of the specified #GtkRcStyle. This function will correctly copy an RC style that is a member of a class derived from #GtkRcStyle. the resulting #GtkRcStyle Creates a new #GtkRecentAction object. To add the action to a #GtkActionGroup and set the accelerator for the action, call gtk_action_group_add_action_with_accel(). the newly created #GtkRecentAction. a unique name for the action the label displayed in menu items and on buttons, or %NULL a tooltip for the action, or %NULL the stock icon to display in widgets representing the action, or %NULL Creates a new #GtkRecentAction object. To add the action to a #GtkActionGroup and set the accelerator for the action, call gtk_action_group_add_action_with_accel(). the newly created #GtkRecentAction a unique name for the action the label displayed in menu items and on buttons, or %NULL a tooltip for the action, or %NULL the stock icon to display in widgets representing the action, or %NULL a #GtkRecentManager, or %NULL for using the default #GtkRecentManager Returns the value set by gtk_recent_chooser_menu_set_show_numbers(). %TRUE if numbers should be shown. Sets whether a number should be added to the items shown by the widgets representing @action. The numbers are shown to provide a unique character for a mnemonic to be used inside the menu item's label. Only the first ten items get a number to avoid clashes. %TRUE if the shown items should be numbered Sets @uri as the current URI for @chooser. %TRUE if the URI was found. a URI Gets the URI currently selected by @chooser. a newly allocated string holding a URI. Selects @uri inside @chooser. %TRUE if @uri was found. a URI Unselects @uri inside @chooser. a URI Selects all the items inside @chooser, if the @chooser supports multiple selection. Unselects all the items inside @chooser. Gets the list of recently used resources in form of #GtkRecentInfo objects. The return value of this function is affected by the "sort-type" and "limit" properties of @chooser. list of #GtkRecentInfo objects. You should use gtk_recent_info_unref() on every item of the list, and then free the list itself using g_list_free(). A newly allocated Adds @filter to the list of #GtkRecentFilter objects held by @chooser. If no previous filter objects were defined, this function will call gtk_recent_chooser_set_filter(). a #GtkRecentFilter Removes @filter from the list of #GtkRecentFilter objects held by @chooser. a #GtkRecentFilter Gets the #GtkRecentFilter objects held by @chooser. of #GtkRecentFilter objects. You should just free the returned list using g_slist_free(). A singly linked list Whether to show recently used resources marked registered as private. %TRUE to show private items, %FALSE otherwise Returns whether @chooser should display recently used resources registered as private. %FALSE otherwise. %TRUE if the recent chooser should show private items, Sets whether @chooser should display the recently used resources that it didn't find. This only applies to local resources. whether to show the local items we didn't find Retrieves whether @chooser should show the recently used resources that were not found. %FALSE otheriwse. %TRUE if the resources not found should be displayed, and Sets whether @chooser can select multiple items. %TRUE if @chooser can select more than one item Gets whether @chooser can select multiple items. %TRUE if @chooser can select more than one item. Sets the number of items that should be returned by gtk_recent_chooser_get_items() and gtk_recent_chooser_get_uris(). a positive integer, or -1 for all items Gets the number of items returned by gtk_recent_chooser_get_items() and gtk_recent_chooser_get_uris(). returned. A positive integer, or -1 meaning that all items are Sets whether only local resources, that is resources using the file:// URI scheme, should be shown in the recently used resources selector. If to be accessible through the operating system native file system. %TRUE if only local files can be shown Gets whether only local resources should be shown in the recently used resources selector. See gtk_recent_chooser_set_local_only() %TRUE if only local resources should be shown. Sets whether to show a tooltips containing the full path of each recently used resource in a #GtkRecentChooser widget. %TRUE if tooltips should be shown Gets whether @chooser should display tooltips containing the full path of a recently user resource. %FALSE otherwise. %TRUE if the recent chooser should show tooltips, Whether to show recently used resources prepended by a unique number. %TRUE to show numbers, %FALSE otherwise Returns whether @chooser should display recently used resources prepended by a unique number. %FALSE otherwise. %TRUE if the recent chooser should show display numbers, Sets whether @chooser should show an icon near the resource when displaying it. whether to show an icon near the resource Retrieves whether @chooser should show an icon near the resource. %TRUE if the icons should be displayed, %FALSE otherwise. Changes the sorting order of the recently used resources list displayed by sort order that the chooser should use Gets the value set by gtk_recent_chooser_set_sort_type(). the sorting order of the @chooser. Sets the comparison function used when sorting to be @sort_func. If the @chooser has the sort type set to #GTK_RECENT_SORT_CUSTOM then the chooser will sort using this function. To the comparison function will be passed two #GtkRecentInfo structs and item comes before the second, zero if the two items are equal and a negative integer if the first item comes after the second. the comparison function user data to pass to @sort_func, or %NULL destroy notifier for @sort_data, or %NULL Sets @uri as the current URI for @chooser. %TRUE if the URI was found. a URI Gets the URI currently selected by @chooser. a newly allocated string holding a URI. Gets the #GtkRecentInfo currently selected by @chooser. when you have finished using it. a #GtkRecentInfo. Use gtk_recent_info_unref() when Selects @uri inside @chooser. %TRUE if @uri was found. a URI Unselects @uri inside @chooser. a URI Selects all the items inside @chooser, if the @chooser supports multiple selection. Unselects all the items inside @chooser. Gets the list of recently used resources in form of #GtkRecentInfo objects. The return value of this function is affected by the "sort-type" and "limit" properties of @chooser. list of #GtkRecentInfo objects. You should use gtk_recent_info_unref() on every item of the list, and then free the list itself using g_list_free(). A newly allocated Gets the URI of the recently used resources. The return value of this function is affected by the "sort-type" and "limit" properties of @chooser. Since the returned array is %NULL terminated, @length may be %NULL. g_strfreev() to free it. A newly allocated, %NULL terminated array of strings. Use return location for a the length of the URI list, or %NULL Adds @filter to the list of #GtkRecentFilter objects held by @chooser. If no previous filter objects were defined, this function will call gtk_recent_chooser_set_filter(). a #GtkRecentFilter Removes @filter from the list of #GtkRecentFilter objects held by @chooser. a #GtkRecentFilter Gets the #GtkRecentFilter objects held by @chooser. of #GtkRecentFilter objects. You should just free the returned list using g_slist_free(). A singly linked list Sets @filter as the current #GtkRecentFilter object used by @chooser to affect the displayed recently used resources. a #GtkRecentFilter Gets the #GtkRecentFilter object currently used by @chooser to affect the display of the recently used resources. a #GtkRecentFilter object. The #GtkRecentFilter object to be used when displaying the recently used resources. The maximum number of recently used resources to be displayed, or -1 to display all items. By default, the override that limit on a particular instance of #GtkRecentChooser by setting this property. Whether this #GtkRecentChooser should display only local (file:) resources. The #GtkRecentManager instance used by the #GtkRecentChooser to display the list of recently used resources. Allow the user to select multiple resources. Whether this #GtkRecentChooser should display an icon near the item. Whether this #GtkRecentChooser should display the recently used resources even if not present anymore. Setting this to %FALSE will perform a potentially expensive check on every local resource (every remote resource will always be displayed). Whether this #GtkRecentChooser should display a tooltip containing the full path of the recently used resources. Sorting order to be used when displaying the recently used resources. Creates a new #GtkRecentChooserDialog. This function is analogous to gtk_dialog_new_with_buttons(). a new #GtkRecentChooserDialog Title of the dialog, or %NULL Transient parent of the dialog, or %NULL, stock ID or text to go in the first button, or %NULL Creates a new #GtkRecentChooserDialog with a specified recent manager. This is useful if you have implemented your own recent manager, or if you have a customized instance of a #GtkRecentManager object. a new #GtkRecentChooserDialog Title of the dialog, or %NULL Transient parent of the dialog, or %NULL, a #GtkRecentManager stock ID or text to go in the first button, or %NULL %TRUE if the URI was found. a URI a newly allocated string holding a URI. %TRUE if @uri was found. a URI a URI A newly allocated a #GtkRecentFilter a #GtkRecentFilter A singly linked list Creates a new #GtkRecentChooserMenu widget. This kind of widget shows the list of recently used resources as a menu, each item as a menu item. Each item inside the menu might have an icon, representing its MIME type, and a number, for mnemonic access. This widget implements the #GtkRecentChooser interface. This widget creates its own #GtkRecentManager object. See the gtk_recent_chooser_menu_new_for_manager() function to know how to create a #GtkRecentChooserMenu widget bound to another #GtkRecentManager object. a new #GtkRecentChooserMenu Creates a new #GtkRecentChooserMenu widget using @manager as the underlying recently used resources manager. This is useful if you have implemented your own recent manager, or if you have a customized instance of a #GtkRecentManager object or if you wish to share a common #GtkRecentManager object among multiple #GtkRecentChooser widgets. a new #GtkRecentChooserMenu, bound to @manager. a #GtkRecentManager Returns the value set by gtk_recent_chooser_menu_set_show_numbers(). %TRUE if numbers should be shown. Sets whether a number should be added to the items of @menu. The numbers are shown to provide a unique character for a mnemonic to be used inside ten menu item's label. Only the first the items get a number to avoid clashes. whether to show numbers Creates a new #GtkRecentChooserWidget object. This is an embeddable widget used to access the recently used resources list. a new #GtkRecentChooserWidget Creates a new #GtkRecentChooserWidget with a specified recent manager. This is useful if you have implemented your own recent manager, or if you have a customized instance of a #GtkRecentManager object. a new #GtkRecentChooserWidget a #GtkRecentManager Meta-data to be passed to gtk_recent_manager_add_full() when registering a recently used resource. Creates a new #GtkRecentFilter with no rules added to it. Such filter does not accept any recently used resources, so is not particularly useful until you add rules with gtk_recent_filter_add_pattern(), gtk_recent_filter_add_mime_type(), gtk_recent_filter_add_application(), gtk_recent_filter_add_age(). To create a filter that accepts any recently used resource, use: |[ GtkRecentFilter *filter = gtk_recent_filter_new (); gtk_recent_filter_add_pattern (filter, "*"); ]| a new #GtkRecentFilter Sets the human-readable name of the filter; this is the string that will be displayed in the recently used resources selector user interface if there is a selectable list of filters. then human readable name of @filter Gets the human-readable name for the filter. See gtk_recent_filter_set_name(). is owned by the filter object and should not be freed. the name of the filter, or %NULL. The returned string Adds a rule that allows resources based on their registered MIME type. a MIME type Adds a rule that allows resources based on a pattern matching their display name. a file pattern Adds a rule allowing image files in the formats supported by GdkPixbuf. Adds a rule that allows resources based on the name of the application that has registered them. an application name Adds a rule that allows resources based on the name of the group to which they belong a group name Adds a rule that allows resources based on their age - that is, the number of days elapsed since they were last modified. number of days Adds a rule to a filter that allows resources based on a custom callback function. The bitfield @needed which is passed in provides information about what sorts of information that the filter function needs; this allows GTK+ to avoid retrieving expensive information when it isn't needed by the filter. bitfield of flags indicating the information that the custom filter function needs. callback function; if the function returns %TRUE, then the file will be displayed. data to pass to @func function to call to free @data when it is no longer needed. Gets the fields that need to be filled in for the structure passed to gtk_recent_filter_filter() This function will not typically be used by applications; it is intended principally for use in the implementation of #GtkRecentChooser. calling gtk_recent_filter_filter() bitfield of flags indicating needed fields when Tests whether a file should be displayed according to @filter. The #GtkRecentFilterInfo structure @filter_info should include the fields returned from gtk_recent_filter_get_needed(). This function will not typically be used by applications; it is intended principally for use in the implementation of #GtkRecentChooser. %TRUE if the file should be displayed a #GtkRecentFilterInfo structure containing information about a recently used resource Increases the reference count of @recent_info by one. by one. the recent info object with its reference count increased Decreases the reference count of @info by one. If the reference count reaches zero, @info is deallocated, and the memory freed. Gets the URI of the resource. owned by the recent manager, and should not be freed. the URI of the resource. The returned string is Gets the name of the resource. If none has been defined, the basename of the resource is obtained. is owned by the recent manager, and should not be freed. the display name of the resource. The returned string Gets the (short) description of the resource. is owned by the recent manager, and should not be freed. the description of the resource. The returned string Gets the MIME type of the resource. is owned by the recent manager, and should not be freed. the MIME type of the resource. The returned string Gets the timestamp (seconds from system's Epoch) when the resource was added to the recently used resources list. the resource was added to the list, or -1 on failure. the number of seconds elapsed from system's Epoch when Gets the timestamp (seconds from system's Epoch) when the resource was last modified. the resource was last modified, or -1 on failure. the number of seconds elapsed from system's Epoch when Gets the timestamp (seconds from system's Epoch) when the resource was last visited. the resource was last visited, or -1 on failure. the number of seconds elapsed from system's Epoch when Gets the value of the "private" flag. Resources in the recently used list that have this flag set to %TRUE should only be displayed by the applications that have registered them. %TRUE if the private flag was found, %FALSE otherwise. Gets the data regarding the application that has registered the resource pointed by @info. If the command line contains any escape characters defined inside the storage specification, they will be expanded. resource inside the recently used list, or %FALSE otherwise. The modified or freed %TRUE if an application with @app_name has registered this the name of the application that has registered this item return location for the string containing the command line return location for the number of times this item was registered return location for the timestamp this item was last registered for this application Retrieves the list of applications that have registered this resource. %NULL-terminated array of strings. Use g_strfreev() to free it. a newly allocated return location for the length of the returned list Gets the name of the last application that have registered the recently used resource represented by @info. an application name. Use g_free() to free it. Checks whether an application registered this resource using @app_name. %FALSE otherwise. %TRUE if an application with name @app_name was found, a string containing an application name Returns all groups registered for the recently used item @info. The array of returned group names will be %NULL terminated, so length might optionally be %NULL. %NULL terminated array of strings. Use g_strfreev() to free it. a newly allocated return location for the number of groups returned Checks whether @group_name appears inside the groups registered for the recently used item @info. %TRUE if the group was found. name of a group Retrieves the icon of size @size associated to the resource MIME type. g_object_unref() when finished using the icon. a #GdkPixbuf containing the icon, or %NULL. Use the size of the icon in pixels Computes a valid UTF-8 string that can be used as the name of the item in a menu or list. For example, calling this function on an item that refers to "file:///foo/bar.txt" will yield "bar.txt". g_free(). A newly-allocated string in UTF-8 encoding; free it with Gets a displayable version of the resource's URI. If the resource is local, it returns a local path; if the resource is not local, it returns the UTF-8 encoded content of gtk_recent_info_get_uri(). resource's URI or %NULL. Use g_free() when done using it. a newly allocated UTF-8 string containing the Gets the number of days elapsed since the last update of the resource pointed by @info. since the time this resource was last modified. a positive integer containing the number of days elapsed Checks whether the resource is local or not by looking at the scheme of its URI. %TRUE if the resource is local. Checks whether the resource pointed by @info still exists. At the moment this check is done only on resources pointing to local files. %TRUE if the resource exists Checks whether two #GtkRecentInfo structures point to the same resource. resource, %FALSE otherwise. %TRUE if both #GtkRecentInfo structures point to se same a #GtkRecentInfo Creates a new recent manager object. Recent manager objects are used to handle the list of recently used resources. A #GtkRecentManager object monitors the recently used resources list, and emits the "changed" signal each time something inside the list changes. #GtkRecentManager objects are expensive: be sure to create them only when needed. You should use gtk_recent_manager_get_default() instead. A newly created #GtkRecentManager object. Gets a unique instance of #GtkRecentManager, that you can share in your application without caring about memory management. The returned instance will be freed when you application terminates. A unique #GtkRecentManager. Do not ref or unref it. Gets the recent manager object associated with @screen; if this function has not previously been called for the given screen, a new recent manager object will be created and associated with the screen. Recent manager objects are fairly expensive to create, so using this function is usually a better choice than calling gtk_recent_manager_new() and setting the screen yourself; by using this function a single recent manager object will be shared between users. screen. This recent manager is associated to the with the screen and can be used as long as the screen is open. Do not ref or unref it. not be used in newly written code. Calling this function is equivalent to calling gtk_recent_manager_get_default(). A unique #GtkRecentManager associated with the given a #GdkScreen Sets the screen for a recent manager; the screen is used to track the user's currently configured recently used documents storage. not be used in newly written code. Calling this function has no effect. a #GdkScreen Adds a new resource, pointed by @uri, into the recently used resources list. This function automatically retrieves some of the needed metadata and setting other metadata to common default values; it then feeds the data to gtk_recent_manager_add_full(). See gtk_recent_manager_add_full() if you want to explicitly define the metadata for the resource pointed by @uri. to the recently used resources list %TRUE if the new item was successfully added a valid URI Adds a new resource, pointed by @uri, into the recently used resources list, using the metadata specified inside the #GtkRecentData structure passed in @recent_data. The passed URI will be used to identify this resource inside the list. In order to register the new recently used resource, metadata about the resource must be passed as well as the URI; the metadata is stored in a #GtkRecentData structure, which must contain the MIME type of the resource pointed by the URI; the name of the application that is registering the item, and a command line to be used when launching the item. Optionally, a #GtkRecentData structure might contain a UTF-8 string to be used when viewing the item instead of the last component of the URI; a short description of the item; whether the item should be considered private - that is, should be displayed only by the applications that have registered it. recently used resources list, %FALSE otherwise. %TRUE if the new item was successfully added to the a valid URI metadata of the resource Removes a resource pointed by @uri from the recently used resources list handled by a recent manager. removed by the recently used resources list, and %FALSE otherwise. %TRUE if the item pointed by @uri has been successfully the URI of the item you wish to remove Searches for a URI inside the recently used resources list, and returns a structure containing informations about the resource like its MIME type, or its display name. about the resource pointed by @uri, or %NULL if the URI was not registered in the recently used resources list. Free with gtk_recent_info_unref(). a #GtkRecentInfo structure containing information a URI Checks whether there is a recently used resource registered with @uri inside the recent manager. %TRUE if the resource was found, %FALSE otherwise. a URI Changes the location of a recently used resource from @uri to @new_uri. Please note that this function will not affect the resource pointed by the URIs, but only the URI used in the recently used resources list. %TRUE on success. the URI of a recently used resource the new URI of the recently used resource, or %NULL to remove the item pointed by @uri in the list Sets the maximum number of item that the gtk_recent_manager_get_items() function should return. If @limit is set to -1, then return all the items. the maximum number of items to return, or -1. Gets the maximum number of items that the gtk_recent_manager_get_items() function should return. the number of items to return, or -1 for every item. Gets the list of recently used resources. newly allocated #GtkRecentInfo objects. Use gtk_recent_info_unref() on each item inside the list, and then free the list itself using g_list_free(). a list of Purges every item from the recently used resources list. recently used resources list. the number of items that have been removed from the Error codes for GtkRecentManager operations Used to specify the sorting method to be applyed to the recently used resource list. A <structname>GtkRequisition</structname> represents the desired size of a widget. See <xref linkend="size-requisition"/> for more information. Copies a #GtkRequisition. a copy of @requisition Frees a #GtkRequisition. Gets the units used for a #GtkRuler. See gtk_ruler_set_metric(). the units currently used for @ruler This sets the range of the ruler. the lower limit of the ruler the upper limit of the ruler the mark on the ruler the maximum size of the ruler used when calculating the space to leave for the text Retrieves values indicating the range and current position of a #GtkRuler. See gtk_ruler_set_range(). location to store lower limit of the ruler, or %NULL location to store upper limit of the ruler, or %NULL location to store the current position of the mark on the ruler, or %NULL location to store the maximum size of the ruler used when calculating the space to leave for the text, or %NULL. The metric used for the ruler. Obtains the coordinates where the scale will draw the #PangoLayout representing the text in the scale. Remember when using the #PangoLayout function you need to convert to and from pixels using PANGO_PIXELS() or #PANGO_SCALE. If the #GtkScale:draw-value property is %FALSE, the return values are undefined. location to store X offset of layout, or %NULL location to store Y offset of layout, or %NULL Sets the number of decimal places that are displayed in the value. Also causes the value of the adjustment to be rounded off to this number of digits, so the retrieved value matches the value the user saw. the number of decimal places to display, e.g. use 1 to display 1.0, 2 to display 1.00, etc Gets the number of decimal places that are displayed in the value. the number of decimal places that are displayed Specifies whether the current value is displayed as a string next to the slider. %TRUE to draw the value Returns whether the current value is displayed as a string next to the slider. whether the current value is displayed as a string Sets the position in which the current value is displayed. the position in which the current value is displayed Gets the position in which the current value is displayed. the position in which the current value is displayed Gets the #PangoLayout used to display the scale. The returned object is owned by the scale so does not need to be freed by the caller. if the #GtkScale:draw-value property is %FALSE. the #PangoLayout for this scale, or %NULL Obtains the coordinates where the scale will draw the #PangoLayout representing the text in the scale. Remember when using the #PangoLayout function you need to convert to and from pixels using PANGO_PIXELS() or #PANGO_SCALE. If the #GtkScale:draw-value property is %FALSE, the return values are undefined. location to store X offset of layout, or %NULL location to store Y offset of layout, or %NULL Adds a mark at @value. A mark is indicated visually by drawing a tick mark next to the scale, and GTK+ makes it easy for the user to position the scale exactly at the marks value. If @markup is not %NULL, text is shown next to the tick mark. To remove marks from a scale, use gtk_scale_clear_marks(). the value at which the mark is placed, must be between the lower and upper limits of the scales' adjustment where to draw the mark. For a horizontal scale, #GTK_POS_TOP is drawn above the scale, anything else below. For a vertical scale, #GTK_POS_LEFT is drawn to the left of the scale, anything else to the right. Text to be shown at the mark, using <link linkend="PangoMarkupFormat">Pango markup</link>, or %NULL Removes any marks that have been added with gtk_scale_add_mark(). Signal which allows you to change how the scale value is displayed. Connect a signal handler which returns an allocated string representing Here's an example signal handler which displays a value 1.0 as with "--&gt;1.0&lt;--". |[ static gchar* format_value_callback (GtkScale *scale, gdouble value) { return g_strdup_printf ("--&gt;&percnt;0.*g&lt;--", gtk_scale_get_digits (scale), value); } ]| allocated string representing @value the value to format Creates a #GtkScaleButton, with a range between @min and @max, with a stepping of @step. a new #GtkScaleButton a stock icon size the minimum value of the scale (usually 0) the maximum value of the scale (usually 100) the stepping of value when a scroll-wheel event, or up/down arrow event occurs (usually 2) a %NULL-terminated array of icon names, or %NULL if you want to set the list later with gtk_scale_button_set_icons() Sets the icons to be used by the scale button. For details, see the #GtkScaleButton:icons property. a %NULL-terminated array of icon names Gets the current value of the scale button. current value of the scale button Sets the current value of the scale; if the value is outside the minimum or maximum range values, it will be clamped to fit inside them. The scale button emits the #GtkScaleButton::value-changed signal if the value changes. new value of the scale button Gets the #GtkAdjustment associated with the #GtkScaleButton's scale. See gtk_range_get_adjustment() for details. the adjustment associated with the scale Sets the #GtkAdjustment to be used as a model for the #GtkScaleButton's scale. See gtk_range_set_adjustment() for details. a #GtkAdjustment Retrieves the plus button of the #GtkScaleButton. the plus button of the #GtkScaleButton. Retrieves the minus button of the #GtkScaleButton. the minus button of the #GtkScaleButton. Retrieves the popup of the #GtkScaleButton. the popup of the #GtkScaleButton Gets the orientation of the #GtkScaleButton's popup window. the #GtkScaleButton's orientation. Sets the orientation of the #GtkScaleButton's popup window. the new orientation The names of the icons to be used by the scale button. The first item in the array will be used in the button when the current value is the lowest value, the second item for the highest value. All the subsequent icons will be used for all the other values, spread evenly over the range of values. If there's only one icon name in the @icons array, it will be used for all the values. If only two icon names are in the @icons array, the first one will be used for the bottom 50% of the scale, and the second one for the top 50%. It is recommended to use at least 3 icons so that the #GtkScaleButton reflects the current value of the scale better for the users. The ::popdown signal is a <link linkend="keybinding-signals">keybinding signal</link> which gets emitted to popdown the scale widget. The default binding for this signal is Escape. The ::popup signal is a <link linkend="keybinding-signals">keybinding signal</link> which gets emitted to popup the scale widget. The default bindings for this signal are Space, Enter and Return. The ::value-changed signal is emitted when the value field has changed. the new value location to store X offset of layout, or %NULL location to store Y offset of layout, or %NULL Creates a new scrolled window. The two arguments are the scrolled window's adjustments; these will be shared with the scrollbars and the child widget to keep the bars in sync with the child. Usually you want to pass %NULL for the adjustments, which will cause the scrolled window to create them for you. a new scrolled window horizontal adjustment vertical adjustment Sets the #GtkAdjustment for the horizontal scrollbar. horizontal scroll adjustment Sets the #GtkAdjustment for the vertical scrollbar. vertical scroll adjustment Returns the horizontal scrollbar's adjustment, used to connect the horizontal scrollbar to the child widget's horizontal scroll functionality. the horizontal #GtkAdjustment Returns the vertical scrollbar's adjustment, used to connect the vertical scrollbar to the child widget's vertical scroll functionality. the vertical #GtkAdjustment Returns the horizontal scrollbar of @scrolled_window. %NULL if it does not have one. the horizontal scrollbar of the scrolled window, or Returns the vertical scrollbar of @scrolled_window. %NULL if it does not have one. the vertical scrollbar of the scrolled window, or Sets the scrollbar policy for the horizontal and vertical scrollbars. The policy determines when the scrollbar should appear; it is a value from the #GtkPolicyType enumeration. If %GTK_POLICY_ALWAYS, the scrollbar is always present; if %GTK_POLICY_NEVER, the scrollbar is never present; if %GTK_POLICY_AUTOMATIC, the scrollbar is present only if needed (that is, if the slider part of the bar would be smaller than the trough - the display is larger than the page size). policy for horizontal bar policy for vertical bar Retrieves the current policy values for the horizontal and vertical scrollbars. See gtk_scrolled_window_set_policy(). location to store the policy for the horizontal scrollbar, or %NULL. location to store the policy for the vertical scrollbar, or %NULL. Sets the placement of the contents with respect to the scrollbars for the scrolled window. The default is %GTK_CORNER_TOP_LEFT, meaning the child is in the top left, with the scrollbars underneath and to the right. Other values in #GtkCornerType are %GTK_CORNER_TOP_RIGHT, %GTK_CORNER_BOTTOM_LEFT, and %GTK_CORNER_BOTTOM_RIGHT. See also gtk_scrolled_window_get_placement() and gtk_scrolled_window_unset_placement(). position of the child window Unsets the placement of the contents with respect to the scrollbars for the scrolled window. If no window placement is set for a scrolled window, it obeys the "gtk-scrolled-window-placement" XSETTING. See also gtk_scrolled_window_set_placement() and gtk_scrolled_window_get_placement(). Gets the placement of the contents with respect to the scrollbars for the scrolled window. See gtk_scrolled_window_set_placement(). See also gtk_scrolled_window_set_placement() and gtk_scrolled_window_unset_placement(). the current placement value. Changes the type of shadow drawn around the contents of kind of shadow to draw around scrolled window contents Gets the shadow type of the scrolled window. See gtk_scrolled_window_set_shadow_type(). the current shadow type Used to add children without native scrolling capabilities. This is simply a convenience function; it is equivalent to adding the unscrollable child to a viewport, then adding the viewport to the scrolled window. If a child has native scrolling, use gtk_container_add() instead of this function. The viewport scrolls the child by moving its #GdkWindow, and takes the size of the child to be the size of its toplevel #GdkWindow. This will be very wrong for most widgets that support native scrolling; for example, if you add a widget such as #GtkTreeView with a viewport, the whole widget will scroll, including the column headings. Thus, widgets with native scrolling support should not be used with the #GtkViewport proxy. A widget supports scrolling natively if the set_scroll_adjustments_signal field in #GtkWidgetClass is non-zero, i.e. has been filled in with a valid signal identifier. the widget you want to scroll Whether "window-placement" should be used to determine the location of the contents with respect to the scrollbars. Otherwise, the "gtk-scrolled-window-placement" setting is used. Retrieves the selection #GdkAtom of the selection data. the selection #GdkAtom of the selection data. Retrieves the target of the selection. the target of the selection. Retrieves the data type of the selection. the data type of the selection. Retrieves the format of the selection. the format of the selection. Retrieves the raw data of the selection. the raw data of the selection. Retrieves the length of the raw data of the selection. the length of the data of the selection. Retrieves the display of the selection. the display of the selection. Stores new data into a #GtkSelectionData object. Should <emphasis>only</emphasis> be called from a selection handler callback. Zero-terminates the stored data. the type of selection data format (number of bits in a unit) pointer to the data (will be copied) length of the data Sets the contents of the selection from a UTF-8 encoded string. The string is converted to the form determined by otherwise %FALSE. %TRUE if the selection was successfully set, a UTF-8 string the length of @str, or -1 if @str is nul-terminated. Gets the contents of the selection data as a UTF-8 string. text type and it could be converted to UTF-8, a newly allocated string containing the converted text, otherwise %NULL. If the result is non-%NULL it must be freed with g_free(). if the selection data contained a recognized Sets the contents of the selection from a #GdkPixbuf The pixbuf is converted to the form determined by otherwise %FALSE. %TRUE if the selection was successfully set, a #GdkPixbuf Gets the contents of the selection data as a #GdkPixbuf. image type and it could be converted to a #GdkPixbuf, a newly allocated pixbuf is returned, otherwise %NULL. If the result is non-%NULL it must be freed with g_object_unref(). if the selection data contained a recognized Sets the contents of the selection from a list of URIs. The string is converted to the form determined by otherwise %FALSE. %TRUE if the selection was successfully set, a %NULL-terminated array of strings holding URIs Gets the contents of the selection data as array of URIs. the selection data contains a list of URIs, a newly allocated %NULL-terminated string array containing the URIs, otherwise %NULL. If the result is non-%NULL it must be freed with g_strfreev(). if Gets the contents of @selection_data as an array of targets. This can be used to interpret the results of getting the standard TARGETS target that is always supplied for any selection. array of targets, otherwise %FALSE. %TRUE if @selection_data contains a valid location to store an array of targets. The result stored here must be freed with g_free(). location to store number of items in @targets. Given a #GtkSelectionData object holding a list of targets, determines if any of the targets in @targets can be used to provide text. and a suitable target for text is included, otherwise %FALSE. %TRUE if @selection_data holds a list of targets, Given a #GtkSelectionData object holding a list of targets, determines if any of the targets in @targets can be used to provide rich text. and a suitable target for rich text is included, otherwise %FALSE. %TRUE if @selection_data holds a list of targets, a #GtkTextBuffer Given a #GtkSelectionData object holding a list of targets, determines if any of the targets in @targets can be used to provide a #GdkPixbuf. and a suitable target for images is included, otherwise %FALSE. %TRUE if @selection_data holds a list of targets, whether to accept only targets for which GTK+ knows how to convert a pixbuf into the format Given a #GtkSelectionData object holding a list of targets, determines if any of the targets in @targets can be used to provide a list or URIs. and a suitable target for URI lists is included, otherwise %FALSE. %TRUE if @selection_data holds a list of targets, Makes a copy of a #GtkSelectionData structure and its data. a pointer to a copy of @data. Frees a #GtkSelectionData structure returned from gtk_selection_data_copy(). Create a new #GtkSeparatorToolItem the new #GtkSeparatorToolItem Returns whether @item is drawn as a line, or just blank. See gtk_separator_tool_item_set_draw(). %TRUE if @item is drawn as a line, or just blank. Whether @item is drawn as a vertical line, or just blank. Setting this to %FALSE along with gtk_tool_item_set_expand() is useful to create an item that forces following items to the end of the toolbar. whether @item is drawn as a vertical line Gets the #GtkSettings object for the default GDK screen, creating it if necessary. See gtk_settings_get_for_screen(). screen, then returns %NULL. a #GtkSettings object. If there is no default Gets the #GtkSettings object for @screen, creating it if necessary. a #GtkSettings object. Holds a hash table representation of the #GtkSettings:gtk-color-scheme setting, mapping color names to #GdkColor<!-- -->s. Controls the direction of the sort indicators in sorted list and tree views. By default an arrow pointing down means the column is sorted in ascending order. When set to %TRUE, this order will be inverted. Whether mnemonics should be automatically shown and hidden when the user presses the mnemonic activator. A palette of named colors for use in themes. The format of the string is <programlisting> ... </programlisting> Color names must be acceptable as identifiers in the <link linkend="gtk-Resource-Files">gtkrc</link> syntax, and color specifications must be in the format accepted by gdk_color_parse(). Note that due to the way the color tables from different sources are merged, color specifications will be converted to hexadecimal form when getting this property. Starting with GTK+ 2.12, the entries can alternatively be separated by ';' instead of newlines: <programlisting> </programlisting> Whether the cursor should blink. Also see the #GtkSettings:gtk-cursor-blink-timeout setting, which allows more flexible control over cursor blinking. Time after which the cursor stops blinking, in seconds. The timer is reset after each user interaction. Setting this to zero has the same effect as setting #GtkSettings:gtk-cursor-blink to %FALSE. Whether menu items should have visible accelerators which can be activated. Whether to play any event sounds at all. See the <ulink url="http://www.freedesktop.org/wiki/Specifications/sound-theme-spec">Sound Theme spec</ulink> for more information on event sounds and sound themes. GTK+ itself does not support event sounds, you have to use a loadable module like the one that comes with libcanberra. Whether to play event sounds as feedback to user input. See the <ulink url="http://www.freedesktop.org/wiki/Specifications/sound-theme-spec">Sound Theme spec</ulink> for more information on event sounds and sound themes. GTK+ itself does not support event sounds, you have to use a loadable module like the one that comes with libcanberra. Whether labels and menu items should have visible mnemonics which can be activated. Whether tooltips should be shown on widgets. When %TRUE, keyboard navigation and other input-related errors will cause a beep. Since the error bell is implemented using gdk_window_beep(), the windowing system may offer ways to configure the error bell in many ways, such as flashing the window or similar visual effects. A list of icon sizes. The list is separated by colons, and item has the form: <replaceable>size-name</replaceable> = <replaceable>width</replaceable> , <replaceable>height</replaceable> E.g. "gtk-menu=16,16:gtk-button=20,20:gtk-dialog=48,48". gtk-button, gtk-small-toolbar, gtk-large-toolbar, gtk-dnd, gtk-dialog. Applications can register their own named icon sizes with gtk_icon_size_register(). Which IM (input method) module should be used by default. This is the input method that will be used if the user has not explicitly chosen another input method from the IM context menu. See #GtkIMContext and see the #GtkSettings:gtk-show-input-method-menu property. When %TRUE, keyboard navigation should be able to reach all widgets by using the cursor keys only. Tab, Shift etc. keys can't be expected to be present on the used input device. When %TRUE, some widgets will wrap around when doing keyboard navigation, such as menus, menubars and notebooks. A comma-separated list of print backends to use in the print dialog. Available print backends depend on the GTK+ installation, and may include "file", "cups", "lpr" or "papi". A command to run for displaying the print preview. The command should contain a %f placeholder, which will get replaced by the path to the pdf file. The command may also contain a %s placeholder, which will get replaced by the path to a file containing the print settings in the format produced by gtk_print_settings_to_file(). The preview application is responsible for removing the pdf file and the print settings file when it is done. The number of recently used files that should be displayed by default by #GtkRecentChooser implementations and by the #GtkFileChooser. A value of -1 means every recently used file stored. The maximum age, in days, of the items inside the recently used resources list. Items older than this setting will be excised from the list. If set to 0, the list will always be empty; if set to -1, no item will be removed. The XDG sound theme to use for event sounds. See the <ulink url="http://www.freedesktop.org/wiki/Specifications/sound-theme-spec">Sound Theme spec</ulink> for more information on event sounds and sound themes. GTK+ itself does not support event sounds, you have to use a loadable module like the one that comes with libcanberra. Amount of time, in milliseconds, after which the browse mode will be disabled. See #GtkSettings:gtk-tooltip-browse-timeout for more information about browse mode. Controls the time after which tooltips will appear when browse mode is enabled, in milliseconds. Browse mode is enabled when the mouse pointer moves off an object where a tooltip was currently being displayed. If the mouse pointer hits another object before the browse mode timeout expires (see #GtkSettings:gtk-tooltip-browse-mode-timeout), it will take the amount of milliseconds specified by this setting to popup the tooltip for the new object. Time, in milliseconds, after which a tooltip could appear if the cursor is hovering on top of a widget. When %TRUE, there are no motion notify events delivered on this screen, and widgets can't use the pointer hovering them for any essential functionality. Create a new #GtkSizeGroup. a newly created #GtkSizeGroup the mode for the new size group. Sets the #GtkSizeGroupMode of the size group. The mode of the size group determines whether the widgets in the size group should all have the same horizontal requisition (%GTK_SIZE_GROUP_MODE_HORIZONTAL) all have the same vertical requisition (%GTK_SIZE_GROUP_MODE_VERTICAL), or should all have the same requisition in both directions (%GTK_SIZE_GROUP_MODE_BOTH). the mode to set for the size group. Gets the current mode of the size group. See gtk_size_group_set_mode(). the current mode of the size group. Sets whether unmapped widgets should be ignored when calculating the size. whether unmapped widgets should be ignored when calculating the size Returns if invisible widgets are ignored when calculating the size. %TRUE if invisible widgets are ignored. Adds a widget to a #GtkSizeGroup. In the future, the requisition of the widget will be determined as the maximum of its requisition and the requisition of the other widgets in the size group. Whether this applies horizontally, vertically, or in both directions depends on the mode of the size group. See gtk_size_group_set_mode(). When the widget is destroyed or no longer referenced elsewhere, it will be removed from the size group. the #GtkWidget to add Removes a widget from a #GtkSizeGroup. the #GtkWidget to remove Returns the list of widgets associated with @size_group. widgets. The list is owned by GTK+ and should not be modified. a #GSList of If %TRUE, unmapped widgets are ignored when determining the size of the group. The mode of the size group determines the directions in which the size group affects the requested sizes of its component widgets. Create a new empty #GtkSocket. the new #GtkSocket. Adds an XEMBED client, such as a #GtkPlug, to the #GtkSocket. The client may be in the same process or in a different process. To embed a #GtkPlug in a #GtkSocket, you can either create the #GtkPlug with <literal>gtk_plug_new (0)</literal>, call gtk_plug_get_id() to get the window ID of the plug, and then pass that to the gtk_socket_add_id(), or you can call gtk_socket_get_id() to get the window ID for the socket, and call gtk_plug_new() passing in that ID. The #GtkSocket must have already be added into a toplevel window before you can make this call. the window ID of a client participating in the XEMBED protocol. Gets the window ID of a #GtkSocket widget, which can then be used to create a client embedded inside the socket, for instance with gtk_plug_new(). The #GtkSocket must have already be added into a toplevel window before you can make this call. the window ID for the socket Retrieves the window of the plug. Use this to check if the plug has been created inside of the socket. the window of the plug if available, or %NULL Reparents a pre-existing toplevel window into a #GtkSocket. This is meant to embed clients that do not know about embedding into a #GtkSocket, however doing so is inherently unreliable, and using this function is not recommended. The #GtkSocket must have already be added into a toplevel window before you can make this call. the window ID of an existing toplevel window. This signal is emitted when a client is successfully added to the socket. This signal is emitted when a client is removed from the socket. The default action is to destroy the #GtkSocket widget, so if you want to reuse it you must add a signal handler that returns %TRUE. %TRUE to stop other handlers from being invoked. This is a convenience constructor that allows creation of a numeric #GtkSpinButton without manually creating an adjustment. The value is initially set to the minimum value and a page increment of 10 * @step is the default. The precision of the spin button is equivalent to the precision of @step. Note that the way in which the precision is derived works best if @step is a power of ten. If the resulting precision is not suitable for your needs, use gtk_spin_button_set_digits() to correct it. The new spin button as a #GtkWidget. Minimum allowable value Maximum allowable value Increment added or subtracted by spinning the widget Changes the properties of an existing spin button. The adjustment, climb rate, and number of decimal places are all changed accordingly, after this function call. a #GtkAdjustment. the new climb rate. the number of decimal places to display in the spin button. Replaces the #GtkAdjustment associated with @spin_button. a #GtkAdjustment to replace the existing adjustment Get the adjustment associated with a #GtkSpinButton the #GtkAdjustment of @spin_button Set the precision to be displayed by @spin_button. Up to 20 digit precision is allowed. the number of digits after the decimal point to be displayed for the spin button's value Fetches the precision of @spin_button. See gtk_spin_button_set_digits(). the current precision Sets the step and page increments for spin_button. This affects how quickly the value changes when the spin button's arrows are activated. increment applied for a button 1 press. increment applied for a button 2 press. Gets the current step and page the increments used by @spin_button. See gtk_spin_button_set_increments(). location to store step increment, or %NULL location to store page increment, or %NULL Sets the minimum and maximum allowable values for @spin_button minimum allowable value maximum allowable value Gets the range allowed for @spin_button. See gtk_spin_button_set_range(). location to store minimum allowed value, or %NULL location to store maximum allowed value, or %NULL Get the value in the @spin_button. the value of @spin_button Get the value @spin_button represented as an integer. the value of @spin_button Set the value of @spin_button. the new value Sets the update behavior of a spin button. This determines whether the spin button is always updated or only when a valid value is set. a #GtkSpinButtonUpdatePolicy value Gets the update behavior of a spin button. See gtk_spin_button_set_update_policy(). the current update policy Sets the flag that determines if non-numeric text can be typed into the spin button. flag indicating if only numeric entry is allowed. Returns whether non-numeric text can be typed into the spin button. See gtk_spin_button_set_numeric(). %TRUE if only numeric text can be entered Increment or decrement a spin button's value in a specified direction by a specified amount. a #GtkSpinType indicating the direction to spin. step increment to apply in the specified direction. Sets the flag that determines if a spin button value wraps around to the opposite limit when the upper or lower limit of the range is exceeded. a flag indicating if wrapping behavior is performed. Returns whether the spin button's value wraps around to the opposite limit when the upper or lower limit of the range is exceeded. See gtk_spin_button_set_wrap(). %TRUE if the spin button wraps around Sets the policy as to whether values are corrected to the nearest step increment when a spin button is activated after providing an invalid value. a flag indicating if invalid values should be corrected. Returns whether the values are corrected to the nearest step. See gtk_spin_button_set_snap_to_ticks(). %TRUE if values are snapped to the nearest step. Manually force an update of the spin button. The ::output signal can be used to change to formatting of the value that is displayed in the spin buttons entry. |[ /&ast; show leading zeros &ast;/ static gboolean on_output (GtkSpinButton *spin, gpointer data) { GtkAdjustment *adj; gchar *text; int value; adj = gtk_spin_button_get_adjustment (spin); value = (int)gtk_adjustment_get_value (adj); text = g_strdup_printf ("%02d", value); gtk_entry_set_text (GTK_ENTRY (spin), text); g_free (text); return TRUE; } ]| %TRUE if the value has been displayed. The wrapped signal is emitted right after the spinbutton wraps from its maximum to minimum value or vice-versa. Returns a new spinner widget. Not yet started. a new #GtkSpinner Starts the animation of the spinner. Stops the animation of the spinner. Creates an empty status icon object. a new #GtkStatusIcon Creates a status icon displaying @pixbuf. The image will be scaled down to fit in the available space in the notification area, if necessary. a new #GtkStatusIcon a #GdkPixbuf Creates a status icon displaying the file @filename. The image will be scaled down to fit in the available space in the notification area, if necessary. a new #GtkStatusIcon a filename Creates a status icon displaying a stock icon. Sample stock icon names are #GTK_STOCK_OPEN, #GTK_STOCK_QUIT. You can register your own stock icon names, see gtk_icon_factory_add_default() and gtk_icon_factory_add(). a new #GtkStatusIcon a stock icon id Creates a status icon displaying an icon from the current icon theme. If the current icon theme is changed, the icon will be updated appropriately. a new #GtkStatusIcon an icon name Creates a status icon displaying a #GIcon. If the icon is a themed icon, it will be updated when the theme changes. a new #GtkStatusIcon a #GIcon Menu positioning function to use with gtk_menu_popup() to position @menu aligned to the status icon @user_data. the #GtkMenu return location for the x position return location for the y position whether the first menu item should be offset (pushed in) to be aligned with the menu popup position (only useful for GtkOptionMenu). the status icon to position the menu on Makes @status_icon display @pixbuf. See gtk_status_icon_new_from_pixbuf() for details. a #GdkPixbuf or %NULL Makes @status_icon display the file @filename. See gtk_status_icon_new_from_file() for details. a filename Makes @status_icon display the stock icon with the id @stock_id. See gtk_status_icon_new_from_stock() for details. a stock icon id Makes @status_icon display the icon named @icon_name from the current icon theme. See gtk_status_icon_new_from_icon_name() for details. an icon name Makes @status_icon display the #GIcon. See gtk_status_icon_new_from_gicon() for details. a GIcon Gets the type of representation being used by the #GtkStatusIcon to store image data. If the #GtkStatusIcon has no image data, the return value will be %GTK_IMAGE_EMPTY. the image representation being used Gets the #GdkPixbuf being displayed by the #GtkStatusIcon. The storage type of the status icon must be %GTK_IMAGE_EMPTY or %GTK_IMAGE_PIXBUF (see gtk_status_icon_get_storage_type()). The caller of this function does not own a reference to the returned pixbuf. the displayed pixbuf, or %NULL if the image is empty. Gets the id of the stock icon being displayed by the #GtkStatusIcon. The storage type of the status icon must be %GTK_IMAGE_EMPTY or %GTK_IMAGE_STOCK (see gtk_status_icon_get_storage_type()). The returned string is owned by the #GtkStatusIcon and should not be freed or modified. or %NULL if the image is empty. stock id of the displayed stock icon, Gets the name of the icon being displayed by the #GtkStatusIcon. The storage type of the status icon must be %GTK_IMAGE_EMPTY or %GTK_IMAGE_ICON_NAME (see gtk_status_icon_get_storage_type()). The returned string is owned by the #GtkStatusIcon and should not be freed or modified. name of the displayed icon, or %NULL if the image is empty. Retrieves the #GIcon being displayed by the #GtkStatusIcon. The storage type of the status icon must be %GTK_IMAGE_EMPTY or %GTK_IMAGE_GICON (see gtk_status_icon_get_storage_type()). The caller of this function does not own a reference to the returned #GIcon. If this function fails, @icon is left unchanged; the displayed icon, or %NULL if the image is empty Gets the size in pixels that is available for the image. Stock icons and named icons adapt their size automatically if the size of the notification area changes. For other storage types, the size-changed signal can be used to react to size changes. Note that the returned size is only meaningful while the status icon is embedded (see gtk_status_icon_is_embedded()). the size that is available for the image Sets the #GdkScreen where @status_icon is displayed; if the icon is already mapped, it will be unmapped, and then remapped on the new screen. a #GdkScreen Sets the tooltip of the status icon. the tooltip text, or %NULL Sets the has-tooltip property on @status_icon to @has_tooltip. See #GtkStatusIcon:has-tooltip for more information. whether or not @status_icon has a tooltip Sets @text as the contents of the tooltip. This function will take care of setting #GtkStatusIcon:has-tooltip to %TRUE and of the default handler for the #GtkStatusIcon::query-tooltip signal. See also the #GtkStatusIcon:tooltip-text property and gtk_tooltip_set_text(). the contents of the tooltip for @status_icon Sets @markup as the contents of the tooltip, which is marked up with the <link linkend="PangoMarkupFormat">Pango text markup language</link>. This function will take care of setting #GtkStatusIcon:has-tooltip to %TRUE and of the default handler for the #GtkStatusIcon::query-tooltip signal. See also the #GtkStatusIcon:tooltip-markup property and gtk_tooltip_set_markup(). the contents of the tooltip for @status_icon, or %NULL Sets the title of this tray icon. This should be a short, human-readable, localized string describing the tray icon. It may be used by tools like screen readers to render the tray icon. the title Gets the title of this tray icon. See gtk_status_icon_set_title(). the title of the status icon Sets the name of this tray icon. This should be a string identifying this icon. It is may be used for sorting the icons in the tray and will not be shown to the user. the name Shows or hides a status icon. %TRUE to show the status icon, %FALSE to hide it Returns whether the status icon is visible or not. Note that being visible does not guarantee that the user can actually see the icon, see also gtk_status_icon_is_embedded(). %TRUE if the status icon is visible Makes the status icon start or stop blinking. Note that blinking user interface elements may be problematic for some users, and thus may be turned off, in which case this setting has no effect. %TRUE to turn blinking on, %FALSE to turn it off Returns whether the icon is blinking, see gtk_status_icon_set_blinking(). %TRUE if the icon is blinking Returns whether the status icon is embedded in a notification area. a notification area. %TRUE if the status icon is embedded in Obtains information about the location of the status icon on screen. This information can be used to e.g. position popups like notification bubbles. See gtk_status_icon_position_menu() for a more convenient alternative for positioning menus. Note that some platforms do not allow GTK+ to provide this information, and even on platforms that do allow it, the information is not reliable unless the status icon is embedded in a notification area, see gtk_status_icon_is_embedded(). been filled in %TRUE if the location information has return location for the screen, or %NULL if the information is not needed return location for the area occupied by the status icon, or %NULL return location for the orientation of the panel in which the status icon is embedded, or %NULL. A panel at the top or bottom of the screen is horizontal, a panel at the left or right is vertical. Returns the current value of the has-tooltip property. See #GtkStatusIcon:has-tooltip for more information. current value of has-tooltip on @status_icon. Gets the contents of the tooltip for @status_icon. returned string with g_free() when done. the tooltip text, or %NULL. You should free the Gets the contents of the tooltip for @status_icon. returned string with g_free() when done. the tooltip text, or %NULL. You should free the This function is only useful on the X11/freedesktop.org platform. It returns a window ID for the widget in the underlying status icon implementation. This is useful for the Galago notification service, which can send a window ID in the protocol in order for the server to position notification windows pointing to a status icon reliably. This function is not intended for other use cases which are more likely to be met by one of the non-X11 specific methods, such as gtk_status_icon_position_menu(). underlying X11 Window An 32 bit unsigned integer identifier for the %TRUE if the statusicon is embedded in a notification area. The #GIcon displayed in the #GtkStatusIcon. For themed icons, the image will be updated automatically if the theme changes. Enables or disables the emission of #GtkStatusIcon::query-tooltip on tooltip, in this case the status icon will be queried using #GtkStatusIcon::query-tooltip to determine whether it will provide a tooltip or not. Note that setting this property to %TRUE for the first time will change the event masks of the windows of this status icon to include leave-notify and motion-notify events. This will not be undone when the property is set to %FALSE again. Whether this property is respected is platform dependent. For plain text tooltips, use #GtkStatusIcon:tooltip-text in preference. The orientation of the tray in which the statusicon is embedded. The title of this tray icon. This should be a short, human-readable, localized string describing the tray icon. It may be used by tools like screen readers to render the tray icon. Sets the text of tooltip to be the given string, which is marked up with the <link linkend="PangoMarkupFormat">Pango text markup language</link>. Also see gtk_tooltip_set_markup(). This is a convenience property which will take care of getting the tooltip shown if the given string is not %NULL. #GtkStatusIcon:has-tooltip will automatically be set to %TRUE and the default handler for the #GtkStatusIcon::query-tooltip signal will take care of displaying the tooltip. On some platforms, embedded markup will be ignored. Sets the text of tooltip to be the given string. Also see gtk_tooltip_set_text(). This is a convenience property which will take care of getting the tooltip shown if the given string is not %NULL. #GtkStatusIcon:has-tooltip will automatically be set to %TRUE and the default handler for the #GtkStatusIcon::query-tooltip signal will take care of displaying the tooltip. Note that some platforms have limitations on the length of tooltips that they allow on status icons, e.g. Windows only shows the first 64 characters. Gets emitted when the user activates the status icon. If and how status icons can activated is platform-dependent. Unlike most G_SIGNAL_ACTION signals, this signal is meant to be used by applications and should be wrapped by language bindings. The ::button-press-event signal will be emitted when a button (typically from a mouse) is pressed. Whether this event is emitted is platform-dependent. Use the ::activate and ::popup-menu signals in preference. for the event. %FALSE to propagate the event further. %TRUE to stop other handlers from being invoked the #GdkEventButton which triggered this signal The ::button-release-event signal will be emitted when a button (typically from a mouse) is released. Whether this event is emitted is platform-dependent. Use the ::activate and ::popup-menu signals in preference. for the event. %FALSE to propagate the event further. %TRUE to stop other handlers from being invoked the #GdkEventButton which triggered this signal Gets emitted when the user brings up the context menu of the status icon. Whether status icons can have context menus and how these are activated is platform-dependent. The @button and @activate_time parameters should be passed as the last to arguments to gtk_menu_popup(). Unlike most G_SIGNAL_ACTION signals, this signal is meant to be used by applications and should be wrapped by language bindings. the button that was pressed, or 0 if the signal is not emitted in response to a button press event the timestamp of the event that triggered the signal emission Emitted when the #GtkSettings:gtk-tooltip-timeout has expired with the cursor hovering above @status_icon; or emitted when @status_icon got focus in keyboard mode. Using the given coordinates, the signal handler should determine whether a tooltip should be shown for @status_icon. If this is the case %TRUE should be returned, %FALSE otherwise. Note that if should not be used. The signal handler is free to manipulate @tooltip with the therefore destined function calls. Whether this signal is emitted is platform-dependent. For plain text tooltips, use #GtkStatusIcon:tooltip-text in preference. %TRUE if @tooltip should be shown right now, %FALSE otherwise. the x coordinate of the cursor position where the request has been emitted, relative to @status_icon the y coordinate of the cursor position where the request has been emitted, relative to @status_icon %TRUE if the tooltip was trigged using the keyboard a #GtkTooltip The ::scroll-event signal is emitted when a button in the 4 to 7 range is pressed. Wheel mice are usually configured to generate button press events for buttons 4 and 5 when the wheel is turned. Whether this event is emitted is platform-dependent. %FALSE to propagate the event further. %TRUE to stop other handlers from being invoked for the event. the #GdkEventScroll which triggered this signal Gets emitted when the size available for the image changes, e.g. because the notification area got resized. size. Otherwise, GTK+ will scale the icon as necessary. %TRUE if the icon was updated for the new the new size Creates a new #GtkStatusbar ready for messages. the new #GtkStatusbar Returns a new context identifier, given a description of the actual context. Note that the description is <emphasis>not</emphasis> shown in the UI. an integer id textual description of what context the new message is being used in Pushes a new message onto a statusbar's stack. gtk_statusbar_remove(). a message id that can be used with the message's context id, as returned by gtk_statusbar_get_context_id() the message to add to the statusbar Removes the first message in the #GtkStatusBar's stack with the given context id. Note that this may not change the displayed message, if the message at the top of the stack has a different context id. a context identifier Forces the removal of a message from a statusbar's stack. The exact @context_id and @message_id must be specified. a context identifier a message identifier, as returned by gtk_statusbar_push() Sets whether the statusbar has a resize grip. %TRUE by default. %TRUE to have a resize grip Returns whether the statusbar has a resize grip. %TRUE if the statusbar has a resize grip. Retrieves the box containing the label widget. a #GtkBox Whether the statusbar has a grip for resizing the toplevel window. Is emitted whenever a new message is popped off a statusbar's stack. the context id of the relevant message/statusbar. the message that was just popped. Copies a stock item, mostly useful for language bindings and not in applications. a new #GtkStockItem Frees a stock item allocated on the heap, such as one returned by gtk_stock_item_copy(). Also frees the fields inside the stock item, if they are not %NULL. Creates a new #GtkStyle. a new #GtkStyle. Sets the background of @window to the background color or pixmap specified by @style for the given state. a #GdkWindow a state Renders the icon specified by @source at the given @size according to the given parameters and returns the result in a pixbuf. a newly-created #GdkPixbuf containing the rendered icon the #GtkIconSource specifying the icon to render a text direction a state (type int) the size to render the icon at. A size of (GtkIconSize)-1 means render at the size of the source and don't scale. the widget a style detail Creates a copy of the passed in #GtkStyle object. a copy of @style Attaches a style to a window; this process allocates the colors and creates the GC's for the style - it specializes it to a particular visual and colormap. The process may involve the creation of a new style if the style has already been attached to a window with a different style and colormap. Since this function may return a new object, you have to use it <literal>style = gtk_style_attach (style, window)</literal> If the style is newly created, the style parameter will be unref'ed, and the new style will have a reference count belonging to the caller. Either @style, or a newly-created #GtkStyle. a #GdkWindow. Detaches a style from a window. If the style is not attached to any windows anymore, it is unrealized. See gtk_style_attach(). Increase the reference count of @style. @style. Decrease the reference count of @style. Gets the #GdkFont to use for the given style. This is meant only as a replacement for direct access to @style->font and should not be used in new code. New code should use @style->font_desc instead. by the style; if you want to keep around a copy, you must call gdk_font_ref(). the #GdkFont for the style. This font is owned Sets the #GdkFont to use for a given style. This is meant only as a replacement for direct access to style->font and should not be used in new code. New code should use style->font_desc instead. a #GdkFont, or %NULL to use the #GdkFont corresponding to style->font_desc. Sets the background of @window to the background color or pixmap specified by @style for the given state. a #GdkWindow a state Looks up @stock_id in the icon factories associated with @style and the default icon factory, returning an icon set if found, otherwise %NULL. icon set of @stock_id an icon name Looks up @color_name in the style's logical color mappings, filling in @color and returning %TRUE if found, otherwise returning %FALSE. Do not cache the found mapping, because it depends on the #GtkStyle and might change when a theme switch occurs. %TRUE if the mapping was found. the name of the logical color to look up the #GdkColor to fill in Renders the icon specified by @source at the given @size according to the given parameters and returns the result in a pixbuf. a newly-created #GdkPixbuf containing the rendered icon the #GtkIconSource specifying the icon to render a text direction a state (type int) the size to render the icon at. A size of (GtkIconSize)-1 means render at the size of the source and don't scale. the widget a style detail Queries the value of a style property corresponding to a widget class is in the given style. the #GType of a descendant of #GtkWidget the name of the style property to get a #GValue where the value of the property being queried will be stored Gets the values of a multiple style properties for @widget_type from @style. the #GType of a descendant of #GtkWidget the name of the first style property to get Emitted when the style has been initialized for a particular colormap and depth. Connecting to this signal is probably seldom useful since most of the time applications and widgets only deal with styles that have been already realized. Emitted when the aspects of the style specific to a particular colormap and depth are being cleaned up. A connection to this signal can be useful if a widget wants to cache objects like a #GdkGC as object data on #GtkStyle. This signal provides a convenient place to free such cached objects. a #GdkWindow a state a newly-created #GdkPixbuf containing the rendered icon the #GtkIconSource specifying the icon to render a text direction a state (type int) the size to render the icon at. A size of (GtkIconSize)-1 means render at the size of the source and don't scale. the widget a style detail Gets the amount of space between row @row, and row @row + 1. See gtk_table_set_row_spacing(). the row spacing a row in the table, 0 indicates the first row Gets the amount of space between column @col, and column @col + 1. See gtk_table_set_col_spacing(). the column spacing a column in the table, 0 indicates the first column Gets the default row spacing for the table. This is the spacing that will be used for newly added rows. (See gtk_table_set_row_spacings()) the default row spacing Gets the default column spacing for the table. This is the spacing that will be used for newly added columns. (See gtk_table_set_col_spacings()) the default column spacing Returns whether the table cells are all constrained to the same width and height. (See gtk_table_set_homogenous ()) %TRUE if the cells are all constrained to the same size Creates a new #GtkTargetList from an array of #GtkTargetEntry. the new #GtkTargetList. Pointer to an array of #GtkTargetEntry number of entries in @targets. Increases the reference count of a #GtkTargetList by one. the passed in #GtkTargetList. Decreases the reference count of a #GtkTargetList by one. If the resulting reference count is zero, frees the list. Appends another target to a #GtkTargetList. the interned atom representing the target the flags for this target an ID that will be passed back to the application Appends the text targets supported by #GtkSelection to the target list. All targets are added with the same @info. an ID that will be passed back to the application Appends the rich text targets registered with gtk_text_buffer_register_serialize_format() or gtk_text_buffer_register_deserialize_format() to the target list. All targets are added with the same @info. an ID that will be passed back to the application if %TRUE, then deserializable rich text formats will be added, serializable formats otherwise. a #GtkTextBuffer. Appends the image targets supported by #GtkSelection to the target list. All targets are added with the same @info. an ID that will be passed back to the application whether to add only targets for which GTK+ knows how to convert a pixbuf into the format Appends the URI targets supported by #GtkSelection to the target list. All targets are added with the same @info. an ID that will be passed back to the application Prepends a table of #GtkTargetEntry to a target list. the table of #GtkTargetEntry number of targets in the table Removes a target from a target list. the interned atom representing the target Looks up a given target in a #GtkTargetList. %TRUE if the target was found, otherwise %FALSE an interned atom representing the target to search for a pointer to the location to store application info for target, or %NULL Creates a #GtkTextAttributes, which describes a set of properties on some text. a new #GtkTextAttributes Copies @src and returns a new #GtkTextAttributes. a copy of @src Copies the values from @src to @dest so that @dest has the same values as @src. Frees existing values in @dest. another #GtkTextAttributes Decrements the reference count on @values, freeing the structure if the reference count reaches 0. Increments the reference count on @values. the #GtkTextAttributes that were passed in Creates a new text buffer. a new text buffer a tag table, or %NULL to create a new one Obtains the number of lines in the buffer. This value is cached, so the function is very fast. number of lines in the buffer Gets the number of characters in the buffer; note that characters and bytes are not the same, you can't e.g. expect the contents of the buffer in string form to be this many bytes long. The character count is cached, so this function is very fast. number of characters in the buffer Get the #GtkTextTagTable associated with this buffer. the buffer's tag table Deletes current contents of @buffer, and inserts @text instead. If UTF-8 text to insert length of @text in bytes Inserts @len bytes of @text at position @iter. If @len is -1, entirety. Emits the "insert-text" signal; insertion actually occurs in the default handler for the signal. @iter is invalidated when insertion occurs (because the buffer contents change), but the default signal handler revalidates it to point to the end of the inserted text. a position in the buffer UTF-8 format text to insert length of text in bytes, or -1 Simply calls gtk_text_buffer_insert(), using the current cursor position as the insertion point. some text in UTF-8 format length of text, in bytes Like gtk_text_buffer_insert(), but the insertion will not occur if want to prevent insertions at ineditable locations if the insertion results from a user action (is interactive). have a tag affecting editability applied to it. Typically the result of gtk_text_view_get_editable() is appropriate here. whether text was actually inserted a position in @buffer some UTF-8 text length of text in bytes, or -1 default editability of buffer Calls gtk_text_buffer_insert_interactive() at the cursor position. have a tag affecting editability applied to it. Typically the result of gtk_text_view_get_editable() is appropriate here. whether text was actually inserted text in UTF-8 format length of text in bytes, or -1 default editability of buffer Copies text, tags, and pixbufs between @start and @end (the order of @start and @end doesn't matter) and inserts the copy at @iter. Used instead of simply getting/inserting text because it preserves images and tags. If @start and @end are in a different buffer from Implemented via emissions of the insert_text and apply_tag signals, so expect those. a position in @buffer a position in a #GtkTextBuffer another position in the same buffer as @start Same as gtk_text_buffer_insert_range(), but does nothing if the insertion point isn't editable. The @default_editable parameter indicates whether the text is editable at @iter if no tags enclosing @iter affect editability. Typically the result of gtk_text_view_get_editable() is appropriate here. whether an insertion was possible at @iter a position in @buffer a position in a #GtkTextBuffer another position in the same buffer as @start default editability of the buffer Inserts @text into @buffer at @iter, applying the list of tags to the newly-inserted text. The last tag specified must be NULL to terminate the list. Equivalent to calling gtk_text_buffer_insert(), then gtk_text_buffer_apply_tag() on the inserted text; gtk_text_buffer_insert_with_tags() is just a convenience function. an iterator in @buffer UTF-8 text length of @text, or -1 first tag to apply to @text Same as gtk_text_buffer_insert_with_tags(), but allows you to pass in tag names instead of tag objects. position in @buffer UTF-8 text length of @text, or -1 name of a tag to apply to @text Deletes text between @start and @end. The order of @start and @end is not actually relevant; gtk_text_buffer_delete() will reorder them. This function actually emits the "delete-range" signal, and the default handler of that signal deletes the text. Because the buffer is modified, all outstanding iterators become invalid after calling this function; however, the @start and @end will be re-initialized to point to the location where text was deleted. a position in @buffer another position in @buffer Deletes all <emphasis>editable</emphasis> text in the given range. Calls gtk_text_buffer_delete() for each editable sub-range of [@start,@end). @start and @end are revalidated to point to the location of the last deleted range, or left untouched if no text was deleted. whether some text was actually deleted start of range to delete end of range whether the buffer is editable by default Performs the appropriate action as if the user hit the delete key with the cursor at the position specified by @iter. In the normal case a single character will be deleted, but when combining accents are involved, more than one character can be deleted, and when precomposed character and accent combinations are involved, less than one character will be deleted. Because the buffer is modified, all outstanding iterators become invalid after calling this function; however, the @iter will be re-initialized to point to the location where text was deleted. %TRUE if the buffer was modified a position in @buffer whether the deletion is caused by user interaction whether the buffer is editable by default Returns the text in the range [@start,@end). Excludes undisplayed text (text marked with tags that set the invisibility attribute) if representing embedded images, so byte and character indexes into the returned string do <emphasis>not</emphasis> correspond to byte and character indexes into the buffer. Contrast with gtk_text_buffer_get_slice(). an allocated UTF-8 string start of a range end of a range whether to include invisible text Returns the text in the range [@start,@end). Excludes undisplayed text (text marked with tags that set the invisibility attribute) if 0xFFFC character whenever the buffer contains embedded images, so byte and character indexes into the returned string <emphasis>do</emphasis> correspond to byte and character indexes into the buffer. Contrast with gtk_text_buffer_get_text(). Note that 0xFFFC can occur in normal text as well, so it is not a reliable indicator that a pixbuf or widget is in the buffer. an allocated UTF-8 string start of a range end of a range whether to include invisible text Inserts an image into the text buffer at @iter. The image will be counted as one character in character counts, and when obtaining the buffer contents as a string, will be represented by the Unicode "object replacement character" 0xFFFC. Note that the "slice" variants for obtaining portions of the buffer as a string include this character for pixbufs, but the "text" variants do not. e.g. see gtk_text_buffer_get_slice() and gtk_text_buffer_get_text(). location to insert the pixbuf a #GdkPixbuf Inserts a child widget anchor into the text buffer at @iter. The anchor will be counted as one character in character counts, and when obtaining the buffer contents as a string, will be represented by the Unicode "object replacement character" 0xFFFC. Note that the "slice" variants for obtaining portions of the buffer as a string include this character for child anchors, but the "text" variants do not. E.g. see gtk_text_buffer_get_slice() and gtk_text_buffer_get_text(). Consider gtk_text_buffer_create_child_anchor() as a more convenient alternative to this function. The buffer will add a reference to the anchor, so you can unref it after insertion. location to insert the anchor a #GtkTextChildAnchor This is a convenience function which simply creates a child anchor with gtk_text_child_anchor_new() and inserts it into the buffer with gtk_text_buffer_insert_child_anchor(). The new anchor is owned by the buffer; no reference count is returned to the caller of gtk_text_buffer_create_child_anchor(). the created child anchor location in the buffer Adds the mark at position @where. The mark must not be added to another buffer, and if its name is not %NULL then there must not be another mark in the buffer with the same name. Emits the "mark-set" signal as notification of the mark's initial placement. the mark to add location to place mark Creates a mark at position @where. If @mark_name is %NULL, the mark is anonymous; otherwise, the mark can be retrieved by name using gtk_text_buffer_get_mark(). If a mark has left gravity, and text is inserted at the mark's current location, the mark will be moved to the left of the newly-inserted text. If the mark has right gravity (@left_gravity = %FALSE), the mark will end up on the right of newly-inserted text. The standard left-to-right cursor is a mark with right gravity (when you type, the cursor stays on the right side of the text you're typing). The caller of this function does <emphasis>not</emphasis> own a reference to the returned #GtkTextMark, so you can ignore the return value if you like. Marks are owned by the buffer and go away when the buffer does. Emits the "mark-set" signal as notification of the mark's initial placement. the new #GtkTextMark object name for mark, or %NULL location to place mark whether the mark has left gravity Moves @mark to the new location @where. Emits the "mark-set" signal as notification of the move. a #GtkTextMark new location for @mark in @buffer Deletes @mark, so that it's no longer located anywhere in the buffer. Removes the reference the buffer holds to the mark, so if you haven't called g_object_ref() on the mark, it will be freed. Even if the mark isn't freed, most operations on @mark become invalid, until it gets added to a buffer again with gtk_text_buffer_add_mark(). Use gtk_text_mark_get_deleted() to find out if a mark has been removed from its buffer. The "mark-deleted" signal will be emitted as notification after the mark is deleted. a #GtkTextMark in @buffer Returns the mark named @name in buffer @buffer, or %NULL if no such mark exists in the buffer. a #GtkTextMark, or %NULL a mark name Moves the mark named @name (which must exist) to location @where. See gtk_text_buffer_move_mark() for details. name of a mark new location for mark Deletes the mark named @name; the mark must exist. See gtk_text_buffer_delete_mark() for details. name of a mark in @buffer Returns the mark that represents the cursor (insertion point). Equivalent to calling gtk_text_buffer_get_mark() to get the mark named "insert", but very slightly more efficient, and involves less typing. insertion point mark Returns the mark that represents the selection bound. Equivalent to calling gtk_text_buffer_get_mark() to get the mark named "selection_bound", but very slightly more efficient, and involves less typing. The currently-selected text in @buffer is the region between the "selection_bound" and "insert" marks. If "selection_bound" and "insert" are in the same place, then there is no current selection. gtk_text_buffer_get_selection_bounds() is another convenient function for handling the selection, if you just want to know whether there's a selection and what its bounds are. selection bound mark This function moves the "insert" and "selection_bound" marks simultaneously. If you move them to the same place in two steps with gtk_text_buffer_move_mark(), you will temporarily select a region in between their old and new locations, which can be pretty inefficient since the temporarily-selected region will force stuff to be recalculated. This function moves them as a unit, which can be optimized. where to put the cursor This function moves the "insert" and "selection_bound" marks simultaneously. If you move them in two steps with gtk_text_buffer_move_mark(), you will temporarily select a region in between their old and new locations, which can be pretty inefficient since the temporarily-selected region will force stuff to be recalculated. This function moves them as a unit, which can be optimized. where to put the "insert" mark where to put the "selection_bound" mark Emits the "apply-tag" signal on @buffer. The default handler for the signal applies @tag to the given range. a #GtkTextTag one bound of range to be tagged other bound of range to be tagged Emits the "remove-tag" signal. The default handler for the signal removes all occurrences of @tag from the given range. @start and a #GtkTextTag one bound of range to be untagged other bound of range to be untagged Calls gtk_text_tag_table_lookup() on the buffer's tag table to get a #GtkTextTag, then calls gtk_text_buffer_apply_tag(). name of a named #GtkTextTag one bound of range to be tagged other bound of range to be tagged Calls gtk_text_tag_table_lookup() on the buffer's tag table to get a #GtkTextTag, then calls gtk_text_buffer_remove_tag(). name of a #GtkTextTag one bound of range to be untagged other bound of range to be untagged Removes all tags in the range between @start and @end. Be careful with this function; it could remove tags added in code unrelated to the code you're currently writing. That is, using this function is probably a bad idea if you have two or more unrelated code sections that add tags. one bound of range to be untagged other bound of range to be untagged Creates a tag and adds it to the tag table for @buffer. Equivalent to calling gtk_text_tag_new() and then adding the tag to the buffer's tag table. The returned tag is owned by the buffer's tag table, so the ref count will be equal to one. If @tag_name is %NULL, the tag is anonymous. If @tag_name is non-%NULL, a tag called @tag_name must not already exist in the tag table for this buffer. The @first_property_name argument and subsequent arguments are a list of properties to set on the tag, as with g_object_set(). a new tag name of the new tag, or %NULL name of first property to set, or %NULL Obtains an iterator pointing to @char_offset within the given line. The @char_offset must exist, offsets off the end of the line are not allowed. Note <emphasis>characters</emphasis>, not bytes; UTF-8 may encode one character as multiple bytes. iterator to initialize line number counting from 0 char offset from start of line Obtains an iterator pointing to @byte_index within the given line. beyond the end of the line. Note <emphasis>bytes</emphasis>, not characters; UTF-8 may encode one character as multiple bytes. iterator to initialize line number counting from 0 byte index from start of line Initializes @iter to a position @char_offset chars from the start of the entire buffer. If @char_offset is -1 or greater than the number of characters in the buffer, @iter is initialized to the end iterator, the iterator one past the last valid character in the buffer. iterator to initialize char offset from start of buffer, counting from 0, or -1 Initializes @iter to the start of the given line. iterator to initialize line number counting from 0 Initialized @iter with the first position in the text buffer. This is the same as using gtk_text_buffer_get_iter_at_offset() to get the iter at character offset 0. iterator to initialize Initializes @iter with the "end iterator," one past the last valid character in the text buffer. If dereferenced with gtk_text_iter_get_char(), the end iterator has a character value of 0. The entire buffer lies in the range from the first position in the buffer (call gtk_text_buffer_get_start_iter() to get character position 0) to the end iterator. iterator to initialize Retrieves the first and last iterators in the buffer, i.e. the entire buffer lies within the range [@start,@end). iterator to initialize with first position in the buffer iterator to initialize with the end iterator Initializes @iter with the current position of @mark. iterator to initialize a #GtkTextMark in @buffer Obtains the location of @anchor within @buffer. an iterator to be initialized a child anchor that appears in @buffer Indicates whether the buffer has been modified since the last call to gtk_text_buffer_set_modified() set the modification flag to %FALSE. Used for example to enable a "save" function in a text editor. %TRUE if the buffer has been modified Used to keep track of whether the buffer has been modified since the last time it was saved. Whenever the buffer is saved to disk, call gtk_text_buffer_set_modified (@buffer, FALSE). When the buffer is modified, it will automatically toggled on the modified bit again. When the modified bit flips, the buffer emits a "modified-changed" signal. modification flag setting Indicates whether the buffer has some text currently selected. %TRUE if the there is text selected Adds @clipboard to the list of clipboards in which the selection contents of @buffer are available. In most cases, @clipboard will be the #GtkClipboard of type %GDK_SELECTION_PRIMARY for a view of @buffer. a #GtkClipboard Removes a #GtkClipboard added with gtk_text_buffer_add_selection_clipboard(). a #GtkClipboard added to @buffer by gtk_text_buffer_add_selection_clipboard() Copies the currently-selected text to a clipboard, then deletes said text if it's editable. the #GtkClipboard object to cut to default editability of the buffer Copies the currently-selected text to a clipboard. the #GtkClipboard object to copy to Pastes the contents of a clipboard at the insertion point, or at ask for the paste data and return, and at some point later after the main loop runs, the paste data will be inserted.) the #GtkClipboard to paste from location to insert pasted text, or %NULL for at the cursor whether the buffer is editable by default Returns %TRUE if some text is selected; places the bounds of the selection in @start and @end (if the selection has length 0, then @start and @end are filled in with the same value). NULL, then they are not filled in, but the return value still indicates whether text is selected. whether the selection has nonzero length iterator to initialize with selection start iterator to initialize with selection end Deletes the range between the "insert" and "selection_bound" marks, that is, the currently-selected text. If @interactive is %TRUE, the editability of the selection will be considered (users can't delete uneditable text). whether there was a non-empty selection to delete whether the deletion is caused by user interaction whether the buffer is editable by default Called to indicate that the buffer operations between here and a call to gtk_text_buffer_end_user_action() are part of a single user-visible operation. The operations between gtk_text_buffer_begin_user_action() and gtk_text_buffer_end_user_action() can then be grouped when creating an undo stack. #GtkTextBuffer maintains a count of calls to gtk_text_buffer_begin_user_action() that have not been closed with a call to gtk_text_buffer_end_user_action(), and emits the "begin-user-action" and "end-user-action" signals only for the outermost pair of calls. This allows you to build user actions from other user actions. The "interactive" buffer mutation functions, such as gtk_text_buffer_insert_interactive(), automatically call begin/end user action around the buffer operations they perform, so there's no need to add extra calls if you user action consists solely of a single call to one of those functions. Should be paired with a call to gtk_text_buffer_begin_user_action(). See that function for a full explanation. This function returns the list of targets this text buffer can provide for copying and as DND source. The targets in the list are added with %info values from the #GtkTextBufferTargetInfo enum, using gtk_target_list_add_rich_text_targets() and gtk_target_list_add_text_targets(). the #GtkTargetList This function returns the list of targets this text buffer supports for pasting and as DND destination. The targets in the list are added with %info values from the #GtkTextBufferTargetInfo enum, using gtk_target_list_add_rich_text_targets() and gtk_target_list_add_text_targets(). the #GtkTargetList This function registers a rich text serialization @function along with its @mime_type with the passed @buffer. format's mime-type. the #GdkAtom that corresponds to the newly registered the format's mime-type the serialize function to register %function's user_data a function to call when @user_data is no longer needed This function registers GTK+'s internal rich text serialization format with the passed @buffer. The internal format does not comply to any standard rich text format and only works between #GtkTextBuffer instances. It is capable of serializing all of a text buffer's tags and embedded pixbufs. This function is just a wrapper around gtk_text_buffer_register_serialize_format(). The mime type used for registering is "application/x-gtk-text-buffer-rich-text", or "application/x-gtk-text-buffer-rich-text;format=@tagset_name" if a The @tagset_name can be used to restrict the transfer of rich text to buffers with compatible sets of tags, in order to avoid unknown tags from being pasted. It is probably the common case to pass an identifier != %NULL here, since the %NULL tagset requires the receiving buffer to deal with with pasting of arbitrary tags. format's mime-type. the #GdkAtom that corresponds to the newly registered an optional tagset name, on %NULL This function registers a rich text deserialization @function along with its @mime_type with the passed @buffer. format's mime-type. the #GdkAtom that corresponds to the newly registered the format's mime-type the deserialize function to register @function's user_data a function to call when @user_data is no longer needed This function registers GTK+'s internal rich text serialization format with the passed @buffer. See gtk_text_buffer_register_serialize_tagset() for details. format's mime-type. the #GdkAtom that corresponds to the newly registered an optional tagset name, on %NULL This function unregisters a rich text format that was previously registered using gtk_text_buffer_register_serialize_format() or gtk_text_buffer_register_serialize_tagset() a #GdkAtom representing a registered rich text format. This function unregisters a rich text format that was previously registered using gtk_text_buffer_register_deserialize_format() or gtk_text_buffer_register_deserialize_tagset(). a #GdkAtom representing a registered rich text format. Use this function to allow a rich text deserialization function to create new tags in the receiving buffer. Note that using this function is almost always a bad idea, because the rich text functions you register should know how to map the rich text format they handler to your text buffers set of tags. The ability of creating new (arbitrary!) tags in the receiving buffer is meant for special rich text formats like the internal one that is registered using gtk_text_buffer_register_deserialize_tagset(), because that format is essentially a dump of the internal structure of the source buffer, including its tag names. You should allow creation of tags only if you know what you are doing, e.g. if you defined a tagset name for your application suite's text buffers and you know that it's fine to receive new tags from these buffers, because you know that your application can handle the newly created tags. a #GdkAtom representing a registered rich text format whether deserializing this format may create tags This functions returns the value set with gtk_text_buffer_deserialize_set_can_create_tags() whether deserializing this format may create tags a #GdkAtom representing a registered rich text format This function returns the rich text serialize formats registered with @buffer using gtk_text_buffer_register_serialize_format() or gtk_text_buffer_register_serialize_tagset() formats. an array of #GdkAtom<!-- -->s representing the registered return location for the number of formats This function returns the rich text deserialize formats registered with @buffer using gtk_text_buffer_register_deserialize_format() or gtk_text_buffer_register_deserialize_tagset() formats. an array of #GdkAtom<!-- -->s representing the registered return location for the number of formats This function serializes the portion of text between @start and @end in the rich text format represented by @format. gtk_text_buffer_register_serialize_format() or gtk_text_buffer_register_serialize_tagset() beforehand. the serialized data, encoded as @format the #GtkTextBuffer to serialize the rich text format to use for serializing start of block of text to serialize end of block of test to serialize return location for the length of the serialized data This function deserializes rich text in format @format and inserts it at @iter. gtk_text_buffer_register_deserialize_format() or gtk_text_buffer_register_deserialize_tagset() beforehand. %TRUE on success, %FALSE otherwise. the #GtkTextBuffer to deserialize into the rich text format to use for deserializing insertion point for the deserialized text data to deserialize length of @data The list of targets this buffer supports for clipboard copying and as DND source. The position of the insert mark (as offset from the beginning of the buffer). It is useful for getting notified when the cursor moves. Whether the buffer has some text currently selected. The list of targets this buffer supports for clipboard pasting and as DND destination. The text content of the buffer. Without child widgets and images, see gtk_text_buffer_get_text() for more information. The ::apply-tag signal is emitted to apply a tag to a range of text in a #GtkTextBuffer. Applying actually occurs in the default handler. Note that if your handler runs before the default handler it must not invalidate the @start and @end iters (or has to revalidate them). gtk_text_buffer_apply_tag(), gtk_text_buffer_insert_with_tags(), gtk_text_buffer_insert_range(). the applied tag the start of the range the tag is applied to the end of the range the tag is applied to The ::begin-user-action signal is emitted at the beginning of a single user-visible operation on a #GtkTextBuffer. gtk_text_buffer_begin_user_action(), gtk_text_buffer_insert_interactive(), gtk_text_buffer_insert_range_interactive(), gtk_text_buffer_delete_interactive(), gtk_text_buffer_backspace(), gtk_text_buffer_delete_selection(). The ::changed signal is emitted when the content of a #GtkTextBuffer has changed. The ::delete-range signal is emitted to delete a range from a #GtkTextBuffer. Note that if your handler runs before the default handler it must not invalidate the @start and @end iters (or has to revalidate them). The default signal handler revalidates the @start and @end iters to both point point to the location where text was deleted. Handlers which run after the default handler (see g_signal_connect_after()) do not have access to the deleted text. the start of the range to be deleted the end of the range to be deleted The ::end-user-action signal is emitted at the end of a single user-visible operation on the #GtkTextBuffer. gtk_text_buffer_end_user_action(), gtk_text_buffer_insert_interactive(), gtk_text_buffer_insert_range_interactive(), gtk_text_buffer_delete_interactive(), gtk_text_buffer_backspace(), gtk_text_buffer_delete_selection(), gtk_text_buffer_backspace(). The ::insert-child-anchor signal is emitted to insert a #GtkTextChildAnchor in a #GtkTextBuffer. Insertion actually occurs in the default handler. Note that if your handler runs before the default handler it must not invalidate the @location iter (or has to revalidate it). The default signal handler revalidates it to be placed after the inserted @anchor. position to insert @anchor in @textbuffer the #GtkTextChildAnchor to be inserted The ::insert-pixbuf signal is emitted to insert a #GdkPixbuf in a #GtkTextBuffer. Insertion actually occurs in the default handler. Note that if your handler runs before the default handler it must not invalidate the @location iter (or has to revalidate it). The default signal handler revalidates it to be placed after the inserted @pixbuf. position to insert @pixbuf in @textbuffer the #GdkPixbuf to be inserted The ::insert-text signal is emitted to insert text in a #GtkTextBuffer. Insertion actually occurs in the default handler. Note that if your handler runs before the default handler it must not invalidate the @location iter (or has to revalidate it). The default signal handler revalidates it to point to the end of the inserted text. gtk_text_buffer_insert(), gtk_text_buffer_insert_range(). position to insert @text in @textbuffer the UTF-8 text to be inserted length of the inserted text in bytes The ::mark-deleted signal is emitted as notification after a #GtkTextMark is deleted. See also: gtk_text_buffer_delete_mark(). The mark that was deleted The ::mark-set signal is emitted as notification after a #GtkTextMark is set. gtk_text_buffer_create_mark(), gtk_text_buffer_move_mark(). The location of @mark in @textbuffer The mark that is set The ::modified-changed signal is emitted when the modified bit of a #GtkTextBuffer flips. See also: gtk_text_buffer_set_modified(). The paste-done signal is emitted after paste operation has been completed. This is useful to properly scroll the view to the end of the pasted text. See gtk_text_buffer_paste_clipboard() for more details. The ::remove-tag signal is emitted to remove all occurrences of @tag from a range of text in a #GtkTextBuffer. Removal actually occurs in the default handler. Note that if your handler runs before the default handler it must not invalidate the @start and @end iters (or has to revalidate them). gtk_text_buffer_remove_tag(). the tag to be removed the start of the range the tag is removed from the end of the range the tag is removed from Creates a new #GtkTextChildAnchor. Usually you would then insert it into a #GtkTextBuffer with gtk_text_buffer_insert_child_anchor(). To perform the creation and insertion in one step, use the convenience function gtk_text_buffer_create_child_anchor(). a new #GtkTextChildAnchor Gets a list of all widgets anchored at this child anchor. The returned list should be freed with g_list_free(). list of widgets anchored at @anchor Determines whether a child anchor has been deleted from the buffer. Keep in mind that the child anchor will be unreferenced when removed from the buffer, so you need to hold your own reference (with g_object_ref()) if you plan to use this function &mdash; otherwise all deleted child anchors will also be finalized. %TRUE if the child anchor has been deleted from its buffer Returns the #GtkTextBuffer this iterator is associated with. the buffer Creates a dynamically-allocated copy of an iterator. This function is not useful in applications, because iterators can be copied with a simple assignment (<literal>GtkTextIter i = j;</literal>). The function is used by language bindings. a copy of the @iter, free with gtk_text_iter_free () Free an iterator allocated on the heap. This function is intended for use in language bindings, and is not especially useful for applications, because iterators can simply be allocated on the stack. Returns the character offset of an iterator. Each character in a #GtkTextBuffer has an offset, starting with 0 for the first character in the buffer. Use gtk_text_buffer_get_iter_at_offset () to convert an offset back into an iterator. a character offset Returns the line number containing the iterator. Lines in a #GtkTextBuffer are numbered beginning with 0 for the first line in the buffer. a line number Returns the character offset of the iterator, counting from the start of a newline-terminated line. The first character on the line has offset 0. offset from start of line Returns the byte index of the iterator, counting from the start of a newline-terminated line. Remember that #GtkTextBuffer encodes text in UTF-8, and that characters can require a variable number of bytes to represent. distance from start of line, in bytes Returns the offset in characters from the start of the line to the given @iter, not counting characters that are invisible due to tags with the "invisible" flag toggled on. offset in visible characters from the start of the line Returns the number of bytes from the start of the line to the given @iter, not counting bytes that are invisible due to tags with the "invisible" flag toggled on. byte index of @iter with respect to the start of the line Returns the Unicode character at this iterator. (Equivalent to operator* on a C++ iterator.) If the element at this iterator is a non-character element, such as an image embedded in the buffer, the Unicode "unknown" character 0xFFFC is returned. If invoked on the end iterator, zero is returned; zero is not a valid Unicode character. So you can write a loop which ends when gtk_text_iter_get_char () returns 0. a Unicode character, or 0 if @iter is not dereferenceable Returns the text in the given range. A "slice" is an array of characters encoded in UTF-8 format, including the Unicode "unknown" character 0xFFFC for iterable non-character elements in the buffer, such as images. Because images are encoded in the slice, byte and character offsets in the returned array will correspond to byte offsets in the text buffer. Note that 0xFFFC can occur in normal text as well, so it is not a reliable indicator that a pixbuf or widget is in the buffer. slice of text from the buffer iterator at end of a range Returns <emphasis>text</emphasis> in the given range. If the range contains non-text elements such as images, the character and byte offsets in the returned string will not correspond to character and byte offsets in the buffer. If you want offsets to correspond, see gtk_text_iter_get_slice (). array of characters from the buffer iterator at end of a range Like gtk_text_iter_get_slice (), but invisible text is not included. Invisible text is usually invisible because a #GtkTextTag with the "invisible" attribute turned on has been applied to it. slice of text from the buffer iterator at end of range Like gtk_text_iter_get_text (), but invisible text is not included. Invisible text is usually invisible because a #GtkTextTag with the "invisible" attribute turned on has been applied to it. string containing visible text in the range iterator at end of range If the element at @iter is a pixbuf, the pixbuf is returned (with no new reference count added). Otherwise, %NULL is returned. the pixbuf at @iter Returns a list of all #GtkTextMark at this location. Because marks are not iterable (they don't take up any "space" in the buffer, they are just marks in between iterable locations), multiple marks can exist in the same place. The returned list is not in any meaningful order. list of #GtkTextMark If the location at @iter contains a child anchor, the anchor is returned (with no new reference count added). Otherwise, %NULL is returned. the anchor at @iter Returns a list of #GtkTextTag that are toggled on or off at this point. (If @toggled_on is %TRUE, the list contains tags that are toggled on.) If a tag is toggled on at @iter, then some non-empty range of characters following @iter has that tag applied to it. If a tag is toggled off, then some non-empty range following @iter does <emphasis>not</emphasis> have the tag applied to it. tags toggled at this point %TRUE to get toggled-on tags Returns %TRUE if @tag is toggled on at exactly this point. If @tag is %NULL, returns %TRUE if any tag is toggled on at this point. Note that the gtk_text_iter_begins_tag () returns %TRUE if @iter is the <emphasis>start</emphasis> of the tagged range; gtk_text_iter_has_tag () tells you whether an iterator is <emphasis>within</emphasis> a tagged range. whether @iter is the start of a range tagged with @tag a #GtkTextTag, or %NULL Returns %TRUE if @tag is toggled off at exactly this point. If @tag is %NULL, returns %TRUE if any tag is toggled off at this point. Note that the gtk_text_iter_ends_tag () returns %TRUE if @iter is the <emphasis>end</emphasis> of the tagged range; gtk_text_iter_has_tag () tells you whether an iterator is <emphasis>within</emphasis> a tagged range. whether @iter is the end of a range tagged with @tag a #GtkTextTag, or %NULL This is equivalent to (gtk_text_iter_begins_tag () || gtk_text_iter_ends_tag ()), i.e. it tells you whether a range with whether @tag is toggled on or off at @iter a #GtkTextTag, or %NULL Returns %TRUE if @iter is within a range tagged with @tag. whether @iter is tagged with @tag a #GtkTextTag Returns a list of tags that apply to @iter, in ascending order of priority (highest-priority tags are last). The #GtkTextTag in the list don't have a reference added, but you have to free the list itself. list of #GtkTextTag Returns whether the character at @iter is within an editable region of text. Non-editable text is "locked" and can't be changed by the user via #GtkTextView. This function is simply a convenience wrapper around gtk_text_iter_get_attributes (). If no tags applied to this text affect editability, @default_setting will be returned. You don't want to use this function to decide whether text can be inserted at @iter, because for insertion you don't want to know whether the char at @iter is inside an editable range, you want to know whether a new character inserted at @iter would be inside an editable range. Use gtk_text_iter_can_insert() to handle this case. whether @iter is inside an editable range %TRUE if text is editable by default Considering the default editability of the buffer, and tags that affect editability, determines whether text inserted at @iter would be editable. If text inserted at @iter would be editable then the user should be allowed to insert text at @iter. gtk_text_buffer_insert_interactive() uses this function to decide whether insertions are allowed at a given position. whether text inserted at @iter would be editable %TRUE if text is editable by default Determines whether @iter begins a natural-language word. Word breaks are determined by Pango and should be correct for nearly any language (if not, the correct fix would be to the Pango word break algorithms). %TRUE if @iter is at the start of a word Determines whether @iter ends a natural-language word. Word breaks are determined by Pango and should be correct for nearly any language (if not, the correct fix would be to the Pango word break algorithms). %TRUE if @iter is at the end of a word Determines whether @iter is inside a natural-language word (as opposed to say inside some whitespace). Word breaks are determined by Pango and should be correct for nearly any language (if not, the correct fix would be to the Pango word break algorithms). %TRUE if @iter is inside a word Determines whether @iter begins a sentence. Sentence boundaries are determined by Pango and should be correct for nearly any language (if not, the correct fix would be to the Pango text boundary algorithms). %TRUE if @iter is at the start of a sentence. Determines whether @iter ends a sentence. Sentence boundaries are determined by Pango and should be correct for nearly any language (if not, the correct fix would be to the Pango text boundary algorithms). %TRUE if @iter is at the end of a sentence. Determines whether @iter is inside a sentence (as opposed to in between two sentences, e.g. after a period and before the first letter of the next sentence). Sentence boundaries are determined by Pango and should be correct for nearly any language (if not, the correct fix would be to the Pango text boundary algorithms). %TRUE if @iter is inside a sentence. Returns %TRUE if @iter begins a paragraph, i.e. if gtk_text_iter_get_line_offset () would return 0. However this function is potentially more efficient than gtk_text_iter_get_line_offset () because it doesn't have to compute the offset, it just has to see whether it's 0. whether @iter begins a line Returns %TRUE if @iter points to the start of the paragraph delimiter characters for a line (delimiters will be either a newline, a carriage return, a carriage return followed by a newline, or a Unicode paragraph separator character). Note that an iterator pointing to the \n of a \r\n pair will not be counted as the end of a line, the line ends before the \r. The end iterator is considered to be at the end of a line, even though there are no paragraph delimiter chars there. whether @iter is at the end of a line See gtk_text_iter_forward_cursor_position() or #PangoLogAttr or pango_break() for details on what a cursor position is. %TRUE if the cursor can be placed at @iter Returns the number of characters in the line containing @iter, including the paragraph delimiters. number of characters in the line Returns the number of bytes in the line containing @iter, including the paragraph delimiters. number of bytes in the line Computes the effect of any tags applied to this spot in the text. The @values parameter should be initialized to the default settings you wish to use if no tags are in effect. You'd typically obtain the defaults from gtk_text_view_get_default_attributes(). gtk_text_iter_get_attributes () will modify @values, applying the effects of any tags present at @iter. If any tags affected @values, the function returns %TRUE. %TRUE if @values was modified a #GtkTextAttributes to be filled in A convenience wrapper around gtk_text_iter_get_attributes (), which returns the language in effect at @iter. If no tags affecting language apply to @iter, the return value is identical to that of gtk_get_default_language (). language in effect at @iter Returns %TRUE if @iter is the end iterator, i.e. one past the last dereferenceable iterator in the buffer. gtk_text_iter_is_end () is the most efficient way to check whether an iterator is the end iterator. whether @iter is the end iterator Returns %TRUE if @iter is the first iterator in the buffer, that is if @iter has a character offset of 0. whether @iter is the first in the buffer Moves @iter forward by one character offset. Note that images embedded in the buffer occupy 1 character slot, so gtk_text_iter_forward_char () may actually move onto an image instead of a character, if you have images in your buffer. If @iter is the end iterator or one character before it, @iter will now point at the end iterator, and gtk_text_iter_forward_char () returns %FALSE for convenience when writing loops. whether @iter moved and is dereferenceable Moves backward by one character offset. Returns %TRUE if movement was possible; if @iter was the first in the buffer (character offset 0), gtk_text_iter_backward_char () returns %FALSE for convenience when writing loops. whether movement was possible Moves @count characters if possible (if @count would move past the start or end of the buffer, moves to the start or end of the buffer). The return value indicates whether the new position of (the last iterator in the buffer is not dereferenceable). If @count is 0, the function does nothing and returns %FALSE. whether @iter moved and is dereferenceable number of characters to move, may be negative Moves @count characters backward, if possible (if @count would move past the start or end of the buffer, moves to the start or end of the buffer). The return value indicates whether the iterator moved onto a dereferenceable position; if the iterator didn't move, or moved onto the end iterator, then %FALSE is returned. If @count is 0, the function does nothing and returns %FALSE. whether @iter moved and is dereferenceable number of characters to move Moves @iter to the start of the next line. If the iter is already on the last line of the buffer, moves the iter to the end of the current line. If after the operation, the iter is at the end of the buffer and not dereferencable, returns %FALSE. Otherwise, returns %TRUE. whether @iter can be dereferenced Moves @iter to the start of the previous line. Returns %TRUE if function returns %FALSE. Therefore if @iter was already on line 0, but not at the start of the line, @iter is snapped to the start of the line and the function returns %TRUE. (Note that this implies that in a loop calling this function, the line number may not change on every iteration, if your first iteration is on line 0.) whether @iter moved Moves @count lines forward, if possible (if @count would move past the start or end of the buffer, moves to the start or end of the buffer). The return value indicates whether the iterator moved onto a dereferenceable position; if the iterator didn't move, or moved onto the end iterator, then %FALSE is returned. If @count is 0, the function does nothing and returns %FALSE. If @count is negative, moves backward by 0 - @count lines. whether @iter moved and is dereferenceable number of lines to move forward Moves @count lines backward, if possible (if @count would move past the start or end of the buffer, moves to the start or end of the buffer). The return value indicates whether the iterator moved onto a dereferenceable position; if the iterator didn't move, or moved onto the end iterator, then %FALSE is returned. If @count is 0, the function does nothing and returns %FALSE. If @count is negative, moves forward by 0 - @count lines. whether @iter moved and is dereferenceable number of lines to move backward Moves forward to the next word end. (If @iter is currently on a word end, moves forward to the next one after that.) Word breaks are determined by Pango and should be correct for nearly any language (if not, the correct fix would be to the Pango word break algorithms). %TRUE if @iter moved and is not the end iterator Calls gtk_text_iter_backward_word_start() up to @count times. %TRUE if @iter moved and is not the end iterator Calls gtk_text_iter_forward_word_end() up to @count times. %TRUE if @iter moved and is not the end iterator number of times to move Moves @iter to the start of the next visible line. Returns %TRUE if there was a next line to move to, and %FALSE if @iter was simply moved to the end of the buffer and is now not dereferenceable, or if @iter was already at the end of the buffer. whether @iter can be dereferenced Moves @iter to the start of the previous visible line. Returns %TRUE if function returns %FALSE. Therefore if @iter was already on line 0, but not at the start of the line, @iter is snapped to the start of the line and the function returns %TRUE. (Note that this implies that in a loop calling this function, the line number may not change on every iteration, if your first iteration is on line 0.) whether @iter moved Moves @count visible lines forward, if possible (if @count would move past the start or end of the buffer, moves to the start or end of the buffer). The return value indicates whether the iterator moved onto a dereferenceable position; if the iterator didn't move, or moved onto the end iterator, then %FALSE is returned. If @count is 0, the function does nothing and returns %FALSE. If @count is negative, moves backward by 0 - @count lines. whether @iter moved and is dereferenceable number of lines to move forward Moves @count visible lines backward, if possible (if @count would move past the start or end of the buffer, moves to the start or end of the buffer). The return value indicates whether the iterator moved onto a dereferenceable position; if the iterator didn't move, or moved onto the end iterator, then %FALSE is returned. If @count is 0, the function does nothing and returns %FALSE. If @count is negative, moves forward by 0 - @count lines. whether @iter moved and is dereferenceable number of lines to move backward Moves forward to the next visible word end. (If @iter is currently on a word end, moves forward to the next one after that.) Word breaks are determined by Pango and should be correct for nearly any language (if not, the correct fix would be to the Pango word break algorithms). %TRUE if @iter moved and is not the end iterator Calls gtk_text_iter_backward_visible_word_start() up to @count times. %TRUE if @iter moved and is not the end iterator Calls gtk_text_iter_forward_visible_word_end() up to @count times. %TRUE if @iter moved and is not the end iterator number of times to move Moves forward to the next sentence end. (If @iter is at the end of a sentence, moves to the next end of sentence.) Sentence boundaries are determined by Pango and should be correct for nearly any language (if not, the correct fix would be to the Pango text boundary algorithms). %TRUE if @iter moved and is not the end iterator Moves backward to the previous sentence start; if @iter is already at the start of a sentence, moves backward to the next one. Sentence boundaries are determined by Pango and should be correct for nearly any language (if not, the correct fix would be to the Pango text boundary algorithms). %TRUE if @iter moved and is not the end iterator Calls gtk_text_iter_forward_sentence_end() @count times (or until gtk_text_iter_forward_sentence_end() returns %FALSE). If @count is negative, moves backward instead of forward. %TRUE if @iter moved and is not the end iterator number of sentences to move Calls gtk_text_iter_backward_sentence_start() up to @count times, or until it returns %FALSE. If @count is negative, moves forward instead of backward. %TRUE if @iter moved and is not the end iterator number of sentences to move Moves @iter forward by a single cursor position. Cursor positions are (unsurprisingly) positions where the cursor can appear. Perhaps surprisingly, there may not be a cursor position between all characters. The most common example for European languages would be a carriage return/newline sequence. For some Unicode characters, the equivalent of say the letter "a" with an accent mark will be represented as two characters, first the letter then a "combining mark" that causes the accent to be rendered; so the cursor can't go between those two characters. See also the #PangoLogAttr structure and pango_break() function. %TRUE if we moved and the new position is dereferenceable Like gtk_text_iter_forward_cursor_position(), but moves backward. %TRUE if we moved Moves up to @count cursor positions. See gtk_text_iter_forward_cursor_position() for details. %TRUE if we moved and the new position is dereferenceable number of positions to move Moves up to @count cursor positions. See gtk_text_iter_forward_cursor_position() for details. %TRUE if we moved and the new position is dereferenceable number of positions to move Moves @iter forward to the next visible cursor position. See gtk_text_iter_forward_cursor_position() for details. %TRUE if we moved and the new position is dereferenceable Moves @iter forward to the previous visible cursor position. See gtk_text_iter_backward_cursor_position() for details. %TRUE if we moved and the new position is dereferenceable Moves up to @count visible cursor positions. See gtk_text_iter_forward_cursor_position() for details. %TRUE if we moved and the new position is dereferenceable number of positions to move Moves up to @count visible cursor positions. See gtk_text_iter_backward_cursor_position() for details. %TRUE if we moved and the new position is dereferenceable number of positions to move Sets @iter to point to @char_offset. @char_offset counts from the start of the entire text buffer, starting with 0. a character number Moves iterator @iter to the start of the line @line_number. If buffer, moves @iter to the start of the last line in the buffer. line number (counted from 0) Moves @iter within a line, to a new <emphasis>character</emphasis> (not byte) offset. The given character offset must be less than or equal to the number of characters in the line; if equal, @iter moves to the start of the next line. See gtk_text_iter_set_line_index() if you have a byte index rather than a character offset. a character offset relative to the start of @iter's current line Same as gtk_text_iter_set_line_offset(), but works with a <emphasis>byte</emphasis> index. The given byte index must be at the start of a character, it can't be in the middle of a UTF-8 encoded character. a byte index relative to the start of @iter's current line Moves @iter forward to the "end iterator," which points one past the last valid character in the buffer. gtk_text_iter_get_char() called on the end iterator returns 0, which is convenient for writing loops. Moves the iterator to point to the paragraph delimiter characters, which will be either a newline, a carriage return, a carriage return/newline in sequence, or the Unicode paragraph separator character. If the iterator is already at the paragraph delimiter characters, moves to the paragraph delimiter characters for the next line. If @iter is on the last line in the buffer, which does not end in paragraph delimiters, moves to the end iterator (end of the last line), and returns %FALSE. %TRUE if we moved and the new location is not the end iterator Like gtk_text_iter_set_line_offset(), but the offset is in visible characters, i.e. text with a tag making it invisible is not counted in the offset. a character offset Like gtk_text_iter_set_line_index(), but the index is in visible bytes, i.e. text with a tag making it invisible is not counted in the index. a byte index Moves forward to the next toggle (on or off) of the #GtkTextTag @tag, or to the next toggle of any tag if returns %FALSE, otherwise %TRUE. Does not return toggles located at @iter, only toggles after @iter. Sets @iter to the location of the toggle, or to the end of the buffer if no toggle is found. whether we found a tag toggle after @iter a #GtkTextTag, or %NULL Moves backward to the next toggle (on or off) of the #GtkTextTag @tag, or to the next toggle of any tag if returns %FALSE, otherwise %TRUE. Does not return toggles located at @iter, only toggles before @iter. Sets @iter to the location of the toggle, or the start of the buffer if no toggle is found. whether we found a tag toggle before @iter a #GtkTextTag, or %NULL Advances @iter, calling @pred on each character. If If @pred never returns %TRUE, @iter is set to @limit if whether a match was found a function to be called on each character user data for @pred search limit, or %NULL for none Same as gtk_text_iter_forward_find_char(), but goes backward from @iter. whether a match was found function to be called on each character user data for @pred search limit, or %NULL for none Searches forward for @str. Any match is returned by setting first character after the match. The search will not continue past may wish to use @limit to avoid locking up your UI on large buffers. If the #GTK_TEXT_SEARCH_VISIBLE_ONLY flag is present, the match may have invisible text interspersed in @str. i.e. @str will be a possibly-noncontiguous subsequence of the matched range. similarly, if you specify #GTK_TEXT_SEARCH_TEXT_ONLY, the match may have pixbufs or child widgets mixed inside the matched range. If these flags are not given, the match must be exact; the special 0xFFFC character in @str will match embedded pixbufs or child widgets. whether a match was found a search string flags affecting how the search is done return location for start of match, or %NULL return location for end of match, or %NULL bound for the search, or %NULL for the end of the buffer Same as gtk_text_iter_forward_search(), but moves backward. whether a match was found search string bitmask of flags affecting the search return location for start of match, or %NULL return location for end of match, or %NULL location of last possible @match_start, or %NULL for start of buffer Tests whether two iterators are equal, using the fastest possible mechanism. This function is very fast; you can expect it to perform better than e.g. getting the character offset for each iterator and comparing the offsets yourself. Also, it's a bit faster than gtk_text_iter_compare(). %TRUE if the iterators point to the same place in the buffer another #GtkTextIter A qsort()-style function that returns negative if @lhs is less than Ordering is in character offset order, i.e. the first character in the buffer is less than the second character in the buffer. -1 if @lhs is less than @rhs, 1 if @lhs is greater, 0 if they are equal another #GtkTextIter Checks whether @iter falls in the range [@start, @end). %TRUE if @iter is in the range start of range end of range Swaps the value of @first and @second if @second comes before in sequence. Most text buffer functions that take a range call this automatically on your behalf, so there's no real reason to call it yourself in those cases. There are some exceptions, such as gtk_text_iter_in_range(), that expect a pre-sorted range. another #GtkTextIter Gets the text buffer used by the layout. See gtk_text_layout_set_buffer(). the text buffer used by the layout. Sets which text directions (left-to-right and/or right-to-left) for which cursors will be drawn for the insertion point. The visual point at which new text is inserted depends on whether the new text is right-to-left or left-to-right, so it may be desired to make the drawn position of the cursor depend on the keyboard state. the new direction(s) for which to draw cursors. %GTK_TEXT_DIR_NONE means draw cursors for both left-to-right insertion and right-to-left insertion. (The two cursors will be visually distinguished.) Sets overwrite mode overwrite mode Sets the keyboard direction; this is used as for the bidirectional base direction for the line with the cursor if the line contains only neutral characters. the current direction of the keyboard. Set the preedit string and attributes. The preedit string is a string showing text that is currently being edited and not yet committed into the buffer. a string to display at the insertion point a #PangoAttrList of attributes that apply to @preedit_string position of cursor within preedit string in chars Sets whether the insertion cursor should be shown. Generally, widgets using #GtkTextLayout will hide the cursor when the widget does not have the input focus. If %FALSE, then the insertion cursor will not be shown, even if the text is editable. Returns whether the insertion cursor will be shown. shown, even if the text is editable. if %FALSE, the insertion cursor will not be Get the iter at the beginning of the line which is displayed at the given y. the iterator in which the result is stored the y positition location to store the y coordinate of the top of the line. (Can by %NULL) Check if there are any invalid regions in a #GtkTextLayout's buffer %TRUE if any invalid regions were found Ensure that a region of a #GtkTextLayout is valid. The ::changed signal will be emitted if any lines are validated. offset from the top of the line pointed to by @anchor at which to begin validation. (The offset here is in pixels after validation.) offset from the top of the line pointed to by @anchor at which to end validation. (The offset here is in pixels after validation.) Validate regions of a #GtkTextLayout. The ::changed signal will be emitted for each region validated. the maximum number of pixels to validate. (No more than one paragraph beyond this limit will be validated) Find the range of y coordinates for the paragraph containing the given iter. a #GtkTextIter location to store the top of the paragraph in pixels, or %NULL. or %NULL. Given an iterator within a text layout, determine the positions of the strong and weak cursors if the insertion point is at that iterator. The position of each cursor is stored as a zero-width rectangle. The strong cursor location is the location where characters of the directionality equal to the base direction of the paragraph are inserted. The weak cursor location is the location where characters of the directionality opposite to the base direction of the paragraph are inserted. a #GtkTextIter location to store the strong cursor position (may be %NULL) location to store the weak cursor position (may be %NULL) If the iterator is not fully in the range @top <= y < @bottom, then, if possible, move it the minimum distance so that the iterator in this range. %TRUE if the iterator was moved, otherwise %FALSE. a #GtkTextIter the top of the range the bottom the range Move to the beginning or end of a display line. if negative, move to beginning of line, otherwise Move the iterator to the beginning of the previous line. The lines of a wrapped paragraph are treated as distinct for this operation. a #GtkTextIter Move the iterator to the beginning of the next line. The lines of a wrapped paragraph are treated as distinct for this operation. a #GtkTextIter Keeping the iterator on the same line of the layout, move it to the specified X coordinate. The lines of a wrapped paragraph are treated as distinct for this operation. a #GtkTextIter X coordinate Move the iterator a given number of characters visually, treating it as the strong cursor position. If @count is positive, then the new strong cursor position will be @count positions to the right of the old cursor position. If @count is negative then the new strong cursor position will be @count positions to the left of the old cursor position. In the presence of bidirection text, the correspondence between logical and visual order will depend on the direction of the current run, and there may be jumps when the cursor is moved off of the end of a run. a #GtkTextIter number of characters to move (negative moves left, positive moves right) Tests whether an iterator is at the start of a display line. iterator to test Creates a text mark. Add it to a buffer using gtk_text_buffer_add_mark(). If @name is %NULL, the mark is anonymous; otherwise, the mark can be retrieved by name using gtk_text_buffer_get_mark(). If a mark has left gravity, and text is inserted at the mark's current location, the mark will be moved to the left of the newly-inserted text. If the mark has right gravity (@left_gravity = %FALSE), the mark will end up on the right of newly-inserted text. The standard left-to-right cursor is a mark with right gravity (when you type, the cursor stays on the right side of the text you're typing). new #GtkTextMark mark name or %NULL whether the mark should have left gravity Sets the visibility of @mark; the insertion point is normally visible, i.e. you can see it as a vertical bar. Also, the text widget uses a visible mark to indicate where a drop will occur when dragging-and-dropping text. Most other marks are not visible. Marks are not visible by default. visibility of mark Returns %TRUE if the mark is visible (i.e. a cursor is displayed for it). %TRUE if visible Returns the mark name; returns NULL for anonymous marks. mark name Returns %TRUE if the mark has been removed from its buffer with gtk_text_buffer_delete_mark(). See gtk_text_buffer_add_mark() for a way to add it to a buffer again. whether the mark is deleted Gets the buffer this mark is located inside, or %NULL if the mark is deleted. the mark's #GtkTextBuffer Determines whether the mark has left gravity. %TRUE if the mark has left gravity, %FALSE otherwise Creates a #GtkTextTag. Configure the tag using object arguments, i.e. using g_object_set(). a new #GtkTextTag tag name, or %NULL Get the tag priority. The tag's priority. Sets the priority of a #GtkTextTag. Valid priorities are start at 0 and go to one less than gtk_text_tag_table_get_size(). Each tag in a table has a unique priority; setting the priority of one tag shifts the priorities of all the other tags in the table to maintain a unique priority for each tag. Higher priority tags "win" if two tags both set the same text attribute. When adding a tag to a tag table, it will be assigned the highest priority in the table by default; so normally the precedence of a set of tags is the order in which they were added to the table, or created with gtk_text_buffer_create_tag(), which adds the tag to the buffer's table automatically. the new priority Emits the "event" signal on the #GtkTextTag. result of signal emission (whether the event was handled) object that received the event, such as a widget the event location where the event was received Whether the margins accumulate or override each other. When set to %TRUE the margins of this tag are added to the margins of any other non-accumulative margins present. When set to %FALSE the margins override one another (the default). Font description as string, e.g. \"Sans Italic 12\". Note that the initial value of this property depends on the internals of #PangoFontDescription. Whether this text is hidden. Note that there may still be problems with the support for invisible text, in particular when navigating programmatically inside a buffer containing invisible segments. The language this text is in, as an ISO code. Pango can use this as a hint when rendering the text. If not set, an appropriate default will be used. Note that the initial value of this property depends on the current locale, see also gtk_get_default_language(). The paragraph background color as a string. The paragraph background color as a as a (possibly unallocated) #GdkColor. The ::event signal is emitted when an event occurs on a region of the buffer marked with this tag. event. %FALSE to propagate the event further. %TRUE to stop other handlers from being invoked for the the object the event was fired from (typically a #GtkTextView) the event which triggered the signal a #GtkTextIter pointing at the location the event occured Creates a new #GtkTextTagTable. The table contains no tags by default. a new #GtkTextTagTable Add a tag to the table. The tag is assigned the highest priority in the table. the same name as an already-added tag. a #GtkTextTag Remove a tag from the table. This will remove the table's reference to the tag, so be careful - the tag will end up destroyed if you don't have a reference to it. a #GtkTextTag Look up a named tag. The tag, or %NULL if none by that name is in the table. name of a tag Calls @func on each tag in @table, with user data @data. Note that the table may not be modified while iterating over it (you can't add/remove tags). a function to call on each tag user data Returns the size of the table (number of tags) number of tags in @table Creates a new #GtkTextView. If you don't call gtk_text_view_set_buffer() before using the text view, an empty default buffer will be created for you. Get the buffer with gtk_text_view_get_buffer(). If you want to specify your own buffer, consider gtk_text_view_new_with_buffer(). a new #GtkTextView Creates a new #GtkTextView widget displaying the buffer this function is equivalent to gtk_text_view_new(). The text view adds its own reference count to the buffer; it does not take over an existing reference. a new #GtkTextView. a #GtkTextBuffer Sets @buffer as the buffer being displayed by @text_view. The previous buffer displayed by the text view is unreferenced, and a reference is added to @buffer. If you owned a reference to @buffer before passing it to this function, you must remove that reference yourself; #GtkTextView will not "adopt" it. a #GtkTextBuffer Returns the #GtkTextBuffer being displayed by this text view. The reference count on the buffer is not incremented; the caller of this function won't own a new reference. a #GtkTextBuffer Scrolls @text_view so that @iter is on the screen in the position indicated by @xalign and @yalign. An alignment of 0.0 indicates left or top, 1.0 indicates right or bottom, 0.5 means center. If @use_align is %FALSE, the text scrolls the minimal distance to get the mark onscreen, possibly not scrolling at all. The effective screen for purposes of this function is reduced by a margin of size Note that this function uses the currently-computed height of the lines in the text buffer. Line heights are computed in an idle handler; so this function may not have the desired effect if it's called before the height computations. To avoid oddness, consider using gtk_text_view_scroll_to_mark() which saves a point to be scrolled to after line validation. %TRUE if scrolling occurred a #GtkTextIter margin as a [0.0,0.5) fraction of screen size whether to use alignment arguments (if %FALSE, just get the mark onscreen) horizontal alignment of mark within visible area vertical alignment of mark within visible area Scrolls @text_view so that @mark is on the screen in the position indicated by @xalign and @yalign. An alignment of 0.0 indicates left or top, 1.0 indicates right or bottom, 0.5 means center. If @use_align is %FALSE, the text scrolls the minimal distance to get the mark onscreen, possibly not scrolling at all. The effective screen for purposes of this function is reduced by a margin of size a #GtkTextMark margin as a [0.0,0.5) fraction of screen size whether to use alignment arguments (if %FALSE, just get the mark onscreen) horizontal alignment of mark within visible area vertical alignment of mark within visible area Scrolls @text_view the minimum distance such that @mark is contained within the visible area of the widget. a mark in the buffer for @text_view Moves a mark within the buffer so that it's located within the currently-visible text area. %TRUE if the mark moved (wasn't already onscreen) a #GtkTextMark Moves the cursor to the currently visible region of the buffer, it it isn't there already. %TRUE if the cursor had to be moved. Fills @visible_rect with the currently-visible region of the buffer, in buffer coordinates. Convert to window coordinates with gtk_text_view_buffer_to_window_coords(). rectangle to fill Toggles whether the insertion point is displayed. A buffer with no editable text probably shouldn't have a visible cursor, so you may want to turn the cursor off. whether to show the insertion cursor Find out whether the cursor is being displayed. whether the insertion mark is visible Gets a rectangle which roughly contains the character at @iter. The rectangle position is in buffer coordinates; use gtk_text_view_buffer_to_window_coords() to convert these coordinates to coordinates for one of the windows in the text view. a #GtkTextIter bounds of the character at @iter Retrieves the iterator at buffer coordinates @x and @y. Buffer coordinates are coordinates for the entire buffer, not just the currently-displayed portion. If you have coordinates from an event, you have to convert those to buffer coordinates with gtk_text_view_window_to_buffer_coords(). a #GtkTextIter x position, in buffer coordinates y position, in buffer coordinates Retrieves the iterator pointing to the character at buffer coordinates @x and @y. Buffer coordinates are coordinates for the entire buffer, not just the currently-displayed portion. If you have coordinates from an event, you have to convert those to buffer coordinates with gtk_text_view_window_to_buffer_coords(). Note that this is different from gtk_text_view_get_iter_at_location(), which returns cursor locations, i.e. positions <emphasis>between</emphasis> characters. a #GtkTextIter if non-%NULL, location to store an integer indicating where in the grapheme the user clicked. It will either be zero, or the number of characters in the grapheme. 0 represents the trailing edge of the grapheme. x position, in buffer coordinates y position, in buffer coordinates Gets the y coordinate of the top of the line containing @iter, and the height of the line. The coordinate is a buffer coordinate; convert to window coordinates with gtk_text_view_buffer_to_window_coords(). a #GtkTextIter return location for a y coordinate return location for a height Gets the #GtkTextIter at the start of the line containing the coordinate @y. @y is in buffer coordinates, convert from window coordinates with gtk_text_view_window_to_buffer_coords(). If non-%NULL, @line_top will be filled with the coordinate of the top edge of the line. a #GtkTextIter a y coordinate return location for top coordinate of the line Converts coordinate (@buffer_x, @buffer_y) to coordinates for the window Note that you can't convert coordinates for a nonexisting window (see gtk_text_view_set_border_window_size()). a #GtkTextWindowType except #GTK_TEXT_WINDOW_PRIVATE buffer x coordinate buffer y coordinate window x coordinate return location window y coordinate return location Converts coordinates on the window identified by @win to buffer coordinates, storing the result in (@buffer_x,@buffer_y). Note that you can't convert coordinates for a nonexisting window (see gtk_text_view_set_border_window_size()). a #GtkTextWindowType except #GTK_TEXT_WINDOW_PRIVATE window x coordinate window y coordinate buffer x coordinate return location buffer y coordinate return location Gets the horizontal-scrolling #GtkAdjustment. pointer to the horizontal #GtkAdjustment Gets the vertical-scrolling #GtkAdjustment. pointer to the vertical #GtkAdjustment Retrieves the #GdkWindow corresponding to an area of the text view; possible windows include the overall widget window, child windows on the left, right, top, bottom, and the window that displays the text buffer. Windows are %NULL and nonexistent if their width or height is 0, and are nonexistent before the widget has been realized. a #GdkWindow, or %NULL window to get Usually used to find out which window an event corresponds to. If you connect to an event signal on @text_view, this function should be called on <literal>event-&gt;window</literal> to see which window it was. the window type. a window type Sets the width of %GTK_TEXT_WINDOW_LEFT or %GTK_TEXT_WINDOW_RIGHT, or the height of %GTK_TEXT_WINDOW_TOP or %GTK_TEXT_WINDOW_BOTTOM. Automatically destroys the corresponding window if the size is set to 0, and creates the window if the size is set to non-zero. This function can only be used for the "border windows," it doesn't work with #GTK_TEXT_WINDOW_WIDGET, #GTK_TEXT_WINDOW_TEXT, or #GTK_TEXT_WINDOW_PRIVATE. window to affect width or height of the window Gets the width of the specified border window. See gtk_text_view_set_border_window_size(). width of window window to return size from Moves the given @iter forward by one display (wrapped) line. A display line is different from a paragraph. Paragraphs are separated by newlines or other paragraph separator characters. Display lines are created by line-wrapping a paragraph. If wrapping is turned off, display lines and paragraphs will be the same. Display lines are divided differently for each view, since they depend on the view's width; paragraphs are the same in all views, since they depend on the contents of the #GtkTextBuffer. %TRUE if @iter was moved and is not on the end iterator a #GtkTextIter Moves the given @iter backward by one display (wrapped) line. A display line is different from a paragraph. Paragraphs are separated by newlines or other paragraph separator characters. Display lines are created by line-wrapping a paragraph. If wrapping is turned off, display lines and paragraphs will be the same. Display lines are divided differently for each view, since they depend on the view's width; paragraphs are the same in all views, since they depend on the contents of the #GtkTextBuffer. %TRUE if @iter was moved and is not on the end iterator a #GtkTextIter Moves the given @iter forward to the next display line end. A display line is different from a paragraph. Paragraphs are separated by newlines or other paragraph separator characters. Display lines are created by line-wrapping a paragraph. If wrapping is turned off, display lines and paragraphs will be the same. Display lines are divided differently for each view, since they depend on the view's width; paragraphs are the same in all views, since they depend on the contents of the #GtkTextBuffer. %TRUE if @iter was moved and is not on the end iterator a #GtkTextIter Moves the given @iter backward to the next display line start. A display line is different from a paragraph. Paragraphs are separated by newlines or other paragraph separator characters. Display lines are created by line-wrapping a paragraph. If wrapping is turned off, display lines and paragraphs will be the same. Display lines are divided differently for each view, since they depend on the view's width; paragraphs are the same in all views, since they depend on the contents of the #GtkTextBuffer. %TRUE if @iter was moved and is not on the end iterator a #GtkTextIter Determines whether @iter is at the start of a display line. See gtk_text_view_forward_display_line() for an explanation of display lines vs. paragraphs. %TRUE if @iter begins a wrapped line a #GtkTextIter Move the iterator a given number of characters visually, treating it as the strong cursor position. If @count is positive, then the new strong cursor position will be @count positions to the right of the old cursor position. If @count is negative then the new strong cursor position will be @count positions to the left of the old cursor position. In the presence of bi-directional text, the correspondence between logical and visual order will depend on the direction of the current run, and there may be jumps when the cursor is moved off of the end of a run. %TRUE if @iter moved and is not on the end iterator a #GtkTextIter number of characters to move (negative moves left, positive moves right) Allow the #GtkTextView input method to internally handle key press and release events. If this function returns %TRUE, then no further processing should be done for this key event. See gtk_im_context_filter_keypress(). Note that you are expected to call this function from your handler when overriding key event handling. This is needed in the case when you need to insert your own key handling between the input method and the default key event handling of the #GtkTextView. |[ static gboolean gtk_foo_bar_key_press_event (GtkWidget *widget, GdkEventKey *event) { if ((key->keyval == GDK_Return || key->keyval == GDK_KP_Enter)) { if (gtk_text_view_im_context_filter_keypress (GTK_TEXT_VIEW (view), event)) return TRUE; } /&ast; Do some stuff &ast;/ return GTK_WIDGET_CLASS (gtk_foo_bar_parent_class)->key_press_event (widget, event); } ]| %TRUE if the input method handled the key event. the key event Reset the input method context of the text view if needed. This can be necessary in the case where modifying the buffer would confuse on-going input method behavior. Adds a child widget in the text buffer, at the given @anchor. a #GtkWidget a #GtkTextChildAnchor in the #GtkTextBuffer for @text_view Adds a child at fixed coordinates in one of the text widget's windows. The window must have nonzero size (see gtk_text_view_set_border_window_size()). Note that the child coordinates are given relative to the #GdkWindow in question, and that these coordinates have no sane relationship to scrolling. When placing a child in #GTK_TEXT_WINDOW_WIDGET, scrolling is irrelevant, the child floats above all scrollable areas. But when placing a child in one of the scrollable windows (border windows or text window), you'll need to compute the child's correct position in buffer coordinates any time scrolling occurs or buffer changes occur, and then call gtk_text_view_move_child() to update the child's position. Unfortunately there's no good way to detect that scrolling has occurred, using the current API; a possible hack would be to update all child positions when the scroll adjustments change or the text buffer changes. See bug 64518 on bugzilla.gnome.org for status of fixing this issue. a #GtkWidget which window the child should appear in X position of child in window coordinates Y position of child in window coordinates Updates the position of a child, as for gtk_text_view_add_child_in_window(). child widget already added to the text view new X position in window coordinates new Y position in window coordinates Sets the line wrapping for the view. a #GtkWrapMode Gets the line wrapping for the view. the line wrap setting Sets the default editability of the #GtkTextView. You can override this default setting with tags in the buffer, using the "editable" attribute of tags. whether it's editable Returns the default editability of the #GtkTextView. Tags in the buffer may override this setting for some ranges of text. whether text is editable by default Changes the #GtkTextView overwrite mode. %TRUE to turn on overwrite mode, %FALSE to turn it off Returns whether the #GtkTextView is in overwrite mode or not. whether @text_view is in overwrite mode or not. Sets the behavior of the text widget when the Tab key is pressed. If @accepts_tab is %TRUE, a tab character is inserted. If @accepts_tab is %FALSE the keyboard focus is moved to the next widget in the focus chain. %TRUE if pressing the Tab key should insert a tab character, %FALSE, if pressing the Tab key should move the keyboard focus. Returns whether pressing the Tab key inserts a tab characters. gtk_text_view_set_accepts_tab(). %FALSE if pressing the Tab key moves the keyboard focus. %TRUE if pressing the Tab key inserts a tab character, Sets the default number of blank pixels above paragraphs in @text_view. Tags in the buffer for @text_view may override the defaults. pixels above paragraphs Gets the default number of pixels to put above paragraphs. default number of pixels above paragraphs Sets the default number of pixels of blank space to put below paragraphs in @text_view. May be overridden by tags applied to @text_view's buffer. pixels below paragraphs Gets the value set by gtk_text_view_set_pixels_below_lines(). default number of blank pixels below paragraphs Sets the default number of pixels of blank space to leave between display/wrapped lines within a paragraph. May be overridden by tags in @text_view's buffer. default number of pixels between wrapped lines Gets the value set by gtk_text_view_set_pixels_inside_wrap(). default number of pixels of blank space between wrapped lines Sets the default justification of text in @text_view. Tags in the view's buffer may override the default. justification Gets the default justification of paragraphs in @text_view. Tags in the buffer may override the default. default justification Sets the default left margin for text in @text_view. Tags in the buffer may override the default. left margin in pixels Gets the default left margin size of paragraphs in the @text_view. Tags in the buffer may override the default. left margin in pixels Sets the default right margin for text in the text view. Tags in the buffer may override the default. right margin in pixels Gets the default right margin for text in @text_view. Tags in the buffer may override the default. right margin in pixels Sets the default indentation for paragraphs in @text_view. Tags in the buffer may override the default. indentation in pixels Gets the default indentation of paragraphs in @text_view. Tags in the view's buffer may override the default. The indentation may be negative. number of pixels of indentation Sets the default tab stops for paragraphs in @text_view. Tags in the buffer may override the default. tabs as a #PangoTabArray Gets the default tabs for @text_view. Tags in the buffer may override the defaults. The returned array will be %NULL if "standard" (8-space) tabs are used. Free the return value with pango_tab_array_free(). tabs are used; must be freed with pango_tab_array_free(). copy of default tab array, or %NULL if "standard" Obtains a copy of the default text attributes. These are the attributes used for text unless a tag overrides them. You'd typically pass the default attributes in to gtk_text_iter_get_attributes() in order to get the attributes in effect at a given text position. The return value is a copy owned by the caller of this function, and should be freed. a new #GtkTextAttributes Which IM (input method) module should be used for this entry. See #GtkIMContext. Setting this to a non-%NULL value overrides the system-wide IM module setting. See the GtkSettings #GtkSettings:gtk-im-module property. The ::backspace signal is a <link linkend="keybinding-signals">keybinding signal</link> which gets emitted when the user asks for it. The default bindings for this signal are Backspace and Shift-Backspace. The ::copy-clipboard signal is a <link linkend="keybinding-signals">keybinding signal</link> which gets emitted to copy the selection to the clipboard. The default bindings for this signal are Ctrl-c and Ctrl-Insert. The ::cut-clipboard signal is a <link linkend="keybinding-signals">keybinding signal</link> which gets emitted to cut the selection to the clipboard. The default bindings for this signal are Ctrl-x and Shift-Delete. The ::delete-from-cursor signal is a <link linkend="keybinding-signals">keybinding signal</link> which gets emitted when the user initiates a text deletion. If the @type is %GTK_DELETE_CHARS, GTK+ deletes the selection if there is one, otherwise it deletes the requested number of characters. The default bindings for this signal are Delete for deleting a character, Ctrl-Delete for deleting a word and Ctrl-Backspace for deleting a word backwords. the granularity of the deletion, as a #GtkDeleteType the number of @type units to delete The ::insert-at-cursor signal is a <link linkend="keybinding-signals">keybinding signal</link> which gets emitted when the user initiates the insertion of a fixed string at the cursor. This signal has no default bindings. the string to insert The ::move-cursor signal is a <link linkend="keybinding-signals">keybinding signal</link> which gets emitted when the user initiates a cursor movement. If the cursor is not visible in @text_view, this signal causes the viewport to be moved instead. Applications should not connect to it, but may emit it with g_signal_emit_by_name() if they need to control the cursor programmatically. The default bindings for this signal come in two variants, the variant with the Shift modifier extends the selection, the variant without the Shift modifer does not. There are too many key combinations to list them all here. <itemizedlist> <listitem>Arrow keys move by individual characters/lines</listitem> <listitem>Ctrl-arrow key combinations move by words/paragraphs</listitem> <listitem>Home/End keys move to the ends of the buffer</listitem> <listitem>PageUp/PageDown keys move vertically by pages</listitem> <listitem>Ctrl-PageUp/PageDown keys move horizontally by pages</listitem> </itemizedlist> the granularity of the move, as a #GtkMovementStep the number of @step units to move %TRUE if the move should extend the selection The ::move-viewport signal is a <link linkend="keybinding-signals">keybinding signal</link> which can be bound to key combinations to allow the user to move the viewport, i.e. change what part of the text view is visible in a containing scrolled window. There are no default bindings for this signal. the granularity of the move, as a #GtkMovementStep the number of @step units to move The ::page-horizontally signal is a <link linkend="keybinding-signals">keybinding signal</link> which can be bound to key combinations to allow the user to initiate horizontal cursor movement by pages. This signal should not be used anymore, instead use the #GtkTextview::move-cursor signal with the #GTK_MOVEMENT_HORIZONTAL_PAGES granularity. the number of @step units to move %TRUE if the move should extend the selection The ::paste-clipboard signal is a <link linkend="keybinding-signals">keybinding signal</link> which gets emitted to paste the contents of the clipboard into the text view. The default bindings for this signal are Ctrl-v and Shift-Insert. The ::populate-popup signal gets emitted before showing the context menu of the text view. If you need to add items to the context menu, connect to this signal and append your menuitems to the @menu. the menu that is being populated If an input method is used, the typed text will not immediately be committed to the buffer. So if you are interested in the text, connect to this signal. This signal is only emitted if the text at the given position is actually editable. the current preedit string The ::select-all signal is a <link linkend="keybinding-signals">keybinding signal</link> which gets emitted to select or unselect the complete contents of the text view. The default bindings for this signal are Ctrl-a and Ctrl-/ for selecting and Shift-Ctrl-a and Ctrl-\ for unselecting. %TRUE to select, %FALSE to unselect The ::set-anchor signal is a <link linkend="keybinding-signals">keybinding signal</link> which gets emitted when the user initiates setting the "anchor" mark. The "anchor" mark gets placed at the same position as the "insert" mark. This signal has no default bindings. The ::toggle-cursor-visible signal is a <link linkend="keybinding-signals">keybinding signal</link> which gets emitted to toggle the visibility of the cursor. The default binding for this signal is F7. The ::toggle-overwrite signal is a <link linkend="keybinding-signals">keybinding signal</link> which gets emitted to toggle the overwrite mode of the text view. The default bindings for this signal is Insert. Creates a new #GtkToggleAction object. To add the action to a #GtkActionGroup and set the accelerator for the action, call gtk_action_group_add_action_with_accel(). a new #GtkToggleAction A unique name for the action The label displayed in menu items and on buttons, or %NULL A tooltip for the action, or %NULL The stock icon to display in widgets representing the action, or %NULL Emits the "toggled" signal on the toggle action. Sets the checked state on the toggle action. whether the action should be checked or not Returns the checked state of the toggle action. the checked state of the toggle action Sets whether the action should have proxies like a radio action. whether the action should have proxies like a radio action Returns whether the action should have proxies like a radio action. whether the action should have proxies like a radio action. If the toggle action should be active in or not. Whether the proxies for this action look like radio action proxies. This is an appearance property and thus only applies if #GtkActivatable:use-action-appearance is %TRUE. Creates a new #GtkToggleButton containing a label. The label will be created using gtk_label_new_with_mnemonic(), so underscores in @label indicate the mnemonic for the button. a new #GtkToggleButton the text of the button, with an underscore in front of the mnemonic character Sets whether the button is displayed as a separate indicator and label. You can call this function on a checkbutton or a radiobutton with This function only affects instances of classes like #GtkCheckButton and #GtkRadioButton that derive from #GtkToggleButton, not instances of #GtkToggleButton itself. if %TRUE, draw the button as a separate indicator and label; if %FALSE, draw the button like a normal button Retrieves whether the button is displayed as a separate indicator and label. See gtk_toggle_button_set_mode(). and label. %TRUE if the togglebutton is drawn as a separate indicator If the user has selected a range of elements (such as some text or spreadsheet cells) that are affected by a toggle button, and the current values in that range are inconsistent, you may want to display the toggle in an "in between" state. This function turns on "in between" display. Normally you would turn off the inconsistent state again if the user toggles the toggle button. This has to be done manually, gtk_toggle_button_set_inconsistent() only affects visual appearance, it doesn't affect the semantics of the button. %TRUE if state is inconsistent Gets the value set by gtk_toggle_button_set_inconsistent(). %TRUE if the button is displayed as inconsistent, %FALSE otherwise Returns a new #GtkToggleToolButton a newly created #GtkToggleToolButton Creates a new #GtkToggleToolButton containing the image and text from a stock item. Some stock ids have preprocessor macros like #GTK_STOCK_OK and #GTK_STOCK_APPLY. It is an error if @stock_id is not a name of a stock item. A new #GtkToggleToolButton the name of the stock item Sets the status of the toggle tool button. Set to %TRUE if you want the GtkToggleButton to be 'pressed in', and %FALSE to raise it. This action causes the toggled signal to be emitted. whether @button should be active Queries a #GtkToggleToolButton and returns its current state. Returns %TRUE if the toggle button is pressed in and %FALSE if it is raised. %TRUE if the toggle tool button is pressed in, %FALSE if not If the toggle tool button should be pressed in or not. Emitted whenever the toggle tool button changes state. Creates a new %GtkToolButton using @icon_widget as icon and @label as label. A new #GtkToolButton a #GtkMisc widget that will be used as icon widget, or %NULL a string that will be used as label, or %NULL Creates a new #GtkToolButton containing the image and text from a stock item. Some stock ids have preprocessor macros like #GTK_STOCK_OK and #GTK_STOCK_APPLY. It is an error if @stock_id is not a name of a stock item. A new #GtkToolButton the name of the stock item Sets @label as the label used for the tool button. The "label" property only has an effect if not overridden by a non-%NULL "label_widget" property. If both the "label_widget" and "label" properties are %NULL, the label is determined by the "stock_id" property. If the "stock_id" property is also %NULL, @button will not have a label. a string that will be used as label, or %NULL. Returns the label used by the tool button, or %NULL if the tool button doesn't have a label. or uses a the label from a stock item. The returned string is owned by GTK+, and must not be modified or freed. The label, or %NULL If set, an underline in the label property indicates that the next character should be used for the mnemonic accelerator key in the overflow menu. For example, if the label property is "_Open" and @use_underline is %TRUE, the label on the tool button will be "Open" and the item on the overflow menu will have an underlined 'O'. Labels shown on tool buttons never have mnemonics on them; this property only affects the menu item on the overflow menu. whether the button label has the form "_Open" Returns whether underscores in the label property are used as mnemonics on menu items on the overflow menu. See gtk_tool_button_set_use_underline(). mnemonics on menu items on the overflow menu. %TRUE if underscores in the label property are used as Sets the name of the stock item. See gtk_tool_button_new_from_stock(). The stock_id property only has an effect if not overridden by non-%NULL "label" and "icon_widget" properties. a name of a stock item, or %NULL Returns the name of the stock item. See gtk_tool_button_set_stock_id(). The returned string is owned by GTK+ and must not be freed or modifed. the name of the stock item for @button. Sets @icon as the widget used as icon on @button. If @icon_widget is %NULL the icon is determined by the "stock_id" property. If the "stock_id" property is also %NULL, @button will not have an icon. the widget used as icon, or %NULL Return the widget used as icon widget on @button. See gtk_tool_button_set_icon_widget(). The widget used as icon on @button, or %NULL. Sets @label_widget as the widget that will be used as the label for @button. If @label_widget is %NULL the "label" property is used as label. If "label" is also %NULL, the label in the stock item determined by the "stock_id" property is used as label. If "stock_id" is also %NULL, @button does not have a label. the widget used as label, or %NULL Returns the widget used as label on @button. See gtk_tool_button_set_label_widget(). The widget used as label on @button, or %NULL. The name of the themed icon displayed on the item. This property only has an effect if not overridden by "label", "icon_widget" or "stock_id" properties. This signal is emitted when the tool button is clicked with the mouse or activated with the keyboard. The GtkToolItem struct contains only private data. It should only be accessed through the functions described below. Creates a new #GtkToolItem the new #GtkToolItem Sets whether @tool_item is to be allocated the same size as other homogeneous items. The effect is that all homogeneous items will have the same width as the widest of the items. whether @tool_item is the same size as other homogeneous items Returns whether @tool_item is the same size as other homogeneous items. See gtk_tool_item_set_homogeneous(). items. %TRUE if the item is the same size as other homogeneous Sets whether @tool_item is allocated extra space when there is more room on the toolbar then needed for the items. The effect is that the item gets bigger when the toolbar gets bigger and smaller when the toolbar gets smaller. Whether @tool_item is allocated extra space Returns whether @tool_item is allocated extra space. See gtk_tool_item_set_expand(). %TRUE if @tool_item is allocated extra space. Sets the #GtkTooltips object to be used for @tool_item, the text to be displayed as tooltip on the item and the private text to be used. See gtk_tooltips_set_tip(). The #GtkTooltips object to be used text to be used as tooltip text for @tool_item text to be used as private tooltip text Sets the text to be displayed as tooltip on the item. See gtk_widget_set_tooltip_text(). text to be used as tooltip for @tool_item Sets the markup text to be displayed as tooltip on the item. See gtk_widget_set_tooltip_markup(). markup text to be used as tooltip for @tool_item Sets whether @tool_item has a drag window. When %TRUE the toolitem can be used as a drag source through gtk_drag_source_set(). When @tool_item has a drag window it will intercept all events, even those that would otherwise be sent to a child of @tool_item. Whether @tool_item has a drag window. Returns whether @tool_item has a drag window. See gtk_tool_item_set_use_drag_window(). %TRUE if @tool_item uses a drag window. Sets whether @tool_item is visible when the toolbar is docked horizontally. Whether @tool_item is visible when in horizontal mode Returns whether the @tool_item is visible on toolbars that are docked horizontally. docked horizontally. %TRUE if @tool_item is visible on toolbars that are Sets whether @tool_item is visible when the toolbar is docked vertically. Some tool items, such as text entries, are too wide to be useful on a vertically docked toolbar. If @visible_vertical is %FALSE whether @tool_item is visible when the toolbar is in vertical mode Returns whether @tool_item is visible when the toolbar is docked vertically. See gtk_tool_item_set_visible_vertical(). Whether @tool_item is visible when the toolbar is docked vertically Returns whether @tool_item is considered important. See gtk_tool_item_set_is_important() %TRUE if @tool_item is considered important. Sets whether @tool_item should be considered important. The #GtkToolButton class uses this property to determine whether to show or hide its label when the toolbar style is %GTK_TOOLBAR_BOTH_HORIZ. The result is that only tool buttons with the "is_important" property set have labels, an effect known as "priority text" whether the tool item should be considered important Returns the ellipsize mode used for @tool_item. Custom subclasses of #GtkToolItem should call this function to find out how text should be ellipsized. should be ellipsized. a #PangoEllipsizeMode indicating how text in @tool_item Returns the icon size used for @tool_item. Custom subclasses of #GtkToolItem should call this function to find out what size icons they should use. used for @tool_item a #GtkIconSize indicating the icon size Returns the orientation used for @tool_item. Custom subclasses of #GtkToolItem should call this function to find out what size icons they should use. used for @tool_item a #GtkOrientation indicating the orientation Returns the toolbar style used for @tool_item. Custom subclasses of #GtkToolItem should call this function in the handler of the GtkToolItem::toolbar_reconfigured signal to find out in what style the toolbar is displayed and change themselves accordingly Possibilities are: <itemizedlist> <listitem> GTK_TOOLBAR_BOTH, meaning the tool item should show both an icon and a label, stacked vertically </listitem> <listitem> GTK_TOOLBAR_ICONS, meaning the toolbar shows only icons </listitem> <listitem> GTK_TOOLBAR_TEXT, meaning the tool item should only show text</listitem> <listitem> GTK_TOOLBAR_BOTH_HORIZ, meaning the tool item should show both an icon and a label, arranged horizontally (however, note the #GtkToolButton::has_text_horizontally that makes tool buttons not show labels when the toolbar style is GTK_TOOLBAR_BOTH_HORIZ. </listitem> </itemizedlist> for @tool_item. A #GtkToolbarStyle indicating the toolbar style used Returns the relief style of @tool_item. See gtk_button_set_relief_style(). Custom subclasses of #GtkToolItem should call this function in the handler of the #GtkToolItem::toolbar_reconfigured signal to find out the relief style of buttons. for @tool_item. a #GtkReliefStyle indicating the relief style used Returns the text alignment used for @tool_item. Custom subclasses of #GtkToolItem should call this function to find out how text should be aligned. used for @tool_item a #gfloat indicating the horizontal text alignment Returns the text orientation used for @tool_item. Custom subclasses of #GtkToolItem should call this function to find out how text should be orientated. used for @tool_item a #GtkOrientation indicating the text orientation Returns the size group used for labels in @tool_item. Custom subclasses of #GtkToolItem should call this function and use the size group for labels. a #GtkSizeGroup Returns the #GtkMenuItem that was last set by gtk_tool_item_set_proxy_menu_item(), ie. the #GtkMenuItem that is going to appear in the overflow menu. overflow menu for @tool_item. The #GtkMenuItem that is going to appear in the If @menu_item_id matches the string passed to gtk_tool_item_set_proxy_menu_item() return the corresponding #GtkMenuItem. Custom subclasses of #GtkToolItem should use this function to update their menu item when the #GtkToolItem changes. That the inadvertently change a menu item that they did not create. gtk_tool_item_set_proxy_menu_item(), if the @menu_item_id<!-- -->s match. The #GtkMenuItem passed to a string used to identify the menu item Sets the #GtkMenuItem used in the toolbar overflow menu. The should also be used with gtk_tool_item_get_proxy_menu_item(). a string used to identify @menu_item a #GtkMenuItem to be used in the overflow menu Calling this function signals to the toolbar that the overflow menu item for @tool_item has changed. If the overflow menu is visible when this function it called, the menu will be rebuilt. The function must be called when the tool item changes what it will do in response to the #GtkToolItem::create-menu-proxy signal. Emits the signal #GtkToolItem::toolbar_reconfigured on @tool_item. #GtkToolbar and other #GtkToolShell implementations use this function to notify children, when some aspect of their configuration changes. This signal is emitted when the toolbar needs information from @tool_item about whether the item should appear in the toolbar overflow menu. In response the tool item should either <itemizedlist> <listitem>call gtk_tool_item_set_proxy_menu_item() with a %NULL pointer and return %TRUE to indicate that the item should not appear in the overflow menu </listitem> <listitem> call gtk_tool_item_set_proxy_menu_item() with a new menu item and return %TRUE, or </listitem> <listitem> return %FALSE to indicate that the signal was not handled by the item. This means that the item will not appear in the overflow menu unless a later handler installs a menu item. </listitem> </itemizedlist> The toolbar may cache the result of this signal. When the tool item changes how it will respond to this signal it must call gtk_tool_item_rebuild_menu() to invalidate the cache and ensure that the toolbar rebuilds its overflow menu. %TRUE if the signal was handled, %FALSE if not This signal is emitted when the toolitem's tooltip changes. Application developers can use gtk_tool_item_set_tooltip() to set the item's tooltip. need to use this signal anymore. %TRUE if the signal was handled, %FALSE if not the #GtkTooltips the tooltip text the tooltip private text This signal is emitted when some property of the toolbar that the item is a child of changes. For custom subclasses of #GtkToolItem, the default handler of this signal use the functions <itemizedlist> <listitem>gtk_tool_shell_get_orientation()</listitem> <listitem>gtk_tool_shell_get_style()</listitem> <listitem>gtk_tool_shell_get_icon_size()</listitem> <listitem>gtk_tool_shell_get_relief_style()</listitem> </itemizedlist> to find out what the toolbar should look like and change themselves accordingly. This should not be accessed directly. Use the accessor functions below. Creates a new tool item group with label @label. a new #GtkToolItemGroup. the label of the new group Sets the label of the tool item group. The label is displayed in the header of the group. the new human-readable label of of the group Sets the label of the tool item group. The label widget is displayed in the header of the group, in place of the usual label. the widget to be displayed in place of the usual label Sets whether the @group should be collapsed or expanded. whether the @group should be collapsed or expanded Sets the ellipsization mode which should be used by labels in @group. the #PangoEllipsizeMode labels in @group should use Set the button relief of the group header. See gtk_button_set_relief() for details. the #GtkReliefStyle Gets the label of @group. and must not be modified. Note that %NULL is returned if a custom label has been set with gtk_tool_item_group_set_label_widget() the label of @group. The label is an internal string of @group Gets the label widget of @group. See gtk_tool_item_group_set_label_widget(). the label widget of @group Gets whether @group is collapsed or expanded. %TRUE if @group is collapsed, %FALSE if it is expanded Gets the ellipsization mode of @group. the #PangoEllipsizeMode of @group Gets the relief mode of the header button of @group. the #GtkReliefStyle Inserts @item at @position in the list of children of @group. the #GtkToolItem to insert into @group the position of @item in @group, starting with 0. The position -1 means end of list. Sets the position of @item in the list of children of @group. the #GtkToolItem to move to a new position, should be a child of @group. the new position of @item in @group, starting with 0. The position -1 means end of list. Gets the position of @item in @group as index. the index of @item in @group or -1 if @item is no child of @group a #GtkToolItem Gets the number of tool items in @group. the number of tool items in @group Gets the tool item at @index in group. the #GtkToolItem at index the index Gets the tool item at position (x, y). the #GtkToolItem at position (x, y) the x position the y position This should not be accessed directly. Use the accessor functions below. Creates a new tool palette. a new #GtkToolPalette Gets the target entry for a dragged #GtkToolItem. the #GtkTargetEntry for a dragged item. Get the target entry for a dragged #GtkToolItemGroup. the #GtkTargetEntry for a dragged group Sets the position of the group as an index of the tool palette. If position is 0 the group will become the first child, if position is -1 it will become the last child. a #GtkToolItemGroup which is a child of palette a new index for group Sets whether the group should be exclusive or not. If an exclusive group is expanded all other groups are collapsed. a #GtkToolItemGroup which is a child of palette whether the group should be exclusive or not Sets whether the group should be given extra space. a #GtkToolItemGroup which is a child of palette whether the group should be given extra space Gets the position of @group in @palette as index. See gtk_tool_palette_set_group_position(). the index of group or -1 if @group is not a child of @palette a #GtkToolItemGroup Gets whether @group is exclusive or not. See gtk_tool_palette_set_exclusive(). %TRUE if @group is exclusive a #GtkToolItemGroup which is a child of palette Gets whether group should be given extra space. See gtk_tool_palette_set_expand(). %TRUE if group should be given extra space, %FALSE otherwise a #GtkToolItemGroup which is a child of palette Sets the size of icons in the tool palette. the #GtkIconSize that icons in the tool palette shall have Unsets the tool palette icon size set with gtk_tool_palette_set_icon_size(), so that user preferences will be used to determine the icon size. Sets the style (text, icons or both) of items in the tool palette. the #GtkToolbarStyle that items in the tool palette shall have Unsets a toolbar style set with gtk_tool_palette_set_style(), so that user preferences will be used to determine the toolbar style. Gets the size of icons in the tool palette. See gtk_tool_palette_set_icon_size(). the #GtkIconSize of icons in the tool palette Gets the style (icons, text or both) of items in the tool palette. the #GtkToolbarStyle of items in the tool palette. Gets the item at position (x, y). See gtk_tool_palette_get_drop_group(). the #GtkToolItem at position or %NULL if there is no such item the x position the y position Gets the group at position (x, y). if there is no such group the #GtkToolItemGroup at position or %NULL the x position the y position Get the dragged item from the selection. This could be a #GtkToolItem or a #GtkToolItemGroup. the dragged item in selection a #GtkSelectionData Sets the tool palette as a drag source. Enables all groups and items in the tool palette as drag sources on button 1 and button 3 press with copy and move actions. See gtk_drag_source_set(). the #GtkToolPaletteDragTarget<!-- -->s which the widget should support Sets @palette as drag source (see gtk_tool_palette_set_drag_source()) and sets @widget as a drag destination for drags from @palette. See gtk_drag_dest_set(). a #GtkWidget which should be a drag destination for @palette the flags that specify what actions GTK+ should take for drops on that widget the #GtkToolPaletteDragTarget<!-- -->s which the widget should support the #GdkDragAction<!-- -->s which the widget should suppport Gets the horizontal adjustment of the tool palette. the horizontal adjustment of @palette Gets the vertical adjustment of the tool palette. the vertical adjustment of @palette The size of the icons in a tool palette is normally determined by the #GtkSettings:toolbar-icon-size setting. When this property is set, it overrides the setting. This should only be used for special-purpose tool palettes, normal application tool palettes should respect the user preferences for the size of icons. Is %TRUE if the #GtkToolPalette:icon-size property has been set. The style of items in the tool palette. Set the scroll adjustments for the viewport. Usually scrolled containers like GtkScrolledWindow will emit this signal to connect two instances of GtkScrollbar to the scroll directions of the GtkToolpalette. The horizontal adjustment The vertical adjustment Flags used to specify the supported drag targets. Dummy structure for accessing instances of #GtkToolShellIface. Retrieves the icon size for the tool shell. Tool items must not call this function directly, but rely on gtk_tool_item_get_icon_size() instead. the current size for icons of @shell Retrieves the current orientation for the tool shell. Tool items must not call this function directly, but rely on gtk_tool_item_get_orientation() instead. the current orientation of @shell Retrieves whether the tool shell has text, icons, or both. Tool items must not call this function directly, but rely on gtk_tool_item_get_style() instead. the current style of @shell Returns the relief style of buttons on @shell. Tool items must not call this function directly, but rely on gtk_tool_item_get_relief_style() instead. The relief style of buttons on @shell. Calling this function signals the tool shell that the overflow menu item for tool items have changed. If there is an overflow menu and if it is visible when this function it called, the menu will be rebuilt. Tool items must not call this function directly, but rely on gtk_tool_item_rebuild_menu() instead. Retrieves the current text orientation for the tool shell. Tool items must not call this function directly, but rely on gtk_tool_item_get_text_orientation() instead. the current text orientation of @shell Retrieves the current text alignment for the tool shell. Tool items must not call this function directly, but rely on gtk_tool_item_get_text_alignment() instead. the current text alignment of @shell Retrieves the current text size group for the tool shell. Tool items must not call this function directly, but rely on gtk_tool_item_get_text_size_group() instead. the current text size group of @shell Retrieves the icon size for the tool shell. Tool items must not call this function directly, but rely on gtk_tool_item_get_icon_size() instead. the current size for icons of @shell Retrieves the current orientation for the tool shell. Tool items must not call this function directly, but rely on gtk_tool_item_get_orientation() instead. the current orientation of @shell Retrieves whether the tool shell has text, icons, or both. Tool items must not call this function directly, but rely on gtk_tool_item_get_style() instead. the current style of @shell Returns the relief style of buttons on @shell. Tool items must not call this function directly, but rely on gtk_tool_item_get_relief_style() instead. The relief style of buttons on @shell. Calling this function signals the tool shell that the overflow menu item for tool items have changed. If there is an overflow menu and if it is visible when this function it called, the menu will be rebuilt. Tool items must not call this function directly, but rely on gtk_tool_item_rebuild_menu() instead. Retrieves the current text orientation for the tool shell. Tool items must not call this function directly, but rely on gtk_tool_item_get_text_orientation() instead. the current text orientation of @shell Retrieves the current text alignment for the tool shell. Tool items must not call this function directly, but rely on gtk_tool_item_get_text_alignment() instead. the current text alignment of @shell Retrieves the current text size group for the tool shell. Tool items must not call this function directly, but rely on gtk_tool_item_get_text_size_group() instead. the current text size group of @shell Virtual function table for the #GtkToolShell interface. the current size for icons of @shell the current orientation of @shell the current style of @shell The relief style of buttons on @shell. the current text orientation of @shell the current text alignment of @shell the current text size group of @shell Creates a new toolbar. the newly-created toolbar. Insert a #GtkToolItem into the toolbar at position @pos. If @pos is 0 the item is prepended to the start of the toolbar. If @pos is negative, the item is appended to the end of the toolbar. a #GtkToolItem the position of the new item Returns the position of @item on the toolbar, starting from 0. It is an error if @item is not a child of the toolbar. the position of item on the toolbar. a #GtkToolItem that is a child of @toolbar Returns the number of items on the toolbar. the number of items on the toolbar Returns the @n<!-- -->'th item on @toolbar, or %NULL if the toolbar does not contain an @n<!-- -->'th item. isn't an @n<!-- -->'th item. The @n<!-- -->'th #GtkToolItem on @toolbar, or %NULL if there A position on the toolbar Returns whether the toolbar has an overflow menu. See gtk_toolbar_set_show_arrow(). %TRUE if the toolbar has an overflow menu. Sets whether to show an overflow menu when items that there are not room are available through an overflow menu. Whether to show an overflow menu Retrieves whether the toolbar has text, icons, or both . See gtk_toolbar_set_style(). the current style of @toolbar Alters the view of @toolbar to display either icons only, text only, or both. the new style for @toolbar. Unsets a toolbar style set with gtk_toolbar_set_style(), so that user preferences will be used to determine the toolbar style. Retrieves the icon size for the toolbar. See gtk_toolbar_set_icon_size(). the toolbar. the current icon size for the icons on This function sets the size of stock icons in the toolbar. You can call it both before you add the icons and after they've been added. The size you set will override user preferences for the default icon size. This should only be used for special-purpose toolbars, normal application toolbars should respect the user preferences for the size of icons. The #GtkIconSize that stock icons in the toolbar shall have. Unsets toolbar icon size set with gtk_toolbar_set_icon_size(), so that user preferences will be used to determine the icon size. Returns the relief style of buttons on @toolbar. See gtk_button_set_relief(). The relief style of buttons on @toolbar. Returns the position corresponding to the indicated point on this function returns the position a new item should be inserted. The position corresponding to the point (@x, @y) on the toolbar. x coordinate of a point on the toolbar y coordinate of a point on the toolbar Highlights @toolbar to give an idea of what it would look like if @item was added to @toolbar at the position indicated by @index_. If @item is %NULL, highlighting is turned off. In that case @index_ is ignored. The @tool_item passed to this function must not be part of any widget hierarchy. When an item is set as drop highlight item it can not added to any widget hierarchy or used as highlight item for another toolbar. a #GtkToolItem, or %NULL to turn of highlighting a position on @toolbar Retrieves the current orientation of the toolbar. See gtk_toolbar_set_orientation(). the orientation Sets whether a toolbar should appear horizontally or vertically. a new #GtkOrientation. Retrieves whether tooltips are enabled. See gtk_toolbar_set_tooltips(). is now used instead. %TRUE if tooltips are enabled Sets if the tooltips of a toolbar should be active or not. is now used instead. set to %FALSE to disable the tooltips, or %TRUE to enable them. Inserts a new item into the toolbar. You must specify the position in the toolbar where it will be inserted. arguments. Use G_CALLBACK() to cast the function to #GCallback. the new toolbar item as a #GtkWidget. give your toolbar button a label. a string that appears when the user holds the mouse over this item. use with #GtkTipsQuery. a #GtkWidget that should be used as the button's icon. the function to be executed when the button is pressed. a pointer to any data you wish to be passed to the callback. Adds a new button to the beginning (top or left edges) of the given toolbar. arguments. Use G_CALLBACK() to cast the function to #GCallback. the new toolbar item as a #GtkWidget. give your toolbar button a label. a string that appears when the user holds the mouse over this item. use with #GtkTipsQuery. a #GtkWidget that should be used as the button's icon. the function to be executed when the button is pressed. a pointer to any data you wish to be passed to the callback. Inserts a new item into the toolbar. You must specify the position in the toolbar where it will be inserted. arguments. Use G_CALLBACK() to cast the function to #GCallback. the new toolbar item as a #GtkWidget. give your toolbar button a label. a string that appears when the user holds the mouse over this item. use with #GtkTipsQuery. a #GtkWidget that should be used as the button's icon. the function to be executed when the button is pressed. a pointer to any data you wish to be passed to the callback. the number of widgets to insert this item after. Inserts a stock item at the specified position of the toolbar. If except that underscores used to mark mnemonics are removed. arguments. Use G_CALLBACK() to cast the function to #GCallback. the inserted widget The id of the stock item you want to insert The text in the tooltip of the toolbar button The private text of the tooltip The callback called when the toolbar button is clicked. user data passed to callback The position the button shall be inserted at. -1 means at the end. Adds a new space to the end of the toolbar. Adds a new space to the beginning of the toolbar. Inserts a new space in the toolbar at the specified position. the number of widgets after which a space should be inserted. Removes a space from the specified position. the index of the space to remove. Adds a new element to the end of a toolbar. If @type == %GTK_TOOLBAR_CHILD_WIDGET, @widget is used as the new element. If @type == %GTK_TOOLBAR_CHILD_RADIOBUTTON, @widget is used to determine the radio group for the new element. In all other cases, @widget must be %NULL. arguments. Use G_CALLBACK() to cast the function to #GCallback. the new toolbar element as a #GtkWidget. a value of type #GtkToolbarChildType that determines what @widget will be. a #GtkWidget, or %NULL. the element's label. the element's tooltip. used for context-sensitive help about this toolbar element. a #GtkWidget that provides pictorial representation of the element's function. the function to be executed when the button is pressed. any data you wish to pass to the callback. Adds a new element to the beginning of a toolbar. If @type == %GTK_TOOLBAR_CHILD_WIDGET, @widget is used as the new element. If @type == %GTK_TOOLBAR_CHILD_RADIOBUTTON, @widget is used to determine the radio group for the new element. In all other cases, @widget must be %NULL. arguments. Use G_CALLBACK() to cast the function to #GCallback. the new toolbar element as a #GtkWidget. a value of type #GtkToolbarChildType that determines what @widget will be. a #GtkWidget, or %NULL the element's label. the element's tooltip. used for context-sensitive help about this toolbar element. a #GtkWidget that provides pictorial representation of the element's function. the function to be executed when the button is pressed. any data you wish to pass to the callback. Inserts a new element in the toolbar at the given position. If @type == %GTK_TOOLBAR_CHILD_WIDGET, @widget is used as the new element. If @type == %GTK_TOOLBAR_CHILD_RADIOBUTTON, @widget is used to determine the radio group for the new element. In all other cases, @widget must be %NULL. arguments. Use G_CALLBACK() to cast the function to #GCallback. the new toolbar element as a #GtkWidget. a value of type #GtkToolbarChildType that determines what @widget will be. a #GtkWidget, or %NULL. the element's label. the element's tooltip. used for context-sensitive help about this toolbar element. a #GtkWidget that provides pictorial representation of the element's function. the function to be executed when the button is pressed. any data you wish to pass to the callback. the number of widgets to insert this element after. Adds a widget to the end of the given toolbar. a #GtkWidget to add to the toolbar. the element's tooltip. used for context-sensitive help about this toolbar element. Adds a widget to the beginning of the given toolbar. a #GtkWidget to add to the toolbar. the element's tooltip. used for context-sensitive help about this toolbar element. Inserts a widget in the toolbar at the given position. a #GtkWidget to add to the toolbar. the element's tooltip. used for context-sensitive help about this toolbar element. the number of widgets to insert this widget after. The size of the icons in a toolbar is normally determined by the toolbar-icon-size setting. When this property is set, it overrides the setting. This should only be used for special-purpose toolbars, normal application toolbars should respect the user preferences for the size of icons. Is %TRUE if the icon-size property has been set. If the tooltips of the toolbar should be active or not. A keybinding signal used internally by GTK+. This signal can't be used in application code %TRUE if the signal was handled, %FALSE if not %TRUE if the first item should be focused Emitted when the orientation of the toolbar changes. the new #GtkOrientation of the toolbar Emitted when the user right-clicks the toolbar or uses the keybinding to display a popup menu. Application developers should handle this signal if they want to display a context menu on the toolbar. The context-menu should appear at the coordinates given by @x and @y. The mouse button number is given by the @button parameter. If the menu was popped up using the keybaord, @button is -1. return %TRUE if the signal was handled, %FALSE if not the x coordinate of the point where the menu should appear the y coordinate of the point where the menu should appear the mouse button the user pressed, or -1 Emitted when the style of the toolbar changes. the new #GtkToolbarStyle of the toolbar Triggers a new tooltip query on @display, in order to update the current visible tooltip, or to show/hide the current tooltip. This function is useful to call when, for example, the state of the widget changed by a key press. a #GdkDisplay Sets the text of the tooltip to be @markup, which is marked up with the <link linkend="PangoMarkupFormat">Pango text markup language</link>. If @markup is %NULL, the label will be hidden. a markup string (see <link linkend="PangoMarkupFormat">Pango markup format</link>) or %NULL Sets the text of the tooltip to be @text. If @text is %NULL, the label will be hidden. See also gtk_tooltip_set_markup(). a text string or %NULL Sets the icon of the tooltip (which is in front of the text) to be a #GdkPixbuf, or %NULL Sets the icon of the tooltip (which is in front of the text) to be the stock item indicated by @stock_id with the size indicated by @size. If @stock_id is %NULL, the image will be hidden. a stock id, or %NULL a stock icon size Sets the icon of the tooltip (which is in front of the text) to be the icon indicated by @icon_name with the size indicated by @size. If @icon_name is %NULL, the image will be hidden. an icon name, or %NULL a stock icon size Sets the icon of the tooltip (which is in front of the text) to be the icon indicated by @gicon with the size indicated by @size. If @gicon is %NULL, the image will be hidden. a #GIcon representing the icon, or %NULL a stock icon size Replaces the widget packed into the tooltip with away. By default a box with a #GtkImage and #GtkLabel is embedded in the tooltip, which can be configured using gtk_tooltip_set_markup() and gtk_tooltip_set_icon(). a #GtkWidget, or %NULL to unset the old custom widget. Sets the area of the widget, where the contents of this tooltip apply, to be @rect (in widget coordinates). This is especially useful for properly setting tooltips on #GtkTreeView rows and cells, #GtkIconViews, etc. For setting tooltips on #GtkTreeView, please refer to the convenience gtk_tree_view_set_tooltip_cell(). a #GdkRectangle Determines the tooltips and the widget they belong to from the window in which they are displayed. This function is mostly intended for use by accessibility technologies; applications should have little use for it. %TRUE if @tip_window is displaying tooltips, otherwise %FALSE. a #GtkWindow the return location for the tooltips which are displayed in @tip_window, or %NULL the return location for the widget whose tooltips are displayed, or %NULL Adds a tooltip containing the message @tip_text to the specified #GtkWidget. the #GtkWidget you wish to associate the tip with. a string containing the tip itself. a string of any further information that may be useful if the user gets stuck. Asks the #GtkTreeDragDest to insert a row before the path @dest, deriving the contents of the row from @selection_data. If @dest is outside the tree so that inserting before it is impossible, %FALSE will be returned. Also, %FALSE may be returned if the new row is not created for some model-specific reason. Should robustly handle a @dest no longer found in the model! whether a new row was created before position @dest row to drop in front of data to drop Determines whether a drop is possible before the given @dest_path, at the same depth as @dest_path. i.e., can we drop the data in exist; the return value will almost certainly be %FALSE if the parent of @dest_path doesn't exist, though. %TRUE if a drop is possible before @dest_path destination row the data being dragged Asks the #GtkTreeDragDest to insert a row before the path @dest, deriving the contents of the row from @selection_data. If @dest is outside the tree so that inserting before it is impossible, %FALSE will be returned. Also, %FALSE may be returned if the new row is not created for some model-specific reason. Should robustly handle a @dest no longer found in the model! whether a new row was created before position @dest row to drop in front of data to drop Determines whether a drop is possible before the given @dest_path, at the same depth as @dest_path. i.e., can we drop the data in exist; the return value will almost certainly be %FALSE if the parent of @dest_path doesn't exist, though. %TRUE if a drop is possible before @dest_path destination row the data being dragged whether a new row was created before position @dest row to drop in front of data to drop %TRUE if a drop is possible before @dest_path destination row the data being dragged Asks the #GtkTreeDragSource whether a particular row can be used as the source of a DND operation. If the source doesn't implement this interface, the row is assumed draggable. %TRUE if the row can be dragged row on which user is initiating a drag Asks the #GtkTreeDragSource to fill in @selection_data with a representation of the row at @path. @selection_data->target gives the required type of the data. Should robustly handle a @path no longer found in the model! %TRUE if data of the required type was provided row that was dragged a #GtkSelectionData to fill with data from the dragged row Asks the #GtkTreeDragSource to delete the row at @path, because it was moved somewhere else via drag-and-drop. Returns %FALSE if the deletion fails because @path no longer exists, or for some model-specific reason. Should robustly handle a @path no longer found in the model! %TRUE if the row was successfully deleted row that was being dragged Asks the #GtkTreeDragSource whether a particular row can be used as the source of a DND operation. If the source doesn't implement this interface, the row is assumed draggable. %TRUE if the row can be dragged row on which user is initiating a drag Asks the #GtkTreeDragSource to delete the row at @path, because it was moved somewhere else via drag-and-drop. Returns %FALSE if the deletion fails because @path no longer exists, or for some model-specific reason. Should robustly handle a @path no longer found in the model! %TRUE if the row was successfully deleted row that was being dragged Asks the #GtkTreeDragSource to fill in @selection_data with a representation of the row at @path. @selection_data->target gives the required type of the data. Should robustly handle a @path no longer found in the model! %TRUE if data of the required type was provided row that was dragged a #GtkSelectionData to fill with data from the dragged row %TRUE if the row can be dragged row on which user is initiating a drag %TRUE if data of the required type was provided row that was dragged a #GtkSelectionData to fill with data from the dragged row %TRUE if the row was successfully deleted row that was being dragged Creates a dynamically allocated tree iterator as a copy of @iter. This function is not intended for use in applications, because you can just copy the structs by value (<literal>GtkTreeIter new_iter = iter;</literal>). You must free this iter with gtk_tree_iter_free(). a newly-allocated copy of @iter. Frees an iterator that has been allocated by gtk_tree_iter_copy(). This function is mainly used for language bindings. Returns a set of flags supported by this interface. The flags are a bitwise combination of #GtkTreeModelFlags. The flags supported should not change during the lifecycle of the @tree_model. The flags supported by this interface. Returns the number of columns supported by @tree_model. The number of columns. Returns the type of the column. The type of the column. The column index. Sets @iter to a valid iterator pointing to @path. %TRUE, if @iter was set. The uninitialized #GtkTreeIter. The #GtkTreePath. Returns a newly-created #GtkTreePath referenced by @iter. This path should be freed with gtk_tree_path_free(). a newly-created #GtkTreePath. The #GtkTreeIter. Initializes and sets @value to that at @column. When done with @value, g_value_unset() needs to be called to free any allocated memory. The #GtkTreeIter. The column to lookup the value at. (inout) (transfer none) An empty #GValue to set. Sets @iter to point to the node following it at the current level. If there is no next @iter, %FALSE is returned and @iter is set to be invalid. %TRUE if @iter has been changed to the next node. The #GtkTreeIter. Sets @iter to point to the first child of @parent. If @parent has no children, %FALSE is returned and @iter is set to be invalid. @parent will remain a valid node after this function has been called. If @parent is %NULL returns the first node, equivalent to <literal>gtk_tree_model_get_iter_first (tree_model, iter);</literal> %TRUE, if @child has been set to the first child. The new #GtkTreeIter to be set to the child. The #GtkTreeIter, or %NULL Returns %TRUE if @iter has children, %FALSE otherwise. %TRUE if @iter has children. The #GtkTreeIter to test for children. Returns the number of children that @iter has. As a special case, if @iter is %NULL, then the number of toplevel nodes is returned. The number of children of @iter. The #GtkTreeIter, or %NULL. Sets @iter to be the child of @parent, using the given index. The first index is 0. If @n is too big, or @parent has no children, @iter is set to an invalid iterator and %FALSE is returned. @parent will remain a valid node after this function has been called. As a special case, if @parent is %NULL, then the @n<!-- -->th root node is set. %TRUE, if @parent has an @n<!-- -->th child. The #GtkTreeIter to set to the nth child. The #GtkTreeIter to get the child from, or %NULL. Then index of the desired child. Sets @iter to be the parent of @child. If @child is at the toplevel, and doesn't have a parent, then @iter is set to an invalid iterator and %FALSE is returned. @child will remain a valid node after this function has been called. %TRUE, if @iter is set to the parent of @child. The new #GtkTreeIter to set to the parent. The #GtkTreeIter. Lets the tree ref the node. This is an optional method for models to implement. To be more specific, models may ignore this call as it exists primarily for performance reasons. This function is primarily meant as a way for views to let caching model know when nodes are being displayed (and hence, whether or not to cache that node.) For example, a file-system based model would not want to keep the entire file-hierarchy in memory, just the sections that are currently being displayed by every current view. A model should be expected to be able to get an iter independent of its reffed state. The #GtkTreeIter. Lets the tree unref the node. This is an optional method for models to implement. To be more specific, models may ignore this call as it exists primarily for performance reasons. For more information on what this means, see gtk_tree_model_ref_node(). Please note that nodes that are deleted are not unreffed. The #GtkTreeIter. Returns a set of flags supported by this interface. The flags are a bitwise combination of #GtkTreeModelFlags. The flags supported should not change during the lifecycle of the @tree_model. The flags supported by this interface. Returns the number of columns supported by @tree_model. The number of columns. Returns the type of the column. The type of the column. The column index. Sets @iter to a valid iterator pointing to @path. %TRUE, if @iter was set. The uninitialized #GtkTreeIter. The #GtkTreePath. Sets @iter to a valid iterator pointing to @path_string, if it exists. Otherwise, @iter is left invalid and %FALSE is returned. %TRUE, if @iter was set. An uninitialized #GtkTreeIter. A string representation of a #GtkTreePath. Generates a string representation of the iter. This string is a ':' separated list of numbers. For example, "4:10:0:3" would be an acceptable return value for this string. A newly-allocated string. Must be freed with g_free(). An #GtkTreeIter. Initializes @iter with the first iterator in the tree (the one at the path "0") and returns %TRUE. Returns %FALSE if the tree is empty. %TRUE, if @iter was set. The uninitialized #GtkTreeIter. Returns a newly-created #GtkTreePath referenced by @iter. This path should be freed with gtk_tree_path_free(). a newly-created #GtkTreePath. The #GtkTreeIter. Initializes and sets @value to that at @column. When done with @value, g_value_unset() needs to be called to free any allocated memory. The #GtkTreeIter. The column to lookup the value at. (inout) (transfer none) An empty #GValue to set. Sets @iter to point to the node following it at the current level. If there is no next @iter, %FALSE is returned and @iter is set to be invalid. %TRUE if @iter has been changed to the next node. The #GtkTreeIter. Sets @iter to point to the first child of @parent. If @parent has no children, %FALSE is returned and @iter is set to be invalid. @parent will remain a valid node after this function has been called. If @parent is %NULL returns the first node, equivalent to <literal>gtk_tree_model_get_iter_first (tree_model, iter);</literal> %TRUE, if @child has been set to the first child. The new #GtkTreeIter to be set to the child. The #GtkTreeIter, or %NULL Returns %TRUE if @iter has children, %FALSE otherwise. %TRUE if @iter has children. The #GtkTreeIter to test for children. Returns the number of children that @iter has. As a special case, if @iter is %NULL, then the number of toplevel nodes is returned. The number of children of @iter. The #GtkTreeIter, or %NULL. Sets @iter to be the child of @parent, using the given index. The first index is 0. If @n is too big, or @parent has no children, @iter is set to an invalid iterator and %FALSE is returned. @parent will remain a valid node after this function has been called. As a special case, if @parent is %NULL, then the @n<!-- -->th root node is set. %TRUE, if @parent has an @n<!-- -->th child. The #GtkTreeIter to set to the nth child. The #GtkTreeIter to get the child from, or %NULL. Then index of the desired child. Sets @iter to be the parent of @child. If @child is at the toplevel, and doesn't have a parent, then @iter is set to an invalid iterator and %FALSE is returned. @child will remain a valid node after this function has been called. %TRUE, if @iter is set to the parent of @child. The new #GtkTreeIter to set to the parent. The #GtkTreeIter. Lets the tree ref the node. This is an optional method for models to implement. To be more specific, models may ignore this call as it exists primarily for performance reasons. This function is primarily meant as a way for views to let caching model know when nodes are being displayed (and hence, whether or not to cache that node.) For example, a file-system based model would not want to keep the entire file-hierarchy in memory, just the sections that are currently being displayed by every current view. A model should be expected to be able to get an iter independent of its reffed state. The #GtkTreeIter. Lets the tree unref the node. This is an optional method for models to implement. To be more specific, models may ignore this call as it exists primarily for performance reasons. For more information on what this means, see gtk_tree_model_ref_node(). Please note that nodes that are deleted are not unreffed. The #GtkTreeIter. Gets the value of one or more cells in the row referenced by @iter. The variable argument list should contain integer column numbers, each column number followed by a place to store the value being retrieved. The list is terminated by a -1. For example, to get a value from column 0 with type %G_TYPE_STRING, you would where <literal>place_string_here</literal> is a <type>gchar*</type> to be filled with the string. If appropriate, the returned values have to be freed or unreferenced. a row in @tree_model Calls func on each node in model in a depth-first fashion. If @func returns %TRUE, then the tree ceases to be walked, and gtk_tree_model_foreach() returns. A function to be called on each row User data to passed to func. Emits the "row-changed" signal on @tree_model. A #GtkTreePath pointing to the changed row A valid #GtkTreeIter pointing to the changed row Emits the "row-inserted" signal on @tree_model A #GtkTreePath pointing to the inserted row A valid #GtkTreeIter pointing to the inserted row Emits the "row-has-child-toggled" signal on @tree_model. This should be called by models after the child state of a node changes. A #GtkTreePath pointing to the changed row A valid #GtkTreeIter pointing to the changed row Emits the "row-deleted" signal on @tree_model. This should be called by models after a row has been removed. The location pointed to by @path should be the location that the row previously was at. It may not be a valid location anymore. A #GtkTreePath pointing to the previous location of the deleted row. Emits the "rows-reordered" signal on @tree_model. This should be called by models when their rows have been reordered. A #GtkTreePath pointing to the tree node whose children have been reordered A valid #GtkTreeIter pointing to the node whose children have been reordered, or %NULL if the depth of @path is 0. an array of integers mapping the current position of each child to its old position before the re-ordering, i.e. @new_order<literal>[newpos] = oldpos</literal>. This signal is emitted when a row in the model has changed. a #GtkTreePath identifying the changed row a valid #GtkTreeIter pointing to the changed row This signal is emitted when a row has been deleted. Note that no iterator is passed to the signal handler, since the row is already deleted. Implementations of GtkTreeModel must emit row-deleted <emphasis>before</emphasis> removing the node from its internal data structures. This is because models and views which access and monitor this model might have references on the node which need to be released in the row-deleted handler. a #GtkTreePath identifying the row This signal is emitted when a row has gotten the first child row or lost its last child row. a #GtkTreePath identifying the row a valid #GtkTreeIter pointing to the row This signal is emitted when a new row has been inserted in the model. Note that the row may still be empty at this point, since it is a common pattern to first insert an empty row, and then fill it with the desired values. a #GtkTreePath identifying the new row a valid #GtkTreeIter pointing to the new row This signal is emitted when the children of a node in the #GtkTreeModel have been reordered. Note that this signal is <emphasis>not</emphasis> emitted when rows are reordered by DND, since this is implemented by removing and then reinserting the row. a #GtkTreePath identifying the tree node whose children have been reordered a valid #GtkTreeIter pointing to the node whose an array of integers mapping the current position of each child to its old position before the re-ordering, i.e. @new_order<literal>[newpos] = oldpos</literal>. Creates a new #GtkTreeModel, with @child_model as the child_model and @root as the virtual root. A new #GtkTreeModel. A #GtkTreeModel. A #GtkTreePath or %NULL. Sets the visible function used when filtering the @filter to be @func. The function should return %TRUE if the given row should be visible and %FALSE otherwise. If the condition calculated by the function changes over time (e.g. because it depends on some global parameters), you must call gtk_tree_model_filter_refilter() to keep the visibility information of the model uptodate. Note that @func is called whenever a row is inserted, when it may still be empty. The visible function should therefore take special care of empty rows, like in the example below. <informalexample><programlisting> static gboolean visible_func (GtkTreeModel *model, GtkTreeIter *iter, gpointer data) { /&ast; Visible if row is non-empty and first column is "HI" &ast;/ gchar *str; gboolean visible = FALSE; gtk_tree_model_get (model, iter, 0, &str, -1); if (str && strcmp (str, "HI") == 0) visible = TRUE; g_free (str); return visible; } </programlisting></informalexample> A #GtkTreeModelFilterVisibleFunc, the visible function. User data to pass to the visible function, or %NULL. Destroy notifier of @data, or %NULL. With the @n_columns and @types parameters, you give an array of column types for this model (which will be exposed to the parent model/view). The @func, @data and @destroy parameters are for specifying the modify function. The modify function will get called for <emphasis>each</emphasis> data access, the goal of the modify function is to return the data which should be displayed at the location specified using the parameters of the modify function. The number of columns in the filter model. The #GType<!-- -->s of the columns. A #GtkTreeModelFilterModifyFunc User data to pass to the modify function, or %NULL. Destroy notifier of @data, or %NULL. Sets @column of the child_model to be the column where @filter should look for visibility information. @columns should be a column of type %G_TYPE_BOOLEAN, where %TRUE means that a row is visible, and %FALSE if not. A #gint which is the column containing the visible information. Returns a pointer to the child model of @filter. A pointer to a #GtkTreeModel. Sets @filter_iter to point to the row in @filter that corresponds to the row pointed at by @child_iter. If @filter_iter was not set, %FALSE is returned. valid iterator pointing to a visible row in child model. %TRUE, if @filter_iter was set, i.e. if @child_iter is a An uninitialized #GtkTreeIter. A valid #GtkTreeIter pointing to a row on the child model. Sets @child_iter to point to the row pointed to by @filter_iter. An uninitialized #GtkTreeIter. A valid #GtkTreeIter pointing to a row on @filter. Converts @child_path to a path relative to @filter. That is, @child_path points to a path in the child model. The rerturned path will point to the same row in the filtered model. If @child_path isn't a valid path on the child model or points to a row which is not visible in @filter, then %NULL is returned. A newly allocated #GtkTreePath, or %NULL. A #GtkTreePath to convert. Converts @filter_path to a path on the child model of @filter. That is, point to the same location in the model not being filtered. If @filter_path does not point to a location in the child model, %NULL is returned. A newly allocated #GtkTreePath, or %NULL. A #GtkTreePath to convert. Emits ::row_changed for each row in the child model, which causes the filter to re-evaluate whether a row is visible or not. This function should almost never be called. It clears the @filter of any cached iterators that haven't been reffed with gtk_tree_model_ref_node(). This might be useful if the child model being filtered is static (and doesn't change often) and there has been a lot of unreffed access to nodes. As a side effect of this function, all unreffed iters will be invalid. The flags supported by this interface. The number of columns. The type of the column. The column index. %TRUE, if @iter was set. The uninitialized #GtkTreeIter. The #GtkTreePath. a newly-created #GtkTreePath. The #GtkTreeIter. The #GtkTreeIter. The column to lookup the value at. (inout) (transfer none) An empty #GValue to set. %TRUE if @iter has been changed to the next node. The #GtkTreeIter. %TRUE, if @child has been set to the first child. The new #GtkTreeIter to be set to the child. The #GtkTreeIter, or %NULL %TRUE if @iter has children. The #GtkTreeIter to test for children. The number of children of @iter. The #GtkTreeIter, or %NULL. %TRUE, if @parent has an @n<!-- -->th child. The #GtkTreeIter to set to the nth child. The #GtkTreeIter to get the child from, or %NULL. Then index of the desired child. %TRUE, if @iter is set to the parent of @child. The new #GtkTreeIter to set to the parent. The #GtkTreeIter. The #GtkTreeIter. The #GtkTreeIter. Creates a new #GtkTreeModel, with @child_model as the child model. A new #GtkTreeModel. A #GtkTreeModel Returns the model the #GtkTreeModelSort is sorting. the "child model" being sorted Converts @child_path to a path relative to @tree_model_sort. That is, point to the same row in the sorted model. If @child_path isn't a valid path on the child model, then %NULL is returned. A newly allocated #GtkTreePath, or %NULL A #GtkTreePath to convert Sets @sort_iter to point to the row in @tree_model_sort that corresponds to the row pointed at by @child_iter. If @sort_iter was not set, %FALSE valid iterator pointer to a visible row in the child model. %TRUE, if @sort_iter was set, i.e. if @sort_iter is a An uninitialized #GtkTreeIter. A valid #GtkTreeIter pointing to a row on the child model Converts @sorted_path to a path on the child model of @tree_model_sort. That is, @sorted_path points to a location in @tree_model_sort. The returned path will point to the same location in the model not being sorted. If @sorted_path does not point to a location in the child model, %NULL is returned. A newly allocated #GtkTreePath, or %NULL A #GtkTreePath to convert Sets @child_iter to point to the row pointed to by @sorted_iter. An uninitialized #GtkTreeIter A valid #GtkTreeIter pointing to a row on @tree_model_sort. This resets the default sort function to be in the 'unsorted' state. That is, it is in the same order as the child model. It will re-sort the model to be in the same order as the child model only if the #GtkTreeModelSort is in 'unsorted' state. This function should almost never be called. It clears the @tree_model_sort of any cached iterators that haven't been reffed with gtk_tree_model_ref_node(). This might be useful if the child model being sorted is static (and doesn't change often) and there has been a lot of unreffed access to nodes. As a side effect of this function, all unreffed iters will be invalid. <warning><para> This function is slow. Only use it for debugging and/or testing purposes. </para></warning> Checks if the given iter is a valid iter for this #GtkTreeModelSort. %TRUE if the iter is valid, %FALSE if the iter is invalid. A #GtkTreeIter. Creates a new #GtkTreePath. This structure refers to a row. A newly created #GtkTreePath. Creates a new #GtkTreePath initialized to @path. @path is expected to be a colon separated list of numbers. For example, the string "10:4:0" would create a path of depth 3 pointing to the 11th child of the root node, the 5th child of that 11th child, and the 1st child of that 5th child. If an invalid path string is passed in, %NULL is returned. A newly-created #GtkTreePath, or %NULL The string representation of a path. Creates a new path with @first_index and @varargs as indices. A newly created #GtkTreePath. first integer Creates a new #GtkTreePath. The string representation of this path is "0" A new #GtkTreePath. Generates a string representation of the path. This string is a ':' separated list of numbers. For example, "4:10:0:3" would be an acceptable return value for this string. A newly-allocated string. Must be freed with g_free(). Appends a new index to a path. As a result, the depth of the path is increased. The index. Prepends a new index to a path. As a result, the depth of the path is increased. The index. Returns the current depth of @path. The depth of @path Returns the current indices of @path. This is an array of integers, each representing a node in a tree. This value should not be freed. The current indices, or %NULL. Frees @path. Creates a new #GtkTreePath as a copy of @path. A new #GtkTreePath. Compares two paths. If @a appears before @b in a tree, then -1 is returned. If @b appears before @a, then 1 is returned. If the two nodes are equal, then 0 is returned. The relative positions of @a and @b A #GtkTreePath to compare with. Moves the @path to point to the next node at the current depth. Moves the @path to point to the previous node at the current depth, if it exists. %TRUE if @path has a previous node, and the move was made. Moves the @path to point to its parent node, if it has a parent. %TRUE if @path has a parent, and the move was made. Moves @path to point to the first child of the current path. Returns %TRUE if @descendant is a descendant of @path. %TRUE if @descendant is contained inside @path another #GtkTreePath Returns %TRUE if @path is a descendant of @ancestor. %TRUE if @ancestor contains @path somewhere below it another #GtkTreePath Creates a row reference based on @path. This reference will keep pointing to the node pointed to by @path, so long as it exists. It listens to all signals emitted by @model, and updates its path appropriately. If @path isn't a valid path in @model, then %NULL is returned. A newly allocated #GtkTreeRowReference, or %NULL A #GtkTreeModel A valid #GtkTreePath to monitor You do not need to use this function. Creates a row reference based on so long as it exists. If @path isn't a valid path in @model, then %NULL is returned. However, unlike references created with gtk_tree_row_reference_new(), it does not listen to the model for changes. The creator of the row reference must do this explicitly using gtk_tree_row_reference_inserted(), gtk_tree_row_reference_deleted(), gtk_tree_row_reference_reordered(). These functions must be called exactly once per proxy when the corresponding signal on the model is emitted. This single call updates all row references for that proxy. Since built-in GTK+ objects like #GtkTreeView already use this mechanism internally, using them as the proxy object will produce unpredictable results. Further more, passing the same object as @model and @proxy doesn't work for reasons of internal implementation. This type of row reference is primarily meant by structures that need to carefully monitor exactly when a row reference updates itself, and is not generally needed by most applications. A newly allocated #GtkTreeRowReference, or %NULL A proxy #GObject A #GtkTreeModel A valid #GtkTreePath to monitor Returns a path that the row reference currently points to, or %NULL if the path pointed to is no longer valid. A current path, or %NULL. Returns the model that the row reference is monitoring. the model Returns %TRUE if the @reference is non-%NULL and refers to a current valid path. %TRUE if @reference points to a valid path. Copies a #GtkTreeRowReference. a copy of @reference. Free's @reference. @reference may be %NULL. Sets the selection mode of the @selection. If the previous type was #GTK_SELECTION_MULTIPLE, then the anchor is kept selected, if it was previously selected. The selection mode Gets the selection mode for @selection. See gtk_tree_selection_set_mode(). the current selection mode Sets the selection function. If set, this function is called before any node is selected or unselected, giving some control over which nodes are selected. The select function should return %TRUE if the state of the node may be toggled, and %FALSE if the state of the node should be left unchanged. The selection function. The selection function's data. The destroy function for user data. May be NULL. Returns the user data for the selection function. The user data. Returns the tree view associated with @selection. A #GtkTreeView Returns the current selection function. The function. Sets @iter to the currently selected node if @selection is set to #GTK_SELECTION_SINGLE or #GTK_SELECTION_BROWSE. @iter may be NULL if you just want to test if @selection has any selected nodes. @model is filled with the current model as a convenience. This function will not work if you use @selection is #GTK_SELECTION_MULTIPLE. TRUE, if there is a selected node. A pointer to set to the #GtkTreeModel, or NULL. The #GtkTreeIter, or NULL. Creates a list of path of all selected rows. Additionally, if you are planning on modifying the model after calling this function, you may want to convert the returned list into a list of #GtkTreeRowReference<!-- -->s. To do this, you can use gtk_tree_row_reference_new(). To free the return value, use: |[ g_list_foreach (list, (GFunc) gtk_tree_path_free, NULL); g_list_free (list); ]| A #GList containing a #GtkTreePath for each selected row. A pointer to set to the #GtkTreeModel, or NULL. Returns the number of rows that have been selected in @tree. The number of rows selected. Calls a function for each selected node. Note that you cannot modify the tree or selection from within this function. As a result, gtk_tree_selection_get_selected_rows() might be more useful. The function to call for each selected node. user data to pass to the function. Select the row at @path. The #GtkTreePath to be selected. Unselects the row at @path. The #GtkTreePath to be unselected. Selects the specified iterator. The #GtkTreeIter to be selected. Unselects the specified iterator. The #GtkTreeIter to be unselected. Returns %TRUE if the row pointed to by @path is currently selected. If @path does not point to a valid location, %FALSE is returned %TRUE if @path is selected. A #GtkTreePath to check selection on. Returns %TRUE if the row at @iter is currently selected. %TRUE, if @iter is selected A valid #GtkTreeIter Selects all the nodes. @selection must be set to #GTK_SELECTION_MULTIPLE mode. Unselects all the nodes. Selects a range of nodes, determined by @start_path and @end_path inclusive. The initial node of the range. The final node of the range. Unselects a range of nodes, determined by @start_path and @end_path inclusive. The initial node of the range. The initial node of the range. Fills in @sort_column_id and @order with the current sort column and the order. It returns %TRUE unless the @sort_column_id is %GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID or %GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID. column ids. %TRUE if the sort column is not one of the special sort The sort column id to be filled in The #GtkSortType to be filled in Sets the current sort column to be @sort_column_id. The @sortable will resort itself to reflect this change, after emitting a #GtkTreeSortable::sort-column-changed signal. @sortable may either be a regular column id, or one of the following special values: <variablelist> <varlistentry> <term>%GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID</term> <listitem>the default sort function will be used, if it is set</listitem> </varlistentry> <varlistentry> <term>%GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID</term> <listitem>no sorting will occur</listitem> </varlistentry> </variablelist> the sort column id to set The sort order of the column Returns %TRUE if the model has a default sort function. This is used primarily by GtkTreeViewColumns in order to determine if a model can go back to the default state, or not. %TRUE, if the model has a default sort function Emits a #GtkTreeSortable::sort-column-changed signal on @sortable. Fills in @sort_column_id and @order with the current sort column and the order. It returns %TRUE unless the @sort_column_id is %GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID or %GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID. column ids. %TRUE if the sort column is not one of the special sort The sort column id to be filled in The #GtkSortType to be filled in Sets the current sort column to be @sort_column_id. The @sortable will resort itself to reflect this change, after emitting a #GtkTreeSortable::sort-column-changed signal. @sortable may either be a regular column id, or one of the following special values: <variablelist> <varlistentry> <term>%GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID</term> <listitem>the default sort function will be used, if it is set</listitem> </varlistentry> <varlistentry> <term>%GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID</term> <listitem>no sorting will occur</listitem> </varlistentry> </variablelist> the sort column id to set The sort order of the column Sets the comparison function used when sorting to be @sort_func. If the current sort column id of @sortable is the same as @sort_column_id, then the model will sort using this function. the sort column id to set the function for The comparison function User data to pass to @sort_func, or %NULL Destroy notifier of @user_data, or %NULL Sets the default comparison function used when sorting to be @sort_func. If the current sort column id of @sortable is %GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, then the model will sort using this function. If @sort_func is %NULL, then there will be no default comparison function. This means that once the model has been sorted, it can't go back to the default state. In this case, when the current sort column id of @sortable is %GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, the model will be unsorted. The comparison function User data to pass to @sort_func, or %NULL Destroy notifier of @user_data, or %NULL Returns %TRUE if the model has a default sort function. This is used primarily by GtkTreeViewColumns in order to determine if a model can go back to the default state, or not. %TRUE, if the model has a default sort function The ::sort-column-changed signal is emitted when the sort column or sort order of @sortable is changed. The signal is emitted before the contents of @sortable are resorted. %TRUE if the sort column is not one of the special sort The sort column id to be filled in The #GtkSortType to be filled in the sort column id to set The sort order of the column %TRUE, if the model has a default sort function Creates a new tree store as with @n_columns columns each of the types passed in. Note that only types derived from standard GObject fundamental types are supported. As an example, <literal>gtk_tree_store_new (3, G_TYPE_INT, G_TYPE_STRING, GDK_TYPE_PIXBUF);</literal> will create a new #GtkTreeStore with three columns, of type <type>int</type>, <type>string</type> and #GdkPixbuf respectively. a new #GtkTreeStore number of columns in the tree store Non vararg creation function. Used primarily by language bindings. a new #GtkTreeStore number of columns in the tree store an array of #GType types for the columns, from first to last This function is meant primarily for #GObjects that inherit from #GtkTreeStore, and should only be used when constructing a new #GtkTreeStore. It will not function after a row has been added, or a method on the #GtkTreeModel interface is called. Number of columns for the tree store An array of #GType types, one for each column Sets the data in the cell specified by @iter and @column. The type of @value must be convertible to the type of the column. A valid #GtkTreeIter for the row being modified column number to modify new value for the cell Sets the value of one or more cells in the row referenced by @iter. The variable argument list should contain integer column numbers, each column number followed by the value to be set. The list is terminated by a -1. For example, to set column 0 with type %G_TYPE_STRING to "Foo", you would write <literal>gtk_tree_store_set (store, iter, 0, "Foo", -1)</literal>. The value will be copied or referenced by the store if appropriate. A valid #GtkTreeIter for the row being modified A variant of gtk_tree_store_set_valist() which takes the columns and values as two arrays, instead of varargs. This function is mainly intended for language bindings or in case the number of columns to change is not known until run-time. A valid #GtkTreeIter for the row being modified an array of column numbers an array of GValues the length of the @columns and @values arrays Removes @iter from @tree_store. After being removed, @iter is set to the next valid row at that level, or invalidated if it previously pointed to the last one. %TRUE if @iter is still valid, %FALSE if not. A valid #GtkTreeIter Creates a new row at @position. If parent is non-%NULL, then the row will be made a child of @parent. Otherwise, the row will be created at the toplevel. If @position is larger than the number of rows at that level, then the new row will be inserted to the end of the list. @iter will be changed to point to this new row. The row will be empty after this function is called. To fill in values, you need to call gtk_tree_store_set() or gtk_tree_store_set_value(). An unset #GtkTreeIter to set to the new row A valid #GtkTreeIter, or %NULL position to insert the new row Inserts a new row before @sibling. If @sibling is %NULL, then the row will be appended to @parent 's children. If @parent and @sibling are %NULL, then the row will be appended to the toplevel. If both @sibling and @parent are set, then @parent must be the parent of @sibling. When @sibling is set, this function is called. To fill in values, you need to call gtk_tree_store_set() or gtk_tree_store_set_value(). An unset #GtkTreeIter to set to the new row A valid #GtkTreeIter, or %NULL A valid #GtkTreeIter, or %NULL Inserts a new row after @sibling. If @sibling is %NULL, then the row will be prepended to @parent 's children. If @parent and @sibling are %NULL, then the row will be prepended to the toplevel. If both @sibling and @parent are set, then @parent must be the parent of @sibling. When @sibling is set, this function is called. To fill in values, you need to call gtk_tree_store_set() or gtk_tree_store_set_value(). An unset #GtkTreeIter to set to the new row A valid #GtkTreeIter, or %NULL A valid #GtkTreeIter, or %NULL Creates a new row at @position. @iter will be changed to point to this new row. If @position is larger than the number of rows on the list, then the new row will be appended to the list. The row will be filled with the values given to this function. Calling <literal>gtk_tree_store_insert_with_values (tree_store, iter, position, ...)</literal> has the same effect as calling |[ gtk_tree_store_insert (tree_store, iter, position); gtk_tree_store_set (tree_store, iter, ...); ]| with the different that the former will only emit a row_inserted signal, while the latter will emit row_inserted, row_changed and if the tree store is sorted, rows_reordered. Since emitting the rows_reordered signal repeatedly can affect the performance of the program, gtk_tree_store_insert_with_values() should generally be preferred when inserting rows in a sorted tree store. An unset #GtkTreeIter to set the new row, or %NULL. A valid #GtkTreeIter, or %NULL position to insert the new row A variant of gtk_tree_store_insert_with_values() which takes the columns and values as two arrays, instead of varargs. This function is mainly intended for language bindings. An unset #GtkTreeIter to set the new row, or %NULL. A valid #GtkTreeIter, or %NULL position to insert the new row an array of column numbers an array of GValues the length of the @columns and @values arrays Prepends a new row to @tree_store. If @parent is non-%NULL, then it will prepend the new row before the first child of @parent, otherwise it will prepend a row to the top level. @iter will be changed to point to this new row. The row will be empty after this function is called. To fill in values, you need to call gtk_tree_store_set() or gtk_tree_store_set_value(). An unset #GtkTreeIter to set to the prepended row A valid #GtkTreeIter, or %NULL Appends a new row to @tree_store. If @parent is non-%NULL, then it will append the new row after the last child of @parent, otherwise it will append a row to the top level. @iter will be changed to point to this new row. The row will be empty after this function is called. To fill in values, you need to call gtk_tree_store_set() or gtk_tree_store_set_value(). An unset #GtkTreeIter to set to the appended row A valid #GtkTreeIter, or %NULL Returns %TRUE if @iter is an ancestor of @descendant. That is, @iter is the parent (or grandparent or great-grandparent) of @descendant. %TRUE, if @iter is an ancestor of @descendant A valid #GtkTreeIter A valid #GtkTreeIter Returns the depth of @iter. This will be 0 for anything on the root level, 1 for anything down a level, etc. The depth of @iter A valid #GtkTreeIter Removes all rows from @tree_store purposes. Checks if the given iter is a valid iter for this #GtkTreeStore. %TRUE if the iter is valid, %FALSE if the iter is invalid. A #GtkTreeIter. Reorders the children of @parent in @tree_store to follow the order indicated by @new_order. Note that this function only works with unsorted stores. A #GtkTreeIter. an array of integers mapping the new position of each child to its old position before the re-ordering, i.e. @new_order<literal>[newpos] = oldpos</literal>. Swaps @a and @b in the same level of @tree_store. Note that this function only works with unsorted stores. A #GtkTreeIter. Another #GtkTreeIter. Moves @iter in @tree_store to the position before @position. @iter and works with unsorted stores. If @position is %NULL, @iter will be moved to the end of the level. A #GtkTreeIter. A #GtkTreeIter or %NULL. Moves @iter in @tree_store to the position after @position. @iter and works with unsorted stores. If @position is %NULL, @iter will be moved to the start of the level. A #GtkTreeIter. A #GtkTreeIter. Creates a new #GtkTreeView widget. A newly created #GtkTreeView widget. Creates a new #GtkTreeView widget with the model initialized to @model. A newly created #GtkTreeView widget. the model. Returns the model the #GtkTreeView is based on. Returns %NULL if the model is unset. A #GtkTreeModel, or %NULL if none is currently being used. Sets the model for a #GtkTreeView. If the @tree_view already has a model set, it will remove it before setting the new model. If @model is %NULL, then it will unset the old model. The model. Gets the #GtkTreeSelection associated with @tree_view. A #GtkTreeSelection object. Gets the #GtkAdjustment currently being used for the horizontal aspect. used. A #GtkAdjustment object, or %NULL if none is currently being Sets the #GtkAdjustment for the current horizontal aspect. The #GtkAdjustment to set, or %NULL Gets the #GtkAdjustment currently being used for the vertical aspect. used. A #GtkAdjustment object, or %NULL if none is currently being Sets the #GtkAdjustment for the current vertical aspect. The #GtkAdjustment to set, or %NULL Returns %TRUE if the headers on the @tree_view are visible. Whether the headers are visible or not. Sets the visibility state of the headers. %TRUE if the headers are visible Resizes all columns to their optimal width. Only works after the treeview has been realized. Returns whether all header columns are clickable. %TRUE if all header columns are clickable, otherwise %FALSE Allow the column title buttons to be clicked. %TRUE if the columns are clickable. Appends @column to the list of columns. If @tree_view has "fixed_height" mode enabled, then @column must have its "sizing" property set to be GTK_TREE_VIEW_COLUMN_FIXED. The number of columns in @tree_view after appending. The #GtkTreeViewColumn to add. Removes @column from @tree_view. The number of columns in @tree_view after removing. The #GtkTreeViewColumn to remove. This inserts the @column into the @tree_view at @position. If @position is -1, then the column is inserted at the end. If @tree_view has "fixed_height" mode enabled, then @column must have its "sizing" property set to be GTK_TREE_VIEW_COLUMN_FIXED. The number of columns in @tree_view after insertion. The #GtkTreeViewColumn to be inserted. The position to insert @column in. Creates a new #GtkTreeViewColumn and inserts it into the @tree_view at the end. The column is initialized with the attributes given. If @tree_view has "fixed_height" mode enabled, then the new column will have its sizing property set to be GTK_TREE_VIEW_COLUMN_FIXED. The number of columns in @tree_view after insertion. The position to insert the new column in. The title to set the header to. The #GtkCellRenderer. Convenience function that inserts a new column into the #GtkTreeView with the given cell renderer and a #GtkCellDataFunc to set cell renderer attributes (normally using data from the model). See also gtk_tree_view_column_set_cell_data_func(), gtk_tree_view_column_pack_start(). If @tree_view has "fixed_height" mode enabled, then the new column will have its "sizing" property set to be GTK_TREE_VIEW_COLUMN_FIXED. number of columns in the tree view post-insert Position to insert, -1 for append column title cell renderer for column function to set attributes of cell renderer data for @func destroy notifier for @data Gets the #GtkTreeViewColumn at the given position in the #tree_view. range of columns. The #GtkTreeViewColumn, or %NULL if the position is outside the The position of the column, counting from 0. Returns a #GList of all the #GtkTreeViewColumn s currently in @tree_view. The returned list must be freed with g_list_free (). A list of #GtkTreeViewColumn s Moves @column to be after to @base_column. If @base_column is %NULL, then The #GtkTreeViewColumn to be moved. The #GtkTreeViewColumn to be moved relative to, or %NULL. Sets the column to draw the expander arrow at. It must be in @tree_view. If @column is %NULL, then the expander arrow is always at the first visible column. If you do not want expander arrow to appear in your tree, set the expander column to a hidden column. %NULL, or the column to draw the expander arrow at. Returns the column that is the current expander column. This column has the expander arrow drawn next to it. The expander column. Sets a user function for determining where a column may be dropped when dragged. This function is called on every column pair in turn at the beginning of a column drag to determine where a drop can take place. The dragged, the two #GtkTreeViewColumn s determining the drop spot, and are %NULL, then they indicate an edge. If @func is set to be %NULL, then dropped everywhere. A function to determine which columns are reorderable, or %NULL. User data to be passed to @func, or %NULL Destroy notifier for @user_data, or %NULL Scrolls the tree view such that the top-left corner of the visible area is @tree_x, @tree_y, where @tree_x and @tree_y are specified in tree coordinates. The @tree_view must be realized before this function is called. If it isn't, you probably want to be using gtk_tree_view_scroll_to_cell(). If either @tree_x or @tree_y are -1, then that direction isn't scrolled. X coordinate of new top-left pixel of visible area, or -1 Y coordinate of new top-left pixel of visible area, or -1 Moves the alignments of @tree_view to the position specified by @column and if @path is %NULL no vertical scrolling occurs. At a minimum, one of @column or @path need to be non-%NULL. @row_align determines where the row is placed, and @col_align determines where @column is placed. Both are expected to be between 0.0 and 1.0. 0.0 means left/top alignment, 1.0 means right/bottom alignment, 0.5 means center. If @use_align is %FALSE, then the alignment arguments are ignored, and the tree does the minimum amount of work to scroll the cell onto the screen. This means that the cell will be scrolled to the edge closest to its current position. If the cell is currently visible on the screen, nothing is done. This function only works if the model is set, and @path is a valid row on the model. If the model changes before the @tree_view is realized, the centered path will be modified to reflect this change. The path of the row to move to, or %NULL. The #GtkTreeViewColumn to move horizontally to, or %NULL. whether to use alignment arguments, or %FALSE. The vertical alignment of the row specified by @path. The horizontal alignment of the column specified by @column. Activates the cell determined by @path and @column. The #GtkTreePath to be activated. The #GtkTreeViewColumn to be activated. Recursively expands all nodes in the @tree_view. Recursively collapses all visible, expanded nodes in @tree_view. Expands the row at @path. This will also expand all parent rows of path to a row. Opens the row so its children are visible. %TRUE if the row existed and had children path to a row whether to recursively expand, or just expand immediate children Collapses a row (hides its child rows, if they exist). %TRUE if the row was collapsed. path to a row in the @tree_view Calls @func on all expanded rows. A function to be called User data to be passed to the function. Returns %TRUE if the node pointed to by @path is expanded in @tree_view. %TRUE if #path is expanded. A #GtkTreePath to test expansion state. This function is a convenience function to allow you to reorder models that support the #GtkDragSourceIface and the #GtkDragDestIface. Both #GtkTreeStore and #GtkListStore support these. If @reorderable is %TRUE, then the user can reorder the model by dragging and dropping rows. The developer can listen to these changes by connecting to the model's row_inserted and row_deleted signals. The reordering is implemented by setting up the tree view as a drag source and destination. Therefore, drag and drop can not be used in a reorderable view for any other purpose. This function does not give you any degree of control over the order -- any reordering is allowed. If more control is needed, you should probably handle drag and drop manually. %TRUE, if the tree can be reordered. Retrieves whether the user can reorder the tree via drag-and-drop. See gtk_tree_view_set_reorderable(). %TRUE if the tree can be reordered. Sets the current keyboard focus to be at @path, and selects it. This is useful when you want to focus the user's attention on a particular row. If it. Additionally, if @focus_column is specified, and @start_editing is %TRUE, then editing should be started in the specified cell. This function is often followed by @gtk_widget_grab_focus (@tree_view) in order to give keyboard focus to the widget. Please note that editing can only happen when the widget is realized. If @path is invalid for @model, the current cursor (if any) will be unset and the function will return without failing. A #GtkTreePath A #GtkTreeViewColumn, or %NULL %TRUE if the specified cell should start being edited. Sets the current keyboard focus to be at @path, and selects it. This is useful when you want to focus the user's attention on a particular row. If it. If @focus_column and @focus_cell are not %NULL, and @focus_column contains 2 or more editable or activatable cells, then focus is given to the cell specified by @focus_cell. Additionally, if @focus_column is specified, and @start_editing is %TRUE, then editing should be started in the specified cell. This function is often followed by widget. Please note that editing can only happen when the widget is realized. If @path is invalid for @model, the current cursor (if any) will be unset and the function will return without failing. A #GtkTreePath A #GtkTreeViewColumn, or %NULL A #GtkCellRenderer, or %NULL %TRUE if the specified cell should start being edited. Fills in @path and @focus_column with the current path and focus column. If the cursor isn't currently set, then *@path will be %NULL. If no column currently has focus, then *@focus_column will be %NULL. The returned #GtkTreePath must be freed with gtk_tree_path_free() when you are done with it. A pointer to be filled with the current cursor path, or %NULL A pointer to be filled with the current focus column, or %NULL Returns the window that @tree_view renders to. This is used primarily to compare to <literal>event->window</literal> to confirm that the event on A #GdkWindow, or %NULL when @tree_view hasn't been realized yet Finds the path at the point (@x, @y), relative to bin_window coordinates (please see gtk_tree_view_get_bin_window()). That is, @x and @y are relative to an events coordinates. @x and @y must come from an event on the @tree_view only where <literal>event->window == gtk_tree_view_get_bin_window (<!-- -->)</literal>. It is primarily for things like popup menus. If @path is non-%NULL, then it will be filled with the #GtkTreePath at that point. This path should be freed with gtk_tree_path_free(). If @column is non-%NULL, then it will be filled with the column at that point. @cell_x and @cell_y return the coordinates relative to the cell background (i.e. the @background_area passed to gtk_cell_renderer_render()). This function is only meaningful if if @tree_view is not realized or does not have a model. For converting widget coordinates (eg. the ones you get from GtkWidget::query-tooltip), please see gtk_tree_view_convert_widget_to_bin_window_coords(). %TRUE if a row exists at that coordinate. The x position to be identified (relative to bin_window). The y position to be identified (relative to bin_window). A pointer to a #GtkTreePath pointer to be filled in, or %NULL A pointer to a #GtkTreeViewColumn pointer to be filled in, or %NULL A pointer where the X coordinate relative to the cell can be placed, or %NULL A pointer where the Y coordinate relative to the cell can be placed, or %NULL Fills the bounding rectangle in bin_window coordinates for the cell at the row specified by @path and the column specified by @column. If @path is %NULL, or points to a path not currently displayed, the @y and @height fields of the rectangle will be filled with 0. If @column is %NULL, the @x and @width fields will be filled with 0. The sum of all cell rects does not cover the entire tree; there are extra pixels in between rows, for example. The returned rectangle is equivalent to the @cell_area passed to gtk_cell_renderer_render(). This function is only valid if @tree_view is realized. a #GtkTreePath for the row, or %NULL to get only horizontal coordinates a #GtkTreeViewColumn for the column, or %NULL to get only vertical coordinates rectangle to fill with cell rect Fills the bounding rectangle in bin_window coordinates for the cell at the row specified by @path and the column specified by @column. If @path is %NULL, or points to a node not found in the tree, the @y and @height fields of the rectangle will be filled with 0. If @column is %NULL, the @x and @width fields will be filled with 0. The returned rectangle is equivalent to the areas tile to cover the entire bin window. Contrast with the @cell_area, returned by gtk_tree_view_get_cell_area(), which returns only the cell itself, excluding surrounding borders and the tree expander area. a #GtkTreePath for the row, or %NULL to get only horizontal coordinates a #GtkTreeViewColumn for the column, or %NULL to get only vertical coordiantes rectangle to fill with cell background rect Fills @visible_rect with the currently-visible region of the buffer, in tree coordinates. Convert to bin_window coordinates with gtk_tree_view_convert_tree_to_bin_window_coords(). Tree coordinates start at 0,0 for row 0 of the tree, and cover the entire scrollable area of the tree. rectangle to fill Converts bin_window coordinates to coordinates for the tree (the full scrollable area of the tree). incorrect. For converting coordinates relative to the widget to bin_window coordinates, please see gtk_tree_view_convert_widget_to_bin_window_coords(). X coordinate relative to bin_window Y coordinate relative to bin_window return location for tree X coordinate return location for tree Y coordinate Converts tree coordinates (coordinates in full scrollable area of the tree) to bin_window coordinates. incorrect. For converting bin_window coordinates to coordinates relative to bin_window, please see gtk_tree_view_convert_bin_window_to_widget_coords(). tree X coordinate tree Y coordinate return location for X coordinate relative to bin_window return location for Y coordinate relative to bin_window Sets @start_path and @end_path to be the first and last visible path. Note that there may be invisible paths in between. The paths should be freed with gtk_tree_path_free() after use. %TRUE, if valid paths were placed in @start_path and @end_path. Return location for start of region, or %NULL. Return location for end of region, or %NULL. Turns @tree_view into a drag source for automatic DND. Calling this method sets #GtkTreeView:reorderable to %FALSE. Mask of allowed buttons to start drag the table of targets that the drag will support the number of items in @targets the bitmask of possible actions for a drag from this widget Turns @tree_view into a drop destination for automatic DND. Calling this method sets #GtkTreeView:reorderable to %FALSE. the table of targets that the drag will support the number of items in @targets the bitmask of possible actions for a drag from this widget Undoes the effect of gtk_tree_view_enable_model_drag_source(). Calling this method sets #GtkTreeView:reorderable to %FALSE. Undoes the effect of gtk_tree_view_enable_model_drag_dest(). Calling this method sets #GtkTreeView:reorderable to %FALSE. Sets the row that is highlighted for feedback. The path of the row to highlight, or %NULL. Specifies whether to drop before, after or into the row Gets information about the row that is highlighted for feedback. Return location for the path of the highlighted row, or %NULL. Return location for the drop position, or %NULL Determines the destination row for a given position. @drag_x and meaningful if @tree_view is realized. Therefore this function will always return %FALSE if @tree_view is not realized or does not have a model. is indeed the case. whether there is a row at the given position, %TRUE if this the position to determine the destination row for the position to determine the destination row for Return location for the path of the highlighted row, or %NULL. Return location for the drop position, or %NULL Creates a #GdkPixmap representation of the row at @path. This image is used for a drag icon. a newly-allocated pixmap of the drag icon. a #GtkTreePath in @tree_view If @enable_search is set, then the user can type in text to search through the tree interactively (this is sometimes called "typeahead find"). Note that even if this is %FALSE, the user can still initiate a search using the "start-interactive-search" key binding. %TRUE, if the user can search interactively Returns whether or not the tree allows to start interactive searching by typing in text. whether or not to let the user search interactively Gets the column searched on by the interactive search code. the column the interactive search code searches in. Sets @column as the column where the interactive search code should search in for the current model. If the search column is set, users can use the "start-interactive-search" key binding to bring up search popup. The enable-search property controls whether simply typing text will also start an interactive search. Note that @column refers to a column of the current model. The search column is reset to -1 when the model is changed. the column of the model to search in, or -1 to disable searching Returns the compare function currently in use. the currently used compare function for the search code. Sets the compare function for the interactive search capabilities; note that somewhat like strcmp() returning 0 for equality #GtkTreeViewSearchEqualFunc returns %FALSE on matches. the compare function to use during the search user data to pass to @search_equal_func, or %NULL Destroy notifier for @search_user_data, or %NULL Returns the #GtkEntry which is currently in use as interactive search entry for @tree_view. In case the built-in entry is being used, %NULL will be returned. the entry currently in use as search entry. Sets the entry which the interactive search code will use for this in our interface at all time at a fixed position. Passing %NULL for entry again. the entry the interactive search code of @tree_view should use or %NULL Returns the positioning function currently in use. the currently used function for positioning the search dialog. Sets the function to use when positioning the search dialog. the function to use to position the search dialog, or %NULL to use the default search position function user data to pass to @func, or %NULL Destroy notifier for @data, or %NULL Converts widget coordinates to coordinates for the tree (the full scrollable area of the tree). X coordinate relative to the widget Y coordinate relative to the widget return location for tree X coordinate return location for tree Y coordinate Converts tree coordinates (coordinates in full scrollable area of the tree) to widget coordinates. X coordinate relative to the tree Y coordinate relative to the tree return location for widget X coordinate return location for widget Y coordinate Converts widget coordinates to coordinates for the bin_window (see gtk_tree_view_get_bin_window()). X coordinate relative to the widget Y coordinate relative to the widget return location for bin_window X coordinate return location for bin_window Y coordinate Converts bin_window coordinates (see gtk_tree_view_get_bin_window()) to widget relative coordinates. bin_window X coordinate bin_window Y coordinate return location for widget X coordinate return location for widget Y coordinate Converts tree coordinates (coordinates in full scrollable area of the tree) to bin_window coordinates. tree X coordinate tree Y coordinate return location for X coordinate relative to bin_window return location for Y coordinate relative to bin_window Converts bin_window coordinates to coordinates for the tree (the full scrollable area of the tree). X coordinate relative to bin_window Y coordinate relative to bin_window return location for tree X coordinate return location for tree Y coordinate This function should almost never be used. It is meant for private use by ATK for determining the number of visible children that are removed when the user collapses a row, or a row is deleted. Function to be called when a view row is destroyed, or %NULL User data to be passed to @func, or %NULL Destroy notifier for @data, or %NULL Enables or disables the fixed height mode of @tree_view. Fixed height mode speeds up #GtkTreeView by assuming that all rows have the same height. Only enable this option if all rows are the same height and all columns are of type %GTK_TREE_VIEW_COLUMN_FIXED. %TRUE to enable fixed height mode Returns whether fixed height mode is turned on for @tree_view. %TRUE if @tree_view is in fixed height mode Enables of disables the hover selection mode of @tree_view. Hover selection makes the selected row follow the pointer. Currently, this works only for the selection modes %GTK_SELECTION_SINGLE and %GTK_SELECTION_BROWSE. %TRUE to enable hover selection mode Returns whether hover selection mode is turned on for @tree_view. %TRUE if @tree_view is in hover selection mode Enables of disables the hover expansion mode of @tree_view. Hover expansion makes rows expand or collapse if the pointer moves over them. %TRUE to enable hover selection mode Returns whether hover expansion mode is turned on for @tree_view. %TRUE if @tree_view is in hover expansion mode Enables or disables rubber banding in @tree_view. If the selection mode is #GTK_SELECTION_MULTIPLE, rubber banding will allow the user to select multiple rows by dragging the mouse. %TRUE to enable rubber banding Returns whether rubber banding is turned on for @tree_view. If the selection mode is #GTK_SELECTION_MULTIPLE, rubber banding will allow the user to select multiple rows by dragging the mouse. %TRUE if rubber banding in @tree_view is enabled. Returns whether a rubber banding operation is currently being done in @tree_view. done in @tree_view. %TRUE if a rubber banding operation is currently being Returns the current row separator function. the current row separator function. Sets the row separator function, which is used to determine whether a row should be drawn as a separator. If the row separator function is %NULL, no separators are drawn. This is the default value. a #GtkTreeViewRowSeparatorFunc user data to pass to @func, or %NULL destroy notifier for @data, or %NULL Returns which grid lines are enabled in @tree_view. are enabled. a #GtkTreeViewGridLines value indicating which grid lines Sets which grid lines to draw in @tree_view. a #GtkTreeViewGridLines value indicating which grid lines to enable. Returns whether or not tree lines are drawn in @tree_view. otherwise. %TRUE if tree lines are drawn in @tree_view, %FALSE Sets whether to draw lines interconnecting the expanders in @tree_view. This does not have any visible effects for lists. %TRUE to enable tree line drawing, %FALSE otherwise. Sets whether to draw and enable expanders and indent child rows in and there will be no way to expand and collapse rows by default. Also note that hiding the expanders will disable the default indentation. You can set a custom indentation in this case using gtk_tree_view_set_level_indentation(). This does not have any visible effects for lists. %TRUE to enable expander drawing, %FALSE otherwise. Returns whether or not expanders are drawn in @tree_view. otherwise. %TRUE if expanders are drawn in @tree_view, %FALSE Sets the amount of extra indentation for child levels to use in @tree_view in addition to the default indentation. The value should be specified in pixels, a value of 0 disables this feature and in this case only the default indentation will be used. This does not have any visible effects for lists. the amount, in pixels, of extra indentation in @tree_view. Returns the amount, in pixels, of extra indentation for child levels in @tree_view. the amount of extra indentation for child levels in Sets the tip area of @tooltip to be the area covered by the row at @path. See also gtk_tree_view_set_tooltip_column() for a simpler alternative. See also gtk_tooltip_set_tip_area(). a #GtkTooltip a #GtkTreePath Sets the tip area of @tooltip to the area @path, @column and @cell have in common. For example if @path is %NULL and @column is set, the tip area will be set to the full area covered by @column. See also gtk_tooltip_set_tip_area(). Note that if @path is not specified and @cell is set and part of a column containing the expander, the tooltip might not show and hide at the correct position. In such cases @path must be set to the current node under the mouse cursor for this function to operate correctly. See also gtk_tree_view_set_tooltip_column() for a simpler alternative. a #GtkTooltip a #GtkTreePath or %NULL a #GtkTreeViewColumn or %NULL a #GtkCellRenderer or %NULL This function is supposed to be used in a #GtkWidget::query-tooltip signal handler for #GtkTreeView. The @x, @y and @keyboard_tip values which are received in the signal handler, should be passed to this function without modification. The return value indicates whether there is a tree view row at the given coordinates (%TRUE) or not (%FALSE) for mouse tooltips. For keyboard tooltips the row returned will be the cursor row. When %TRUE, then any of that row and the corresponding model. @x and @y will always be converted to be relative to @tree_view's bin_window if @keyboard_tooltip is %FALSE. whether or not the given tooltip context points to a row. the x coordinate (relative to widget coordinates) the y coordinate (relative to widget coordinates) whether this is a keyboard tooltip or not a pointer to receive a #GtkTreeModel or %NULL a pointer to receive a #GtkTreePath or %NULL a pointer to receive a #GtkTreeIter or %NULL If you only plan to have simple (text-only) tooltips on full rows, you can use this function to have #GtkTreeView handle these automatically for you. @column should be set to the column in @tree_view's model containing the tooltip texts, or -1 to disable this feature. When enabled, #GtkWidget::has-tooltip will be set to %TRUE and Note that the signal handler sets the text with gtk_tooltip_set_markup(), so &amp;, &lt;, etc have to be escaped in the text. an integer, which is a valid column number for @tree_view's model Returns the column of @tree_view's model which is being used for displaying tooltips on @tree_view's rows. used, or -1 if this is disabled. the index of the tooltip column that is currently being Setting the ::fixed-height-mode property to %TRUE speeds up #GtkTreeView by assuming that all rows have the same height. Only enable this option if all rows are the same height. Please see gtk_tree_view_set_fixed_height_mode() for more information on this option. Enables of disables the hover expansion mode of @tree_view. Hover expansion makes rows expand or collapse if the pointer moves over them. This mode is primarily intended for treeviews in popups, e.g. in #GtkComboBox or #GtkEntryCompletion. Enables of disables the hover selection mode of @tree_view. Hover selection makes the selected row follow the pointer. Currently, this works only for the selection modes %GTK_SELECTION_SINGLE and %GTK_SELECTION_BROWSE. This mode is primarily intended for treeviews in popups, e.g. in #GtkComboBox or #GtkEntryCompletion. Extra indentation for each level. %TRUE if the view has expanders. The number of columns of the treeview has changed. The position of the cursor (focused cell) has changed. The "row-activated" signal is emitted when the method gtk_tree_view_row_activated() is called or the user double clicks a treeview row. It is also emitted when a non-editable row is Enter is pressed. For selection handling refer to the <link linkend="TreeWidget">tree widget conceptual overview</link> as well as #GtkTreeSelection. the #GtkTreePath for the activated row the #GtkTreeViewColumn in which the activation occurred The given row has been collapsed (child nodes are hidden). the tree iter of the collapsed row a tree path that points to the row The given row has been expanded (child nodes are shown). the tree iter of the expanded row a tree path that points to the row The given row is about to be collapsed (hide its children nodes). Use this signal if you need to control the collapsibility of individual rows. %FALSE to allow collapsing, %TRUE to reject the tree iter of the row to collapse a tree path that points to the row The given row is about to be expanded (show its children nodes). Use this signal if you need to control the expandability of individual rows. %FALSE to allow expansion, %TRUE to reject the tree iter of the row to expand a tree path that points to the row Creates a new #GtkTreeViewColumn. A newly created #GtkTreeViewColumn. Creates a new #GtkTreeViewColumn with a number of default values. This is equivalent to calling gtk_tree_view_column_set_title(), gtk_tree_view_column_pack_start(), and gtk_tree_view_column_set_attributes() on the newly created #GtkTreeViewColumn. Here's a simple example: |[ enum { TEXT_COLUMN, COLOR_COLUMN, N_COLUMNS }; ... { GtkTreeViewColumn *column; GtkCellRenderer *renderer = gtk_cell_renderer_text_new (); column = gtk_tree_view_column_new_with_attributes ("Title", renderer, "text", TEXT_COLUMN, "foreground", COLOR_COLUMN, NULL); } ]| A newly created #GtkTreeViewColumn. The title to set the header to. The #GtkCellRenderer. Packs the @cell into the beginning of the column. If @expand is %FALSE, then the @cell is allocated no more space than it needs. Any unused space is divided evenly between cells for which @expand is %TRUE. The #GtkCellRenderer. %TRUE if @cell is to be given extra space allocated to @tree_column. Adds the @cell to end of the column. If @expand is %FALSE, then the @cell is allocated no more space than it needs. Any unused space is divided evenly between cells for which @expand is %TRUE. The #GtkCellRenderer. %TRUE if @cell is to be given extra space allocated to @tree_column. Unsets all the mappings on all renderers on the @tree_column. Returns a newly-allocated #GList of all the cell renderers in the column, in no particular order. The list must be freed with g_list_free(). A list of #GtkCellRenderers Adds an attribute mapping to the list in @tree_column. The @column is the column of the model to get a value from, and the @attribute is the parameter on @cell_renderer to be set from the value. So for example if column 2 of the model contains strings, you could have the "text" attribute of a #GtkCellRendererText get its values from column 2. the #GtkCellRenderer to set attributes on An attribute on the renderer The column position on the model to get the attribute from. Sets the attributes in the list as the attributes of @tree_column. The attributes should be in attribute/column order, as in gtk_tree_view_column_add_attribute(). All existing attributes are removed, and replaced with the new attributes. the #GtkCellRenderer we're setting the attributes of Sets the #GtkTreeViewColumnFunc to use for the column. This function is used instead of the standard attributes mapping for setting the column value, and should set the value of @tree_column's cell renderer as appropriate. @func may be %NULL to remove an older one. A #GtkCellRenderer The #GtkTreeViewColumnFunc to use. The user data for @func. The destroy notification for @func_data Clears all existing attributes previously set with gtk_tree_view_column_set_attributes(). a #GtkCellRenderer to clear the attribute mapping on. Sets the spacing field of @tree_column, which is the number of pixels to place between cell renderers packed into it. distance between cell renderers in pixels. Returns the spacing of @tree_column. the spacing of @tree_column. Sets the visibility of @tree_column. %TRUE if the @tree_column is visible. Returns %TRUE if @tree_column is visible. the tree will show the column. whether the column is visible or not. If it is visible, then If @resizable is %TRUE, then the user can explicitly resize the column by grabbing the outer edge of the column button. If resizable is %TRUE and sizing mode of the column is #GTK_TREE_VIEW_COLUMN_AUTOSIZE, then the sizing mode is changed to #GTK_TREE_VIEW_COLUMN_GROW_ONLY. %TRUE, if the column can be resized Returns %TRUE if the @tree_column can be resized by the end user. %TRUE, if the @tree_column can be resized. Sets the growth behavior of @tree_column to @type. The #GtkTreeViewColumnSizing. Returns the current type of @tree_column. The type of @tree_column. Returns the current size of @tree_column in pixels. The current width of @tree_column. Gets the fixed width of the column. This value is only meaning may not be the actual width of the column on the screen, just what is requested. the fixed width of the column Sets the size of the column in pixels. This is meaningful only if the sizing type is #GTK_TREE_VIEW_COLUMN_FIXED. The size of the column is clamped to the min/max width for the column. Please note that the min/max width of the column doesn't actually affect the "fixed_width" property of the widget, just the actual size when displayed. The size to set @tree_column to. Must be greater than 0. Sets the minimum width of the @tree_column. If @min_width is -1, then the minimum width is unset. The minimum width of the column in pixels, or -1. Returns the minimum width in pixels of the @tree_column, or -1 if no minimum width is set. The minimum width of the @tree_column. Sets the maximum width of the @tree_column. If @max_width is -1, then the maximum width is unset. Note, the column can actually be wider than max width if it's the last column in a view. In this case, the column expands to fill any extra space. The maximum width of the column in pixels, or -1. Returns the maximum width in pixels of the @tree_column, or -1 if no maximum width is set. The maximum width of the @tree_column. Emits the "clicked" signal on the column. This function will only work if Sets the title of the @tree_column. If a custom widget has been set, then this value is ignored. The title of the @tree_column. Returns the title of the widget. modified or freed. the title of the column. This string should not be Sets the column to take available extra space. This space is shared equally amongst all columns that have the expand set to %TRUE. If no column has this option set, then the last column gets all extra space. By default, every column is created with this %FALSE. %TRUE if the column should take available extra space, %FALSE if not Return %TRUE if the column expands to take any available space. %TRUE, if the column expands Sets the header to be active if @active is %TRUE. When the header is active, then it can take keyboard focus, and can be clicked. %TRUE if the header is active. Returns %TRUE if the user can click on the header for the column. %TRUE if user can click the column header. Sets the widget in the header to be @widget. If widget is %NULL, then the header button is set with a #GtkLabel set to the title of @tree_column. A child #GtkWidget, or %NULL. Returns the #GtkWidget in the button on the column header. If a custom widget has not been set then %NULL is returned. The #GtkWidget in the column header, or %NULL Sets the alignment of the title or custom widget inside the column header. The alignment determines its location inside the button -- 0.0 for left, 0.5 for center, 1.0 for right. The alignment, which is between [0.0 and 1.0] inclusive. Returns the current x alignment of @tree_column. This value can range between 0.0 and 1.0. The current alignent of @tree_column. If @reorderable is %TRUE, then the column can be reordered by the end user dragging the header. %TRUE, if the column can be reordered. Returns %TRUE if the @tree_column can be reordered by the user. %TRUE if the @tree_column can be reordered by the user. Sets the logical @sort_column_id that this column sorts on when this column is selected for sorting. Doing so makes the column header clickable. The @sort_column_id of the model to sort on. Gets the logical @sort_column_id that the model sorts on when this column is selected for sorting. See gtk_tree_view_column_set_sort_column_id(). this column can't be used for sorting. the current @sort_column_id for this column, or -1 if Call this function with a @setting of %TRUE to display an arrow in the header button indicating the column is sorted. Call gtk_tree_view_column_set_sort_order() to change the direction of the arrow. %TRUE to display an indicator that the column is sorted Gets the value set by gtk_tree_view_column_set_sort_indicator(). whether the sort indicator arrow is displayed Changes the appearance of the sort indicator. This <emphasis>does not</emphasis> actually sort the model. Use gtk_tree_view_column_set_sort_column_id() if you want automatic sorting support. This function is primarily for custom sorting behavior, and should be used in conjunction with gtk_tree_sortable_set_sort_column() to do that. For custom models, the mechanism will vary. The sort indicator changes direction to indicate normal sort or reverse sort. Note that you must have the sort indicator enabled to see anything when calling this function; see gtk_tree_view_column_set_sort_indicator(). sort order that the sort indicator should indicate Gets the value set by gtk_tree_view_column_set_sort_order(). the sort order the sort indicator is indicating Sets the cell renderer based on the @tree_model and @iter. That is, for every attribute mapping in @tree_column, it will get a value from the set column on the @iter, and use that value to set the attribute on the cell renderer. This is used primarily by the #GtkTreeView. The #GtkTreeModel to to get the cell renderers attributes from. The #GtkTreeIter to to get the cell renderer's attributes from. %TRUE, if the row has children %TRUE, if the row has visible children Obtains the width and height needed to render the column. This is used primarily by the #GtkTreeView. The area a cell in the column will be allocated, or %NULL location to return x offset of a cell relative to @cell_area, or %NULL location to return y offset of a cell relative to @cell_area, or %NULL location to return width needed to render a cell, or %NULL location to return height needed to render a cell, or %NULL Returns %TRUE if any of the cells packed into the @tree_column are visible. For this to be meaningful, you must first initialize the cells with gtk_tree_view_column_cell_set_cell_data() %TRUE, if any of the cells packed into the @tree_column are currently visible Sets the current keyboard focus to be at @cell, if the column contains 2 or more editable and activatable cells. A #GtkCellRenderer Obtains the horizontal position and size of a cell in a column. If the cell is not found in the column, @start_pos and @width are not changed and %FALSE is returned. %TRUE if @cell belongs to @tree_column. a #GtkCellRenderer return location for the horizontal position of @cell within return location for the width of @cell, may be %NULL Flags the column, and the cell renderers added to this column, to have their sizes renegotiated. Returns the #GtkTreeView wherein @tree_column has been inserted. If returned. %NULL otherwise. The tree view wherein @column has been inserted if any, Logical sort column ID this column sorts on when selected for sorting. Setting the sort column ID makes the column header clickable. Set to %-1 to make the column unsortable. Creates a new ui manager object. a new ui manager object. Looks up a widget by following a path. The path consists of the names specified in the XML description of the UI. separated by '/'. Elements which don't have a name or action attribute in the XML (e.g. &lt;popup&gt;) can be addressed by their XML element name (e.g. "popup"). The root element ("/ui") can be omitted in the path. Note that the widget found by following a path that ends in a &lt;menu&gt; element is the menuitem to which the menu is attached, not the menu itself. Also note that the widgets constructed by a ui manager are not tied to the lifecycle of the ui manager. If you add the widgets returned by this function to some container or explicitly ref them, they will survive the destruction of the ui manager. was found. the widget found by following the path, or %NULL if no widget a path Looks up an action by following a path. See gtk_ui_manager_get_widget() for more information about paths. or %NULL if no widget was found. the action whose proxy widget is found by following the path, a path Sets the "add_tearoffs" property, which controls whether menus generated by this #GtkUIManager will have tearoff menu items. Note that this only affects regular menus. Generated popup menus never have tearoff menu items. whether tearoff menu items are added Returns whether menus generated by this #GtkUIManager will have tearoff menu items. whether tearoff menu items are added Inserts an action group into the list of action groups associated with @self. Actions in earlier groups hide actions with the same name in later groups. the action group to be inserted the position at which the group will be inserted. Removes an action group from the list of action groups associated with @self. the action group to be removed Returns the list of action groups associated with @self. action groups. The list is owned by GTK+ and should not be modified. a #GList of Returns the #GtkAccelGroup associated with @self. the #GtkAccelGroup. Looks up a widget by following a path. The path consists of the names specified in the XML description of the UI. separated by '/'. Elements which don't have a name or action attribute in the XML (e.g. &lt;popup&gt;) can be addressed by their XML element name (e.g. "popup"). The root element ("/ui") can be omitted in the path. Note that the widget found by following a path that ends in a &lt;menu&gt; element is the menuitem to which the menu is attached, not the menu itself. Also note that the widgets constructed by a ui manager are not tied to the lifecycle of the ui manager. If you add the widgets returned by this function to some container or explicitly ref them, they will survive the destruction of the ui manager. was found. the widget found by following the path, or %NULL if no widget a path Obtains a list of all toplevel widgets of the requested types. all toplevel widgets of the requested types. Free the returned list with g_slist_free(). a newly-allocated #GSList of specifies the types of toplevel widgets to include. Allowed types are #GTK_UI_MANAGER_MENUBAR, #GTK_UI_MANAGER_TOOLBAR and #GTK_UI_MANAGER_POPUP. Looks up an action by following a path. See gtk_ui_manager_get_widget() for more information about paths. or %NULL if no widget was found. the action whose proxy widget is found by following the path, a path Parses a string containing a <link linkend="XML-UI">UI definition</link> and merges it with the current contents of @self. An enclosing &lt;ui&gt; element is added if it is missing. to unmerge the UI with gtk_ui_manager_remove_ui(). If an error occurred, the return value is 0. The merge id for the merged UI. The merge id can be used the string to parse the length of @buffer (may be -1 if @buffer is nul-terminated) Parses a file containing a <link linkend="XML-UI">UI definition</link> and merges it with the current contents of @self. to unmerge the UI with gtk_ui_manager_remove_ui(). If an error occurred, the return value is 0. The merge id for the merged UI. The merge id can be used the name of the file to parse Adds a UI element to the current contents of @self. If @type is %GTK_UI_MANAGER_AUTO, GTK+ inserts a menuitem, toolitem or separator if such an element can be inserted at the place determined by the place determined by @path. If @path points to a menuitem or toolitem, the new element will be inserted before or after this item, depending on @top. the merge id for the merged UI, see gtk_ui_manager_new_merge_id() a path the name for the added UI element the name of the action to be proxied, or %NULL to add a separator the type of UI element to add. if %TRUE, the UI element is added before its siblings, otherwise it is added after its siblings. Unmerges the part of @self<!-- -->s content identified by @merge_id. a merge id as returned by gtk_ui_manager_add_ui_from_string() Creates a <link linkend="XML-UI">UI definition</link> of the merged UI. the merged UI. A newly allocated string containing an XML representation of Makes sure that all pending updates to the UI have been completed. This may occasionally be necessary, since #GtkUIManager updates the UI in an idle function. A typical example where this function is useful is to enforce that the menubar and toolbar have been added to the main window before showing it: |[ gtk_container_add (GTK_CONTAINER (window), vbox); g_signal_connect (merge, "add-widget", G_CALLBACK (add_widget), vbox); gtk_ui_manager_add_ui_from_file (merge, "my-menus"); gtk_ui_manager_add_ui_from_file (merge, "my-toolbars"); gtk_ui_manager_ensure_update (merge); gtk_widget_show (window); ]| Returns an unused merge id, suitable for use with gtk_ui_manager_add_ui(). an unused merge id. The "add-tearoffs" property controls whether generated menus have tearoff menu items. Note that this only affects regular menus. Generated popup menus never have tearoff menu items. The "actions-changed" signal is emitted whenever the set of actions changes. The add_widget signal is emitted for each generated menubar and toolbar. It is not emitted for generated popup menus, which can be obtained by gtk_ui_manager_get_widget(). the added widget The connect_proxy signal is emitted after connecting a proxy to an action in the group. This is intended for simple customizations for which a custom action class would be too clumsy, e.g. showing tooltips for menuitems in the statusbar. the action the proxy The disconnect_proxy signal is emitted after disconnecting a proxy from an action in the group. the action the proxy The post_activate signal is emitted just after the @action is activated. This is intended for applications to get notification just after any action is activated. the action The pre_activate signal is emitted just before the @action is activated. This is intended for applications to get notification just before any action is activated. the action the widget found by following the path, or %NULL if no widget a path the action whose proxy widget is found by following the path, a path Creates a new #GtkVBox. a new #GtkVBox. %TRUE if all children are to be given equal space allotments. the number of pixels to place by default between children. Creates a new vertical button box. a new button box #GtkWidget. Retrieves the current default spacing for vertical button boxes. This is the number of pixels to be placed between the buttons when they are arranged. the default number of pixels between buttons. Changes the default spacing that is placed between widgets in an vertical button box. an integer value. Retrieves the current layout used to arrange buttons in button box widgets. the current #GtkButtonBoxStyle. Sets a new layout mode that will be used by all button boxes. a new #GtkButtonBoxStyle. Create a new #GtkVPaned the new #GtkVPaned Creates a new vertical ruler a new #GtkVRuler. The #GtkVScale struct contains private data only, and should be accessed using the functions below. Creates a new #GtkVScale. a new #GtkVScale. the #GtkAdjustment which sets the range of the scale. Creates a new vertical scale widget that lets the user input a number between @min and @max (including @min and @max) with the increment @step. @step must be nonzero; it's the distance the slider moves when using the arrow keys to adjust the scale value. Note that the way in which the precision is derived works best if @step is a power of ten. If the resulting precision is not suitable for your needs, use gtk_scale_set_digits() to correct it. a new #GtkVScale minimum value maximum value step increment (tick size) used with keyboard shortcuts The #GtkVScrollbar struct contains private data and should be accessed using the functions below. Creates a new vertical scrollbar. the new #GtkVScrollbar the #GtkAdjustment to use, or %NULL to create a new adjustment The #GtkVSeparator struct contains private data only, and should be accessed using the functions below. Creates a new #GtkVSeparator. a new #GtkVSeparator. Creates a new #GtkViewport with the given adjustments. a new #GtkViewport. horizontal adjustment. vertical adjustment. Returns the horizontal adjustment of the viewport. the horizontal adjustment of @viewport. Returns the vertical adjustment of the viewport. the vertical adjustment of @viewport. Sets the horizontal adjustment of the viewport. a #GtkAdjustment. Sets the vertical adjustment of the viewport. a #GtkAdjustment. Gets the shadow type of the #GtkViewport. See gtk_viewport_set_shadow_type(). the shadow type Gets the bin window of the #GtkViewport. a #GdkWindow This is a convenience function for creating a widget and setting its properties in one go. For example you might write: <literal>gtk_widget_new (GTK_TYPE_LABEL, "label", "Hello World", "xalign", 0.0, NULL)</literal> to create a left-aligned label. Equivalent to g_object_new(), but returns a widget so you don't have to cast the object yourself. a new #GtkWidget of type @widget_type type ID of the widget to create name of first property to set Pushes @cmap onto a global stack of colormaps; the topmost colormap on the stack will be used to create all widgets. Remove @cmap with gtk_widget_pop_colormap(). There's little reason to use this function. a #GdkColormap Makes all newly-created widgets as composite children until the corresponding gtk_widget_pop_composite_child() call. A composite child is a child that's an implementation detail of the container it's inside and should not be visible to people using the container. Composite children aren't treated differently by GTK (but see gtk_container_foreach() vs. gtk_container_forall()), but e.g. GUI builders might want to treat them in a different way. Here is a simple example: |[ gtk_widget_push_composite_child (); scrolled_window->hscrollbar = gtk_hscrollbar_new (hadjustment); gtk_widget_set_composite_name (scrolled_window->hscrollbar, "hscrollbar"); gtk_widget_pop_composite_child (); gtk_widget_set_parent (scrolled_window->hscrollbar, GTK_WIDGET (scrolled_window)); g_object_ref (scrolled_window->hscrollbar); ]| Cancels the effect of a previous call to gtk_widget_push_composite_child(). Removes a colormap pushed with gtk_widget_push_colormap(). Sets the default colormap to use when creating widgets. gtk_widget_push_colormap() is a better function to use if you only want to affect a few widgets, rather than all widgets. a #GdkColormap Returns the default style used by all widgets initially. by GTK+ and should not be modified or freed. the default style. This #GtkStyle object is owned Obtains the default colormap used to create widgets. default widget colormap Obtains the visual of the default colormap. Not really useful; used to be useful before gdk_colormap_get_visual() existed. visual of the default colormap Sets the default reading direction for widgets where the direction has not been explicitly set by gtk_widget_set_direction(). the new default direction. This cannot be %GTK_TEXT_DIR_NONE. Obtains the current default reading direction. See gtk_widget_set_default_direction(). the current default direction. Recursively shows a widget, and any child widgets (if the widget is a container). Recursively hides a widget and any child widgets. Returns the accessible object that describes the widget to an assistive technology. If no accessibility library is loaded (i.e. no ATK implementation library is loaded via <envar>GTK_MODULES</envar> or via another application library, such as libgnome), then this #AtkObject instance may be a no-op. Likewise, if no class-specific #AtkObject implementation is available for the widget instance in question, it will inherit an #AtkObject implementation from the first ancestor class for which such an implementation is defined. The documentation of the <ulink url="http://developer.gnome.org/doc/API/2.0/atk/index.html">ATK</ulink> library contains more information about accessible objects and their uses. the #AtkObject associated with @widget Destroys a widget. Equivalent to gtk_object_destroy(), except that you don't have to cast the widget to #GtkObject. When a widget is destroyed, it will break any references it holds to other objects. If the widget is inside a container, the widget will be removed from the container. If the widget is a toplevel (derived from #GtkWindow), it will be removed from the list of toplevels, and the reference GTK+ holds to it will be removed. Removing a widget from its container or the list of toplevels results in the widget being finalized, unless you've added additional references to the widget with g_object_ref(). In most cases, only toplevel widgets (windows) require explicit destruction, because when you destroy a toplevel its children will be destroyed as well. This function sets *@widget_pointer to %NULL if @widget_pointer != %NULL. It's intended to be used as a callback connected to the "destroy" signal of a widget. You connect gtk_widget_destroyed() as a signal handler, and pass the address of your widget variable as user data. Then when the widget is destroyed, the variable will be set to %NULL. Useful for example to avoid multiple copies of the same dialog. address of a variable that contains @widget Adds a reference to a widget. This function is exactly the same as calling g_object_ref(), and exists mostly for historical reasons. It can still be convenient to avoid casting a widget to a #GObject, it saves a small amount of typing. the widget that was referenced Inverse of gtk_widget_ref(). Equivalent to g_object_unref(). Precursor of g_object_set(). name of first property to set This function is only for use in widget implementations. Should be called by implementations of the remove method on #GtkContainer, to dissociate a child from the container. Flags a widget to be displayed. Any widget that isn't shown will not appear on the screen. If you want to show all the widgets in a container, it's easier to call gtk_widget_show_all() on the container, instead of individually showing the widgets. Remember that you have to show the containers containing a widget, in addition to the widget itself, before it will appear onscreen. When a toplevel container is shown, it is immediately realized and mapped; other shown widgets are realized and mapped when their toplevel container is realized and mapped. Shows a widget. If the widget is an unmapped toplevel widget (i.e. a #GtkWindow that has not yet been shown), enter the main loop and wait for the window to actually be mapped. Be careful; because the main loop is running, anything can happen during this function. Reverses the effects of gtk_widget_show(), causing the widget to be hidden (invisible to the user). Recursively shows a widget, and any child widgets (if the widget is a container). Recursively hides a widget and any child widgets. Sets the #GtkWidget:no-show-all property, which determines whether calls to gtk_widget_show_all() and gtk_widget_hide_all() will affect this widget. This is mostly for use in constructing widget hierarchies with externally controlled visibility, see #GtkUIManager. the new value for the "no-show-all" property Returns the current value of the GtkWidget:no-show-all property, which determines whether calls to gtk_widget_show_all() and gtk_widget_hide_all() will affect this widget. the current value of the "no-show-all" property. This function is only for use in widget implementations. Causes a widget to be mapped if it isn't already. This function is only for use in widget implementations. Causes a widget to be unmapped if it's currently mapped. Creates the GDK (windowing system) resources associated with a widget. For example, @widget->window will be created when a widget is realized. Normally realization happens implicitly; if you show a widget and all its parent containers, then the widget will be realized and mapped automatically. Realizing a widget requires all the widget's parent widgets to be realized; calling gtk_widget_realize() realizes the widget's parents in addition to when you realize it, bad things will happen. This function is primarily used in widget implementations, and isn't very useful otherwise. Many times when you think you might need it, a better approach is to connect to a signal that will be called after the widget is realized automatically, such as GtkWidget::expose-event. Or simply g_signal_connect () to the GtkWidget::realize signal. This function is only useful in widget implementations. Causes a widget to be unrealized (frees all GDK resources associated with the widget, such as @widget->window). Equivalent to calling gtk_widget_queue_draw_area() for the entire area of a widget. Invalidates the rectangular area of @widget defined by @x, @y, widget's window and all its child windows. Once the main loop becomes idle (after the current batch of events has been processed, roughly), the window will receive expose events for the union of all regions that have been invalidated. Normally you would only use this function in widget implementations. You might also use it, or gdk_window_invalidate_rect() directly, to schedule a redraw of a #GtkDrawingArea or some portion thereof. Frequently you can just call gdk_window_invalidate_rect() or gdk_window_invalidate_region() instead of this function. Those functions will invalidate only a single window, instead of the widget and all its children. The advantage of adding to the invalidated region compared to simply drawing immediately is efficiency; using an invalid region ensures that you only have to redraw one time. x coordinate of upper-left corner of rectangle to redraw y coordinate of upper-left corner of rectangle to redraw width of region to draw height of region to draw This function does the same as gtk_widget_queue_draw(). This function is no longer different from gtk_widget_queue_draw_area(), though it once was. Now it just calls gtk_widget_queue_draw_area(). Originally gtk_widget_queue_clear_area() would force a redraw of the background for %GTK_NO_WINDOW widgets, and gtk_widget_queue_draw_area() would not. Now both functions ensure the background will be redrawn. x coordinate of upper-left corner of rectangle to redraw y coordinate of upper-left corner of rectangle to redraw width of region to draw height of region to draw This function is only for use in widget implementations. Flags a widget to have its size renegotiated; should be called when a widget for some reason has a new size request. For example, when you change the text in a #GtkLabel, #GtkLabel queues a resize to ensure there's enough space for the new text. This function works like gtk_widget_queue_resize(), except that the widget is not invalidated. In GTK+ 1.2, this function would immediately render the region @area of a widget, by invoking the virtual draw method of a widget. In GTK+ 2.0, the draw method is gone, and instead gtk_widget_draw() simply invalidates the specified region of the widget, then updates the invalid region of the widget immediately. Usually you don't want to update the region immediately for performance reasons, so in general gtk_widget_queue_draw_area() is a better choice if you want to draw a region of a widget. area to draw This function is typically used when implementing a #GtkContainer subclass. Obtains the preferred size of a widget. The container uses this information to arrange its child widgets and decide what size allocations to give them with gtk_widget_size_allocate(). You can also call this function from an application, with some caveats. Most notably, getting a size request requires the widget to be associated with a screen, because font information may be needed. Multihead-aware applications should keep this in mind. Also remember that the size request is not necessarily the size a widget will actually be allocated. See also gtk_widget_get_child_requisition(). a #GtkRequisition to be filled in This function is only used by #GtkContainer subclasses, to assign a size and position to their child widgets. position and size to be allocated to @widget This function is only for use in widget implementations. Obtains geometry on the widget (e.g. with gtk_widget_set_size_request()), in which case it returns that geometry instead of the widget's requisition. This function differs from gtk_widget_size_request() in that it retrieves the last size request value from @widget->requisition, while gtk_widget_size_request() actually calls the "size_request" method on @widget to compute the size request and fill in @widget->requisition, and only then returns @widget->requisition. Because this function does not call the "size_request" method, it can only be used when you know that @widget->requisition is up-to-date, that is, gtk_widget_size_request() has been called since the last time a resize was queued. In general, only container implementations have this information; applications should use gtk_widget_size_request(). a #GtkRequisition to be filled in Removes an accelerator from @widget, previously installed with gtk_widget_add_accelerator(). whether an accelerator was installed and could be removed accel group for this widget GDK keyval of the accelerator modifier key combination of the accelerator Given an accelerator group, @accel_group, and an accelerator path, key binding that is defined for @accel_path is pressed, @widget will be activated. This removes any accelerators (for any accelerator group) installed by previous calls to gtk_widget_set_accel_path(). Associating accelerators with paths allows them to be modified by the user and the modifications to be saved for future use. (See gtk_accel_map_save().) This function is a low level function that would most likely be used by a menu creation system like #GtkUIManager. If you use #GtkUIManager, setting up accelerator paths will be done automatically. Even when you you aren't using #GtkUIManager, if you only want to set up accelerators on menu items gtk_menu_item_set_accel_path() provides a somewhat more convenient interface. Note that @accel_path string will be stored in a #GQuark. Therefore, if you pass a static string, you can save some memory by interning it first with g_intern_static_string(). path used to look up the accelerator a #GtkAccelGroup. Determines whether an accelerator that activates the signal identified by @signal_id can currently be activated. This is done by emitting the #GtkWidget::can-activate-accel signal on @widget; if the signal isn't overridden by a handler or in a derived widget, then the default check is that the widget must be sensitive, and the widget and all its ancestors mapped. %TRUE if the accelerator can be activated. the ID of a signal installed on @widget Emits the #GtkWidget::mnemonic-activate signal. The default handler for this signal activates the @widget if is %TRUE. %TRUE if the signal has been handled %TRUE if there are other widgets with the same mnemonic Rarely-used function. This function is used to emit the event signals on a widget (those signals should never be emitted without using this function to do so). If you want to synthesize an event though, don't use this function; instead, use gtk_main_do_event() so the event will behave as if it were in the event queue. Don't synthesize expose events; instead, use gdk_window_invalidate_rect() to invalidate a region of the window. the event was handled) return from the event signal emission (%TRUE if a #GdkEvent Very rarely-used function. This function is used to emit an expose event signals on a widget. This function is not normally used directly. The only time it is used is when propagating an expose event to a child %NO_WINDOW widget, and that is normally done using gtk_container_propagate_expose(). If you want to force an area of a window to be redrawn, use gdk_window_invalidate_rect() or gdk_window_invalidate_region(). To cause the redraw to be done immediately, follow that call with a call to gdk_window_process_updates(). the event was handled) return from the event signal emission (%TRUE if a expose #GdkEvent Sends the focus change @event to @widget This function is not meant to be used by applications. The only time it should be used is when it is necessary for a #GtkWidget to assign focus to a widget that is semantically owned by the first widget even though it's not a direct child - for instance, a search entry in a floating window similar to the quick search in #GtkTreeView. An example of its usage is: |[ GdkEvent *fevent = gdk_event_new (GDK_FOCUS_CHANGE); fevent->focus_change.type = GDK_FOCUS_CHANGE; fevent->focus_change.in = TRUE; fevent->focus_change.window = gtk_widget_get_window (widget); if (fevent->focus_change.window != NULL) g_object_ref (fevent->focus_change.window); gtk_widget_send_focus_change (widget, fevent); gdk_event_free (event); ]| if the event was handled, and %FALSE otherwise the return value from the event signal emission: %TRUE a #GdkEvent of type GDK_FOCUS_CHANGE For widgets that can be "activated" (buttons, menu items, etc.) this function activates them. Activation is what happens when you press Enter on a widget during key navigation. If @widget isn't activatable, the function returns %FALSE. %TRUE if the widget was activatable For widgets that support scrolling, sets the scroll adjustments and returns %TRUE. For widgets that don't support scrolling, does nothing and returns %FALSE. Widgets that don't support scrolling can be scrolled by placing them in a #GtkViewport, which does support scrolling. %TRUE if the widget supports scrolling an adjustment for horizontal scrolling, or %NULL an adjustment for vertical scrolling, or %NULL Moves a widget from one #GtkContainer to another, handling reference count issues to avoid destroying the widget. a #GtkContainer to move the widget into Computes the intersection of a @widget's area and @area, storing the intersection in @intersection, and returns %TRUE if there was an intersection. @intersection may be %NULL if you're only interested in whether there was an intersection. %TRUE if there was an intersection a rectangle rectangle to store intersection of @widget and @area Computes the intersection of a @widget's area and @region, returning the intersection. The result may be empty, use gdk_region_empty() to check. A newly allocated region holding the intersection of @widget and @region. The coordinates of the return value are relative to @widget->window for %NO_WINDOW widgets, and relative to the parent window of @widget->window for widgets with their own window. a #GdkRegion, in the same coordinate system as for %NO_WINDOW widgets; relative to the parent window of @widget->window for widgets with their own window. Stops emission of #GtkWidget::child-notify signals on @widget. The signals are queued until gtk_widget_thaw_child_notify() is called on @widget. This is the analogue of g_object_freeze_notify() for child properties. Emits a #GtkWidget::child-notify signal for the <link linkend="child-properties">child property</link> @child_property on @widget. This is the analogue of g_object_notify() for child properties. the name of a child property installed on the class of @widget<!-- -->'s parent Reverts the effect of a previous call to gtk_widget_freeze_child_notify(). This causes all queued #GtkWidget::child-notify signals on @widget to be emitted. Specifies whether @widget can own the input focus. See gtk_widget_grab_focus() for actually setting the input focus on a widget. whether or not @widget can own the input focus. Determines whether @widget can own the input focus. See gtk_widget_set_can_focus(). %TRUE if @widget can own the input focus, %FALSE otherwise Determines if the widget has the global input focus. See gtk_widget_is_focus() for the difference between having the global input focus, and only having the focus within a toplevel. %TRUE if the widget has the global input focus. Determines if the widget is the focus widget within its toplevel. (This does not mean that the %HAS_FOCUS flag is necessarily set; %HAS_FOCUS will only be set if the toplevel widget additionally has the global input focus.) %TRUE if the widget is the focus widget. Causes @widget to have the keyboard focus for the #GtkWindow it's inside. @widget must be a focusable widget, such as a #GtkEntry; something like #GtkFrame won't work. More precisely, it must have the %GTK_CAN_FOCUS flag set. Use gtk_widget_set_can_focus() to modify that flag. Specifies whether @widget can be a default widget. See gtk_widget_grab_default() for details about the meaning of "default". whether or not @widget can be a default widget. Determines whether @widget can be a default widget. See gtk_widget_set_can_default(). %TRUE if @widget can be a default widget, %FALSE otherwise Determines whether @widget is the current default widget within its toplevel. See gtk_widget_set_can_default(). its toplevel, %FALSE otherwise %TRUE if @widget is the current default widget within Causes @widget to become the default widget. @widget must have the %GTK_CAN_DEFAULT flag set; typically you have to set this flag yourself by calling <literal>gtk_widget_set_can_default (@widget, %TRUE)</literal>. The default widget is activated when the user presses Enter in a window. Default widgets must be activatable, that is, gtk_widget_activate() should affect them. Specifies whether @widget will be treated as the default widget within its toplevel when it has the focus, even if another widget is the default. See gtk_widget_grab_default() for details about the meaning of "default". whether or not @widget can be a default widget. Determines whether @widget is alyways treated as default widget withing its toplevel when it has the focus, even if another widget is the default. See gtk_widget_set_receives_default(). %FALSE otherwise %TRUE if @widget acts as default widget when focussed, Determines whether the widget is currently grabbing events, so it is the only widget receiving input events (keyboard and mouse). See also gtk_grab_add(). %TRUE if the widget is in the grab_widgets stack Widgets can be named, which allows you to refer to them from a gtkrc file. You can apply a style to widgets with a particular name in the gtkrc file. See the documentation for gtkrc files (on the same page as the docs for #GtkRcStyle). Note that widget names are separated by periods in paths (see gtk_widget_path()), so names with embedded periods may cause confusion. name for the widget Retrieves the name of a widget. See gtk_widget_set_name() for the significance of widget names. should not be modified or freed name of the widget. This string is owned by GTK+ and This function is for use in widget implementations. Sets the state of a widget (insensitive, prelighted, etc.) Usually you should set the state using wrapper functions such as gtk_widget_set_sensitive(). new state for @widget Returns the widget's state. See gtk_widget_set_state(). the state of @widget. Sets the sensitivity of a widget. A widget is sensitive if the user can interact with it. Insensitive widgets are "grayed out" and the user can't interact with them. Insensitive widgets are known as "inactive", "disabled", or "ghosted" in some other toolkits. %TRUE to make the widget sensitive Returns the widget's sensitivity (in the sense of returning the value that has been set using gtk_widget_set_sensitive()). The effective sensitivity of a widget is however determined by both its own and its parent widget's sensitivity. See gtk_widget_is_sensitive(). %TRUE if the widget is sensitive Returns the widget's effective sensitivity, which means it is sensitive itself and also its parent widget is sensntive %TRUE if the widget is effectively sensitive Sets the visibility state of @widget. Note that setting this to %TRUE doesn't mean the widget is actually viewable, see gtk_widget_get_visible(). This function simply calls gtk_widget_show() or gtk_widget_hide() but is nicer to use when the visibility of the widget depends on some condition. whether the widget should be shown or not Determines whether the widget is visible. Note that this doesn't take into account whether the widget's parent is also visible or the widget is obscured in any way. See gtk_widget_set_visible(). %TRUE if the widget is visible Specifies whether @widget has a #GdkWindow of its own. Note that all realized widgets have a non-%NULL "window" pointer (gtk_widget_get_window() never returns a %NULL window when a widget is realized), but for many of them it's actually the #GdkWindow of one of its parent widgets. Widgets that create a %window for themselves in GtkWidget::realize() however must announce this by calling this function with @has_window = %TRUE. This function should only be called by widget implementations, and they should call it in their init() function. whether or not @widget has a window. Determines whether @widget has a #GdkWindow of its own. See gtk_widget_set_has_window(). %TRUE if @widget has a window, %FALSE otherwise Determines whether @widget is a toplevel widget. Currently only #GtkWindow and #GtkInvisible are toplevel widgets. Toplevel widgets have no parent widget. %TRUE if @widget is a toplevel, %FALSE otherwise Determines whether @widget can be drawn to. A widget can be drawn to if it is mapped and visible. %TRUE if @widget is drawable, %FALSE otherwise Marks the widget as being realized. This function should only ever be called in a derived widget's "realize" or "unrealize" implementation. %TRUE to mark the widget as realized Determines whether @widget is realized. %TRUE if @widget is realized, %FALSE otherwise Marks the widget as being realized. This function should only ever be called in a derived widget's "map" or "unmap" implementation. %TRUE to mark the widget as mapped Whether the widget is mapped. %TRUE if the widget is mapped, %FALSE otherwise. Sets whether the application intends to draw on the widget in an #GtkWidget::expose-event handler. This is a hint to the widget and does not affect the behavior of the GTK+ core; many widgets ignore this flag entirely. For widgets that do pay attention to the flag, such as #GtkEventBox and #GtkWindow, the effect is to suppress default themed drawing of the widget's background. (Children of the widget will still be drawn.) The application is then entirely responsible for drawing the widget background. Note that the background is still drawn when the widget is mapped. If this is not suitable (e.g. because you want to make a transparent window using an RGBA visual), you can work around this by doing: |[ gtk_widget_realize (window); gdk_window_set_back_pixmap (window->window, NULL, FALSE); gtk_widget_show (window); ]| %TRUE if the application will paint on the widget Determines whether the application intends to draw on the widget in an #GtkWidget::expose-event handler. See gtk_widget_set_app_paintable() %TRUE if the widget is app paintable Widgets are double buffered by default; you can use this function to turn off the buffering. "Double buffered" simply means that gdk_window_begin_paint_region() and gdk_window_end_paint() are called automatically around expose events sent to the widget. gdk_window_begin_paint() diverts all drawing to a widget's window to an offscreen buffer, and gdk_window_end_paint() draws the buffer to the screen. The result is that users see the window update in one smooth step, and don't see individual graphics primitives being rendered. In very simple terms, double buffered widgets don't flicker, so you would only use this function to turn off double buffering if you had special needs and really knew what you were doing. expose events, since even the clearing to the background color or pixmap will not happen automatically (as it is done in gdk_window_begin_paint()). %TRUE to double-buffer a widget Determines whether the widget is double buffered. See gtk_widget_set_double_buffered() %TRUE if the widget is double buffered Sets whether the entire widget is queued for drawing when its size allocation changes. By default, this setting is %TRUE and the entire widget is redrawn on every size change. If your widget leaves the upper left unchanged when made bigger, turning this setting off will improve performance. Note that for %NO_WINDOW widgets setting this flag to %FALSE turns its position changes; this is to allow containers that don't draw anything to avoid excess invalidations. If you set this flag on a %NO_WINDOW widget that <emphasis>does</emphasis> draw on @widget->window, you are responsible for invalidating both the old and new allocation of the widget when the widget is moved and responsible for invalidating regions newly when the widget increases size. if %TRUE, the entire widget will be redrawn when it is allocated to a new size. Otherwise, only the new portion of the widget will be redrawn. This function is useful only when implementing subclasses of #GtkContainer. Sets the container as the parent of @widget, and takes care of some details such as updating the state and style of the child to reflect its new location. The opposite function is gtk_widget_unparent(). parent container Returns the parent container of @widget. the parent container of @widget, or %NULL Sets a non default parent window for @widget. the new parent window. Gets @widget's parent window. the parent window of @widget. Sets whether @widget should be mapped along with its when its parent is mapped and @widget has been shown with gtk_widget_show(). The child visibility can be set for widget before it is added to a container with gtk_widget_set_parent(), to avoid mapping children unnecessary before immediately unmapping them. However it will be reset to its default state of %TRUE when the widget is removed from a container. Note that changing the child visibility of a widget does not queue a resize on the widget. Most of the time, the size of a widget is computed from all visible children, whether or not they are mapped. If this is not the case, the container can queue a resize itself. This function is only useful for container implementations and never should be called by an application. if %TRUE, @widget should be mapped along with its parent. Gets the value set with gtk_widget_set_child_visible(). If you feel a need to use this function, your code probably needs reorganization. This function is only useful for container implementations and never should be called by an application. %TRUE if the widget is mapped with the parent. Sets a widget's window. This function should only be used in a widget's GtkWidget::realize() implementation. The %window passed is usually either new window created with gdk_window_new(), or the window of its parent widget as returned by gtk_widget_get_parent_window(). Widgets must indicate whether they will create their own #GdkWindow by calling gtk_widget_set_has_window(). This is usually done in the widget's init() function. a #GdkWindow Returns the widget's window if it is realized, %NULL otherwise @widget's window. Retrieves the widget's allocation. a pointer to a #GtkAllocation to copy to Sets the widget's allocation. This should not be used directly, but from within a widget's size_allocate method. a pointer to a #GtkAllocation to copy from Retrieves the widget's requisition. This function should only be used by widget implementations in order to figure whether the widget's requisition has actually changed after some internal state change (so that they can call gtk_widget_queue_resize() instead of gtk_widget_queue_draw()). Normally, gtk_widget_size_request() should be used. a pointer to a #GtkRequisition to copy to This function is used by custom widget implementations; if you're writing an app, you'd use gtk_widget_grab_focus() to move the focus to a particular widget, and gtk_container_set_focus_chain() to change the focus tab order. So you may want to investigate those functions instead. gtk_widget_child_focus() is called by containers as the user moves around the window using keyboard shortcuts. @direction indicates what kind of motion is taking place (up, down, left, right, tab forward, tab backward). gtk_widget_child_focus() emits the #GtkWidget::focus signal; widgets override the default handler for this signal in order to implement appropriate focus behavior. The default ::focus handler for a widget should return %TRUE if moving in @direction left the focus on a focusable location inside that widget, and %FALSE if moving in @direction moved the focus outside the widget. If returning %TRUE, widgets normally call gtk_widget_grab_focus() to place the focus accordingly; if returning %FALSE, they don't modify the current focus location. This function replaces gtk_container_focus() from GTK+ 1.2. It was necessary to check that the child was visible, sensitive, and focusable before calling gtk_container_focus(). gtk_widget_child_focus() returns %FALSE if the widget is not currently in a focusable state, so there's no need for those checks. %TRUE if focus ended up inside @widget direction of focus movement This function should be called whenever keyboard navigation within a single widget hits a boundary. The function emits the #GtkWidget::keynav-failed signal on the widget and its return value should be interpreted in a way similar to the return value of gtk_widget_child_focus(): When %TRUE is returned, stay in the widget, the failed keyboard navigation is Ok and/or there is nowhere we can/should move the focus to. When %FALSE is returned, the caller should continue with keyboard navigation outside the widget, e.g. by calling gtk_widget_child_focus() on the widget's toplevel. The default ::keynav-failed handler returns %TRUE for %GTK_DIR_TAB_FORWARD and %GTK_DIR_TAB_BACKWARD. For the other values of #GtkDirectionType, it looks at the #GtkSettings:gtk-keynav-cursor-only setting and returns %FALSE if the setting is %TRUE. This way the entire user interface becomes cursor-navigatable on input devices such as mobile phones which only have cursor keys but no tab key. Whenever the default handler returns %TRUE, it also calls gtk_widget_error_bell() to notify the user of the failed keyboard navigation. A use case for providing an own implementation of ::keynav-failed (either by connecting to it or by overriding it) would be a row of #GtkEntry widgets where the user should be able to navigate the entire row with the cursor keys, as e.g. known from user interfaces that require entering license keys. if the emitting widget should try to handle the keyboard navigation attempt in its parent container(s). %TRUE if stopping keyboard navigation is fine, %FALSE direction of focus movement Notifies the user about an input-related error on this widget. If the #GtkSettings:gtk-error-bell setting is %TRUE, it calls gdk_window_beep(), otherwise it does nothing. Note that the effect of gdk_window_beep() can be configured in many ways, depending on the windowing backend and the desktop environment or window manager that is used. Sets the minimum size of a widget; that is, the widget's size request will be @width by @height. You can use this function to force a widget to be either larger or smaller than it normally would be. In most cases, gtk_window_set_default_size() is a better choice for toplevel windows than this function; setting the default size will still allow users to shrink the window. Setting the size request will force them to leave the window at least as large as the size request. When dealing with window sizes, gtk_window_set_geometry_hints() can be a useful function as well. Note the inherent danger of setting any fixed size - themes, translations into other languages, different fonts, and user action can all change the appropriate size for a given widget. So, it's basically impossible to hardcode a size that will always be correct. The size request of a widget is the smallest size a widget can accept while still functioning well and drawing itself correctly. However in some strange cases a widget may be allocated less than its requested size, and in many cases a widget may be allocated more space than it requested. If the size request in a given direction is -1 (unset), then the "natural" size request of the widget will be used instead. Widgets can't actually be allocated a size less than 1 by 1, but you can pass 0,0 to this function to mean "as small as possible." width @widget should request, or -1 to unset height @widget should request, or -1 to unset Gets the size request that was explicitly set for the widget using gtk_widget_set_size_request(). A value of -1 stored in @width or and the natural requisition of the widget will be used intead. See gtk_widget_set_size_request(). To get the size a widget will actually use, call gtk_widget_size_request() instead of this function. return location for width, or %NULL return location for height, or %NULL Sets the position of a widget. The funny "u" in the name comes from the "user position" hint specified by the X Window System, and exists for legacy reasons. This function doesn't work if a widget is inside a container; it's only really useful on #GtkWindow. Don't use this function to center dialogs over the main application window; most window managers will do the centering on your behalf if you call gtk_window_set_transient_for(), and it's really not possible to get the centering to work correctly in all cases from application code. But if you insist, use gtk_window_set_position() to set #GTK_WIN_POS_CENTER_ON_PARENT, don't do the centering manually. Note that although @x and @y can be individually unset, the position is not honoured unless both @x and @y are set. x position; -1 to unset x; -2 to leave x unchanged y position; -1 to unset y; -2 to leave y unchanged Sets the minimum size of a widget; that is, the widget's size request will be @width by @height. You can use this function to force a widget to be either larger or smaller than it is. The strange "usize" name dates from the early days of GTK+, and derives from X Window System terminology. In many cases, gtk_window_set_default_size() is a better choice for toplevel windows than this function; setting the default size will still allow users to shrink the window. Setting the usize will force them to leave the window at least as large as the usize. When dealing with window sizes, gtk_window_set_geometry_hints() can be a useful function as well. Note the inherent danger of setting any fixed size - themes, translations into other languages, different fonts, and user action can all change the appropriate size for a given widget. So, it's basically impossible to hardcode a size that will always be correct. minimum width, or -1 to unset minimum height, or -1 to unset Sets the event mask (see #GdkEventMask) for a widget. The event mask determines which events a widget will receive. Keep in mind that different widgets have different default event masks, and by changing the event mask you may disrupt a widget's functionality, so be careful. This function must be called while a widget is unrealized. Consider gtk_widget_add_events() for widgets that are already realized, or if you want to preserve the existing event mask. This function can't be used with #GTK_NO_WINDOW widgets; to get events on those widgets, place them inside a #GtkEventBox and receive events on the event box. event mask Adds the events in the bitfield @events to the event mask for an event mask, see #GdkEventMask Sets the extension events mask to @mode. See #GdkExtensionMode and gdk_input_set_extension_events(). bitfield of extension events to receive Retrieves the extension events the widget will receive; see gdk_input_set_extension_events(). extension events for @widget This function returns the topmost widget in the container hierarchy returned as the topmost widget. No reference will be added to the returned widget; it should not be unreferenced. Note the difference in behavior vs. gtk_widget_get_ancestor(); <literal>gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW)</literal> would return %NULL if @widget wasn't inside a toplevel window, and if the window was inside a #GtkWindow-derived widget which was in turn inside the toplevel #GtkWindow. While the second case may seem unlikely, it actually happens when a #GtkPlug is embedded inside a #GtkSocket within the same application. To reliably find the toplevel #GtkWindow, use gtk_widget_get_toplevel() and check if the %TOPLEVEL flags is set on the result. |[ GtkWidget *toplevel = gtk_widget_get_toplevel (widget); if (gtk_widget_is_toplevel (toplevel)) { /&ast; Perform action on toplevel. &ast;/ } ]| if there's no ancestor. the topmost ancestor of @widget, or @widget itself Gets the first ancestor of @widget with type @widget_type. For example, <literal>gtk_widget_get_ancestor (widget, GTK_TYPE_BOX)</literal> gets the first #GtkBox that's an ancestor of @widget. No reference will be added to the returned widget; it should not be unreferenced. See note about checking for a toplevel #GtkWindow in the docs for gtk_widget_get_toplevel(). Note that unlike gtk_widget_is_ancestor(), gtk_widget_get_ancestor() considers @widget to be an ancestor of itself. the ancestor widget, or %NULL if not found ancestor type Gets the colormap that will be used to render @widget. No reference will be added to the returned colormap; it should not be unreferenced. the colormap used by @widget Gets the visual that will be used to render @widget. the visual for @widget Get the #GdkScreen from the toplevel window associated with this widget. This function can only be called after the widget has been added to a widget hierarchy with a #GtkWindow at the top. In general, you should only create screen specific resources when a widget has been realized, and you should free those resources when the widget is unrealized. the #GdkScreen for the toplevel for this widget. Checks whether there is a #GdkScreen is associated with this widget. All toplevel widgets have an associated screen, and all widgets added into a hierarchy with a toplevel window at the top. with the widget. %TRUE if there is a #GdkScreen associcated Get the #GdkDisplay for the toplevel window associated with this widget. This function can only be called after the widget has been added to a widget hierarchy with a #GtkWindow at the top. In general, you should only create display specific resources when a widget has been realized, and you should free those resources when the widget is unrealized. the #GdkDisplay for the toplevel for this widget. Get the root window where this widget is located. This function can only be called after the widget has been added to a widget hierarchy with #GtkWindow at the top. The root window is useful for such purposes as creating a popup #GdkWindow associated with the window. In general, you should only create display specific resources when a widget has been realized, and you should free those resources when the widget is unrealized. the #GdkWindow root window for the toplevel for this widget. Gets the settings object holding the settings (global property settings, RC file information, etc) used for this widget. Note that this function can only be called when the #GtkWidget is attached to a toplevel, since the settings object is specific to a particular #GdkScreen. the relevant #GtkSettings object Returns the clipboard object for the given selection to be used with @widget. @widget must have a #GdkDisplay associated with it, so must be attached to a toplevel window. clipboard already exists, a new one will be created. Once a clipboard object has been created, it is persistent for all time. the appropriate clipboard object. If no a #GdkAtom which identifies the clipboard to use. %GDK_SELECTION_CLIPBOARD gives the default clipboard. Another common value is %GDK_SELECTION_PRIMARY, which gives the primary X selection. Create a #GdkPixmap of the contents of the widget and its children. Works even if the widget is obscured. The depth and visual of the resulting pixmap is dependent on the widget being snapshot and likely differs from those of a target widget displaying the pixmap. The function gdk_pixbuf_get_from_drawable() can be used to convert the pixmap to a visual independant representation. The snapshot area used by this function is the @widget's allocation plus any extra space occupied by additional windows belonging to this widget (such as the arrows of a spin button). Thus, the resulting snapshot pixmap is possibly larger than the allocation. If @clip_rect is non-%NULL, the resulting pixmap is shrunken to match the specified clip_rect. The (x,y) coordinates of @clip_rect are interpreted widget relative. If width or height of @clip_rect are 0 or negative, the width or height of the resulting pixmap will be shrunken by the respective amount. For instance a @clip_rect <literal>{ +5, +5, -10, -10 }</literal> will chop off 5 pixels at each side of the snapshot pixmap. If non-%NULL, @clip_rect will contain the exact widget-relative snapshot coordinates upon return. A @clip_rect of <literal>{ -1, -1, 0, 0 }</literal> can be used to preserve the auto-grown snapshot area and use @clip_rect as a pure output parameter. The returned pixmap can be %NULL, if the resulting @clip_area was empty. #GdkPixmap snapshot of the widget a #GdkRectangle or %NULL Returns the accessible object that describes the widget to an assistive technology. If no accessibility library is loaded (i.e. no ATK implementation library is loaded via <envar>GTK_MODULES</envar> or via another application library, such as libgnome), then this #AtkObject instance may be a no-op. Likewise, if no class-specific #AtkObject implementation is available for the widget instance in question, it will inherit an #AtkObject implementation from the first ancestor class for which such an implementation is defined. The documentation of the <ulink url="http://developer.gnome.org/doc/API/2.0/atk/index.html">ATK</ulink> library contains more information about accessible objects and their uses. the #AtkObject associated with @widget Sets the colormap for the widget to the given value. Widget must not have been previously realized. This probably should only be used from an <function>init()</function> function (i.e. from the constructor for the widget). a colormap Returns the event mask for the widget (a bitfield containing flags from the #GdkEventMask enumeration). These are the events that the widget will receive. event mask for @widget Obtains the location of the mouse pointer in widget coordinates. Widget coordinates are a bit odd; for historical reasons, they are defined as @widget->window coordinates for widgets that are not #GTK_NO_WINDOW widgets, and are relative to @widget->allocation.x, return location for the X coordinate, or %NULL return location for the Y coordinate, or %NULL Determines whether @widget is somewhere inside @ancestor, possibly with intermediate containers. grandchild, great grandchild, etc. %TRUE if @ancestor contains @widget as a child, another #GtkWidget Translate coordinates relative to @src_widget's allocation to coordinates relative to @dest_widget's allocations. In order to perform this operation, both widgets must be realized, and must share a common toplevel. was no common ancestor. In this case, nothing is stored in *@dest_x and *@dest_y. Otherwise %TRUE. %FALSE if either widget was not realized, or there a #GtkWidget X position relative to @src_widget Y position relative to @src_widget location to store X position relative to @dest_widget location to store Y position relative to @dest_widget Utility function; intended to be connected to the #GtkWidget::delete-event signal on a #GtkWindow. The function calls gtk_widget_hide() on its argument, then returns %TRUE. If connected to ::delete-event, the result is that clicking the close button for a window (on the window frame, top right corner usually) will hide but not destroy the window. By default, GTK+ destroys windows when ::delete-event is received. %TRUE This function attaches the widget's #GtkStyle to the widget's #GdkWindow. It is a replacement for <programlisting> widget->style = gtk_style_attach (widget->style, widget->window); </programlisting> and should only ever be called in a derived widget's "realize" implementation which does not chain up to its parent class' "realize" implementation, because one of the parent classes (finally #GtkWidget) would attach the style itself. Determines if the widget style has been looked up through the rc mechanism. mechanism, %FALSE otherwise. %TRUE if the widget has been looked up through the rc Sets the #GtkStyle for a widget (@widget->style). You probably don't want to use this function; it interacts badly with themes, because themes work by replacing the #GtkStyle. Instead, use gtk_widget_modify_style(). a #GtkStyle, or %NULL to remove the effect of a previous gtk_widget_set_style() and go back to the default style Ensures that @widget has a style (@widget->style). Not a very useful function; most of the time, if you want the style, the widget is realized, and realized widgets are guaranteed to have a style already. Simply an accessor function that returns @widget->style. the widget's #GtkStyle Modifies style values on the widget. Modifications made using this technique take precedence over style values set via an RC file, however, they will be overriden if a style is explicitely set on the widget using gtk_widget_set_style(). The #GtkRcStyle structure is designed so each field can either be set or unset, so it is possible, using this function, to modify some style values and leave the others unchanged. Note that modifications made with this function are not cumulative with previous calls to gtk_widget_modify_style() or with such functions as gtk_widget_modify_fg(). If you wish to retain previous values, you must first call gtk_widget_get_modifier_style(), make your modifications to the returned style, then call gtk_widget_modify_style() with that style. On the other hand, if you first call gtk_widget_modify_style(), subsequent calls to such functions gtk_widget_modify_fg() will have a cumulative effect with the initial modifications. the #GtkRcStyle holding the style modifications Returns the current modifier style for the widget. (As set by gtk_widget_modify_style().) If no style has previously set, a new #GtkRcStyle will be created with all values unset, and set as the modifier style for the widget. If you make changes to this rc style, you must call gtk_widget_modify_style(), passing in the returned rc style, to make sure that your changes take effect. normally end up destroying it, because gtk_widget_modify_style() copies the passed-in style and sets the copy as the new modifier style, thus dropping any reference to the old modifier style. Add a reference to the modifier style if you want to keep it alive. owned by the widget. If you want to keep a pointer to value this around, you must add a refcount using g_object_ref(). the modifier style for the widget. This rc style is Sets the foreground color for a widget in a particular state. All other style values are left untouched. See also gtk_widget_modify_style(). the state for which to set the foreground color the color to assign (does not need to be allocated), or %NULL to undo the effect of previous calls to of gtk_widget_modify_fg(). Sets the background color for a widget in a particular state. All other style values are left untouched. See also gtk_widget_modify_style(). Note that "no window" widgets (which have the %GTK_NO_WINDOW flag set) draw on their parent container's window and thus may not draw any background themselves. This is the case for e.g. #GtkLabel. To modify the background of such widgets, you have to set the background color on their parent; if you want to set the background of a rectangular area around a label, try placing the label in a #GtkEventBox widget and setting the background color on that. the state for which to set the background color the color to assign (does not need to be allocated), or %NULL to undo the effect of previous calls to of gtk_widget_modify_bg(). Sets the text color for a widget in a particular state. All other style values are left untouched. The text color is the foreground color used along with the base color (see gtk_widget_modify_base()) for widgets such as #GtkEntry and #GtkTextView. See also gtk_widget_modify_style(). the state for which to set the text color the color to assign (does not need to be allocated), or %NULL to undo the effect of previous calls to of gtk_widget_modify_text(). Sets the base color for a widget in a particular state. All other style values are left untouched. The base color is the background color used along with the text color (see gtk_widget_modify_text()) for widgets such as #GtkEntry and #GtkTextView. See also gtk_widget_modify_style(). Note that "no window" widgets (which have the %GTK_NO_WINDOW flag set) draw on their parent container's window and thus may not draw any background themselves. This is the case for e.g. #GtkLabel. To modify the background of such widgets, you have to set the base color on their parent; if you want to set the background of a rectangular area around a label, try placing the label in a #GtkEventBox widget and setting the base color on that. the state for which to set the base color the color to assign (does not need to be allocated), or %NULL to undo the effect of previous calls to of gtk_widget_modify_base(). Sets the cursor color to use in a widget, overriding the #GtkWidget:cursor-color and #GtkWidget:secondary-cursor-color style properties. All other style values are left untouched. See also gtk_widget_modify_style(). the color to use for primary cursor (does not need to be allocated), or %NULL to undo the effect of previous calls to of gtk_widget_modify_cursor(). the color to use for secondary cursor (does not need to be allocated), or %NULL to undo the effect of previous calls to of gtk_widget_modify_cursor(). Sets the font to use for a widget. All other style values are left untouched. See also gtk_widget_modify_style(). the font description to use, or %NULL to undo the effect of previous calls to gtk_widget_modify_font(). Creates a new #PangoContext with the appropriate font map, font description, and base direction for drawing text for this widget. See also gtk_widget_get_pango_context(). the new #PangoContext Gets a #PangoContext with the appropriate font map, font description, and base direction for this widget. Unlike the context returned by gtk_widget_create_pango_context(), this context is owned by the widget (it can be used until the screen for the widget changes or the widget is removed from its toplevel), and will be updated to match any changes to the widget's attributes. If you create and keep a #PangoLayout using this context, you must deal with changes to the context by calling pango_layout_context_changed() on the layout in response to the #GtkWidget::style-set and #GtkWidget::direction-changed signals for the widget. the #PangoContext for the widget. Creates a new #PangoLayout with the appropriate font map, font description, and base direction for drawing text for this widget. If you keep a #PangoLayout created in this way around, in order to notify the layout of changes to the base direction or font of this widget, you must call pango_layout_context_changed() in response to the #GtkWidget::style-set and #GtkWidget::direction-changed signals for the widget. the new #PangoLayout text to set on the layout (can be %NULL) A convenience function that uses the theme engine and RC file settings for @widget to look up @stock_id and render it to a pixbuf. @stock_id should be a stock icon ID such as #GTK_STOCK_OPEN or #GTK_STOCK_OK. @size should be a size such as #GTK_ICON_SIZE_MENU. @detail should be a string that identifies the widget or code doing the rendering, so that theme engines can special-case rendering for that widget or code. The pixels in the returned #GdkPixbuf are shared with the rest of the application and should not be modified. The pixbuf should be freed after use with g_object_unref(). a new pixbuf, or %NULL if the stock ID wasn't known a stock ID (type int) a stock size. A size of (GtkIconSize)-1 means render at the size of the source and don't scale (if there are multiple source sizes, GTK+ picks one of the available sizes). render detail to pass to theme engine Sets a widgets composite name. The widget must be a composite child of its parent; see gtk_widget_push_composite_child(). the name to set Obtains the composite name of a widget. a composite child. The string should be freed when it is no longer needed. the composite name of @widget, or %NULL if @widget is not Reset the styles of @widget and all descendents, so when they are looked up again, they get the correct values for the currently loaded RC file settings. This function is not useful for applications. Gets the value of a style property of @widget. the name of a style property location to return the property value Gets the values of a multiple style properties of @widget. the name of the first property to get Sets the reading direction on a particular widget. This direction controls the primary direction for widgets containing text, and also the direction in which the children of a container are packed. The ability to set the direction is present in order so that correct localization into languages with right-to-left reading directions can be done. Generally, applications will let the default reading direction present, except for containers where the containers are arranged in an order that is explicitely visual rather than logical (such as buttons for text justification). If the direction is set to %GTK_TEXT_DIR_NONE, then the value set by gtk_widget_set_default_direction() will be used. the new direction Gets the reading direction for a particular widget. See gtk_widget_set_direction(). the reading direction for the widget. Whether @widget can rely on having its alpha channel drawn correctly. On X11 this function returns whether a compositing manager is running for @widget's screen. Please note that the semantics of this call will change in the future if used on a widget that has a composited window in its hierarchy (as set by gdk_window_set_composited()). channel being drawn correctly. %TRUE if the widget can rely on its alpha Sets a shape for this widget's GDK window. This allows for transparent windows etc., see gdk_window_shape_combine_mask() for more information. shape to be added, or %NULL to remove an existing shape X position of shape mask with respect to @window Y position of shape mask with respect to @window Sets an input shape for this widget's GDK window. This allows for windows which react to mouse click in a nonrectangular region, see gdk_window_input_shape_combine_mask() for more information. shape to be added, or %NULL to remove an existing shape X position of shape mask with respect to @window Y position of shape mask with respect to @window Recursively resets the shape on this widget and its descendants. Obtains the full path to @widget. The path is simply the name of a widget and all its parents in the container hierarchy, separated by periods. The name of a widget comes from gtk_widget_get_name(). Paths are used to apply styles to a widget in gtkrc configuration files. Widget names are the type of the widget by default (e.g. "GtkButton") or can be set to an application-specific value with gtk_widget_set_name(). By setting the name of a widget, you allow users or theme authors to apply styles to that specific widget in their gtkrc file. @path_reversed_p fills in the path in reverse order, i.e. starting with @widget's name instead of starting with the name of @widget's outermost ancestor. location to store length of the path, or %NULL location to store allocated path string, or %NULL location to store allocated reverse path string, or %NULL Same as gtk_widget_path(), but always uses the name of a widget's type, never uses a custom name set with gtk_widget_set_name(). location to store the length of the class path, or %NULL (out) (allow-none) location to store the class path as an allocated string, or %NULL (out) (allow-none) location to store the reverse class path as an allocated string, or %NULL Returns a newly allocated list of the widgets, normally labels, for which this widget is a the target of a mnemonic (see for example, gtk_label_set_mnemonic_widget()). The widgets in the list are not individually referenced. If you want to iterate through the list and perform actions involving callbacks that might destroy the widgets, you <emphasis>must</emphasis> call <literal>g_list_foreach (result, (GFunc)g_object_ref, NULL)</literal> first, and then unref all the widgets afterwards. mnemonic labels; free this list with g_list_free() when you are done with it. the list of Adds a widget to the list of mnemonic labels for this widget. (See gtk_widget_list_mnemonic_labels()). Note the list of mnemonic labels for the widget is cleared when the widget is destroyed, so the caller must make sure to update its internal state at this point as well, by using a connection to the #GtkWidget::destroy signal or a weak notifier. a #GtkWidget that acts as a mnemonic label for @widget Removes a widget from the list of mnemonic labels for this widget. (See gtk_widget_list_mnemonic_labels()). The widget must have previously been added to the list with gtk_widget_add_mnemonic_label(). a #GtkWidget that was previously set as a mnemnic label for Replaces the default, usually yellow, window used for displaying tooltips with @custom_window. GTK+ will take care of showing and hiding @custom_window at the right moment, to behave likewise as the default tooltip window. If @custom_window is %NULL, the default tooltip window will be used. If the custom window should have the default theming it needs to have the name "gtk-tooltip", see gtk_widget_set_name(). a #GtkWindow, or %NULL Returns the #GtkWindow of the current tooltip. This can be the GtkWindow created by default, or the custom tooltip window set using gtk_widget_set_tooltip_window(). The #GtkWindow of the current tooltip. Triggers a tooltip query on the display where the toplevel of @widget is located. See gtk_tooltip_trigger_tooltip_query() for more information. Sets @text as the contents of the tooltip. This function will take care of setting GtkWidget:has-tooltip to %TRUE and of the default handler for the GtkWidget::query-tooltip signal. See also the GtkWidget:tooltip-text property and gtk_tooltip_set_text(). the contents of the tooltip for @widget Gets the contents of the tooltip for @widget. returned string with g_free() when done. the tooltip text, or %NULL. You should free the Sets @markup as the contents of the tooltip, which is marked up with the <link linkend="PangoMarkupFormat">Pango text markup language</link>. This function will take care of setting GtkWidget:has-tooltip to %TRUE and of the default handler for the GtkWidget::query-tooltip signal. See also the GtkWidget:tooltip-markup property and gtk_tooltip_set_markup(). the contents of the tooltip for @widget, or %NULL Gets the contents of the tooltip for @widget. returned string with g_free() when done. the tooltip text, or %NULL. You should free the Sets the has-tooltip property on @widget to @has_tooltip. See GtkWidget:has-tooltip for more information. whether or not @widget has a tooltip. Returns the current value of the has-tooltip property. See GtkWidget:has-tooltip for more information. current value of has-tooltip on @widget. Returns the #GtkAction that @widget is a proxy for. See also gtk_action_get_proxies(). %NULL, if it is not attached to an action. the action that a widget is a proxy for, or Enables or disables the emission of #GtkWidget::query-tooltip on @widget. A value of %TRUE indicates that @widget can have a tooltip, in this case the widget will be queried using #GtkWidget::query-tooltip to determine whether it will provide a tooltip or not. Note that setting this property to %TRUE for the first time will change the event masks of the GdkWindows of this widget to include leave-notify and motion-notify events. This cannot and will not be undone when the property is set to %FALSE again. Sets the text of tooltip to be the given string, which is marked up with the <link linkend="PangoMarkupFormat">Pango text markup language</link>. Also see gtk_tooltip_set_markup(). This is a convenience property which will take care of getting the will automatically be set to %TRUE and there will be taken care of #GtkWidget::query-tooltip in the default signal handler. Sets the text of tooltip to be the given string. Also see gtk_tooltip_set_text(). This is a convenience property which will take care of getting the will automatically be set to %TRUE and there will be taken care of #GtkWidget::query-tooltip in the default signal handler. The widget's window if it is realized, %NULL otherwise. The ::button-press-event signal will be emitted when a button (typically from a mouse) is pressed. To receive this signal, the #GdkWindow associated to the widget needs to enable the #GDK_BUTTON_PRESS_MASK mask. This signal will be sent to the grab widget if there is one. %FALSE to propagate the event further. %TRUE to stop other handlers from being invoked for the event. the #GdkEventButton which triggered this signal The ::button-release-event signal will be emitted when a button (typically from a mouse) is released. To receive this signal, the #GdkWindow associated to the widget needs to enable the #GDK_BUTTON_RELEASE_MASK mask. This signal will be sent to the grab widget if there is one. %FALSE to propagate the event further. %TRUE to stop other handlers from being invoked for the event. the #GdkEventButton which triggered this signal Determines whether an accelerator that activates the signal identified by @signal_id can currently be activated. This signal is present to allow applications and derived widgets to override the default #GtkWidget handling for determining whether an accelerator can be activated. %TRUE if the signal can be activated. the ID of a signal installed on @widget The ::child-notify signal is emitted for each <link linkend="child-properties">child property</link> that has changed on an object. The signal's detail holds the property name. the #GParamSpec of the changed child property The ::client-event will be emitted when the @widget's window receives a message (via a ClientMessage event) from another application. the event. %FALSE to propagate the event further. %TRUE to stop other handlers from being invoked for the #GdkEventClient which triggered this signal The ::composited-changed signal is emitted when the composited status of @widget<!-- -->s screen changes. See gdk_screen_is_composited(). Emitted when a redirected window belonging to @widget gets drawn into. The region/area members of the event shows what area of the redirected drawable was drawn into. %FALSE to propagate the event further. %TRUE to stop other handlers from being invoked for the event. the #GdkEventExpose event The ::delete-event signal is emitted if a user requests that a toplevel window is closed. The default handler for this signal destroys the window. Connecting gtk_widget_hide_on_delete() to this signal will cause the window to be hidden instead, so that it can later be shown again without reconstructing it. %FALSE to propagate the event further. %TRUE to stop other handlers from being invoked for the event. the event which triggered this signal The ::destroy-event signal is emitted when a #GdkWindow is destroyed. You rarely get this signal, because most widgets disconnect themselves from their window before they destroy it, so no widget owns the window at destroy time. To receive this signal, the #GdkWindow associated to the widget needs to enable the #GDK_STRUCTURE_MASK mask. GDK will enable this mask automatically for all new windows. %FALSE to propagate the event further. %TRUE to stop other handlers from being invoked for the event. the event which triggered this signal The ::direction-changed signal is emitted when the text direction of a widget changes. the previous text direction of @widget The ::drag-begin signal is emitted on the drag source when a drag is started. A typical reason to connect to this signal is to set up a custom drag icon with gtk_drag_source_set_icon(). Note that some widgets set up a drag icon in the default handler of this signal, so you may have to use g_signal_connect_after() to override what the default handler did. the drag context The ::drag-data-delete signal is emitted on the drag source when a drag with the action %GDK_ACTION_MOVE is successfully completed. The signal handler is responsible for deleting the data that has been dropped. What "delete" means depends on the context of the drag operation. the drag context The ::drag-data-get signal is emitted on the drag source when the drop site requests the data which is dragged. It is the responsibility of the signal handler to fill @data with the data in the format which is indicated by @info. See gtk_selection_data_set() and gtk_selection_data_set_text(). the drag context the #GtkSelectionData to be filled with the dragged data the info that has been registered with the target in the #GtkTargetList the timestamp at which the data was requested The ::drag-data-received signal is emitted on the drop site when the dragged data has been received. If the data was received in order to determine whether the drop will be accepted, the handler is expected to call gdk_drag_status() and <emphasis>not</emphasis> finish the drag. If the data was received in response to a #GtkWidget::drag-drop signal (and this is the last target to be received), the handler for this signal is expected to process the received data and then call gtk_drag_finish(), setting the @success parameter depending on whether the data was processed successfully. The handler may inspect and modify @drag_context->action before calling gtk_drag_finish(), e.g. to implement %GDK_ACTION_ASK as shown in the following example: |[ void drag_data_received (GtkWidget *widget, GdkDragContext *drag_context, gint x, gint y, GtkSelectionData *data, guint info, guint time) { if ((data->length >= 0) && (data->format == 8)) { if (drag_context->action == GDK_ACTION_ASK) { GtkWidget *dialog; gint response; dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_INFO, GTK_BUTTONS_YES_NO, "Move the data ?\n"); response = gtk_dialog_run (GTK_DIALOG (dialog)); gtk_widget_destroy (dialog); if (response == GTK_RESPONSE_YES) drag_context->action = GDK_ACTION_MOVE; else drag_context->action = GDK_ACTION_COPY; } gtk_drag_finish (drag_context, TRUE, FALSE, time); return; } gtk_drag_finish (drag_context, FALSE, FALSE, time); } ]| the drag context where the drop happened where the drop happened the received data the info that has been registered with the target in the #GtkTargetList the timestamp at which the data was received The ::drag-drop signal is emitted on the drop site when the user drops the data onto the widget. The signal handler must determine whether the cursor position is in a drop zone or not. If it is not in a drop zone, it returns %FALSE and no further processing is necessary. Otherwise, the handler returns %TRUE. In this case, the handler must ensure that gtk_drag_finish() is called to let the source know that the drop is done. The call to gtk_drag_finish() can be done either directly or in a #GtkWidget::drag-data-received handler which gets triggered by calling gtk_drag_get_data() to receive the data for one or more of the supported targets. whether the cursor position is in a drop zone the drag context the x coordinate of the current cursor position the y coordinate of the current cursor position the timestamp of the motion event The ::drag-end signal is emitted on the drag source when a drag is finished. A typical reason to connect to this signal is to undo things done in #GtkWidget::drag-begin. the drag context The ::drag-failed signal is emitted on the drag source when a drag has failed. The signal handler may hook custom code to handle a failed DND operation based on the type of error, it returns %TRUE is the failure has been already handled (not showing the default "drag operation failed" animation), otherwise it returns %FALSE. %TRUE if the failed drag operation has been already handled. the drag context the result of the drag operation The ::drag-leave signal is emitted on the drop site when the cursor leaves the widget. A typical reason to connect to this signal is to undo things done in #GtkWidget::drag-motion, e.g. undo highlighting with gtk_drag_unhighlight() the drag context the timestamp of the motion event The drag-motion signal is emitted on the drop site when the user moves the cursor over the widget during a drag. The signal handler must determine whether the cursor position is in a drop zone or not. If it is not in a drop zone, it returns %FALSE and no further processing is necessary. Otherwise, the handler returns %TRUE. In this case, the handler is responsible for providing the necessary information for displaying feedback to the user, by calling gdk_drag_status(). If the decision whether the drop will be accepted or rejected can't be made based solely on the cursor position and the type of the data, the handler may inspect the dragged data by calling gtk_drag_get_data() and defer the gdk_drag_status() call to the #GtkWidget::drag-data-received handler. Note that you cannot not pass #GTK_DEST_DEFAULT_DROP, #GTK_DEST_DEFAULT_MOTION or #GTK_DEST_DEFAULT_ALL to gtk_drag_dest_set() when using the drag-motion signal that way. Also note that there is no drag-enter signal. The drag receiver has to keep track of whether he has received any drag-motion signals since the last #GtkWidget::drag-leave and if not, treat the drag-motion signal as an "enter" signal. Upon an "enter", the handler will typically highlight the drop site with gtk_drag_highlight(). |[ static void drag_motion (GtkWidget *widget, GdkDragContext *context, gint x, gint y, guint time) { GdkAtom target; PrivateData *private_data = GET_PRIVATE_DATA (widget); if (!private_data->drag_highlight) { private_data->drag_highlight = 1; gtk_drag_highlight (widget); } target = gtk_drag_dest_find_target (widget, context, NULL); if (target == GDK_NONE) gdk_drag_status (context, 0, time); else { private_data->pending_status = context->suggested_action; gtk_drag_get_data (widget, context, target, time); } return TRUE; } static void drag_data_received (GtkWidget *widget, GdkDragContext *context, gint x, gint y, GtkSelectionData *selection_data, guint info, guint time) { PrivateData *private_data = GET_PRIVATE_DATA (widget); if (private_data->suggested_action) { private_data->suggested_action = 0; /&ast; We are getting this data due to a request in drag_motion, * rather than due to a request in drag_drop, so we are just * supposed to call gdk_drag_status (), not actually paste in * the data. &ast;/ str = gtk_selection_data_get_text (selection_data); if (!data_is_acceptable (str)) gdk_drag_status (context, 0, time); else gdk_drag_status (context, private_data->suggested_action, time); } else { /&ast; accept the drop &ast;/ } } ]| whether the cursor position is in a drop zone the drag context the x coordinate of the current cursor position the y coordinate of the current cursor position the timestamp of the motion event The ::enter-notify-event will be emitted when the pointer enters the @widget's window. To receive this signal, the #GdkWindow associated to the widget needs to enable the #GDK_ENTER_NOTIFY_MASK mask. This signal will be sent to the grab widget if there is one. %FALSE to propagate the event further. %TRUE to stop other handlers from being invoked for the event. the #GdkEventCrossing which triggered this signal The GTK+ main loop will emit three signals for each GDK event delivered signal that matches the type of event delivered (e.g. #GtkWidget::key-press-event) and finally a generic #GtkWidget::event-after signal. and to cancel the emission of the second specific ::event signal. %FALSE to propagate the event further and to allow the emission of the second signal. The ::event-after signal is emitted regardless of the return value. %TRUE to stop other handlers from being invoked for the event the #GdkEvent which triggered this signal After the emission of the #GtkWidget::event signal and (optionally) the second more specific signal, ::event-after will be emitted regardless of the previous two signals handlers return values. the #GdkEvent which triggered this signal The ::expose-event signal is emitted when an area of a previously obscured #GdkWindow is made visible and needs to be redrawn. #GTK_NO_WINDOW widgets will get a synthesized event from their parent widget. To receive this signal, the #GdkWindow associated to the widget needs to enable the #GDK_EXPOSURE_MASK mask. %FALSE to propagate the event further. %TRUE to stop other handlers from being invoked for the event. the #GdkEventExpose which triggered this signal %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further. %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further. Emitted when a pointer or keyboard grab on a window belonging to @widget gets broken. On X11, this happens when the grab window becomes unviewable (i.e. it or one of its ancestors is unmapped), or if the same application grabs the pointer or keyboard again. the event. %FALSE to propagate the event further. %TRUE to stop other handlers from being invoked for the #GdkEventGrabBroken event The ::grab-notify signal is emitted when a widget becomes shadowed by a GTK+ grab (not a pointer or keyboard grab) on another widget, or when it becomes unshadowed due to a grab being removed. A widget is shadowed by a gtk_grab_add() when the topmost grab widget in the grab stack of its window group is not its ancestor. %FALSE if the widget becomes shadowed, %TRUE if it becomes unshadowed The ::hierarchy-changed signal is emitted when the anchored state of a widget changes. A widget is <firstterm>anchored</firstterm> when its toplevel ancestor is a #GtkWindow. This signal is emitted when a widget changes from un-anchored to anchored or vice-versa. the previous toplevel ancestor, or %NULL if the widget was previously unanchored The ::key-press-event signal is emitted when a key is pressed. To receive this signal, the #GdkWindow associated to the widget needs to enable the #GDK_KEY_PRESS_MASK mask. This signal will be sent to the grab widget if there is one. %FALSE to propagate the event further. %TRUE to stop other handlers from being invoked for the event. the #GdkEventKey which triggered this signal The ::key-release-event signal is emitted when a key is pressed. To receive this signal, the #GdkWindow associated to the widget needs to enable the #GDK_KEY_RELEASE_MASK mask. This signal will be sent to the grab widget if there is one. %FALSE to propagate the event further. %TRUE to stop other handlers from being invoked for the event. the #GdkEventKey which triggered this signal Gets emitted if keyboard navigation fails. See gtk_widget_keynav_failed() for details. if the emitting widget should try to handle the keyboard navigation attempt in its parent container(s). %TRUE if stopping keyboard navigation is fine, %FALSE the direction of movement The ::leave-notify-event will be emitted when the pointer leaves the @widget's window. To receive this signal, the #GdkWindow associated to the widget needs to enable the #GDK_LEAVE_NOTIFY_MASK mask. This signal will be sent to the grab widget if there is one. %FALSE to propagate the event further. %TRUE to stop other handlers from being invoked for the event. the #GdkEventCrossing which triggered this signal The ::motion-notify-event signal is emitted when the pointer moves over the widget's #GdkWindow. To receive this signal, the #GdkWindow associated to the widget needs to enable the #GDK_POINTER_MOTION_MASK mask. This signal will be sent to the grab widget if there is one. %FALSE to propagate the event further. %TRUE to stop other handlers from being invoked for the event. the #GdkEventMotion which triggered this signal The ::no-expose-event will be emitted when the @widget's window is drawn as a copy of another #GdkDrawable (with gdk_draw_drawable() or gdk_window_copy_area()) which was completely unobscured. If the source window was partially obscured #GdkEventExpose events will be generated for those areas. %FALSE to propagate the event further. %TRUE to stop other handlers from being invoked for the event. the #GdkEventNoExpose which triggered this signal The ::parent-set signal is emitted when a new parent has been set on a widget. the previous parent, or %NULL if the widget just got its initial parent. Emitted when #GtkWidget:has-tooltip is %TRUE and the #GtkSettings:gtk-tooltip-timeout has expired with the cursor hovering "above" @widget; or emitted when @widget got focus in keyboard mode. Using the given coordinates, the signal handler should determine whether a tooltip should be shown for @widget. If this is the case %TRUE should be returned, %FALSE otherwise. Note that if should not be used. The signal handler is free to manipulate @tooltip with the therefore destined function calls. %TRUE if @tooltip should be shown right now, %FALSE otherwise. the x coordinate of the cursor position where the request has been emitted, relative to @widget->window the y coordinate of the cursor position where the request has been emitted, relative to @widget->window %TRUE if the tooltip was trigged using the keyboard a #GtkTooltip The ::screen-changed signal gets emitted when the screen of a widget has changed. the previous screen, or %NULL if the widget was not associated with a screen before The ::scroll-event signal is emitted when a button in the 4 to 7 range is pressed. Wheel mice are usually configured to generate button press events for buttons 4 and 5 when the wheel is turned. To receive this signal, the #GdkWindow associated to the widget needs to enable the #GDK_BUTTON_PRESS_MASK mask. This signal will be sent to the grab widget if there is one. %FALSE to propagate the event further. %TRUE to stop other handlers from being invoked for the event. the #GdkEventScroll which triggered this signal %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further. %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further. The ::state-changed signal is emitted when the widget state changes. See gtk_widget_get_state(). the previous state The ::style-set signal is emitted when a new style has been set on a widget. Note that style-modifying functions like gtk_widget_modify_base() also cause this signal to be emitted. the previous style, or %NULL if the widget just got its initial style The ::visibility-notify-event will be emitted when the @widget's window is obscured or unobscured. To receive this signal the #GdkWindow associated to the widget needs to enable the #GDK_VISIBILITY_NOTIFY_MASK mask. %FALSE to propagate the event further. %TRUE to stop other handlers from being invoked for the event. the #GdkEventVisibility which triggered this signal The ::window-state-event will be emitted when the state of the toplevel window associated to the @widget changes. To receive this signal the #GdkWindow associated to the widget needs to enable the #GDK_STRUCTURE_MASK mask. GDK will enable this mask automatically for all new windows. event. %FALSE to propagate the event further. %TRUE to stop other handlers from being invoked for the the #GdkEventWindowState which triggered this signal <structfield>activate_signal</structfield> The signal to emit when a widget of this class is activated, gtk_widget_activate() handles the emission. Implementation of this signal is optional. <structfield>set_scroll_adjustment_signal</structfield> This signal is emitted when a widget of this class is added to a scrolling aware parent, gtk_widget_set_scroll_adjustments() handles the emission. Implementation of this signal is optional. the #AtkObject associated with @widget Installs a style property on a widget class. The parser for the style property is determined by the value type of @pspec. the #GParamSpec for the property Installs a style property on a widget class. the #GParamSpec for the style property the parser for the style property Finds a style property of a widget class by name. the #GParamSpec of the style property or %NULL if @class has no style property with that name. the name of the style property to find Returns all style properties of a widget class. an newly allocated array of #GParamSpec*. The array must be freed with g_free(). location to return the number of style properties found Tells about certain properties of the widget. Creates a new #GtkWindow, which is a toplevel window that can contain other widgets. Nearly always, the type of the window should be #GTK_WINDOW_TOPLEVEL. If you're implementing something like a popup menu from scratch (which is a bad idea, just use #GtkMenu), you might use #GTK_WINDOW_POPUP. #GTK_WINDOW_POPUP is not for dialogs, though in some other toolkits dialogs are called "popups". In GTK+, #GTK_WINDOW_POPUP means a pop-up menu or pop-up tooltip. On X11, popup windows are not controlled by the <link linkend="gtk-X11-arch">window manager</link>. If you simply want an undecorated window (no window borders), use gtk_window_set_decorated(), don't use #GTK_WINDOW_POPUP. a new #GtkWindow. type of window Sets an icon list to be used as fallback for windows that haven't had gtk_window_set_icon_list() called on them to set up a window-specific icon list. This function allows you to set up the icon for all windows in your app at once. See gtk_window_set_icon_list() for more details. a list of #GdkPixbuf Gets the value set by gtk_window_set_default_icon_list(). The list is a copy and should be freed with g_list_free(), but the pixbufs in the list have not had their reference count incremented. copy of default icon list Sets an icon to be used as fallback for windows that haven't had gtk_window_set_icon() called on them from a pixbuf. the icon Sets an icon to be used as fallback for windows that haven't had gtk_window_set_icon_list() called on them from a named themed icon, see gtk_window_set_icon_name(). the name of the themed icon Returns the fallback icon name for windows that has been set with gtk_window_set_default_icon_name(). The returned string is owned by GTK+ and should not be modified. It is only valid until the next call to gtk_window_set_default_icon_name(). the fallback icon name for windows Sets an icon to be used as fallback for windows that haven't had gtk_window_set_icon_list() called on them from a file on disk. Warns on failure if @err is %NULL. %TRUE if setting the icon succeeded. location of icon file By default, after showing the first #GtkWindow, GTK+ calls gdk_notify_startup_complete(). Call this function to disable the automatic startup notification. You might do this if your first window is a splash screen, and you want to delay notification until after your real main window has been shown, for example. In that example, you would disable startup notification temporarily, show your splash screen, then re-enable it so that showing the main window would automatically result in notification. %TRUE to automatically do startup notification Returns a list of all existing toplevel windows. The widgets in the list are not individually referenced. If you want to iterate through the list and perform actions involving callbacks that might destroy the widgets, you <emphasis>must</emphasis> call <literal>g_list_foreach (result, (GFunc)g_object_ref, NULL)</literal> first, and then unref all the widgets afterwards. list of toplevel widgets Sets the title of the #GtkWindow. The title of a window will be displayed in its title bar; on the X Window System, the title bar is rendered by the <link linkend="gtk-X11-arch">window manager</link>, so exactly how the title appears to users may vary according to a user's exact configuration. The title should help a user distinguish this window from other windows they may have open. A good title might include the application name and current document filename, for example. title of the window Retrieves the title of the window. See gtk_window_set_title(). been set explicitely. The returned string is owned by the widget and must not be modified or freed. the title of the window, or %NULL if none has Don't use this function. It sets the X Window System "class" and "name" hints for a window. According to the ICCCM, you should always set these to the same value for all windows in an application, and GTK+ sets them to that value by default, so calling this function is sort of pointless. However, you may want to call gtk_window_set_role() on each window in your application, for the benefit of the session manager. Setting the role allows the window manager to restore window positions when loading a saved session. window name hint window class hint This function is only useful on X11, not with other GTK+ targets. In combination with the window title, the window role allows a <link linkend="gtk-X11-arch">window manager</link> to identify "the same" window when an application is restarted. So for example you might set the "toolbox" role on your app's toolbox window, so that when the user restarts their session, the window manager can put the toolbox back in the same place. If a window already has a unique title, you don't need to set the role, since the WM can use the title to identify the window when restoring the session. unique identifier for the window to be used when restoring a session Startup notification identifiers are used by desktop environment to track application startup, to provide user feedback and other features. This function changes the corresponding property on the underlying GdkWindow. Normally, startup identifier is managed automatically and you should only use this function in special cases like transferring focus from other processes. You should use this function before calling gtk_window_present() or any equivalent function generating a window map event. This function is only useful on X11, not with other GTK+ targets. a string with startup-notification identifier Returns the role of the window. See gtk_window_set_role() for further explanation. returned is owned by the widget and must not be modified or freed. the role of the window if set, or %NULL. The Associate @accel_group with @window, such that calling gtk_accel_groups_activate() on @window will activate accelerators in @accel_group. a #GtkAccelGroup Reverses the effects of gtk_window_add_accel_group(). a #GtkAccelGroup Sets a position constraint for this window. If the old or new constraint is %GTK_WIN_POS_CENTER_ALWAYS, this will also cause the window to be repositioned to satisfy the new constraint. a position constraint. Activates the current focused widget within the window. %TRUE if a widget got activated. If @focus is not the current focus widget, and is focusable, sets it as the focus widget for the window. If @focus is %NULL, unsets the focus widget for this window. To set the focus to a particular widget in the toplevel, it is usually more convenient to use gtk_widget_grab_focus() instead of this function. widget to be the new focus widget, or %NULL to unset any focus widget for the toplevel window. Retrieves the current focused widget within the window. Note that this is the widget that would have the focus if the toplevel window focused; if the toplevel window is not focused then <literal>gtk_widget_has_focus (widget)</literal> will not be %TRUE for the widget. the currently focused widget, or %NULL if there is none. The default widget is the widget that's activated when the user presses Enter in a dialog (for example). This function sets or unsets the default widget for a #GtkWindow about. When setting (rather than unsetting) the default widget it's generally easier to call gtk_widget_grab_focus() on the widget. Before making a widget the default widget, you must set the #GTK_CAN_DEFAULT flag on the widget you'd like to make the default using GTK_WIDGET_SET_FLAGS(). widget to be the default, or %NULL to unset the default widget for the toplevel. Returns the default widget for @window. See gtk_window_set_default() for more details. the default widget, or %NULL if there is none. Activates the default widget for the window, unless the current focused widget has been configured to receive the default action (see gtk_widget_set_receives_default()), in which case the focused widget is activated. %TRUE if a widget got activated. Dialog windows should be set transient for the main application window they were spawned from. This allows <link linkend="gtk-X11-arch">window managers</link> to e.g. keep the dialog on top of the main window, or center the dialog over the main window. gtk_dialog_new_with_buttons() and other convenience functions in GTK+ will sometimes call gtk_window_set_transient_for() on your behalf. Passing %NULL for @parent unsets the current transient window. On Windows, this function puts the child window on top of the parent, much as the window manager would have done on X. parent window, or %NULL Fetches the transient parent for this window. See gtk_window_set_transient_for(). if no transient parent has been set. the transient parent for this window, or %NULL Request the windowing system to make @window partially transparent, with opacity 0 being fully transparent and 1 fully opaque. (Values of the opacity parameter are clamped to the [0,1] range.) On X11 this has any effect only on X screens with a compositing manager running. See gtk_widget_is_composited(). On Windows it should work always. Note that setting a window's opacity after the window has been shown causes it to flicker once on Windows. desired opacity, between 0 and 1 Fetches the requested opacity for this window. See gtk_window_set_opacity(). the requested opacity for this window. By setting the type hint for the window, you allow the window manager to decorate and handle the window in a way which is suitable to the function of the window in your application. This function should be called before the window becomes visible. gtk_dialog_new_with_buttons() and other convenience functions in GTK+ will sometimes call gtk_window_set_type_hint() on your behalf. the window type Gets the type hint for this window. See gtk_window_set_type_hint(). the type hint for @window. Windows may set a hint asking the desktop environment not to display the window in the task bar. This function sets this hint. %TRUE to keep this window from appearing in the task bar Gets the value set by gtk_window_set_skip_taskbar_hint() %TRUE if window shouldn't be in taskbar Windows may set a hint asking the desktop environment not to display the window in the pager. This function sets this hint. (A "pager" is any desktop navigation tool such as a workspace switcher that displays a thumbnail representation of the windows on the screen.) %TRUE to keep this window from appearing in the pager Gets the value set by gtk_window_set_skip_pager_hint(). %TRUE if window shouldn't be in pager Windows may set a hint asking the desktop environment to draw the users attention to the window. This function sets this hint. %TRUE to mark this window as urgent Gets the value set by gtk_window_set_urgency_hint() %TRUE if window is urgent Windows may set a hint asking the desktop environment not to receive the input focus. This function sets this hint. %TRUE to let this window receive input focus Gets the value set by gtk_window_set_accept_focus(). %TRUE if window should receive the input focus Windows may set a hint asking the desktop environment not to receive the input focus when the window is mapped. This function sets this hint. %TRUE to let this window receive input focus on map Gets the value set by gtk_window_set_focus_on_map(). mapped. %TRUE if window should receive the input focus when If @setting is %TRUE, then destroying the transient parent of @window will also destroy @window itself. This is useful for dialogs that shouldn't persist beyond the lifetime of the main window they're associated with, for example. whether to destroy @window with its transient parent Returns whether the window will be destroyed with its transient parent. See gtk_window_set_destroy_with_parent (). %TRUE if the window will be destroyed with its transient parent. Sets the #GtkWindow:mnemonics-visible property. the new value Sets whether the user can resize a window. Windows are user resizable by default. %TRUE if the user can resize this window Gets the value set by gtk_window_set_resizable(). %TRUE if the user can resize the window Window gravity defines the meaning of coordinates passed to gtk_window_move(). See gtk_window_move() and #GdkGravity for more details. The default window gravity is #GDK_GRAVITY_NORTH_WEST which will typically "do what you mean." window gravity Gets the value set by gtk_window_set_gravity(). window gravity This function sets up hints about how a window can be resized by the user. You can set a minimum and maximum size; allowed resize increments (e.g. for xterm, you can only resize by the size of a character); aspect ratios; and more. See the #GdkGeometry struct. widget the geometry hints will be applied to struct containing geometry information mask indicating which struct fields should be paid attention to Returns whether the window is part of the current active toplevel. (That is, the toplevel window receiving keystrokes.) The return value is %TRUE if the window is active toplevel itself, but also if it is, say, a #GtkPlug embedded in the active toplevel. You might use this function if you wanted to draw a widget differently in an active window from a widget in an inactive window. See gtk_window_has_toplevel_focus() %TRUE if the window part of the current active window. Returns whether the input focus is within this GtkWindow. For real toplevel windows, this is identical to gtk_window_is_active(), but for embedded windows, like #GtkPlug, the results will differ. %TRUE if the input focus is within this GtkWindow (Note: this is a special-purpose function for the framebuffer port, that causes GTK+ to draw its own window border. For most applications, you want gtk_window_set_decorated() instead, which tells the window manager whether to draw the window border.) If this function is called on a window with setting of %TRUE, before it is realized or showed, it will have a "frame" window around frame_event you can receive all events targeted at the frame. This function is used by the linux-fb port to implement managed windows, but it could conceivably be used by X-programs that want to do their own window decorations. a boolean Accessor for whether the window has a frame window exterior to via gtk_window_set_has_frame(). %TRUE if a frame has been added to the window (Note: this is a special-purpose function intended for the framebuffer port; see gtk_window_set_has_frame(). It will have no effect on the window border drawn by the window manager, which is the normal case when using the X Window system.) For windows with frames (see gtk_window_set_has_frame()) this function can be used to change the size of the frame border. The width of the left border The height of the top border The width of the right border The height of the bottom border (Note: this is a special-purpose function intended for the framebuffer port; see gtk_window_set_has_frame(). It will not return the size of the window border drawn by the <link linkend="gtk-X11-arch">window manager</link>, which is the normal case when using a windowing system. See gdk_window_get_frame_extents() to get the standard window border extents.) Retrieves the dimensions of the frame window for this toplevel. See gtk_window_set_has_frame(), gtk_window_set_frame_dimensions(). location to store the width of the frame at the left, or %NULL location to store the height of the frame at the top, or %NULL location to store the width of the frame at the returns, or %NULL location to store the height of the frame at the bottom, or %NULL By default, windows are decorated with a title bar, resize controls, etc. Some <link linkend="gtk-X11-arch">window managers</link> allow GTK+ to disable these decorations, creating a borderless window. If you set the decorated property to %FALSE using this function, GTK+ will do its best to convince the window manager not to decorate the window. Depending on the system, this function may not have any effect when called on a window that is already visible, so you should call it before calling gtk_window_show(). On Windows, this function always works, since there's no window manager policy involved. %TRUE to decorate the window Returns whether the window has been set to have decorations such as a title bar via gtk_window_set_decorated(). %TRUE if the window has been set to have decorations By default, windows have a close button in the window frame. Some <link linkend="gtk-X11-arch">window managers</link> allow GTK+ to disable this button. If you set the deletable property to %FALSE using this function, GTK+ will do its best to convince the window manager not to show a close button. Depending on the system, this function may not have any effect when called on a window that is already visible, so you should call it before calling gtk_window_show(). On Windows, this function always works, since there's no window manager policy involved. %TRUE to decorate the window as deletable Returns whether the window has been set to have a close button via gtk_window_set_deletable(). %TRUE if the window has been set to have a close button Sets up the icon representing a #GtkWindow. The icon is used when the window is minimized (also known as iconified). Some window managers or desktop environments may also place it in the window frame, or display it in other contexts. gtk_window_set_icon_list() allows you to pass in the same icon in several hand-drawn sizes. The list should contain the natural sizes your icon is available in; that is, don't scale the image before passing it to GTK+. Scaling is postponed until the last minute, when the desired final size is known, to allow best quality. By passing several sizes, you may improve the final image quality of the icon, by reducing or eliminating automatic image scaling. larger images (64x64, 128x128) if you have them. See also gtk_window_set_default_icon_list() to set the icon for all windows in your application in one go. Note that transient windows (those who have been set transient for another window using gtk_window_set_transient_for()) will inherit their icon from their transient parent. So there's no need to explicitly set the icon on transient windows. list of #GdkPixbuf Retrieves the list of icons set by gtk_window_set_icon_list(). The list is copied, but the reference count on each member won't be incremented. copy of window's icon list Sets up the icon representing a #GtkWindow. This icon is used when the window is minimized (also known as iconified). Some window managers or desktop environments may also place it in the window frame, or display it in other contexts. The icon should be provided in whatever size it was naturally drawn; that is, don't scale the image before passing it to GTK+. Scaling is postponed until the last minute, when the desired final size is known, to allow best quality. If you have your icon hand-drawn in multiple sizes, use gtk_window_set_icon_list(). Then the best size will be used. This function is equivalent to calling gtk_window_set_icon_list() with a 1-element list. See also gtk_window_set_default_icon_list() to set the icon for all windows in your application in one go. icon image, or %NULL Sets the icon for the window from a named themed icon. See the docs for #GtkIconTheme for more details. Note that this has nothing to do with the WM_ICON_NAME property which is mentioned in the ICCCM. the name of the themed icon Sets the icon for @window. Warns on failure if @err is %NULL. This function is equivalent to calling gtk_window_set_icon() with a pixbuf created by loading the image from @filename. %TRUE if setting the icon succeeded. location of icon file Gets the value set by gtk_window_set_icon() (or if you've called gtk_window_set_icon_list(), gets the first icon in the icon list). icon for window Returns the name of the themed icon for the window, see gtk_window_set_icon_name(). no themed icon the icon name or %NULL if the window has Sets a window modal or non-modal. Modal windows prevent interaction with other windows in the same application. To keep modal dialogs on top of main application windows, use gtk_window_set_transient_for() to make the dialog transient for the parent; most <link linkend="gtk-X11-arch">window managers</link> will then disallow lowering the dialog below the parent. whether the window is modal Returns whether the window is modal. See gtk_window_set_modal(). establishes a grab when shown %TRUE if the window is set to be modal and Adds a mnemonic to this window. the mnemonic the widget that gets activated by the mnemonic Removes a mnemonic from this window. the mnemonic the widget that gets activated by the mnemonic Activates the targets associated with the mnemonic. %TRUE if the activation is done. the mnemonic the modifiers Sets the mnemonic modifier for this window. the modifier mask used to activate mnemonics on this window. Returns the mnemonic modifier for this window. See gtk_window_set_mnemonic_modifier(). mnemonics on this window. the modifier mask used to activate Activates mnemonics and accelerators for this #GtkWindow. This is normally called by the default ::key_press_event handler for toplevel windows, however in some cases it may be useful to call this directly when overriding the standard key handling for a toplevel window. %TRUE if a mnemonic or accelerator was found and activated. a #GdkEventKey Propagate a key press or release event to the focus widget and up the focus container chain until a widget handles @event. This is normally called by the default ::key_press_event and ::key_release_event handlers for toplevel windows, however in some cases it may be useful to call this directly when overriding the standard key handling for a toplevel window. %TRUE if a widget in the focus chain handled the event. a #GdkEventKey Presents a window to the user. This may mean raising the window in the stacking order, deiconifying it, moving it to the current desktop, and/or giving it the keyboard focus, possibly dependent on the user's platform, window manager, and preferences. If @window is hidden, this function calls gtk_widget_show() as well. This function should be used when the user tries to open a window that's already open. Say for example the preferences dialog is currently open, and the user chooses Preferences from the menu a second time; use gtk_window_present() to move the already-open dialog where the user can see it. If you are calling this function in response to a user interaction, it is preferable to use gtk_window_present_with_time(). Presents a window to the user in response to a user interaction. If you need to present a window without a timestamp, use gtk_window_present(). See gtk_window_present() for details. the timestamp of the user interaction (typically a button or key press event) which triggered this call Asks to iconify (i.e. minimize) the specified @window. Note that you shouldn't assume the window is definitely iconified afterward, because other entities (e.g. the user or <link linkend="gtk-X11-arch">window manager</link>) could deiconify it again, or there may not be a window manager in which case iconification isn't possible, etc. But normally the window will end up iconified. Just don't write code that crashes if not. It's permitted to call this function before showing a window, in which case the window will be iconified before it ever appears onscreen. You can track iconification via the "window-state-event" signal on #GtkWidget. Asks to deiconify (i.e. unminimize) the specified @window. Note that you shouldn't assume the window is definitely deiconified afterward, because other entities (e.g. the user or <link linkend="gtk-X11-arch">window manager</link>) could iconify it again before your code which assumes deiconification gets to run. You can track iconification via the "window-state-event" signal on #GtkWidget. Asks to stick @window, which means that it will appear on all user desktops. Note that you shouldn't assume the window is definitely stuck afterward, because other entities (e.g. the user or <link linkend="gtk-X11-arch">window manager</link>) could unstick it again, and some window managers do not support sticking windows. But normally the window will end up stuck. Just don't write code that crashes if not. It's permitted to call this function before showing a window. You can track stickiness via the "window-state-event" signal on #GtkWidget. Asks to unstick @window, which means that it will appear on only one of the user's desktops. Note that you shouldn't assume the window is definitely unstuck afterward, because other entities (e.g. the user or <link linkend="gtk-X11-arch">window manager</link>) could stick it again. But normally the window will end up stuck. Just don't write code that crashes if not. You can track stickiness via the "window-state-event" signal on #GtkWidget. Asks to maximize @window, so that it becomes full-screen. Note that you shouldn't assume the window is definitely maximized afterward, because other entities (e.g. the user or <link linkend="gtk-X11-arch">window manager</link>) could unmaximize it again, and not all window managers support maximization. But normally the window will end up maximized. Just don't write code that crashes if not. It's permitted to call this function before showing a window, in which case the window will be maximized when it appears onscreen initially. You can track maximization via the "window-state-event" signal on #GtkWidget. Asks to unmaximize @window. Note that you shouldn't assume the window is definitely unmaximized afterward, because other entities (e.g. the user or <link linkend="gtk-X11-arch">window manager</link>) could maximize it again, and not all window managers honor requests to unmaximize. But normally the window will end up unmaximized. Just don't write code that crashes if not. You can track maximization via the "window-state-event" signal on #GtkWidget. Asks to place @window in the fullscreen state. Note that you shouldn't assume the window is definitely full screen afterward, because other entities (e.g. the user or <link linkend="gtk-X11-arch">window manager</link>) could unfullscreen it again, and not all window managers honor requests to fullscreen windows. But normally the window will end up fullscreen. Just don't write code that crashes if not. You can track the fullscreen state via the "window-state-event" signal on #GtkWidget. Asks to toggle off the fullscreen state for @window. Note that you shouldn't assume the window is definitely not full screen afterward, because other entities (e.g. the user or <link linkend="gtk-X11-arch">window manager</link>) could fullscreen it again, and not all window managers honor requests to unfullscreen windows. But normally the window will end up restored to its normal state. Just don't write code that crashes if not. You can track the fullscreen state via the "window-state-event" signal on #GtkWidget. Asks to keep @window above, so that it stays on top. Note that you shouldn't assume the window is definitely above afterward, because other entities (e.g. the user or <link linkend="gtk-X11-arch">window manager</link>) could not keep it above, and not all window managers support keeping windows above. But normally the window will end kept above. Just don't write code that crashes if not. It's permitted to call this function before showing a window, in which case the window will be kept above when it appears onscreen initially. You can track the above state via the "window-state-event" signal on #GtkWidget. Note that, according to the <ulink url="http://www.freedesktop.org/Standards/wm-spec">Extended Window Manager Hints</ulink> specification, the above state is mainly meant for user preferences and should not be used by applications e.g. for drawing attention to their dialogs. whether to keep @window above other windows Asks to keep @window below, so that it stays in bottom. Note that you shouldn't assume the window is definitely below afterward, because other entities (e.g. the user or <link linkend="gtk-X11-arch">window manager</link>) could not keep it below, and not all window managers support putting windows below. But normally the window will be kept below. Just don't write code that crashes if not. It's permitted to call this function before showing a window, in which case the window will be kept below when it appears onscreen initially. You can track the below state via the "window-state-event" signal on #GtkWidget. Note that, according to the <ulink url="http://www.freedesktop.org/Standards/wm-spec">Extended Window Manager Hints</ulink> specification, the above state is mainly meant for user preferences and should not be used by applications e.g. for drawing attention to their dialogs. whether to keep @window below other windows Starts resizing a window. This function is used if an application has window resizing controls. When GDK can support it, the resize will be done using the standard mechanism for the <link linkend="gtk-X11-arch">window manager</link> or windowing system. Otherwise, GDK will try to emulate window resizing, potentially not all that well, depending on the windowing system. position of the resize control mouse button that initiated the drag X position where the user clicked to initiate the drag, in root window coordinates Y position where the user clicked to initiate the drag timestamp from the click event that initiated the drag Starts moving a window. This function is used if an application has window movement grips. When GDK can support it, the window movement will be done using the standard mechanism for the <link linkend="gtk-X11-arch">window manager</link> or windowing system. Otherwise, GDK will try to emulate window movement, potentially not all that well, depending on the windowing system. mouse button that initiated the drag X position where the user clicked to initiate the drag, in root window coordinates Y position where the user clicked to initiate the drag timestamp from the click event that initiated the drag Sets the default size of a window. If the window's "natural" size (its size request) is larger than the default, the default will be ignored. More generally, if the default size does not obey the geometry hints for the window (gtk_window_set_geometry_hints() can be used to set these explicitly), the default size will be clamped to the nearest permitted size. Unlike gtk_widget_set_size_request(), which sets a size request for a widget and thus would keep users from shrinking the window, this function only sets the initial size, just as if the user had resized the window themselves. Users can still shrink the window again as they normally would. Setting a default size of -1 means to use the "natural" default size (the size request of the window). For more control over a window's initial size and how resizing works, investigate gtk_window_set_geometry_hints(). For some uses, gtk_window_resize() is a more appropriate function. gtk_window_resize() changes the current size of the window, rather than the size to be used on initial display. gtk_window_resize() always affects the window itself, not the geometry widget. The default size of a window only affects the first time a window is shown; if a window is hidden and re-shown, it will remember the size it had prior to hiding, rather than using the default size. Windows can't actually be 0x0 in size, they must be at least 1x1, but passing 0 for @width and @height is OK, resulting in a 1x1 default size. width in pixels, or -1 to unset the default width height in pixels, or -1 to unset the default height Gets the default size of the window. A value of -1 for the width or height indicates that a default size has not been explicitly set for that dimension, so the "natural" size of the window will be used. location to store the default width, or %NULL location to store the default height, or %NULL Resizes the window as if the user had done so, obeying geometry constraints. The default geometry constraint is that windows may not be smaller than their size request; to override this constraint, call gtk_widget_set_size_request() to set the window's request to a smaller value. If gtk_window_resize() is called before showing a window for the first time, it overrides any default size set with gtk_window_set_default_size(). Windows may not be resized smaller than 1 by 1 pixels. width in pixels to resize the window to height in pixels to resize the window to Obtains the current size of @window. If @window is not onscreen, it returns the size GTK+ will suggest to the <link linkend="gtk-X11-arch">window manager</link> for the initial window size (but this is not reliably the same as the size the window manager will actually select). The size obtained by gtk_window_get_size() is the last size received in a #GdkEventConfigure, that is, GTK+ uses its locally-stored size, rather than querying the X server for the size. As a result, if you call gtk_window_resize() then immediately call gtk_window_get_size(), the size won't have taken effect yet. After the window manager processes the resize request, GTK+ receives notification that the size has changed via a configure event, and the size of the window gets updated. because the size of the window may change between the time that you get the size and the time that you perform some action assuming that size is the current size. To avoid race conditions, connect to "configure-event" on the window and adjust your size-dependent state to match the size delivered in the #GdkEventConfigure. size of the window manager decorations (aka the window frame or border). Those are not drawn by GTK+ and GTK+ has no reliable method of determining their size. the window onscreen, there may be a better way. The preferred way is to simply set the window's semantic type with gtk_window_set_type_hint(), which allows the window manager to e.g. center dialogs. Also, if you set the transient parent of dialogs with gtk_window_set_transient_for() window managers will often center the dialog over its parent window. It's much preferred to let the window manager handle these things rather than doing it yourself, because all apps will behave consistently and according to user prefs if the window manager handles it. Also, the window manager can take the size of the window decorations/border into account, while your application cannot. In any case, if you insist on application-specified window positioning, there's <emphasis>still</emphasis> a better way than doing it yourself - gtk_window_set_position() will frequently handle the details for you. return location for width, or %NULL return location for height, or %NULL Asks the <link linkend="gtk-X11-arch">window manager</link> to move this; most window managers ignore requests for initial window positions (instead using a user-defined placement algorithm) and honor requests after the window has already been shown. reference point for the window. The gravity determines two things: first, the location of the reference point in root window coordinates; and second, which point on the window is positioned at the reference point. By default the gravity is #GDK_GRAVITY_NORTH_WEST, so the reference point is simply the @x, @y supplied to gtk_window_move(). The top-left corner of the window decorations (aka window frame or border) will be placed at @x, @y. Therefore, to position a window at the top left of the screen, you want to use the default gravity (which is #GDK_GRAVITY_NORTH_WEST) and move the window to 0,0. To position a window at the bottom right corner of the screen, you would set #GDK_GRAVITY_SOUTH_EAST, which means that the reference point is at @x + the window width and @y + the window height, and the bottom-right corner of the window border will be placed at that reference point. So, to place a window in the bottom right corner you would first set gravity to south east, then write: <literal>gtk_window_move (window, gdk_screen_width () - window_width, gdk_screen_height () - window_height)</literal> (note that this example does not take multi-head scenarios into account). The Extended Window Manager Hints specification at <ulink url="http://www.freedesktop.org/Standards/wm-spec"> http://www.freedesktop.org/Standards/wm-spec</ulink> has a nice table of gravities in the "implementation notes" section. The gtk_window_get_position() documentation may also be relevant. X coordinate to move window to Y coordinate to move window to This function returns the position you need to pass to gtk_window_move() to keep @window in its current position. This means that the meaning of the returned value varies with window gravity. See gtk_window_move() for more details. If you haven't changed the window gravity, its gravity will be #GDK_GRAVITY_NORTH_WEST. This means that gtk_window_get_position() gets the position of the top-left corner of the window manager frame for the window. gtk_window_move() sets the position of this same top-left corner. gtk_window_get_position() is not 100% reliable because the X Window System does not specify a way to obtain the geometry of the decorations placed on a window by the window manager. Thus GTK+ is using a "best guess" that works with most window managers. Moreover, nearly all window managers are historically broken with respect to their handling of window gravity. So moving a window to its current position as returned by gtk_window_get_position() tends to result in moving the window slightly. Window managers are slowly getting better over time. If a window has gravity #GDK_GRAVITY_STATIC the window manager frame is not relevant, and thus gtk_window_get_position() will always produce accurate results. However you can't use static gravity to do things like place a window in a corner of the screen, because static gravity ignores the window manager decorations. If you are saving and restoring your application's window positions, you should know that it's impossible for applications to do this without getting it somewhat wrong because applications do not have sufficient knowledge of window manager state. The Correct Mechanism is to support the session management protocol (see the "GnomeClient" object in the GNOME libraries for example) and allow the window manager to save your window sizes and positions. return location for X coordinate of gravity-determined reference point return location for Y coordinate of gravity-determined reference point Parses a standard X Window System geometry string - see the manual page for X (type 'man X') for details on this. gtk_window_parse_geometry() does work on all GTK+ ports including Win32 but is primarily intended for an X environment. If either a size or a position can be extracted from the geometry string, gtk_window_parse_geometry() returns %TRUE and calls gtk_window_set_default_size() and/or gtk_window_move() to resize/move the window. If gtk_window_parse_geometry() returns %TRUE, it will also set the #GDK_HINT_USER_POS and/or #GDK_HINT_USER_SIZE hints indicating to the window manager that the size/position of the window was user-specified. This causes most window managers to honor the geometry. Note that for gtk_window_parse_geometry() to work as expected, it has to be called when the window has its "final" size, i.e. after calling gtk_widget_show_all() on the contents and gtk_window_set_geometry_hints() on the window. |[ #include <gtk/gtk.h> static void fill_with_content (GtkWidget *vbox) { /&ast; fill with content... &ast;/ } int main (int argc, char *argv[]) { GtkWidget *window, *vbox; GdkGeometry size_hints = { 100, 50, 0, 0, 100, 50, 10, 10, 0.0, 0.0, GDK_GRAVITY_NORTH_WEST }; gtk_init (&argc, &argv); window = gtk_window_new (GTK_WINDOW_TOPLEVEL); vbox = gtk_vbox_new (FALSE, 0); gtk_container_add (GTK_CONTAINER (window), vbox); fill_with_content (vbox); gtk_widget_show_all (vbox); gtk_window_set_geometry_hints (GTK_WINDOW (window), window, &size_hints, GDK_HINT_MIN_SIZE | GDK_HINT_BASE_SIZE | GDK_HINT_RESIZE_INC); if (argc &gt; 1) { if (!gtk_window_parse_geometry (GTK_WINDOW (window), argv[1])) fprintf (stderr, "Failed to parse '%s'\n", argv[1]); } gtk_widget_show_all (window); gtk_main (); return 0; } ]| %TRUE if string was parsed successfully geometry string Returns the group for @window or the default group, if window group. the #GtkWindowGroup for a window or the default group Hides @window, then reshows it, resetting the default size and position of the window. Used by GUI builders only. Gets the type of the window. See #GtkWindowType. the type of the window Whether the window should receive the input focus. Whether the window should be decorated by the window manager. Whether the window frame should have a close button. Whether the window should receive the input focus when mapped. The window gravity of the window. See gtk_window_move() and #GdkGravity for more details about window gravity. The :icon-name property specifies the name of the themed icon to use as the window icon. See #GtkIconTheme for more details. The requested opacity of the window. See gtk_window_set_opacity() for more details about window opacity. The :startup-id is a write-only property for setting window's startup notification identifier. See gtk_window_set_startup_id() for more details. The transient parent of the window. See gtk_window_set_transient_for() for more details about transient windows. The ::activate-default signal is a <link linkend="keybinding-signals">keybinding signal</link> which gets emitted when the user activates the default widget of @window. The ::activate-default signal is a <link linkend="keybinding-signals">keybinding signal</link> which gets emitted when the user activates the currently focused widget of @window. The ::keys-changed signal gets emitted when the set of accelerators or mnemonics that are associated with @window changes. Creates a new #GtkWindowGroup object. Grabs added with gtk_grab_add() only affect windows within the same #GtkWindowGroup. a new #GtkWindowGroup. Adds a window to a #GtkWindowGroup. the #GtkWindow to add Removes a window from a #GtkWindowGroup. the #GtkWindow to remove Returns a list of the #GtkWindows that belong to @window_group. windows inside the group. A newly-allocated list of Finds the first accelerator in any #GtkAccelGroup attached to @object that matches @accel_key and @accel_mods, and activates that accelerator. %TRUE if an accelerator was activated and handled this keypress the #GObject, usually a #GtkWindow, on which to activate the accelerator. accelerator keyval from a key event keyboard state mask from a key event Gets a list of all accel groups which are attached to @object. a list of all accel groups which are attached to @object a #GObject, usually a #GtkWindow Gets the value set by gtk_accelerator_set_default_mod_mask(). the default accelerator modifier mask Converts an accelerator keyval and modifier mask into a string which can be used to represent the accelerator to the user. a newly-allocated string representing the accelerator. accelerator keyval accelerator modifier mask Converts an accelerator keyval and modifier mask into a string parseable by gtk_accelerator_parse(). For example, if you pass in #GDK_q and #GDK_CONTROL_MASK, this function returns "&lt;Control&gt;q". If you need to display accelerators in the user interface, see gtk_accelerator_get_label(). a newly-allocated accelerator name accelerator keyval accelerator modifier mask Parses a string representing an accelerator. The format looks like "&lt;Control&gt;a" or "&lt;Shift&gt;&lt;Alt&gt;F1" or "&lt;Release&gt;z" (the last one is for key release). The parser is fairly liberal and allows lower or upper case, and also abbreviations such as "&lt;Ctl&gt;" and "&lt;Ctrl&gt;". Key names are parsed using gdk_keyval_from_name(). For character keys the name is not the symbol, but the lowercase name, e.g. one would use "&lt;Ctrl&gt;minus" instead of "&lt;Ctrl&gt;-". If the parse fails, @accelerator_key and @accelerator_mods will be set to 0 (zero). string representing an accelerator return location for accelerator keyval return location for accelerator modifier mask Sets the modifiers that will be considered significant for keyboard accelerators. The default mod mask is #GDK_CONTROL_MASK | #GDK_SHIFT_MASK | #GDK_MOD1_MASK | #GDK_SUPER_MASK | #GDK_HYPER_MASK | #GDK_META_MASK, that is, Control, Shift, Alt, Super, Hyper and Meta. Other modifiers will by default be ignored by #GtkAccelGroup. You must include at least the three modifiers Control, Shift and Alt in any value you pass to this function. The default mod mask should be changed on application startup, before using any accelerator groups. accelerator modifier mask Determines whether a given keyval and modifier mask constitute a valid keyboard accelerator. For example, the #GDK_a keyval plus #GDK_CONTROL_MASK is valid - this is a "Ctrl+a" accelerator. But, you can't, for instance, use the #GDK_Control_L keyval as an accelerator. %TRUE if the accelerator is valid a GDK keyval modifier mask Returns %TRUE if dialogs are expected to use an alternative button order on the screen @screen. See gtk_dialog_set_alternative_button_order() for more details about alternative button order. If you need to use this function, you should probably connect to the ::notify:gtk-alternative-button-order signal on the #GtkSettings object associated to @screen, in order to be notified if the button order setting changes. Whether the alternative button order should be used a #GdkScreen, or %NULL to use the default screen Override or install a new key binding for @keyval with @modifiers on emitted on the target widget, with @n_args @Varargs used as arguments. a #GtkBindingSet to install an entry for key value of binding to install key modifier of binding to install signal to execute upon activation number of arguments to @signal_name Override or install a new key binding for @keyval with @modifiers on a #GtkBindingSet to add a signal to key value key modifier signal name to be bound list of #GtkBindingArg signal arguments Clears a binding entry. binding set to clear an entry of key value of binding to clear key modifier of binding to clear Remove a binding previously installed via gtk_binding_entry_add_signal() on @binding_set. a #GtkBindingSet to remove an entry of key value of binding to remove key modifier of binding to remove Install a binding on @binding_set which causes key lookups to be aborted, to prevent bindings from lower priority sets to be activated. a #GtkBindingSet to skip an entry of key value of binding to skip key modifier of binding to skip Parse a binding entry from a gtkrc file. expected token upon errors, %G_TOKEN_NONE on success. GtkRC scanner This function returns the binding set named after the type name of the passed in class structure. New binding sets are created on demand by this function. the binding set corresponding to @object_class a valid #GtkObject class Find a binding set by its globally unique name. The @set_name can either be a name used for gtk_binding_set_new() or the type name of a class used in gtk_binding_set_by_class(). %NULL or the specified binding set unique binding set name Find a key binding matching @keyval and @modifiers and activate the binding on @object. %TRUE if a binding was found and activated object to activate when binding found key value of the binding key modifier of the binding Looks up key bindings for @object to find one matching %TRUE if a matching key binding was found a #GtkObject (generally must be a widget) a #GdkEventKey Checks that the GTK+ library in use is compatible with the given version. Generally you would pass in the constants #GTK_MAJOR_VERSION, #GTK_MINOR_VERSION, #GTK_MICRO_VERSION as the three arguments to this function; that produces a check that the library in use is compatible with the version of GTK+ the application or module was compiled against. of the running library is newer than the version the running library must be binary compatible with the version @required_major.required_minor.@required_micro (same major version.) This function is primarily for GTK+ modules; the module can call this function to check that it wasn't loaded into an incompatible version of GTK+. However, such a a check isn't completely reliable, since the module may be linked against an old version of GTK+ and calling the old version of gtk_check_version(), but still get loaded into an application using a newer version of GTK+. given version, or a string describing the version mismatch. The returned string is owned by GTK+ and should not be modified or freed. %NULL if the GTK+ library is compatible with the the required major version. the required minor version. the required micro version. Prevents gtk_init(), gtk_init_check(), gtk_init_with_args() and gtk_parse_args() from automatically calling <literal>setlocale (LC_ALL, "")</literal>. You would want to use this function if you wanted to set the locale for your program to something other than the user's locale, or if you wanted to set different values for different locale categories. Most programs should not need to call this function. Initiates a drag on the source side. The function only needs to be used when the application is starting drags itself, and is not needed when gtk_drag_source_set() is used. the context for this drag. the source widget. The targets (data formats) in which the source can provide the data. A bitmask of the allowed drag actions for this drag. The button the user clicked to start the drag. The event that triggered the start of the drag. Checks to see if a mouse drag starting at (@start_x, @start_y) and ending at (@current_x, @current_y) has passed the GTK+ drag threshold, and thus should trigger the beginning of a drag-and-drop operation. %TRUE if the drag threshold has been passed. a #GtkWidget X coordinate of start of drag Y coordinate of start of drag current X coordinate current Y coordinate Add the image targets supported by #GtkSelection to the target list of the drag destination. The targets are added with @info = 0. If you need another value, use gtk_target_list_add_image_targets() and gtk_drag_dest_set_target_list(). a #GtkWidget that's a drag destination Add the text targets supported by #GtkSelection to the target list of the drag destination. The targets are added with @info = 0. If you need another value, use gtk_target_list_add_text_targets() and gtk_drag_dest_set_target_list(). a #GtkWidget that's a drag destination Add the URI targets supported by #GtkSelection to the target list of the drag destination. The targets are added with @info = 0. If you need another value, use gtk_target_list_add_uri_targets() and gtk_drag_dest_set_target_list(). a #GtkWidget that's a drag destination Looks for a match between @context->targets and the returning %GDK_NONE. @dest_target_list should usually be the return value from gtk_drag_dest_get_target_list(), but some widgets may have different valid targets for different parts of the widget; in that case, they will have to implement a drag_motion handler that passes the correct target list to this function. first target that the source offers and the dest can accept, or %GDK_NONE drag destination widget drag context list of droppable targets, or %NULL to use gtk_drag_dest_get_target_list (@widget). Returns the list of targets this widget can accept from drag-and-drop. the #GtkTargetList, or %NULL if none a #GtkWidget Returns whether the widget has been configured to always emit ::drag-motion signals. %TRUE if the widget always emits ::drag-motion events a #GtkWidget that's a drag destination Sets a widget as a potential drop destination, and adds default behaviors. The default behaviors listed in @flags have an effect similar to installing default handlers for the widget's drag-and-drop signals (#GtkWidget:drag-motion, #GtkWidget:drag-drop, ...). They all exist for convenience. When passing #GTK_DEST_DEFAULT_ALL for instance it is sufficient to connect to the widget's #GtkWidget::drag-data-received signal to get primitive, but consistent drag-and-drop support. Things become more complicated when you try to preview the dragged data, as described in the documentation for #GtkWidget:drag-motion. The default behaviors described by @flags make some assumptions, that can conflict with your own signal handlers. For instance #GTK_DEST_DEFAULT_DROP causes invokations of gdk_drag_status() in the context of #GtkWidget:drag-motion, and invokations of gtk_drag_finish() in #GtkWidget:drag-data-received. Especially the later is dramatic, when your own #GtkWidget:drag-motion handler calls gtk_drag_get_data() to inspect the dragged data. There's no way to set a default action here, you can use the #GtkWidget:drag-motion callback for that. Here's an example which selects the action to use depending on whether the control key is pressed or not: |[ static void drag_motion (GtkWidget *widget, GdkDragContext *context, gint x, gint y, guint time) { GdkModifierType mask; gdk_window_get_pointer (gtk_widget_get_window (widget), NULL, NULL, &mask); if (mask & GDK_CONTROL_MASK) gdk_drag_status (context, GDK_ACTION_COPY, time); else gdk_drag_status (context, GDK_ACTION_MOVE, time); } ]| a #GtkWidget which types of default drag behavior to use a pointer to an array of #GtkTargetEntry<!-- -->s indicating the drop types that this @widget will accept, or %NULL. Later you can access the list with gtk_drag_dest_get_target_list() and gtk_drag_dest_find_target(). the number of entries in @targets a bitmask of possible actions for a drop onto this @widget. Sets the target types that this widget can accept from drag-and-drop. The widget must first be made into a drag destination with gtk_drag_dest_set(). a #GtkWidget that's a drag destination list of droppable targets, or %NULL for none Tells the widget to emit ::drag-motion and ::drag-leave events regardless of the targets and the %GTK_DEST_DEFAULT_MOTION flag. This may be used when a widget wants to do generic actions regardless of the targets that the source offers. a #GtkWidget that's a drag destination whether to accept all targets Changes the default drag icon. GTK+ retains references for the arguments, and will release them when they are no longer needed. changing the stock pixbuf for #GTK_STOCK_DND instead. the colormap of the icon the image data for the icon the transparency mask for an image, or %NULL The X offset within @widget of the hotspot. The Y offset within @widget of the hotspot. Sets the icon for a particular drag to the default icon. the context for a drag. (This must be called Sets the icon for a given drag from a named themed icon. See the docs for #GtkIconTheme for more details. Note that the size of the icon depends on the icon theme (the icon is loaded at the symbolic size #GTK_ICON_SIZE_DND), thus the context for a drag. (This must be called with a context for the source side of a drag) name of icon to use the X offset of the hotspot within the icon the Y offset of the hotspot within the icon Sets @pixbuf as the icon for a given drag. the context for a drag. (This must be called with a context for the source side of a drag) the #GdkPixbuf to use as the drag icon. the X offset within @widget of the hotspot. the Y offset within @widget of the hotspot. Sets @pixmap as the icon for a given drag. GTK+ retains references for the arguments, and will release them when they are no longer needed. In general, gtk_drag_set_icon_pixbuf() will be more convenient to use. the context for a drag. (This must be called with a context for the source side of a drag) the colormap of the icon the image data for the icon the transparency mask for the icon or %NULL for none. the X offset within @pixmap of the hotspot. the Y offset within @pixmap of the hotspot. Sets the icon for a given drag from a stock ID. the context for a drag. (This must be called with a context for the source side of a drag) the ID of the stock icon to use for the drag. the X offset within the icon of the hotspot. the Y offset within the icon of the hotspot. Changes the icon for a widget to a given widget. GTK+ will not destroy the icon, so if you don't want it to persist, you should connect to the "drag-end" signal and destroy it yourself. the context for a drag. (This must be called a toplevel window to use as an icon. the X offset within @widget of the hotspot. the Y offset within @widget of the hotspot. Add the writable image targets supported by #GtkSelection to the target list of the drag source. The targets are added with @info = 0. If you need another value, use gtk_target_list_add_image_targets() and gtk_drag_source_set_target_list(). a #GtkWidget that's is a drag source Add the text targets supported by #GtkSelection to the target list of the drag source. The targets are added with @info = 0. If you need another value, use gtk_target_list_add_text_targets() and gtk_drag_source_set_target_list(). a #GtkWidget that's is a drag source Add the URI targets supported by #GtkSelection to the target list of the drag source. The targets are added with @info = 0. If you need another value, use gtk_target_list_add_uri_targets() and gtk_drag_source_set_target_list(). a #GtkWidget that's is a drag source Gets the list of targets this widget can provide for drag-and-drop. the #GtkTargetList, or %NULL if none a #GtkWidget Sets up a widget so that GTK+ will start a drag operation when the user clicks and drags on the widget. The widget must have a window. a #GtkWidget the bitmask of buttons that can start the drag the table of targets that the drag will support, may be %NULL the number of items in @targets the bitmask of possible actions for a drag from this widget Sets the icon that will be used for drags from a particular widget from a pixmap/mask. GTK+ retains references for the arguments, and will release them when they are no longer needed. Use gtk_drag_source_set_icon_pixbuf() instead. a #GtkWidget the colormap of the icon the image data for the icon the transparency mask for an image. Sets the icon that will be used for drags from a particular source to a themed icon. See the docs for #GtkIconTheme for more details. a #GtkWidget name of icon to use Sets the icon that will be used for drags from a particular widget from a #GdkPixbuf. GTK+ retains a reference for @pixbuf and will release it when it is no longer needed. a #GtkWidget the #GdkPixbuf for the drag icon Sets the icon that will be used for drags from a particular source to a stock icon. a #GtkWidget the ID of the stock icon to use Changes the target types that this widget offers for drag-and-drop. The widget must first be made into a drag source with gtk_drag_source_set(). a #GtkWidget that's a drag source list of draggable targets, or %NULL for none Draws an arrow in the given rectangle on @window using the given parameters. @arrow_type determines the direction of the arrow. a #GtkStyle a #GdkWindow a state the type of shadow to draw the type of arrow to draw %TRUE if the arrow tip should be filled x origin of the rectangle to draw the arrow in y origin of the rectangle to draw the arrow in width of the rectangle to draw the arrow in height of the rectangle to draw the arrow in Draws a box on @window with the given parameters. a #GtkStyle a #GdkWindow a state the type of shadow to draw x origin of the box y origin of the box the width of the box the height of the box Draws a box in @window using the given style and state and shadow type, leaving a gap in one side. a #GtkStyle a #GdkWindow a state type of shadow to draw x origin of the rectangle y origin of the rectangle width of the rectangle width of the rectangle side in which to leave the gap starting position of the gap width of the gap Draws a check button indicator in the given rectangle on @window with the given parameters. a #GtkStyle a #GdkWindow a state the type of shadow to draw x origin of the rectangle to draw the check in y origin of the rectangle to draw the check in the width of the rectangle to draw the check in the height of the rectangle to draw the check in Draws a diamond in the given rectangle on @window using the given parameters. a #GtkStyle a #GdkWindow a state the type of shadow to draw x origin of the rectangle to draw the diamond in y origin of the rectangle to draw the diamond in width of the rectangle to draw the diamond in height of the rectangle to draw the diamond in Draws an expander as used in #GtkTreeView. a #GtkStyle a #GdkWindow a state the x position to draw the expander at the y position to draw the expander at the style to draw the expander in Draws an extension, i.e. a notebook tab. a #GtkStyle a #GdkWindow a state type of shadow to draw x origin of the extension y origin of the extension width of the extension width of the extension the side on to which the extension is attached Draws a flat box on @window with the given parameters. a #GtkStyle a #GdkWindow a state the type of shadow to draw x origin of the box y origin of the box the width of the box the height of the box Draws a focus indicator around the given rectangle on @window using the given style. a #GtkStyle a #GdkWindow the x origin of the rectangle around which to draw a focus indicator the y origin of the rectangle around which to draw a focus indicator the width of the rectangle around which to draw a focus indicator the height of the rectangle around which to draw a focus indicator Draws a handle as used in #GtkHandleBox and #GtkPaned. a #GtkStyle a #GdkWindow a state type of shadow to draw x origin of the handle y origin of the handle with of the handle height of the handle the orientation of the handle Draws a horizontal line from (@x1, @y) to (@x2, @y) in @window using the given style and state. a #GtkStyle a #GdkWindow a state the starting x coordinate the ending x coordinate the y coordinate Draws a text caret on @drawable at @location. This is not a style function but merely a convenience function for drawing the standard cursor shape. a #GtkWidget a #GdkDrawable rectangle to which the output is clipped, or %NULL if the output should not be clipped location where to draw the cursor (@location->width is ignored) if the cursor should be the primary cursor color. whether the cursor is left-to-right or right-to-left. Should never be #GTK_TEXT_DIR_NONE %TRUE to draw a directional arrow on the cursor. Should be %FALSE unless the cursor is split. Draws a layout on @window using the given parameters. a #GtkStyle a #GdkWindow a state whether to use the text or foreground graphics context of @style x origin y origin the layout to draw Draws a radio button indicator in the given rectangle on @window with the given parameters. a #GtkStyle a #GdkWindow a state the type of shadow to draw x origin of the rectangle to draw the option in y origin of the rectangle to draw the option in the width of the rectangle to draw the option in the height of the rectangle to draw the option in Draws a polygon on @window with the given parameters. a #GtkStyle a #GdkWindow a state type of shadow to draw an array of #GdkPoint<!-- -->s length of @points %TRUE if the polygon should be filled Draws a resize grip in the given rectangle on @window using the given parameters. a #GtkStyle a #GdkWindow a state the edge in which to draw the resize grip the x origin of the rectangle in which to draw the resize grip the y origin of the rectangle in which to draw the resize grip the width of the rectangle in which to draw the resize grip the height of the rectangle in which to draw the resize grip Draws a shadow around the given rectangle in @window using the given style and state and shadow type. a #GtkStyle a #GdkWindow a state type of shadow to draw x origin of the rectangle y origin of the rectangle width of the rectangle width of the rectangle Draws a shadow around the given rectangle in @window using the given style and state and shadow type, leaving a gap in one side. a #GtkStyle a #GdkWindow a state type of shadow to draw x origin of the rectangle y origin of the rectangle width of the rectangle width of the rectangle side in which to leave the gap starting position of the gap width of the gap Draws a slider in the given rectangle on @window using the given style and orientation. a #GtkStyle a state a shadow the x origin of the rectangle in which to draw a slider the y origin of the rectangle in which to draw a slider the width of the rectangle in which to draw a slider the height of the rectangle in which to draw a slider the orientation to be used Draws a text string on @window with the given parameters. a #GtkStyle a #GdkWindow a state x origin y origin the string to draw Draws an option menu tab (i.e. the up and down pointing arrows) in the given rectangle on @window using the given parameters. a #GtkStyle a #GdkWindow a state the type of shadow to draw x origin of the rectangle to draw the tab in y origin of the rectangle to draw the tab in the width of the rectangle to draw the tab in the height of the rectangle to draw the tab in Draws a vertical line from (@x, @y1_) to (@x, @y2_) in @window using the given style and state. a #GtkStyle a #GdkWindow a state the starting y coordinate the ending y coordinate the x coordinate Obtains a copy of the event currently being processed by GTK+. For example, if you get a "clicked" signal from #GtkButton, the current event will be the #GdkEventButton that triggered the "clicked" signal. The returned event must be freed with gdk_event_free(). If there is no current event, the function returns %NULL. a copy of the current event, or %NULL if no current event. If there is a current event and it has a state field, place that state field in @state and return %TRUE, otherwise return %FALSE. %TRUE if there was a current event and it had a state field a location to store the state of the current event If there is a current event and it has a timestamp, return that timestamp, otherwise return %GDK_CURRENT_TIME. the timestamp from the current event, or %GDK_CURRENT_TIME. Returns the #PangoLanguage for the default language currently in effect. (Note that this can change over the life of an application.) The default language is derived from the current locale. It determines, for example, whether GTK+ uses the right-to-left or left-to-right text direction. This function is equivalent to pango_language_get_default(). See that function for details. freed the default language as a #PangoLanguage, must not be If @event is %NULL or the event was not associated with any widget, returns %NULL, otherwise returns the widget that received the event originally. the widget that originally received @event, or %NULL a #GdkEvent Returns a #GOptionGroup for the commandline arguments recognized by GTK+ and GDK. You should add this group to your #GOptionContext with g_option_context_add_group(), if you are using g_option_context_parse() to parse your commandline arguments. by GTK+ a #GOptionGroup for the commandline arguments recognized whether to open the default display when parsing the commandline arguments Looks up the icon size associated with @name. the icon size the name to look up. Gets the canonical name of the given icon size. The returned string is statically allocated and should not be freed. the name of the given icon size. a #GtkIconSize. Obtains the pixel size of a semantic icon size, possibly modified by user preferences for the default #GtkSettings. (See gtk_icon_size_lookup_for_settings().) Normally @size would be #GTK_ICON_SIZE_MENU, #GTK_ICON_SIZE_BUTTON, etc. This function isn't normally needed, gtk_widget_render_icon() is the usual way to get an icon for rendering, then just look at the size of the rendered pixbuf. The rendered pixbuf may not even correspond to the width/height returned by gtk_icon_size_lookup(), because themes are free to render the pixbuf however they like, including changing the usual size. %TRUE if @size was a valid size an icon size location to store icon width location to store icon height Obtains the pixel size of a semantic icon size, possibly modified by user preferences for a particular #GtkSettings. Normally @size would be #GTK_ICON_SIZE_MENU, #GTK_ICON_SIZE_BUTTON, etc. This function isn't normally needed, gtk_widget_render_icon() is the usual way to get an icon for rendering, then just look at the size of the rendered pixbuf. The rendered pixbuf may not even correspond to the width/height returned by gtk_icon_size_lookup(), because themes are free to render the pixbuf however they like, including changing the usual size. %TRUE if @size was a valid size a #GtkSettings object, used to determine which set of user preferences to used. an icon size location to store icon width location to store icon height Registers a new icon size, along the same lines as #GTK_ICON_SIZE_MENU, etc. Returns the integer value for the size. integer value representing the size name of the icon size the icon width the icon height Registers @alias as another name for @target. So calling gtk_icon_size_from_name() with @alias as argument will return @target. an alias for @target an existing icon size Call this function before using any other GTK+ functions in your GUI applications. It will initialize everything needed to operate the toolkit and parses some standard command line options. @argc and never see those standard arguments. if you are calling gtk_parse_args(), gtk_init_check(), gtk_init_with_args() or g_option_context_parse() with the option group returned by gtk_get_option_group(), you <emphasis>don't</emphasis> have to call gtk_init(). <note><para> This function will terminate your program if it was unable to initialize the GUI for some reason. If you want your program to fall back to a textual interface you want to call gtk_init_check() instead. </para></note> <note><para> Since 2.18, GTK+ calls <literal>signal (SIGPIPE, SIG_IGN)</literal> during initialization, to ignore SIGPIPE signals, since these are almost never wanted in graphical applications. If you do need to handle SIGPIPE for some reason, reset the handler after gtk_init(), but notice that other libraries (e.g. libdbus or gvfs) might do similar things. </para></note> Address of the <parameter>argc</parameter> parameter of your main() function. Changed if any arguments were handled. Address of the <parameter>argv</parameter> parameter of main(). Any parameters understood by gtk_init() are stripped before return. This function does the same work as gtk_init() with only initialized. Instead it returns %FALSE on failure. This way the application can fall back to some other means of communication with the user - for example a curses or command line interface. %FALSE otherwise. %TRUE if the GUI has been successfully initialized, Address of the <parameter>argc</parameter> parameter of your main() function. Changed if any arguments were handled. Address of the <parameter>argv</parameter> parameter of main(). Any parameters understood by gtk_init() are stripped before return. This function does the same work as gtk_init_check(). Additionally, it allows you to add your own commandline options, and it automatically generates nicely formatted <option>--help</option> output. Note that your program will be terminated after writing out the help output. %FALSE otherwise. %TRUE if the GUI has been successfully initialized, a pointer to the number of command line arguments. a pointer to the array of command line arguments. a string which is displayed in the first line of <option>--help</option> output, after <literal><replaceable>programname</replaceable> [OPTION...]</literal> a %NULL-terminated array of #GOptionEntry<!-- -->s describing the options of your program a translation domain to use for translating the <option>--help</option> output for the options in @entries with gettext(), or %NULL Draws an arrow in the given rectangle on @window using the given parameters. @arrow_type determines the direction of the arrow. a #GtkStyle a #GdkWindow a state the type of shadow to draw clip rectangle, or %NULL if the output should not be clipped the widget a style detail the type of arrow to draw %TRUE if the arrow tip should be filled x origin of the rectangle to draw the arrow in y origin of the rectangle to draw the arrow in width of the rectangle to draw the arrow in height of the rectangle to draw the arrow in Draws a box on @window with the given parameters. a #GtkStyle a #GdkWindow a state the type of shadow to draw clip rectangle, or %NULL if the output should not be clipped the widget a style detail x origin of the box y origin of the box the width of the box the height of the box Draws a box in @window using the given style and state and shadow type, leaving a gap in one side. a #GtkStyle a #GdkWindow a state type of shadow to draw clip rectangle, or %NULL if the output should not be clipped the widget a style detail x origin of the rectangle y origin of the rectangle width of the rectangle width of the rectangle side in which to leave the gap starting position of the gap width of the gap Draws a check button indicator in the given rectangle on @window with the given parameters. a #GtkStyle a #GdkWindow a state the type of shadow to draw clip rectangle, or %NULL if the output should not be clipped the widget a style detail x origin of the rectangle to draw the check in y origin of the rectangle to draw the check in the width of the rectangle to draw the check in the height of the rectangle to draw the check in Draws a diamond in the given rectangle on @window using the given parameters. a #GtkStyle a #GdkWindow a state the type of shadow to draw clip rectangle, or %NULL if the output should not be clipped the widget a style detail x origin of the rectangle to draw the diamond in y origin of the rectangle to draw the diamond in width of the rectangle to draw the diamond in height of the rectangle to draw the diamond in Draws an expander as used in #GtkTreeView. @x and @y specify the center the expander. The size of the expander is determined by the "expander-size" style property of @widget. (If widget is not specified or doesn't have an "expander-size" property, an unspecified default size will be used, since the caller doesn't have sufficient information to position the expander, this is likely not useful.) The expander is expander_size pixels tall in the collapsed position and expander_size pixels wide in the expanded position. a #GtkStyle a #GdkWindow a state clip rectangle, or %NULL if the output should not be clipped the widget a style detail the x position to draw the expander at the y position to draw the expander at the style to draw the expander in; determines whether the expander is collapsed, expanded, or in an intermediate state. Draws an extension, i.e. a notebook tab. a #GtkStyle a #GdkWindow a state type of shadow to draw clip rectangle, or %NULL if the output should not be clipped the widget a style detail x origin of the extension y origin of the extension width of the extension width of the extension the side on to which the extension is attached Draws a flat box on @window with the given parameters. a #GtkStyle a #GdkWindow a state the type of shadow to draw clip rectangle, or %NULL if the output should not be clipped the widget a style detail x origin of the box y origin of the box the width of the box the height of the box Draws a focus indicator around the given rectangle on @window using the given style. a #GtkStyle a #GdkWindow a state clip rectangle, or %NULL if the output should not be clipped the widget a style detail the x origin of the rectangle around which to draw a focus indicator the y origin of the rectangle around which to draw a focus indicator the width of the rectangle around which to draw a focus indicator the height of the rectangle around which to draw a focus indicator Draws a handle as used in #GtkHandleBox and #GtkPaned. a #GtkStyle a #GdkWindow a state type of shadow to draw clip rectangle, or %NULL if the output should not be clipped the widget a style detail x origin of the handle y origin of the handle with of the handle height of the handle the orientation of the handle Draws a horizontal line from (@x1, @y) to (@x2, @y) in @window using the given style and state. a #GtkStyle a #GdkWindow a state rectangle to which the output is clipped, or %NULL if the output should not be clipped the widget a style detail the starting x coordinate the ending x coordinate the y coordinate Draws a layout on @window using the given parameters. a #GtkStyle a #GdkWindow a state whether to use the text or foreground graphics context of @style clip rectangle, or %NULL if the output should not be clipped the widget a style detail x origin y origin the layout to draw Draws a radio button indicator in the given rectangle on @window with the given parameters. a #GtkStyle a #GdkWindow a state the type of shadow to draw clip rectangle, or %NULL if the output should not be clipped the widget a style detail x origin of the rectangle to draw the option in y origin of the rectangle to draw the option in the width of the rectangle to draw the option in the height of the rectangle to draw the option in Draws a polygon on @window with the given parameters. a #GtkStyle a #GdkWindow a state type of shadow to draw clip rectangle, or %NULL if the output should not be clipped the widget a style detail an array of #GdkPoint<!-- -->s length of @points %TRUE if the polygon should be filled Draws a resize grip in the given rectangle on @window using the given parameters. a #GtkStyle a #GdkWindow a state clip rectangle, or %NULL if the output should not be clipped the widget a style detail the edge in which to draw the resize grip the x origin of the rectangle in which to draw the resize grip the y origin of the rectangle in which to draw the resize grip the width of the rectangle in which to draw the resize grip the height of the rectangle in which to draw the resize grip Draws a shadow around the given rectangle in @window using the given style and state and shadow type. a #GtkStyle a #GdkWindow a state type of shadow to draw clip rectangle or %NULL if the output should not be clipped the widget a style detail x origin of the rectangle y origin of the rectangle width of the rectangle width of the rectangle Draws a shadow around the given rectangle in @window using the given style and state and shadow type, leaving a gap in one side. a #GtkStyle a #GdkWindow a state type of shadow to draw clip rectangle, or %NULL if the output should not be clipped the widget a style detail x origin of the rectangle y origin of the rectangle width of the rectangle width of the rectangle side in which to leave the gap starting position of the gap width of the gap Draws a slider in the given rectangle on @window using the given style and orientation. a #GtkStyle a #GdkWindow a state a shadow clip rectangle, or %NULL if the output should not be clipped the widget a style detail the x origin of the rectangle in which to draw a slider the y origin of the rectangle in which to draw a slider the width of the rectangle in which to draw a slider the height of the rectangle in which to draw a slider the orientation to be used Draws a spinner on @window using the given parameters. a #GtkStyle a #GdkWindow a state clip rectangle, or %NULL if the output should not be clipped the widget (may be %NULL) a style detail (may be %NULL) the nth step, a value between 0 and #GtkSpinner:num-steps the x origin of the rectangle in which to draw the spinner the y origin of the rectangle in which to draw the spinner the width of the rectangle in which to draw the spinner the height of the rectangle in which to draw the spinner Draws a text string on @window with the given parameters. a #GtkStyle a #GdkWindow a state clip rectangle, or %NULL if the output should not be clipped the widget a style detail x origin y origin the string to draw Draws an option menu tab (i.e. the up and down pointing arrows) in the given rectangle on @window using the given parameters. a #GtkStyle a #GdkWindow a state the type of shadow to draw clip rectangle, or %NULL if the output should not be clipped the widget a style detail x origin of the rectangle to draw the tab in y origin of the rectangle to draw the tab in the width of the rectangle to draw the tab in the height of the rectangle to draw the tab in Draws a vertical line from (@x, @y1_) to (@x, @y2_) in @window using the given style and state. a #GtkStyle a #GdkWindow a state rectangle to which the output is clipped, or %NULL if the output should not be clipped the widget a style detail the starting y coordinate the ending y coordinate the x coordinate Returns the name of the default paper size, which depends on the current locale. is owned by GTK+ and should not be modified. the name of the default paper size. The string Creates a list of known paper sizes. allocated #GtkPaperSize objects a newly allocated list of newly whether to include custom paper sizes as defined in the page setup dialog Parses command line arguments, and initializes global attributes of GTK+, but does not actually open a connection to a display. (See gdk_display_open(), gdk_get_display_arg_name()) Any arguments used by GTK+ or GDK are removed from the array and You shouldn't call this function explicitely if you are using gtk_init(), or gtk_init_check(). %TRUE if initialization succeeded, otherwise %FALSE. a pointer to the number of command line arguments. a pointer to the array of command line arguments. Runs a page setup dialog, letting the user modify the values from is identical to the passed in @page_setup, otherwise it contains the modifications done in the dialog. Note that this function may use a recursive mainloop to show the page setup dialog. See gtk_print_run_page_setup_dialog_async() if this is a problem. a new #GtkPageSetup transient parent an existing #GtkPageSetup a #GtkPrintSettings Runs a page setup dialog, letting the user modify the values from @page_setup. In contrast to gtk_print_run_page_setup_dialog(), this function returns after showing the page setup dialog on platforms that support this, and calls @done_cb from a signal handler for the ::response signal of the dialog. transient parent, or %NULL an existing #GtkPageSetup, or %NULL a #GtkPrintSettings a function to call when the user saves the modified page setup user data to pass to @done_cb Sends an event to a widget, propagating the event to parent widgets if the event remains unhandled. Events received by GTK+ from GDK normally begin in gtk_main_do_event(). Depending on the type of event, existence of modal dialogs, grabs, etc., the event may be propagated; if so, this function is used. gtk_propagate_event() calls gtk_widget_event() on each widget it decides to send the event to. So gtk_widget_event() is the lowest-level function; it simply emits the "event" and possibly an event-specific signal on a widget. gtk_propagate_event() is a bit higher-level, and gtk_main_do_event() is the highest level. All that said, you most likely don't want to use any of these functions; synthesizing events is rarely needed. Consider asking on the mailing list for better ways to achieve your goals. For example, use gdk_window_invalidate_rect() or gtk_widget_queue_draw() instead of making up expose events. a #GtkWidget an event Adds a file to the list of files to be parsed at the end of gtk_init(). the pathname to the file. If @filename is not absolute, it is searched in the current directory. Searches for a theme engine in the GTK+ search path. This function is not useful for applications and should not be used. otherwise %NULL. The filename, if found (must be freed with g_free()), name of a theme engine Looks up a file in pixmap path for the specified #GtkSettings. If the file is not found, it outputs a warning message using g_warning() and returns %NULL. the filename. a #GtkSettings Scanner used to get line number information for the warning message, or %NULL name of the pixmap file to locate. Retrieves the current list of RC files that will be parsed at the end of gtk_init(). is owned by GTK+ and must not be freed by the application. If you want to store this information, you should make a copy. A %NULL-terminated array of filenames. This memory Obtains the path to the IM modules file. See the documentation of the <link linkend="im-module-file"><envar>GTK_IM_MODULE_FILE</envar></link> environment variable for more details. a newly-allocated string containing the name of the file listing the IM modules available for loading Obtains the path in which to look for IM modules. See the documentation of the <link linkend="im-module-path"><envar>GTK_PATH</envar></link> environment variable for more details about looking up modules. This function is useful solely for utilities supplied with GTK+ and should not be used by applications under normal circumstances. a newly-allocated string containing the path in which to look for IM modules. Returns a directory in which GTK+ looks for theme engines. For full information about the search for theme engines, see the docs for <envar>GTK_PATH</envar> in <xref linkend="gtk-running"/>. the directory. (Must be freed with g_free()) Finds all matching RC styles for a given widget, composites them together, and then creates a #GtkStyle representing the composite appearance. (GTK+ actually keeps a cache of previously created styles, so a new style may not be created.) to the returned style, so if you want to save this style around, you should add a reference yourself. the resulting style. No refcount is added a #GtkWidget Creates up a #GtkStyle from styles defined in a RC file by providing the raw components used in matching. This function may be useful when creating pseudo-widgets that should be themed like widgets but don't actually have corresponding GTK+ widgets. An example of this would be items inside a GNOME canvas widget. The action of gtk_rc_get_style() is similar to: |[ gtk_widget_path (widget, NULL, &path, NULL); gtk_widget_class_path (widget, NULL, &class_path, NULL); gtk_rc_get_style_by_paths (gtk_widget_get_settings (widget), path, class_path, G_OBJECT_TYPE (widget)); ]| or %NULL if nothing matching was specified and the default style should be used. The returned value is owned by GTK+ as part of an internal cache, so you must call g_object_ref() on the returned value if you want to keep a reference to it. A style created by matching with the supplied paths, a #GtkSettings object the widget path to use when looking up the style, or %NULL if no matching against the widget path should be done the class path to use when looking up the style, or %NULL if no matching against the class path should be done. a type that will be used along with parent types of this type when matching against class styles, or #G_TYPE_NONE Parses a color in the <link linkend="color=format">format</link> expected in a RC file. Note that theme engines should use gtk_rc_parse_color_full() in order to support symbolic colors. that was expected but not found %G_TOKEN_NONE if parsing succeeded, otherwise the token a #GScanner a pointer to a #GdkColor structure in which to store the result Parses a color in the <link linkend="color=format">format</link> expected in a RC file. If @style is not %NULL, it will be consulted to resolve references to symbolic colors. that was expected but not found %G_TOKEN_NONE if parsing succeeded, otherwise the token a #GScanner a #GtkRcStyle, or %NULL a pointer to a #GdkColor structure in which to store the result A #GtkRcPropertyParser for use with gtk_settings_install_property_parser() or gtk_widget_class_install_style_property_parser() which parses borders in the form <literal>"{ left, right, top, bottom }"</literal> for integers %left, %right, %top and %bottom. has been set to the resulting #GtkBorder. %TRUE if @gstring could be parsed and @property_value a #GParamSpec the #GString to be parsed a #GValue which must hold boxed values. A #GtkRcPropertyParser for use with gtk_settings_install_property_parser() or gtk_widget_class_install_style_property_parser() which parses a color given either by its name or in the form <literal>{ red, green, blue }</literal> where %red, %green and %blue are integers between 0 and 65535 or floating-point numbers between 0 and 1. has been set to the resulting #GdkColor. %TRUE if @gstring could be parsed and @property_value a #GParamSpec the #GString to be parsed a #GValue which must hold #GdkColor values. A #GtkRcPropertyParser for use with gtk_settings_install_property_parser() or gtk_widget_class_install_style_property_parser() which parses a single enumeration value. The enumeration value can be specified by its name, its nickname or its numeric value. For consistency with flags parsing, the value may be surrounded by parentheses. has been set to the resulting #GEnumValue. %TRUE if @gstring could be parsed and @property_value a #GParamSpec the #GString to be parsed a #GValue which must hold enum values. A #GtkRcPropertyParser for use with gtk_settings_install_property_parser() or gtk_widget_class_install_style_property_parser() which parses flags. Flags can be specified by their name, their nickname or numerically. Multiple flags can be specified in the form <literal>"( flag1 | flag2 | ... )"</literal>. has been set to the resulting flags value. %TRUE if @gstring could be parsed and @property_value a #GParamSpec the #GString to be parsed a #GValue which must hold flags values. A #GtkRcPropertyParser for use with gtk_settings_install_property_parser() or gtk_widget_class_install_style_property_parser() which parses a requisition in the form <literal>"{ width, height }"</literal> for integers %width and %height. has been set to the resulting #GtkRequisition. %TRUE if @gstring could be parsed and @property_value a #GParamSpec the #GString to be parsed a #GValue which must hold boxed values. If the modification time on any previously read file for the default #GtkSettings has changed, discard all style information and then reread all previously read RC files. %TRUE if the files were reread. If the modification time on any previously read file for the given #GtkSettings has changed, discard all style information and then reread all previously read RC files. %TRUE if the files were reread. a #GtkSettings load whether or not anything changed This function recomputes the styles for all widgets that use a particular #GtkSettings object. (There is one #GtkSettings object per #GdkScreen, see gtk_settings_get_for_screen()); It is useful when some global parameter has changed that affects the appearance of all widgets, because when a widget gets a new style, it will both redraw and recompute any cached information about its appearance. As an example, it is used when the default font size set by the operating system changes. Note that this function doesn't affect widgets that have a style set explicitely on them with gtk_widget_set_style(). a #GtkSettings Sets the list of files that GTK+ will read at the end of gtk_init(). A %NULL-terminated list of filenames. Converts a color from RGB space to HSV. Input values must be in the [0.0, 1.0] range; output values will be in the same range. Red Green Blue Return value for the hue component Return value for the saturation component Return value for the value component Appends a specified target to the list of supported targets for a given widget and selection. a #GtkTarget the selection target to add. A unsigned integer which will be passed back to the application. Prepends a table of targets to the list of supported targets for a given widget and selection. a #GtkWidget the selection a table of targets to add number of entries in @targets The default handler for the #GtkWidget::selection-clear-event signal. your selection-clear-event handler. Calling this function from any other context is illegal. %TRUE if the event was handled, otherwise false a #GtkWidget the event Remove all targets registered for the given selection for the widget. a #GtkWidget an atom representing a selection Requests the contents of a selection. When received, a "selection-received" signal will be generated. request. (e.g., there was already a request in process for this widget). %TRUE if requested succeeded. %FALSE if we could not process The widget which acts as requestor Which selection to get Form of information desired (e.g., STRING) Time of request (usually of triggering event) Claims ownership of a given selection for a particular widget, or, if @widget is %NULL, release ownership of the selection. %TRUE if the operation succeeded a #GtkWidget, or %NULL. an interned atom representing the selection to claim timestamp with which to claim the selection Claim ownership of a given selection for a particular widget, or, if @widget is %NULL, release ownership of the selection. TRUE if the operation succeeded the #Gdkdisplay where the selection is set new selection owner (a #GdkWidget), or %NULL. an interned atom representing the selection to claim. timestamp with which to claim the selection Removes all handlers and unsets ownership of all selections for a widget. Called when widget is being destroyed. This function will not generally be called by applications. a #GtkWidget Initializes internationalization support for GTK+. gtk_init() automatically does this, so there is typically no point in calling this function. If you are calling this function because you changed the locale after GTK+ is was initialized, then calling this function may help a bit. (Note, however, that changing the locale after GTK+ is initialized may produce inconsistent results and is not really supported.) In detail - sets the current locale according to the program environment. This is the same as calling the C library function <literal>setlocale (LC_ALL, "")</literal> but also takes care of the locale specific setup of the windowing system used by GDK. form lang_COUNTRY, where lang is an ISO-639 language code, and COUNTRY is an ISO-3166 country code. On Unix, this form matches the result of the setlocale(); it is also used on other machines, such as Windows, where the C library returns a different result. The string is owned by GTK+ and should not be modified or freed. a string corresponding to the locale set, typically in the This is a convenience function for showing an application's about box. The constructed dialog is associated with the parent window and reused for future invocations of this function. transient parent, or %NULL for none the name of the first property This is a convenience function for launching the default application to show the uri. The uri must be of a form understood by GIO. Typical examples are <simplelist> <member><filename>file:///home/gnome/pict.jpg</filename></member> <member><filename>http://www.gnome.org</filename></member> <member><filename>mailto:me&commat;gnome.org</filename></member> </simplelist> Ideally the timestamp is taken from the event triggering the gtk_show_uri() call. If timestamp is not known you can take %GDK_CURRENT_TIME. This function can be used as a replacement for gnome_vfs_url_show() and gnome_url_show(). %TRUE on success, %FALSE on error. screen to show the uri on or %NULL for the default screen the uri to show a timestamp to prevent focus stealing. Registers each of the stock items in @items. If an item already exists with the same stock ID as one of the @items, the old item gets replaced. The stock items are copied, so GTK+ does not hold any pointer into @items and @items can be freed. Use gtk_stock_add_static() if @items is persistent and GTK+ need not copy the array. a #GtkStockItem or array of items number of #GtkStockItem in @items Same as gtk_stock_add(), but doesn't copy @items, so a #GtkStockItem or array of #GtkStockItem number of items Retrieves a list of all known stock IDs added to a #GtkIconFactory or registered with gtk_stock_add(). The list must be freed with g_slist_free(), and each string in the list must be freed with g_free(). a list of known stock IDs Fills @item with the registered values for @stock_id, returning %TRUE if @stock_id was known. %TRUE if @item was initialized a stock item name stock item to initialize with values Sets a function to be used for translating the @label of a stock item. If no function is registered for a translation domain, g_dgettext() is used. The function is used for all stock items whose to use strings different from the actual gettext translation domain of your application for this, as long as your #GtkTranslateFunc uses the correct domain when calling dgettext(). This can be useful, e.g. when dealing with message contexts: |[ GtkStockItem items[] = { { MY_ITEM1, NC_("odd items", "Item 1"), 0, 0, "odd-item-domain" }, { MY_ITEM2, NC_("even items", "Item 2"), 0, 0, "even-item-domain" }, }; gchar * my_translate_func (const gchar *msgid, gpointer data) { gchar *msgctxt = data; return (gchar*)g_dpgettext2 (GETTEXT_PACKAGE, msgctxt, msgid); } /&ast; ... &ast;/ gtk_stock_add (items, G_N_ELEMENTS (items)); gtk_stock_set_translate_func ("odd-item-domain", my_translate_func, "odd items"); gtk_stock_set_translate_func ("even-item-domain", my_translate_func, "even items"); ]| the translation domain for which @func shall be used a #GtkTranslateFunc data to pass to @func a #GDestroyNotify that is called when @data is no longer needed This function frees a target table as returned by gtk_target_table_new_from_list() a #GtkTargetEntry array the number of entries in the array This function creates an #GtkTargetEntry array that contains the same targets as the passed %list. The returned table is newly allocated and should be freed using gtk_target_table_free() when no longer needed. the new table. a #GtkTargetList return location for the number ot targets in the table Determines if any of the targets in @targets can be used to provide a #GdkPixbuf. otherwise %FALSE. %TRUE if @targets include a suitable target for images, an array of #GdkAtom<!-- -->s the length of @targets whether to accept only targets for which GTK+ knows how to convert a pixbuf into the format Determines if any of the targets in @targets can be used to provide rich text. otherwise %FALSE. %TRUE if @targets include a suitable target for rich text, an array of #GdkAtom<!-- -->s the length of @targets a #GtkTextBuffer Determines if any of the targets in @targets can be used to provide text. otherwise %FALSE. %TRUE if @targets include a suitable target for text, an array of #GdkAtom<!-- -->s the length of @targets Determines if any of the targets in @targets can be used to provide an uri list. otherwise %FALSE. %TRUE if @targets include a suitable target for uri lists, an array of #GdkAtom<!-- -->s the length of @targets This function is used to initialize a GTK+ test program. It will in turn call g_test_init() and gtk_init() to properly initialize the testing framework and graphical toolkit. It'll also set the program's locale to "C" and prevent loading of rc files and Gtk+ modules. This is done to make tets program environments as deterministic as possible. Like gtk_init() and g_test_init(), any known arguments will be processed and stripped from @argc and @argv. Address of the <parameter>argc</parameter> parameter of the main() function. Changed if any arguments were handled. Address of the <parameter>argv</parameter> parameter of main(). Any parameters understood by g_test_init() or gtk_init() are stripped before return. Obtains a @tree_model and @path from selection data of target type %GTK_TREE_MODEL_ROW. Normally called from a drag_data_received handler. This function can only be used if @selection_data originates from the same process that's calling this function, because a pointer to the tree model is being passed around. If you aren't in the same process, then you'll get memory corruption. In the #GtkTreeDragDest drag_data_received handler, you can assume that selection data of type %GTK_TREE_MODEL_ROW is in from the current process. The returned path must be freed with gtk_tree_path_free(). is otherwise valid %TRUE if @selection_data had target type %GTK_TREE_MODEL_ROW and a #GtkSelectionData a #GtkTreeModel row in @tree_model Lets a set of row reference created by gtk_tree_row_reference_new_proxy() know that the model emitted the "row_deleted" signal. A #GObject The path position that was deleted Lets a set of row reference created by gtk_tree_row_reference_new_proxy() know that the model emitted the "row_inserted" signal. A #GObject The row position that was inserted Lets a set of row reference created by gtk_tree_row_reference_new_proxy() know that the model emitted the "rows_reordered" signal. A #GObject The parent path of the reordered signal The iter pointing to the parent of the reordered The new order of rows Sets selection data of target type %GTK_TREE_MODEL_ROW. Normally used in a drag_data_get handler. %TRUE if the #GtkSelectionData had the proper target type to allow us to set a tree row some #GtkSelectionData a #GtkTreeModel a row in @tree_model