diff --git a/basis/atk/Atk-1.0.gir b/basis/atk/Atk-1.0.gir index 27bb0f0466..f14914edd0 100644 --- a/basis/atk/Atk-1.0.gir +++ b/basis/atk/Atk-1.0.gir @@ -2,202 +2,265 @@ - + - - + c:identifier-prefixes="Atk" + c:symbol-prefixes="atk"> + + This is a singly-linked list (a #GSList) of #AtkAttribute. It is +used by atk_text_get_run_attributes(), atk_text_get_default_attributes() +and atk_editable_text_set_run_attributes() + + + + + + Perform the specified action on the object. - + %TRUE if success, %FALSE otherwise + - + the action index corresponding to the action to be performed + - - - - - + Returns a description of the specified action of the object. +Returns a description string, or %NULL +if @action does not implement this interface. - - - - - - - - - - - + the action index corresponding to the action to be performed + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Returns a keybinding associated with this action, if one exists. +The returned string is in the format "<a>;<b>;<c>" (i.e. semicolon-delimited), where <a> is the keybinding which -activates the object if it is presently enabled onscreen, +activates the object if it is presently enabled onscreen, <b> corresponds to the keybinding or sequence of keys which invokes the action even if the relevant element is not currently posted on screen (for instance, for a menu item it posts the parent menus before invoking). The last token in the above string, if non-empty, represents a keyboard shortcut which invokes the same action without posting the component or its -enclosing menus or dialogs. +enclosing menus or dialogs. Returns a string representing the available keybindings, or %NULL -if there is no keybinding for this action."> +if there is no keybinding for this action. - + the action index corresponding to the action to be performed + - - + + + Returns the localized name of the specified action of the object. +Returns a name string, or %NULL +if @action does not implement this interface. - + - + the action index corresponding to the action to be performed + + + + + + Gets the number of accessible actions available on the object. +If there are more than one, the first one is considered the +"default" action of the object. +implement this interface. + + a the number of actions, or 0 if @action does not + + + + + Returns a non-localized string naming the specified action of the +object. This name is generally not descriptive of the end result +of the action, but instead names the 'interaction type' which the +object supports. By convention, the above strings should be used to +represent the actions which correspond to the common point-and-click +"click", "press", "release", "drag", "drop", "popup", etc. +The "popup" action should be used to pop up a context menu for the +object, if one exists. +For technical reasons, some toolkits cannot guarantee that the +reported action is actually 'bound' to a nontrivial user event; +i.e. the result of some actions via atk_action_do_action() may be +NIL. +Returns a name string, or %NULL +if @action does not implement this interface. + + + + + + the action index corresponding to the action to be performed + + + + + + Sets a description of the specified action of the object. + + a gboolean representing if the description was successfully set; + + + + + the action index corresponding to the action to be performed + + the description to be assigned to this action + + + Perform the specified action on the object. + + %TRUE if success, %FALSE otherwise + + + + + the action index corresponding to the action to be performed + + + + + + Returns a description of the specified action of the object. +Returns a description string, or %NULL +if @action does not implement this interface. + + + + + + the action index corresponding to the action to be performed + + + + + + Returns a keybinding associated with this action, if one exists. +The returned string is in the format "<a>;<b>;<c>" +(i.e. semicolon-delimited), where <a> is the keybinding which +activates the object if it is presently enabled onscreen, +<b> corresponds to the keybinding or sequence of keys +which invokes the action even if the relevant element is not +currently posted on screen (for instance, for a menu item it +posts the parent menus before invoking). The last token in the +above string, if non-empty, represents a keyboard shortcut which +invokes the same action without posting the component or its +enclosing menus or dialogs. +Returns a string representing the available keybindings, or %NULL +if there is no keybinding for this action. + + + + + + the action index corresponding to the action to be performed + + + + Returns the localized name of the specified action of the object. Returns a name string, or %NULL -if @action does not implement this interface."> +if @action does not implement this interface. - + the action index corresponding to the action to be performed + + + + + + Gets the number of accessible actions available on the object. +If there are more than one, the first one is considered the +"default" action of the object. +implement this interface. + + a the number of actions, or 0 if @action does not + + + + + Returns a non-localized string naming the specified action of the +object. This name is generally not descriptive of the end result +of the action, but instead names the 'interaction type' which the +object supports. By convention, the above strings should be used to +represent the actions which correspond to the common point-and-click +"click", "press", "release", "drag", "drop", "popup", etc. +The "popup" action should be used to pop up a context menu for the +object, if one exists. +For technical reasons, some toolkits cannot guarantee that the +reported action is actually 'bound' to a nontrivial user event; +i.e. the result of some actions via atk_action_do_action() may be +NIL. +Returns a name string, or %NULL +if @action does not implement this interface. + + + + + + the action index corresponding to the action to be performed + + + + + + Sets a description of the specified action of the object. + + a gboolean representing if the description was successfully set; + + + + + the action index corresponding to the action to be performed + + + + the description to be assigned to this action + @@ -209,24 +272,27 @@ if @action does not implement this interface."> - + - + %TRUE if success, %FALSE otherwise + - + the action index corresponding to the action to be performed + - + - + a the number of actions, or 0 if @action does not + @@ -236,7 +302,7 @@ if @action does not implement this interface."> - + @@ -245,13 +311,14 @@ if @action does not implement this interface."> - + the action index corresponding to the action to be performed + - + @@ -260,13 +327,14 @@ if @action does not implement this interface."> - + the action index corresponding to the action to be performed + - + @@ -275,31 +343,35 @@ if @action does not implement this interface."> - + the action index corresponding to the action to be performed + - + - + a gboolean representing if the description was successfully set; + - + the action index corresponding to the action to be performed + + the description to be assigned to this action - + @@ -308,7 +380,8 @@ if @action does not implement this interface."> - + the action index corresponding to the action to be performed + @@ -317,12 +390,8 @@ if @action does not implement this interface."> - + + A string name/value pair representing a text attribute. @@ -331,415 +400,507 @@ A string name/value pair representing a text attribute."> - + + Add the specified handler to the set of functions to be called +when this object receives focus events (in or out). If the handler is +already added it is not added again +or zero if the handler was already added. - + a handler id which can be used in atk_component_remove_focus_handler + + The #AtkFocusHandler to be attached to @component + Checks whether the specified point is within the extent of the @component. +the extent of the @component or not - + %TRUE or %FALSE indicating whether the specified point is within + - + x coordinate + - + y coordinate + + specifies whether the coordinates are relative to the screen or to the components top level window - - - + + Returns the alpha value (i.e. the opacity) for this +(fully opaque). + + An alpha value from 0 to 1.0, inclusive. + - - - - - - - - - - - + Gets the rectangle which gives the extent of the @component. - - + + address of #gint to put x coordinate + - - + + address of #gint to put y coordinate + - - + + address of #gint to put width + - - + + address of #gint to put height + + specifies whether the coordinates are relative to the screen or to the components top level window + + Gets the layer of the component. + + an #AtkLayer which is the layer of the component + + + + + Gets the zorder of the component. The value G_MININT will be returned +if the layer of the component is not ATK_LAYER_MDI or ATK_LAYER_WINDOW. +which the component is shown in relation to other components in the same +container. + + a gint which is the zorder of the component, i.e. the depth at + + + + Gets the position of @component in the form of +a point specifying @component's top-left corner. - - + + address of #gint to put x coordinate position + - - + + address of #gint to put y coordinate position + + specifies whether the coordinates are relative to the screen or to the components top level window + Gets the size of the @component in terms of width and height. - - + + address of #gint to put width of @component + - - + + address of #gint to put height of @component + + Grabs focus for this @component. - + %TRUE if successful, %FALSE otherwise. + + + Gets a reference to the accessible child, if one exists, at the +coordinate point specified by @x and @y. + + a reference to the accessible child, if one exists + + + + + x coordinate + + + + y coordinate + + + + specifies whether the coordinates are relative to the screen or to the components top level window + + + + + Remove the handler specified by @handler_id from the list of +functions to be executed when this object receives focus events +(in or out). - + the handler id of the focus handler to be removed from @component + + Sets the extents of @component. - + %TRUE or %FALSE whether the extents were set or not + - + x coordinate + - + y coordinate + - + width to set for @component + - + height to set for @component + + specifies whether the coordinates are relative to the screen or to the components top level window + Sets the postition of @component. - + %TRUE or %FALSE whether or not the position was set or not + - + x coordinate + - + y coordinate + + specifies whether the coordinates are relative to the screen or to the components top level window + Set the size of the @component in terms of width and height. - + %TRUE or %FALSE whether the size was set or not + - + width to set for @component + - + height to set for @component + - - - - - - - - - - - - - - - + Add the specified handler to the set of functions to be called when this object receives focus events (in or out). If the handler is already added it is not added again -or zero if the handler was already added."> +or zero if the handler was already added. - + a handler id which can be used in atk_component_remove_focus_handler + - + + The #AtkFocusHandler to be attached to @component - + + Checks whether the specified point is within the extent of the @component. +the extent of the @component or not - + %TRUE or %FALSE indicating whether the specified point is within + - + x coordinate + - + y coordinate + + specifies whether the coordinates are relative to the screen or to the components top level window - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + Returns the alpha value (i.e. the opacity) for this +(fully opaque). - + An alpha value from 0 to 1.0, inclusive. + - - + + Gets the rectangle which gives the extent of the @component. + + + + address of #gint to put x coordinate + + + + address of #gint to put y coordinate + + + + address of #gint to put width + + + + address of #gint to put height + + + + specifies whether the coordinates are relative to the screen or to the components top level window + + + + + + Gets the layer of the component. + + an #AtkLayer which is the layer of the component + + + + + Gets the zorder of the component. The value G_MININT will be returned +if the layer of the component is not ATK_LAYER_MDI or ATK_LAYER_WINDOW. +which the component is shown in relation to other components in the same +container. + + a gint which is the zorder of the component, i.e. the depth at + + + + + Gets the position of @component in the form of +a point specifying @component's top-left corner. + + + + + + address of #gint to put x coordinate position + + + + address of #gint to put y coordinate position + + + + specifies whether the coordinates are relative to the screen or to the components top level window + + + + + + Gets the size of the @component in terms of width and height. + + + + + + address of #gint to put width of @component + + + + address of #gint to put height of @component + + + + + + Grabs focus for this @component. + + %TRUE if successful, %FALSE otherwise. + + + + + Gets a reference to the accessible child, if one exists, at the +coordinate point specified by @x and @y. + + a reference to the accessible child, if one exists + + + + + x coordinate + + + + y coordinate + + + + specifies whether the coordinates are relative to the screen or to the components top level window + + + + + + Remove the handler specified by @handler_id from the list of +functions to be executed when this object receives focus events +(in or out). + + + + + + the handler id of the focus handler to be removed from @component + + + + + + Sets the extents of @component. + + %TRUE or %FALSE whether the extents were set or not + + + + + x coordinate + + + + y coordinate + + + + width to set for @component + + + + height to set for @component + + + + specifies whether the coordinates are relative to the screen or to the components top level window + + + + + + Sets the postition of @component. + + %TRUE or %FALSE whether or not the position was set or not + + + + + x coordinate + + + + y coordinate + + + + specifies whether the coordinates are relative to the screen or to the components top level window + + + + + + Set the size of the @component in terms of width and height. + + %TRUE or %FALSE whether the size was set or not + + + + + width to set for @component + + + + height to set for @component + + + + + + + + - + @@ -750,46 +911,52 @@ Sets the postition of @component."> - - + + - + a handler id which can be used in atk_component_remove_focus_handler + + The #AtkFocusHandler to be attached to @component - + - + %TRUE or %FALSE indicating whether the specified point is within + - + x coordinate + - + y coordinate + + specifies whether the coordinates are relative to the screen or to the components top level window - - - + + + + a reference to the accessible child, if one exists @@ -797,19 +964,22 @@ Sets the postition of @component."> - + x coordinate + - + y coordinate + + specifies whether the coordinates are relative to the screen or to the components top level window - + @@ -817,26 +987,31 @@ Sets the postition of @component."> - - + + address of #gint to put x coordinate + - - + + address of #gint to put y coordinate + - - + + address of #gint to put width + - - + + address of #gint to put height + + specifies whether the coordinates are relative to the screen or to the components top level window - + @@ -844,20 +1019,23 @@ Sets the postition of @component."> - - + + address of #gint to put x coordinate position + - - + + address of #gint to put y coordinate position + + specifies whether the coordinates are relative to the screen or to the components top level window - + @@ -865,19 +1043,22 @@ Sets the postition of @component."> - - + + address of #gint to put width of @component + - - + + address of #gint to put height of @component + - + - + %TRUE if successful, %FALSE otherwise. + @@ -887,7 +1068,7 @@ Sets the postition of @component."> - + @@ -896,80 +1077,95 @@ Sets the postition of @component."> - + the handler id of the focus handler to be removed from @component + - + - + %TRUE or %FALSE whether the extents were set or not + - + x coordinate + - + y coordinate + - + width to set for @component + - + height to set for @component + + specifies whether the coordinates are relative to the screen or to the components top level window - + - + %TRUE or %FALSE whether or not the position was set or not + - + x coordinate + - + y coordinate + + specifies whether the coordinates are relative to the screen or to the components top level window - + - + %TRUE or %FALSE whether the size was set or not + - + width to set for @component + - + height to set for @component + - - + + + an #AtkLayer which is the layer of the component @@ -980,9 +1176,10 @@ Sets the postition of @component."> - + - + a gint which is the zorder of the component, i.e. the depth at + @@ -992,7 +1189,7 @@ Sets the postition of @component."> - + @@ -1007,9 +1204,10 @@ Sets the postition of @component."> - + - + An alpha value from 0 to 1.0, inclusive. + @@ -1033,28 +1231,20 @@ Sets the postition of @component."> glib:nick="window"/> - - - - - - - - - - - - - - - - - - + + Gets a %gpointer that points to an instance of the DOM. It is +up to the caller to check atk_document_get_type to determine +how to cast this pointer. + + a %gpointer that points to an instance of the DOM. + @@ -1067,9 +1257,26 @@ Sets the postition of @component."> + + + + + + + + + + + + Gets a string indicating the document type. + + a string indicating the document type + + + - + @@ -1080,92 +1287,100 @@ Sets the postition of @component."> - + + document, or NULL if a value for #attribute_name has not been specified +for this document. + a string value associated with the named attribute for this + + + a character string representing the name of the attribute whose value is being queried. + + + + + + Gets an AtkAttributeSet which describes document-wide +attributes as name-value pairs. +set name-value-pair attributes associated with this document +as a whole. + + An AtkAttributeSet containing the explicitly + + + Gets a %gpointer that points to an instance of the DOM. It is up to the caller to check atk_document_get_type to determine -how to cast this pointer."> - - +how to cast this pointer. + + a %gpointer that points to an instance of the DOM. + - + Gets a string indicating the document type. + + a string indicating the document type + + + + + Gets a UTF-8 string indicating the POSIX-style LC_MESSAGES locale of the content of this document instance. Individual text substrings or images within this document may have a different locale, see atk_text_get_attributes and atk_image_get_image_locale. locale of the document content as a whole, or NULL if -the document content does not specify a locale."> +the document content does not specify a locale. + a UTF-8 string indicating the POSIX-style LC_MESSAGES - - - - - - - - - - - - - - - + for this document, FALSE otherwise (e.g. if the document does not +allow the attribute to be modified). - + TRUE if #value is successfully associated with #attribute_name + + a character string representing the name of the attribute whose value is being set. + a string value to be associated with #attribute_name. - - + + - - + + - - + + @@ -1176,8 +1391,9 @@ allow the attribute to be modified)." - + + a string indicating the document type @@ -1187,10 +1403,11 @@ allow the attribute to be modified)." - - - - + + + + a %gpointer that points to an instance of the DOM. + @@ -1200,7 +1417,7 @@ allow the attribute to be modified)." - + @@ -1211,10 +1428,9 @@ allow the attribute to be modified)." - - - + + + @@ -1225,8 +1441,7 @@ allow the attribute to be modified)." - + @@ -1241,10 +1456,9 @@ allow the attribute to be modified)." - + - + @@ -1273,206 +1487,230 @@ allow the attribute to be modified)." - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + Copy text from @start_pos up to, but not including @end_pos +to the clipboard. - + start position + - + end position + + Copy text from @start_pos up to, but not including @end_pos +to the clipboard and then delete from the widget. - + start position + - + end position + + Delete text @start_pos up to, but not including @end_pos. - + start position + - + end position + + + + + + Insert text at a given position. + + + + + + the text to insert + + + + the length of text to insert, in bytes + + + + The caller initializes this to the position at which to insert the text. After the call it points at the position after the newly inserted text. + + Paste text from clipboard to specified @position. - + position to paste + - + - + - + - + - - + + + Set text contents of @text. + string to set for text contents of @text + + + Copy text from @start_pos up to, but not including @end_pos +to the clipboard. + + + + + + start position + + + + end position + + + - + + Copy text from @start_pos up to, but not including @end_pos +to the clipboard and then delete from the widget. + + + + + + start position + + + + end position + + + + + + Delete text @start_pos up to, but not including @end_pos. + + + + + + start position + + + + end position + + + + + + Insert text at a given position. + the text to insert - + the length of text to insert, in bytes + - - + + The caller initializes this to the position at which to insert the text. After the call it points at the position after the newly inserted text. + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + Paste text from clipboard to specified @position. - + position to paste + + + + + + + + + + + + + + + + + + + + + + Set text contents of @text. + + + + + + string to set for text contents of @text + @@ -1484,9 +1722,9 @@ to the clipboard and then delete from the widget."> - + - + @@ -1496,16 +1734,16 @@ to the clipboard and then delete from the widget."> - + - + - + @@ -1514,13 +1752,14 @@ to the clipboard and then delete from the widget."> + string to set for text contents of @text - + @@ -1529,21 +1768,22 @@ to the clipboard and then delete from the widget."> + the text to insert - + the length of text to insert, in bytes + - - + + The caller initializes this to the position at which to insert the text. After the call it points at the position after the newly inserted text. + - + @@ -1552,16 +1792,18 @@ to the clipboard and then delete from the widget."> - + start position + - + end position + - + @@ -1570,16 +1812,18 @@ to the clipboard and then delete from the widget."> - + start position + - + end position + - + @@ -1588,16 +1832,18 @@ to the clipboard and then delete from the widget."> - + start position + - + end position + - + @@ -1606,7 +1852,8 @@ to the clipboard and then delete from the widget."> - + position to paste + @@ -1618,28 +1865,26 @@ to the clipboard and then delete from the widget."> - + A function which is called when an object emits a matching event, as used in #atk_add_focus_tracker. Currently the only events for which object-specific handlers are -supported are events of type "focus:". Most clients of ATK will prefer to -attach signal handlers for the various ATK signals instead."> +supported are events of type "focus:". Most clients of ATK will prefer to +attach signal handlers for the various ATK signals instead. + An #AtkObject instance for whom the callback will be called when the specified event (e.g. 'focus:') takes place. - + An #AtkEventListenerInit function is a special function that is called in order to initialize the per-object event registration system -used by #AtkEventListener, if any preparation is required."> +used by #AtkEventListener, if any preparation is required. @@ -1653,21 +1898,22 @@ used by #AtkEventListener, if any preparation is required."> - + - + - + glib:type-struct="GObjectAccessibleClass"> - + introspectable="0"> + Gets the accessible object for the specified @obj. + + a #AtkObject which is the accessible object for the @obj + a #GObject - + introspectable="0"> + Gets the GObject for which @obj is the accessible object. + + a #GObject which is the object for which @obj is the accessible object @@ -1710,155 +1961,180 @@ used by #AtkEventListener, if any preparation is required."> - - - + + Gets the index with the hypertext document at which this link ends. + + the index with the hypertext document at which this link ends + - - - - - - - + + Gets the number of anchors associated with this hyperlink. + + the number of anchors associated with this hyperlink + + + + + Returns the item associated with this hyperlinks nth anchor. +For instance, the returned #AtkObject will implement #AtkText +if @link_ is a text hyperlink, #AtkImage if @link_ is an image +hyperlink etc. +Multiple anchors are primarily used by client-side image maps. + + an #AtkObject associated with this hyperlinks i-th anchor - + a (zero-index) integer specifying the desired anchor + - + + Gets the index with the hypertext document at which this link begins. - + the index with the hypertext document at which this link begins + - + + Get a the URI associated with the anchor specified +by @i of @link_. +Multiple anchors are primarily used by client-side image maps. + + a string specifying the URI + + + + + a (zero-index) integer specifying the desired anchor + + + + + - + + Since the document that a link is associated with may have changed +this method returns %TRUE if the link is still valid (with +respect to the document it references) and %FALSE otherwise. - - - - - - + whether or not this link is still valid + - + - + + Gets the index with the hypertext document at which this link ends. - + the index with the hypertext document at which this link ends + - - - - + + + Gets the number of anchors associated with this hyperlink. + + the number of anchors associated with this hyperlink + - - - - - + Returns the item associated with this hyperlinks nth anchor. For instance, the returned #AtkObject will implement #AtkText if @link_ is a text hyperlink, #AtkImage if @link_ is an image -hyperlink etc. -Multiple anchors are primarily used by client-side image maps."> - +hyperlink etc. +Multiple anchors are primarily used by client-side image maps. + + an #AtkObject associated with this hyperlinks i-th anchor - - + + a (zero-index) integer specifying the desired anchor + - - - - - + c:identifier="atk_hyperlink_get_start_index"> + Gets the index with the hypertext document at which this link begins. - + the index with the hypertext document at which this link begins + - - - + + Get a the URI associated with the anchor specified +by @i of @link_. +Multiple anchors are primarily used by client-side image maps. + + a string specifying the URI + + + + a (zero-index) integer specifying the desired anchor + + + - + Indicates whether the link currently displays some or all of its content inline. Ordinary HTML links will usually return %FALSE, but an inline &lt;src&gt; HTML element will return -%TRUE. -*"> +%TRUE. - + whether or not this link displays its content inline. + - + + Since the document that a link is associated with may have changed +this method returns %TRUE if the link is still valid (with +respect to the document it references) and %FALSE otherwise. - + whether or not this link is still valid + - - + + - - + + - - + + - - + + - - + + @@ -1869,8 +2145,9 @@ content inline. Ordinary HTML links will usually return - + + a string specifying the URI @@ -1878,14 +2155,16 @@ content inline. Ordinary HTML links will usually return - + a (zero-index) integer specifying the desired anchor + - - - + + + + an #AtkObject associated with this hyperlinks i-th anchor @@ -1893,15 +2172,17 @@ content inline. Ordinary HTML links will usually return - + a (zero-index) integer specifying the desired anchor + - + - + the index with the hypertext document at which this link ends + @@ -1911,9 +2192,10 @@ content inline. Ordinary HTML links will usually return - + - + the index with the hypertext document at which this link begins + @@ -1923,9 +2205,10 @@ content inline. Ordinary HTML links will usually return - + - + whether or not this link is still valid + @@ -1935,9 +2218,10 @@ content inline. Ordinary HTML links will usually return - + - + the number of anchors associated with this hyperlink + @@ -1947,9 +2231,9 @@ content inline. Ordinary HTML links will usually return - + - + @@ -1959,9 +2243,9 @@ content inline. Ordinary HTML links will usually return - + - + @@ -1971,7 +2255,7 @@ content inline. Ordinary HTML links will usually return - + @@ -1987,21 +2271,28 @@ content inline. Ordinary HTML links will usually return - - + + Gets the hyperlink associated with this object. +Returns an AtkHyperlink object which points to this implementing AtkObject. + - + version="1.12" + introspectable="0"> + Gets the hyperlink associated with this object. +Returns an AtkHyperlink object which points to this implementing AtkObject. + @@ -2012,9 +2303,9 @@ Returns an AtkHyperlink object which points to this implementing AtkObject." - - - + + + @@ -2038,76 +2329,93 @@ Returns an AtkHyperlink object which points to this implementing AtkObject." glib:nick="inline"/> - - + + Gets the link in this hypertext document at index +index @link_index + + the link in this hypertext document at - + an integer specifying the desired link + + + + + + Gets the index into the array of hyperlinks that is associated with +the character specified by @char_index. +or -1 if there is no hyperlink associated with this character. + + an index into the array of hyperlinks in @hypertext, + + + + + a character index + + Gets the number of links within this hypertext document. - + the number of links within this hypertext document + - - - - - - - - - - - + introspectable="0"> + Gets the link in this hypertext document at index +index @link_index + + the link in this hypertext document at - + an integer specifying the desired link + - - - - - + Gets the index into the array of hyperlinks that is associated with the character specified by @char_index. -or -1 if there is no hyperlink associated with this character."> +or -1 if there is no hyperlink associated with this character. - + an index into the array of hyperlinks in @hypertext, + - + a character index + + + Gets the number of links within this hypertext document. + + the number of links within this hypertext document + + + - - + + - + @@ -2118,9 +2426,10 @@ or -1 if there is no hyperlink associated with this character."> - - - + + + + the link in this hypertext document at @@ -2128,15 +2437,17 @@ or -1 if there is no hyperlink associated with this character."> - + an integer specifying the desired link + - + - + the number of links within this hypertext document + @@ -2146,22 +2457,24 @@ or -1 if there is no hyperlink associated with this character."> - + - + an index into the array of hyperlinks in @hypertext, + - + a character index + - + @@ -2170,7 +2483,7 @@ or -1 if there is no hyperlink associated with this character."> - + @@ -2186,125 +2499,150 @@ or -1 if there is no hyperlink associated with this character."> - - - - - - - - - - - - - - - - + Get a textual description of this image. + + a string representing the image description + + + + + Since ATK 1.12 +Returns a string corresponding to the POSIX LC_MESSAGES locale used by the image description, or NULL if the image does not specify a locale. - + + Gets the position of the image in the form of a point specifying the +images top-left corner. - - + + address of #gint to put x coordinate position; otherwise, -1 if value cannot be obtained. + - - + + address of #gint to put y coordinate position; otherwise, -1 if value cannot be obtained. + + + + specifies whether the coordinates are relative to the screen or to the components top level window + + + + + + Get the width and height in pixels for the specified image. +The values of @width and @height are returned as -1 if the +values cannot be obtained (for instance, if the object is not onscreen). + + + + + + filled with the image width, or -1 if the value cannot be obtained. + + + + filled with the image height, or -1 if the value cannot be obtained. + + Sets the textual description for this image. +not be completed. - + boolean TRUE, or FALSE if operation could + + a string description to set for @image - - - - - + c:identifier="atk_image_get_image_description"> + Get a textual description of this image. + + a string representing the image description + + + + + Since ATK 1.12 +Returns a string corresponding to the POSIX LC_MESSAGES locale used by the image description, or NULL if the image does not specify a locale. - - - - - - - - - - - - - - - - - - - - - - - + c:identifier="atk_image_get_image_position"> + Gets the position of the image in the form of a point specifying the +images top-left corner. - - + + address of #gint to put x coordinate position; otherwise, -1 if value cannot be obtained. + - - + + address of #gint to put y coordinate position; otherwise, -1 if value cannot be obtained. + + specifies whether the coordinates are relative to the screen or to the components top level window - + + Get the width and height in pixels for the specified image. +The values of @width and @height are returned as -1 if the +values cannot be obtained (for instance, if the object is not onscreen). - + + + + filled with the image width, or -1 if the value cannot be obtained. + + + + filled with the image height, or -1 if the value cannot be obtained. + + + + + + Sets the textual description for this image. +not be completed. + + boolean TRUE, or FALSE if operation could + + + + + a string description to set for @image + + + - + @@ -2322,21 +2660,25 @@ Returns a string corresponding to the POSIX LC_MESSAGES locale used by the image - - + + address of #gint to put x coordinate position; otherwise, -1 if value cannot be obtained. + - - + + address of #gint to put y coordinate position; otherwise, -1 if value cannot be obtained. + + specifies whether the coordinates are relative to the screen or to the components top level window - + + a string representing the image description @@ -2347,7 +2689,7 @@ Returns a string corresponding to the POSIX LC_MESSAGES locale used by the image - + @@ -2355,32 +2697,36 @@ Returns a string corresponding to the POSIX LC_MESSAGES locale used by the image - - + + filled with the image width, or -1 if the value cannot be obtained. + - - + + filled with the image height, or -1 if the value cannot be obtained. + - + - + boolean TRUE, or FALSE if operation could + + a string description to set for @image - + @@ -2395,54 +2741,46 @@ Returns a string corresponding to the POSIX LC_MESSAGES locale used by the image - - - + - + introspectable="0"> + Gets a reference to an object's #AtkObject implementation, if +the object implements #AtkObjectIface + + a reference to an object's #AtkObject implementation + + - + + Encapsulates information about a key event. - + - + - + - + - + - + c:identifier="ATK_KEY_EVENT_LAST_DEFINED" glib:nick="last-defined"/> - + An #AtkKeySnoopFunc is a type of callback which is called whenever a key event occurs, +if registered via atk_add_key_event_listener. It allows for pre-emptive interception of key events via the return code as described below. -discarded without being passed to the normal GUI recipient; FALSE (zero) if the -event dispatch to the client application should proceed as normal."> - - +discarded without being passed to the normal GUI recipient; FALSE (zero) if the +event dispatch to the client application should proceed as normal. + + TRUE (nonzero) if the event emission should be stopped and the event + + an AtkKeyEventStruct containing information about the key event for which notification is being given. - + a block of data which will be passed to the event listener, on notification. + @@ -2521,6 +2859,7 @@ event dispatch to the client application should proceed as normal."> glib:nick="window"/> glib:type-struct="MiscClass"> + Obtain the singleton instance of AtkMisc for this application. + The singleton instance of AtkMisc for this application. - + + Take the thread mutex for the GUI toolkit, +if one exists. +(This method is implemented by the toolkit ATK implementation layer; +for instance, for GTK+, GAIL implements this via GDK_THREADS_ENTER). - + + Release the thread mutex for the GUI toolkit, +if one exists. This method, and atk_misc_threads_enter, +are needed in some situations by threaded application code which +services ATK requests, since fulfilling ATK requests often +requires calling into the GUI toolkit. If a long-running or +potentially blocking call takes place inside such a block, it should +be bracketed by atk_misc_threads_leave/atk_misc_threads_enter calls. +(This method is implemented by the toolkit ATK implementation layer; +for instance, for GTK+, GAIL implements this via GDK_THREADS_LEAVE). + Take the thread mutex for the GUI toolkit, +if one exists. +(This method is implemented by the toolkit ATK implementation layer; +for instance, for GTK+, GAIL implements this via GDK_THREADS_ENTER). + Release the thread mutex for the GUI toolkit, +if one exists. This method, and atk_misc_threads_enter, +are needed in some situations by threaded application code which services ATK requests, since fulfilling ATK requests often requires calling into the GUI toolkit. If a long-running or potentially blocking call takes place inside such a block, it should be bracketed by atk_misc_threads_leave/atk_misc_threads_enter calls. (This method is implemented by the toolkit ATK implementation layer; -for instance, for GTK+, GAIL implements this via GDK_THREADS_LEAVE)." - version="1.13"> +for instance, for GTK+, GAIL implements this via GDK_THREADS_LEAVE). @@ -2582,7 +2939,7 @@ for instance, for GTK+, GAIL implements this via GDK_THREADS_LEAVE)." - + @@ -2594,7 +2951,7 @@ for instance, for GTK+, GAIL implements this via GDK_THREADS_LEAVE)." - + @@ -2607,11 +2964,12 @@ for instance, for GTK+, GAIL implements this via GDK_THREADS_LEAVE)." - + - - - + + Provides a default (non-functioning stub) #AtkObject. +Application maintainers should not use this method. + + a default (non-functioning stub) #AtkObject + + a #GObject @@ -2652,17 +3011,18 @@ Application maintainers should not use this method."> - + + Creates an instance of an #AtkObjectFactory which generates primitive +(non-functioning) #AtkObjects. - + an instance of an #AtkObjectFactory + @@ -2677,82 +3037,155 @@ Application maintainers should not use this method."> - + + Specifies a function to be called when a property changes value. +atk_object_remove_property_change_handler() - - - - - - - - - - - - - - - - - - - - - + a #guint which is the handler id used in + - - + + - + + Get a list of properties applied to this object as a whole, as an #AtkAttributeSet consisting of +name-value pairs. As such these attributes may be considered weakly-typed properties or annotations, +as distinct from strongly-typed object data available via other get/set methods. +Not all objects have explicit "name-value pair" #AtkAttributeSet properties. +the object, or an empty set if the object has no name-value pair attributes assigned to it. + + an #AtkAttributeSet consisting of all explicit properties/annotations applied to + + + + + Gets the accessible description of the accessible. +of the accessible. - + a character string representing the accessible description + - - - - - - - - + + Gets the 0-based index of this accessible in its parent; returns -1 if the +accessible does not have an accessible parent. + + an integer which is the index of the accessible in its parent + - + - + - - - + + + - + + Gets the accessible name of the accessible. + + a character string representing the accessible name of the object. + + + + + Gets the accessible parent of the accessible. + + a #AtkObject representing the accessible parent of the accessible + + + + + Gets the role of the accessible. + + an #AtkRole which is the role of the accessible + + + + + This function is called when implementing subclasses of #AtkObject. +It does initialization required for the new object. It is intended +that this function should called only in the ..._new() functions used +to create an instance of a subclass of #AtkObject - - + + a #gpointer which identifies the object for which the AtkObject was created. + + + + + + + + + + + + + + + + Gets the #AtkRelationSet associated with the object. + + an #AtkRelationSet representing the relation set of the object. + + + + + Gets a reference to the state set of the accessible; the caller must +unreference it when it is no longer needed. +set of the accessible + + a reference to an #AtkStateSet which is the state + + + + + Removes a property change handler. + + + + + + + Sets the accessible description of the accessible. @@ -2762,7 +3195,20 @@ Application maintainers should not use this method."> + + Sets the accessible name of the accessible. + + + + + + a character string to be set as the accessible name + + + + + Sets the accessible parent of the accessible. @@ -2773,6 +3219,7 @@ Application maintainers should not use this method."> + Sets the role of the accessible. @@ -2782,10 +3229,32 @@ Application maintainers should not use this method."> - + + Adds a relationship of the specified type with the specified target. +Returns TRUE if the relationship is added. - + + + + + The #AtkRelationType of the relation + + + + The #AtkObject which is to be the target of the relation. + + + + + + Specifies a function to be called when a property changes value. +atk_object_remove_property_change_handler() + + a #guint which is the handler id used in + @@ -2793,136 +3262,171 @@ Application maintainers should not use this method."> c:type="AtkPropertyChangeHandler*"/> - - - - - - - - - - - - - - - - - - - - - - - + + + Get a list of properties applied to this object as a whole, as an #AtkAttributeSet consisting of +name-value pairs. As such these attributes may be considered weakly-typed properties or annotations, +as distinct from strongly-typed object data available via other get/set methods. +Not all objects have explicit "name-value pair" #AtkAttributeSet properties. +the object, or an empty set if the object has no name-value pair attributes assigned to it. + + an #AtkAttributeSet consisting of all explicit properties/annotations applied to - - + + + Gets the accessible description of the accessible. +of the accessible. + a character string representing the accessible description - + + Gets the 0-based index of this accessible in its parent; returns -1 if the +accessible does not have an accessible parent. + an integer which is the index of the accessible in its parent + + + + + Gets the number of accessible children of the accessible. +of the accessible. + + an integer representing the number of accessible children + + + + + Gets the accessible name of the accessible. + + a character string representing the accessible name of the object. - + introspectable="0"> + Gets the accessible parent of the accessible. + + a #AtkObject representing the accessible parent of the accessible - + + Gets the role of the accessible. - + an #AtkRole which is the role of the accessible + + + This function is called when implementing subclasses of #AtkObject. +It does initialization required for the new object. It is intended +that this function should called only in the ..._new() functions used +to create an instance of a subclass of #AtkObject + + + + + + a #gpointer which identifies the object for which the AtkObject was created. + + + + + + Emits a state-change signal for the specified state. + + + + + + an #AtkState whose state is changed + + + + + + + + Gets a reference to the specified accessible child of the object. The accessible children are 0-based so the first accessible child is at index 0, the second at index 1 and so on. -of the accessible."> - +of the accessible. + + an #AtkObject representing the specified accessible child - + a gint representing the position of the child, starting from 0 + - + introspectable="0"> + Gets the #AtkRelationSet associated with the object. + + an #AtkRelationSet representing the relation set of the object. - - - - - - - - - - + Gets a reference to the state set of the accessible; the caller must unreference it when it is no longer needed. -set of the accessible"> - +set of the accessible + + a reference to an #AtkStateSet which is the state - - - - - - + + Removes a property change handler. - - + + - + + Removes a relationship of the specified type with the specified target. +Returns TRUE if the relationship is removed. + + + + + + The #AtkRelationType of the relation + + + + The #AtkObject which is the target of the relation to be removed. + + + + + + Sets the accessible description of the accessible. @@ -2932,9 +3436,20 @@ accessible does not have an accessible parent."> - + + Sets the accessible name of the accessible. + + + + + + a character string to be set as the accessible name + + + + + + Sets the accessible parent of the accessible. @@ -2944,9 +3459,8 @@ accessible does not have an accessible parent."> - + + Sets the role of the accessible. @@ -2956,138 +3470,69 @@ accessible does not have an accessible parent."> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + @@ -3111,64 +3556,64 @@ Returns TRUE if the relationship is removed."> - - + + - + - - + + - + - + - - + + - + - - + + - + - - + + - + - + - - + + @@ -3179,8 +3624,9 @@ Returns TRUE if the relationship is removed."> - + + a character string representing the accessible name of the object. @@ -3191,8 +3637,9 @@ Returns TRUE if the relationship is removed."> - + + a character string representing the accessible description @@ -3202,9 +3649,10 @@ Returns TRUE if the relationship is removed."> - - - + + + + a #AtkObject representing the accessible parent of the accessible @@ -3215,9 +3663,9 @@ Returns TRUE if the relationship is removed."> - + - + @@ -3226,9 +3674,9 @@ Returns TRUE if the relationship is removed."> - - - + + + @@ -3236,15 +3684,16 @@ Returns TRUE if the relationship is removed."> - + - + - + an integer which is the index of the accessible in its parent + @@ -3253,9 +3702,10 @@ Returns TRUE if the relationship is removed."> - - - + + + + an #AtkRelationSet representing the relation set of the object. @@ -3266,8 +3716,9 @@ Returns TRUE if the relationship is removed."> - - + + + an #AtkRole which is the role of the accessible @@ -3278,8 +3729,8 @@ Returns TRUE if the relationship is removed."> - - + + @@ -3290,9 +3741,9 @@ Returns TRUE if the relationship is removed."> - + - + @@ -3301,9 +3752,10 @@ Returns TRUE if the relationship is removed."> - - - + + + + a reference to an #AtkStateSet which is the state @@ -3314,7 +3766,7 @@ Returns TRUE if the relationship is removed."> - + @@ -3323,13 +3775,14 @@ Returns TRUE if the relationship is removed."> + a character string to be set as the accessible name - + @@ -3344,7 +3797,7 @@ Returns TRUE if the relationship is removed."> - + @@ -3359,7 +3812,7 @@ Returns TRUE if the relationship is removed."> - + @@ -3373,11 +3826,11 @@ Returns TRUE if the relationship is removed."> - - + + - + a #guint which is the handler id used in + @@ -3391,8 +3844,7 @@ Returns TRUE if the relationship is removed."> - + @@ -3401,13 +3853,13 @@ Returns TRUE if the relationship is removed."> - + - + @@ -3416,13 +3868,14 @@ Returns TRUE if the relationship is removed."> - + a #gpointer which identifies the object for which the AtkObject was created. + - + @@ -3431,16 +3884,16 @@ Returns TRUE if the relationship is removed."> - + - + - + @@ -3449,13 +3902,13 @@ Returns TRUE if the relationship is removed."> - + - - + + @@ -3464,13 +3917,13 @@ Returns TRUE if the relationship is removed."> - + - + @@ -3482,13 +3935,13 @@ Returns TRUE if the relationship is removed."> - + - + @@ -3500,8 +3953,7 @@ Returns TRUE if the relationship is removed."> - + @@ -3510,14 +3962,15 @@ Returns TRUE if the relationship is removed."> - + - - - + + + + an #AtkAttributeSet consisting of all explicit properties/annotations applied to @@ -3535,47 +3988,54 @@ Returns TRUE if the relationship is removed."> + Inform @factory that it is no longer being used to create +accessibles. When called, @factory may need to inform +#AtkObjects which it has created that they need to be re-instantiated. +in object registries. + Provides an #AtkObject that implements an accessibility interface on behalf of @obj -on behalf of @obj"> - +on behalf of @obj + + an #AtkObject that implements an accessibility interface + a #GObject - + + Gets the GType of the accessible which is created by the factory. +The value G_TYPE_INVALID is returned if no type if found. - + the type of the accessible which is created by the @factory. + - + + Inform @factory that it is no longer being used to create +accessibles. When called, @factory may need to inform +#AtkObjects which it has created that they need to be re-instantiated. +in object registries. - + @@ -3588,9 +4048,9 @@ The value G_TYPE_INVALID is returned if no type if found."> - - - + + + @@ -3601,7 +4061,7 @@ The value G_TYPE_INVALID is returned if no type if found."> - + @@ -3613,7 +4073,7 @@ The value G_TYPE_INVALID is returned if no type if found."> - + @@ -3627,14 +4087,16 @@ The value G_TYPE_INVALID is returned if no type if found."> + - + @@ -3658,7 +4120,7 @@ The value G_TYPE_INVALID is returned if no type if found."> - + @@ -3670,7 +4132,9 @@ The value G_TYPE_INVALID is returned if no type if found."> - + @@ -3679,204 +4143,175 @@ The value G_TYPE_INVALID is returned if no type if found."> - + - - + glib:get-type="atk_rectangle_get_type" + c:symbol-prefix="rectangle"> - + - + - + - + - - - + glib:get-type="atk_registry_get_type"> + + Gets an #AtkObjectFactory appropriate for creating #AtkObjects +appropriate for @type. +appropriate for @type. + + an #AtkObjectFactory appropriate for creating #AtkObjects + - - - + a #GType with which to look up the associated #AtkObjectFactory + c:identifier="atk_registry_get_factory_type"> + Provides a #GType indicating the #AtkObjectFactory subclass +associated with @type. + a #GType associated with type @type + a #GType with which to look up the associated #AtkObjectFactory subclass - - - + + Associate an #AtkObjectFactory subclass with a #GType. Note: +The associated @factory_type will thereafter be responsible for +the creation of new #AtkObject implementations for instances +appropriate for @type. + + + an #AtkObject type + + + + an #AtkObjectFactory type to associate with @type. Must implement AtkObject appropriate for @type. - - - + + Create a new relation for the specified key and the specified list +of targets. See also atk_object_add_relationship(). + a pointer to a new #AtkRelation + an array of pointers to #AtkObjects - + number of #AtkObjects pointed to by @targets + + an #AtkRelationType with which to create the new #AtkRelation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + Adds the specified AtkObject to the target for the relation, if it is +not already present. See also atk_object_add_relationship(). + an #AtkObject - + + Gets the type of @relation - + the type of @relation + + + + + Gets the target list of @relation + + the target list of @relation + + + + + + + Remove the specified AtkObject from the target for the relation. +Returns TRUE if the removal is successful. + + + an #AtkObject - - + + - - + + - + + + @@ -3890,115 +4325,127 @@ Returns TRUE if the removal is successful."> - + + Creates a new empty relation set. + a new #AtkRelationSet - - - - - - - - - - - - - - - - - - - - - + Add a new relation to the current relation set if it is not already present. -This function ref's the AtkRelation so the caller of this function +This function ref's the AtkRelation so the caller of this function should unref it to ensure that it will be destroyed when the AtkRelationSet -is destroyed."> +is destroyed. + an #AtkRelation - - - - - - - - - - - - - - - - - - - - - - - - - + Add a new relation of the specified type with the specified target to the current relation set if the relation set does not contain a relation of that type. If it is does contain a relation of that typea the target -is added to the relation." - version="1.9"> +is added to the relation. + an #AtkRelationType + an #AtkObject + + Determines whether the relation set contains a relation that matches the +specified type. +in @set, %FALSE otherwise + + %TRUE if @relationship is the relationship type of a relation + + + + + an #AtkRelationType + + + + + + Determines the number of relations in a relation set. + + an integer representing the number of relations in the set. + + + + + + + + + + + + + + + Finds a relation that matches the specified type. + + an #AtkRelation, which is a relation matching the specified type. + + + + + an #AtkRelationType + + + + + + Removes a relation from the relation set. +This function unref's the #AtkRelation so it will be deleted unless there +is another reference to it. + + + + + + an #AtkRelation + + + + - + + + + Adds the specified accessible child of the object to the +object's selection. - + TRUE if success, FALSE otherwise. + - + a #gint specifying the child index. + + Clears the selection in the object so that no children in the object +are selected. - + TRUE if success, FALSE otherwise. + - - + + Gets the number of accessible children currently selected. +indication of whether AtkSelectionIface is implemented, they should +use type checking/interface checking macros or the +atk_get_accessible_value() convenience method. +if @selection does not implement this interface. + + a gint representing the number of items selected, or 0 + + + + + Determines if the current child of this object is selected +indication of whether AtkSelectionIface is implemented, they should +use type checking/interface checking macros or the +atk_get_accessible_value() convenience method. +if @selection does not implement this interface. + + a gboolean representing the specified child is selected, or 0 + + + + + a #gint specifying the child index. + + + + + + Gets a reference to the accessible object representing the specified +selected child of the object. +indication of whether AtkSelectionIface is implemented, they should +use type checking/interface checking macros or the +atk_get_accessible_value() convenience method. +if @selection does not implement this interface. + + an #AtkObject representing the selected accessible , or %NULL - - - - - - - - - - - - - - - - + a #gint specifying the index in the selection set. (e.g. the ith selection as opposed to the ith child). + + Removes the specified child of the object from the object's selection. - + TRUE if success, FALSE otherwise. + - + a #gint specifying the index in the selection set. (e.g. the ith selection as opposed to the ith child). + + Causes every child of the object to be selected if the object +supports multiple selections. - + TRUE if success, FALSE otherwise. + - + + Adds the specified accessible child of the object to the +object's selection. - + TRUE if success, FALSE otherwise. + - + a #gint specifying the child index. + + c:identifier="atk_selection_clear_selection"> + Clears the selection in the object so that no children in the object +are selected. - + TRUE if success, FALSE otherwise. + + + Gets the number of accessible children currently selected. +indication of whether AtkSelectionIface is implemented, they should +use type checking/interface checking macros or the +atk_get_accessible_value() convenience method. +if @selection does not implement this interface. + + a gint representing the number of items selected, or 0 + + + + + Determines if the current child of this object is selected +indication of whether AtkSelectionIface is implemented, they should +use type checking/interface checking macros or the +atk_get_accessible_value() convenience method. +if @selection does not implement this interface. + + a gboolean representing the specified child is selected, or 0 + + + + + a #gint specifying the child index. + + + + + Gets a reference to the accessible object representing the specified selected child of the object. indication of whether AtkSelectionIface is implemented, they should use type checking/interface checking macros or the atk_get_accessible_value() convenience method. -if @selection does not implement this interface."> - +if @selection does not implement this interface. + + an #AtkObject representing the selected accessible , or %NULL - - - - - - - - - - - - - - - - + a #gint specifying the index in the selection set. (e.g. the ith selection as opposed to the ith child). + + c:identifier="atk_selection_remove_selection"> + Removes the specified child of the object from the object's selection. - + TRUE if success, FALSE otherwise. + - + a #gint specifying the index in the selection set. (e.g. the ith selection as opposed to the ith child). + + c:identifier="atk_selection_select_all_selection"> + Causes every child of the object to be selected if the object +supports multiple selections. - + TRUE if success, FALSE otherwise. + - - + + @@ -4613,24 +5106,27 @@ supports multiple selections."> - + - + TRUE if success, FALSE otherwise. + - + a #gint specifying the child index. + - + - + TRUE if success, FALSE otherwise. + @@ -4639,9 +5135,10 @@ supports multiple selections."> - - - + + + + an #AtkObject representing the selected accessible , or %NULL @@ -4649,15 +5146,17 @@ supports multiple selections."> - + a #gint specifying the index in the selection set. (e.g. the ith selection as opposed to the ith child). + - + - + a gint representing the number of items selected, or 0 + @@ -4667,39 +5166,44 @@ supports multiple selections."> - + - + a gboolean representing the specified child is selected, or 0 + - + a #gint specifying the child index. + - + - + TRUE if success, FALSE otherwise. + - + a #gint specifying the index in the selection set. (e.g. the ith selection as opposed to the ith child). + - + - + TRUE if success, FALSE otherwise. + @@ -4709,7 +5213,7 @@ supports multiple selections."> - + @@ -4728,44 +5232,49 @@ supports multiple selections."> + - + + Embeds the children of an #AtkPlug as the children of the #AtkSocket. The +plug may be in the same process or in a different process. - + + the ID of an #AtkPlug - + + Embeds the children of an #AtkPlug as the children of the #AtkSocket. The +plug may be in the same process or in a different process. - + + the ID of an #AtkPlug - + + Determines whether or not the socket has an embedded plug. - + TRUE if a plug is embedded in the socket + @@ -4782,7 +5291,7 @@ plug may be in the same process or in a different process."> - + @@ -4790,7 +5299,8 @@ plug may be in the same process or in a different process."> - + + the ID of an #AtkPlug @@ -4798,137 +5308,154 @@ plug may be in the same process or in a different process."> - + + Creates a new empty state set. + a new #AtkStateSet - + + Add a new state for the specified type to the current state set if +it is not already present. - - - - - - + %TRUE if the state for @type is not already in @set. + + an #AtkStateType - + + Add the states for the specified types to the current state set. + an array of #AtkStateType - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + The number of elements in the array + - + introspectable="0"> + Constructs the intersection of the two sets, returning %NULL if the +intersection is empty. + + a new #AtkStateSet which is the intersection of the two sets. + another #AtkStateSet + + Removes all states from the state set. + + + + + + Checks whether the state for the specified type is in the specified set. + + %TRUE if @type is the state type is in @set. + + + + + an #AtkStateType + + + + + + Checks whether the states for all the specified types are in the +specified set. + + %TRUE if all the states for @type are in @set. + + + + + an array of #AtkStateType + + + + The number of elements in the array + + + + + + Checks whether the state set is empty, i.e. has no states set. + + %TRUE if @set has no states set, otherwise %FALSE + + + - + introspectable="0"> + Constructs the union of the two sets. +returning %NULL is empty. + + a new #AtkStateSet which is the union of the two sets, + another #AtkStateSet + + Removes the state for the specified type from the state set. + + %TRUE if @type was the state type is in @set. + + + + + an #AtkType + + + + + Constructs the exclusive-or of the two sets, returning %NULL is empty. The set returned by this operation contains the states in exactly one of the two sets. -in exactly one of the two sets."> - +in exactly one of the two sets. + + a new #AtkStateSet which contains the states which are + another #AtkStateSet @@ -5110,96 +5637,125 @@ in exactly one of the two sets."> glib:nick="last-defined"/> - - - - - + Gets the character string of the specified mime type. The first mime +type is at position 0, the second at position 1, and so on. +should not free the character string. - + a gint representing the position of the mime type starting from 0 + - - + + Gets the number of mime types supported by this object. + + a gint which is the number of mime types supported by the object. + + + + + Gets the content in the specified mime type. +type. + + A #GIOChannel which contains the content in the specified mime + a gchar* representing the mime type - + + Get a string representing a URI in IETF standard format +(see http://www.ietf.org/rfc/rfc2396.txt) from which the object's content +may be streamed in the specified mime-type, if one is available. +If mime_type is NULL, the URI for the default (and possibly only) mime-type is +returned. +Note that it is possible for get_uri to return NULL but for +get_stream to work nonetheless, since not all GIOChannels connect to URIs. +can be constructed. + Returns a string representing a URI, or NULL if no corresponding URI + a gchar* representing the mime type, or NULL to request a URI for the default mime type. - - - - - + Gets the character string of the specified mime type. The first mime type is at position 0, the second at position 1, and so on. -should not free the character string."> +should not free the character string. - + a gint representing the position of the mime type starting from 0 + + + Gets the number of mime types supported by this object. + + a gint which is the number of mime types supported by the object. + + + - + introspectable="0"> + Gets the content in the specified mime type. +type. + + A #GIOChannel which contains the content in the specified mime + a gchar* representing the mime type + Get a string representing a URI in IETF standard format +(see http://www.ietf.org/rfc/rfc2396.txt) from which the object's content may be streamed in the specified mime-type, if one is available. If mime_type is NULL, the URI for the default (and possibly only) mime-type is -returned. +returned. Note that it is possible for get_uri to return NULL but for get_stream to work nonetheless, since not all GIOChannels connect to URIs. -can be constructed." - version="1.12"> +can be constructed. + Returns a string representing a URI, or NULL if no corresponding URI + a gchar* representing the mime type, or NULL to request a URI for the default mime type. @@ -5212,9 +5768,10 @@ can be constructed." - + - + a gint which is the number of mime types supported by the object. + @@ -5224,7 +5781,7 @@ can be constructed." - + @@ -5233,14 +5790,16 @@ can be constructed." - + a gint representing the position of the mime type starting from 0 + - - - + + + + A #GIOChannel which contains the content in the specified mime @@ -5248,14 +5807,16 @@ can be constructed." + a gchar* representing the mime type - + + Returns a string representing a URI, or NULL if no corresponding URI @@ -5263,6 +5824,7 @@ can be constructed." + a gchar* representing the mime type, or NULL to request a URI for the default mime type. @@ -5279,767 +5841,941 @@ can be constructed." - - - + + Adds the specified @column to the selection. +the selection, or 0 if value does not implement this interface. + + a gboolean representing if the column was successfully added to + + + + + a #gint representing a column in @table + + + + + + Adds the specified @row to the selection. +or 0 if value does not implement this interface. + + a gboolean representing if row was successfully added to selection, + - + a #gint representing a row in @table + + + + + + Gets the caption for the @table. +if value does not implement this interface. + + a AtkObject* representing the table caption, or %NULL + + + + + Gets a #gint representing the column at the specified @index_. +or -1 if the table does not implement this interface + + a gint representing the column at the specified index, + + + + + a #gint representing an index in @table + + + + + + Gets the description text of the specified @column in the table +if value does not implement this interface. + + a gchar* representing the column description, or %NULL + + + + + a #gint representing a column in @table + + + + + + Gets the number of columns occupied by the accessible object +at the specified @row and @column in the @table. +if value does not implement this interface. + + a gint representing the column extent at specified position, or 0 + + + + + a #gint representing a row in @table + - + a #gint representing a column in @table + + + + + + Gets the column header of a specified column in an accessible table. +%NULL if value does not implement this interface. + + a AtkObject* representing the specified column header, or + + + + + a #gint representing a column in the table + + Gets a #gint representing the index at the specified @row and @column. +The value -1 is returned if the object at row,column is not a child +of table or table does not implement this interface. - + a #gint representing the index at specified position. + - + a #gint representing a row in @table + - - - - - - - - - - - - - - - - - - - - - + a #gint representing a column in @table + + Gets the number of columns in the table. +if value does not implement this interface. - + a gint representing the number of columns, or 0 + + Gets the number of rows in the table. +if value does not implement this interface. - + a gint representing the number of rows, or 0 + - + + Gets a #gint representing the row at the specified @index_. +or -1 if the table does not implement this interface - + a gint representing the row at the specified index, + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + a #gint representing an index in @table + + Gets the description text of the specified row in the table +if value does not implement this interface. + a gchar* representing the row description, or %NULL - + a #gint representing a row in @table + - - + + Gets the number of rows occupied by the accessible object +at a specified @row and @column in the @table. +if value does not implement this interface. + + a gint representing the row extent at specified position, or 0 + + + + + a #gint representing a row in @table + + + + a #gint representing a column in @table + + + + + + Gets the row header of a specified row in an accessible table. +%NULL if value does not implement this interface. + + a AtkObject* representing the specified row header, or - + a #gint representing a row in the table + - - + + Gets the selected columns of the table by initializing **selected with +the selected column numbers. This array should be freed by the caller. +or %0 if value does not implement this interface. + + a gint representing the number of selected columns, + + + + + a #gint** that is to contain the selected columns numbers + + + + + + Gets the selected rows of the table by initializing **selected with +the selected row numbers. This array should be freed by the caller. +or zero if value does not implement this interface. + + a gint representing the number of selected rows, + + + + + a #gint** that is to contain the selected row numbers + + + + + + Gets the summary description of the table. +or zero if value does not implement this interface. + + a AtkObject* representing a summary description of the table, + + Gets a boolean value indicating whether the specified @column +is selected +if value does not implement this interface. + + a gboolean representing if the column is selected, or 0 + + + + + a #gint representing a column in @table + + + + + + Gets a boolean value indicating whether the specified @row +is selected +if value does not implement this interface. + + a gboolean representing if the row is selected, or 0 + + + + + a #gint representing a row in @table + + + + + + Gets a boolean value indicating whether the accessible object +at the specified @row and @column is selected +if value does not implement this interface. + + a gboolean representing if the cell is selected, or 0 + + + + + a #gint representing a row in @table + + + + a #gint representing a column in @table + + + + + + Get a reference to the table cell at @row, @column. + + a AtkObject* representing the referred to accessible + + + + + a #gint representing a row in @table + + + + a #gint representing a column in @table + + + + + + Adds the specified @column to the selection. +the selection, or 0 if value does not implement this interface. + + a gboolean representing if the column was successfully removed from + + + + + a #gint representing a column in @table + + + + + + Removes the specified @row from the selection. +the selection, or 0 if value does not implement this interface. + + a gboolean representing if the row was successfully removed from + + + + + a #gint representing a row in @table + + + + + Sets the caption for the table. + a #AtkObject representing the caption to set for @table + Sets the description text for the specified @column of the @table. - + a #gint representing a column in @table + + a #gchar representing the description text to set for the specified @column of the @table + Sets the specified column header to @header. - + a #gint representing a column in @table + + an #AtkTable + Sets the description text for the specified @row of @table. - + a #gint representing a row in @table + + a #gchar representing the description text to set for the specified @row of @table + Sets the specified row header to @header. - + a #gint representing a row in @table + + an #AtkTable + Sets the summary description of the table. + an #AtkObject representing the summary description to set for @table - + + Adds the specified @column to the selection. +the selection, or 0 if value does not implement this interface. - - - - - - - - - - - - - - - - - - - - - + a gboolean representing if the column was successfully added to + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + a #gint representing a column in @table + - + + Adds the specified @row to the selection. +or 0 if value does not implement this interface. - + a gboolean representing if row was successfully added to selection, + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + a #gint representing a row in @table + - + introspectable="0"> + Gets the caption for the @table. +if value does not implement this interface. + + a AtkObject* representing the table caption, or %NULL - + + Gets a #gint representing the column at the specified @index_. +or -1 if the table does not implement this interface + a gint representing the column at the specified index, + + + + + a #gint representing an index in @table + + + + + + Gets the description text of the specified @column in the table +if value does not implement this interface. + + a gchar* representing the column description, or %NULL - + a #gint representing a column in @table + + + + + + Gets the number of columns occupied by the accessible object +at the specified @row and @column in the @table. +if value does not implement this interface. + + a gint representing the column extent at specified position, or 0 + + + + + a #gint representing a row in @table + + + + a #gint representing a column in @table + - + introspectable="0"> + Gets the column header of a specified column in an accessible table. +%NULL if value does not implement this interface. + + a AtkObject* representing the specified column header, or - + a #gint representing a column in the table + + + + + + Gets a #gint representing the index at the specified @row and @column. +The value -1 is returned if the object at row,column is not a child +of table or table does not implement this interface. + + a #gint representing the index at specified position. + + + + + a #gint representing a row in @table + + + + a #gint representing a column in @table + + + + + + Gets the number of columns in the table. +if value does not implement this interface. + + a gint representing the number of columns, or 0 + + + + + Gets the number of rows in the table. +if value does not implement this interface. + + a gint representing the number of rows, or 0 + + + + + Gets a #gint representing the row at the specified @index_. +or -1 if the table does not implement this interface + + a gint representing the row at the specified index, + + + + + a #gint representing an index in @table + + c:identifier="atk_table_get_row_description"> + Gets the description text of the specified row in the table +if value does not implement this interface. + a gchar* representing the row description, or %NULL - + a #gint representing a row in @table + + + + + + Gets the number of rows occupied by the accessible object +at a specified @row and @column in the @table. +if value does not implement this interface. + + a gint representing the row extent at specified position, or 0 + + + + + a #gint representing a row in @table + + + + a #gint representing a column in @table + - + introspectable="0"> + Gets the row header of a specified row in an accessible table. +%NULL if value does not implement this interface. + + a AtkObject* representing the specified row header, or - + a #gint representing a row in the table + + + + + + Gets the selected columns of the table by initializing **selected with +the selected column numbers. This array should be freed by the caller. +or %0 if value does not implement this interface. + + a gint representing the number of selected columns, + + + + + a #gint** that is to contain the selected columns numbers + + + + + + Gets the selected rows of the table by initializing **selected with +the selected row numbers. This array should be freed by the caller. +or zero if value does not implement this interface. + + a gint representing the number of selected rows, + + + + + a #gint** that is to contain the selected row numbers + - + introspectable="0"> + Gets the summary description of the table. +or zero if value does not implement this interface. + + a AtkObject* representing a summary description of the table, - + + Gets a boolean value indicating whether the specified @column +is selected +if value does not implement this interface. + + a gboolean representing if the column is selected, or 0 + + + + + a #gint representing a column in @table + + + + + + Gets a boolean value indicating whether the specified @row +is selected +if value does not implement this interface. + + a gboolean representing if the row is selected, or 0 + + + + + a #gint representing a row in @table + + + + + + Gets a boolean value indicating whether the accessible object +at the specified @row and @column is selected +if value does not implement this interface. + + a gboolean representing if the cell is selected, or 0 + + + + + a #gint representing a row in @table + + + + a #gint representing a column in @table + + + + + + Get a reference to the table cell at @row, @column. + + a AtkObject* representing the referred to accessible + + + + + a #gint representing a row in @table + + + + a #gint representing a column in @table + + + + + + Adds the specified @column to the selection. +the selection, or 0 if value does not implement this interface. + + a gboolean representing if the column was successfully removed from + + + + + a #gint representing a column in @table + + + + + + Removes the specified @row from the selection. +the selection, or 0 if value does not implement this interface. + + a gboolean representing if the row was successfully removed from + + + + + a #gint representing a row in @table + + + + + + Sets the caption for the table. + a #AtkObject representing the caption to set for @table + c:identifier="atk_table_set_column_description"> + Sets the description text for the specified @column of the @table. - + a #gint representing a column in @table + + a #gchar representing the description text to set for the specified @column of the @table + c:identifier="atk_table_set_column_header"> + Sets the specified column header to @header. - + a #gint representing a column in @table + + an #AtkTable + c:identifier="atk_table_set_row_description"> + Sets the description text for the specified @row of @table. - + a #gint representing a row in @table + + a #gchar representing the description text to set for the specified @row of @table - + + Sets the specified row header to @header. - + a #gint representing a row in @table + + an #AtkTable - + + Sets the summary description of the table. + an #AtkObject representing the summary description to set for @table - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + - + - - + + - + - + - - + + - - + + - - + + - + - + - - + + - + - + - - + + @@ -6049,9 +6785,10 @@ the selection, or 0 if value does not implement this interface."> - - - + + + + a AtkObject* representing the referred to accessible @@ -6059,66 +6796,76 @@ the selection, or 0 if value does not implement this interface."> - + a #gint representing a row in @table + - + a #gint representing a column in @table + - + - + a #gint representing the index at specified position. + - + a #gint representing a row in @table + - + a #gint representing a column in @table + - + - + a gint representing the column at the specified index, + - + a #gint representing an index in @table + - + - + a gint representing the row at the specified index, + - + a #gint representing an index in @table + - + - + a gint representing the number of columns, or 0 + @@ -6128,9 +6875,10 @@ the selection, or 0 if value does not implement this interface."> - + - + a gint representing the number of rows, or 0 + @@ -6140,44 +6888,51 @@ the selection, or 0 if value does not implement this interface."> - + - + a gint representing the column extent at specified position, or 0 + - + a #gint representing a row in @table + - + a #gint representing a column in @table + - + - + a gint representing the row extent at specified position, or 0 + - + a #gint representing a row in @table + - + a #gint representing a column in @table + - - - + + + + a AtkObject* representing the table caption, or %NULL @@ -6188,9 +6943,9 @@ the selection, or 0 if value does not implement this interface."> - + + a gchar* representing the column description, or %NULL @@ -6198,14 +6953,16 @@ the selection, or 0 if value does not implement this interface."> - + a #gint representing a column in @table + - - - + + + + a AtkObject* representing the specified column header, or @@ -6213,14 +6970,16 @@ the selection, or 0 if value does not implement this interface."> - + a #gint representing a column in the table + - + + a gchar* representing the row description, or %NULL @@ -6228,14 +6987,16 @@ the selection, or 0 if value does not implement this interface."> - + a #gint representing a row in @table + - - - + + + + a AtkObject* representing the specified row header, or @@ -6243,14 +7004,16 @@ the selection, or 0 if value does not implement this interface."> - + a #gint representing a row in the table + - - - + + + + a AtkObject* representing a summary description of the table, @@ -6261,7 +7024,7 @@ the selection, or 0 if value does not implement this interface."> - + @@ -6270,14 +7033,14 @@ the selection, or 0 if value does not implement this interface."> + a #AtkObject representing the caption to set for @table - + @@ -6286,16 +7049,18 @@ the selection, or 0 if value does not implement this interface."> - + a #gint representing a column in @table + + a #gchar representing the description text to set for the specified @column of the @table - + @@ -6304,16 +7069,18 @@ the selection, or 0 if value does not implement this interface."> - + a #gint representing a column in @table + + an #AtkTable - + @@ -6322,16 +7089,18 @@ the selection, or 0 if value does not implement this interface."> - + a #gint representing a row in @table + + a #gchar representing the description text to set for the specified @row of @table - + @@ -6340,16 +7109,18 @@ the selection, or 0 if value does not implement this interface."> - + a #gint representing a row in @table + + an #AtkTable - + @@ -6358,156 +7129,171 @@ the selection, or 0 if value does not implement this interface."> + an #AtkObject representing the summary description to set for @table - + - + a gint representing the number of selected columns, + - - + + a #gint** that is to contain the selected columns numbers + - + - + a gint representing the number of selected rows, + - - + + a #gint** that is to contain the selected row numbers + - + - + a gboolean representing if the column is selected, or 0 + - + a #gint representing a column in @table + - + - + a gboolean representing if the row is selected, or 0 + - + a #gint representing a row in @table + - + - + a gboolean representing if the cell is selected, or 0 + - + a #gint representing a row in @table + - + a #gint representing a column in @table + - + - + a gboolean representing if row was successfully added to selection, + - + a #gint representing a row in @table + - + - + a gboolean representing if the row was successfully removed from + - + a #gint representing a row in @table + - + - + a gboolean representing if the column was successfully added to + - + a #gint representing a column in @table + - + - + a gboolean representing if the column was successfully removed from + - + a #gint representing a column in @table + - + @@ -6516,16 +7302,16 @@ the selection, or 0 if value does not implement this interface."> - + - + - + @@ -6534,16 +7320,16 @@ the selection, or 0 if value does not implement this interface."> - + - + - + @@ -6552,16 +7338,16 @@ the selection, or 0 if value does not implement this interface."> - + - + - + @@ -6570,16 +7356,16 @@ the selection, or 0 if value does not implement this interface."> - + - + - + @@ -6591,7 +7377,7 @@ the selection, or 0 if value does not implement this interface."> - + @@ -6603,7 +7389,7 @@ the selection, or 0 if value does not implement this interface."> - + @@ -6628,331 +7414,249 @@ the selection, or 0 if value does not implement this interface."> - + + Adds a selection bounded by the specified offsets. + + %TRUE if success, %FALSE otherwise + + + + + the start position of the selected region + + + + the offset of the first character after the selected region. + + + + + + Get the ranges of text in the specified bounding box. +by this function will be NULL. + + Array of AtkTextRange. The last element of the array returned + + + + + An AtkTextRectagle giving the dimensions of the bounding box. + + + + Specify whether coordinates are relative to the screen or widget window. + + + + Specify the horizontal clip type. + + + + Specify the vertical clip type. + + + + + + Gets the offset position of the caret (cursor). + + the offset position of the caret (cursor). + + + + + Gets the specified text. + + the character at @offset. + + + + + position + + + + + + Gets the character count. + + the number of characters. + + + + + Get the bounding box containing the glyph representing the character at +a particular text offset. + + + + + + The offset of the text character for which bounding information is required. + + + + Pointer for the x cordinate of the bounding box + + + + Pointer for the y cordinate of the bounding box + + + + Pointer for the width of the bounding box + + + + Pointer for the height of the bounding box + + + + specify whether coordinates are relative to the screen or widget window + + + + + + + + + + + Gets the number of selected regions. +occurred. + + The number of selected regions, or -1 if a failure + + + + + Gets the offset of the character located at coordinates @x and @y. @x and @y +are interpreted as being relative to the screen or this widget's window +depending on @coords. +the specified @x and @y coordinates. + + the offset to the character which is located at + + + + + screen x-position of character + + + + screen y-position of character + + + + specify whether coordinates are relative to the screen or widget window + + + + + + Get the bounding box for text within the specified range. + + + + + + The offset of the first text character for which boundary information is required. + + + + The offset of the text character after the last character for which boundary information is required. + + + + Specify whether coordinates are relative to the screen or widget window. + + + + A pointer to a AtkTextRectangle which is filled in by this function. + + + + + + + + + + + + + + + + + + + + + + Gets the text from the specified selection. + the selected text. + + + + + The selection number. The selected regions are assigned numbers that correspond to how far the region is from the start of the text. The selected region closest to the beginning of the text region is assigned the number 0, etc. Note that adding, moving or deleting a selected region can change the numbering. + + + + passes back the start position of the selected region + + + + passes back the end position of (e.g. offset immediately past) the selected region + + + + + + Gets the specified text. + + the text from @start_offset up to, but not including @end_offset. - + start position + - + end position + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Gets the specified text. +If the boundary_type if ATK_TEXT_BOUNDARY_CHAR the character after the offset is returned. If the boundary_type is ATK_TEXT_BOUNDARY_WORD_START the returned string is from the word start after the offset to the next word start. -The returned string will contain the word after the offset if the offset +The returned string will contain the word after the offset if the offset is inside a word or if the offset is not inside a word. If the boundary_type is ATK_TEXT_BOUNDARY_WORD_END the returned string is from the word end at or after the offset to the next work end. @@ -6972,413 +7676,665 @@ after the offset if the offset is not inside a sentence. If the boundary type is ATK_TEXT_BOUNDARY_LINE_START the returned string is from the line start after the offset to the next line start. If the boundary_type is ATK_TEXT_BOUNDARY_LINE_END the returned string -is from the line end at or after the offset to the next line start."> +is from the line end at or after the offset to the next line start. + the text after @offset bounded by the specified @boundary_type. - + position + + An #AtkTextBoundary - - + + the start offset of the returned string + - - + + the offset of the first character after the returned substring + - - + Gets the specified text. If the boundary_type if ATK_TEXT_BOUNDARY_CHAR the character at the offset is returned. If the boundary_type is ATK_TEXT_BOUNDARY_WORD_START the returned string -is from the word start at or before the offset to the word start after +is from the word start at or before the offset to the word start after the offset. The returned string will contain the word at the offset if the offset -is inside a word and will contain the word before the offset if the +is inside a word and will contain the word before the offset if the offset is not inside a word. If the boundary_type is ATK_TEXT_BOUNDARY_WORD_END the returned string is from the word end before the offset to the word end at or after the offset. The returned string will contain the word at the offset if the offset -is inside a word and will contain the word after to the offset if the +is inside a word and will contain the word after to the offset if the offset is not inside a word. If the boundary type is ATK_TEXT_BOUNDARY_SENTENCE_START the returned string is from the sentence start at or before the offset to the sentence start after the offset. The returned string will contain the sentence at the offset if the offset -is inside a sentence and will contain the sentence before the offset +is inside a sentence and will contain the sentence before the offset if the offset is not inside a sentence. If the boundary_type is ATK_TEXT_BOUNDARY_SENTENCE_END the returned string is from the sentence end before the offset to the sentence end at or after the offset. The returned string will contain the sentence at the offset if the offset -is inside a sentence and will contain the sentence after the offset +is inside a sentence and will contain the sentence after the offset if the offset is not inside a sentence. If the boundary type is ATK_TEXT_BOUNDARY_LINE_START the returned string is from the line start at or before the offset to the line start after the offset. If the boundary_type is ATK_TEXT_BOUNDARY_LINE_END the returned string is from the line end before the offset to the line end at or after -the offset."> +the offset. + the text at @offset bounded by the specified @boundary_type. - + position + + An #AtkTextBoundary - - + + the start offset of the returned string + - - + + the offset of the first character after the returned substring + - - + Gets the specified text. If the boundary_type if ATK_TEXT_BOUNDARY_CHAR the character before the offset is returned. If the boundary_type is ATK_TEXT_BOUNDARY_WORD_START the returned string -is from the word start before the word start before the offset to +is from the word start before the word start before the offset to the word start before the offset. The returned string will contain the word before the offset if the offset -is inside a word and will contain the word before the word before the +is inside a word and will contain the word before the word before the offset if the offset is not inside a word. If the boundary_type is ATK_TEXT_BOUNDARY_WORD_END the returned string -is from the word end before the word end at or before the offset to the +is from the word end before the word end at or before the offset to the word end at or before the offset. The returned string will contain the word before the offset if the offset is inside a word or if the offset is not inside a word. If the boundary type is ATK_TEXT_BOUNDARY_SENTENCE_START the returned -string is from the sentence start before the sentence start before +string is from the sentence start before the sentence start before the offset to the sentence start before the offset. -The returned string will contain the sentence before the offset if the -offset is inside a sentence and will contain the sentence before the +The returned string will contain the sentence before the offset if the +offset is inside a sentence and will contain the sentence before the sentence before the offset if the offset is not inside a sentence. If the boundary_type is ATK_TEXT_BOUNDARY_SENTENCE_END the returned string -is from the sentence end before the sentence end at or before the offset to +is from the sentence end before the sentence end at or before the offset to the sentence end at or before the offset. -The returned string will contain the sentence before the offset if the +The returned string will contain the sentence before the offset if the offset is inside a sentence or if the offset is not inside a sentence. If the boundary type is ATK_TEXT_BOUNDARY_LINE_START the returned -string is from the line start before the line start ar or before the offset +string is from the line start before the line start ar or before the offset to the line start ar or before the offset. If the boundary_type is ATK_TEXT_BOUNDARY_LINE_END the returned string -is from the line end before the line end before the offset to the -line end before the offset."> +is from the line end before the line end before the offset to the +line end before the offset. + the text before @offset bounded by the specified @boundary_type. - + position + + An #AtkTextBoundary - - + + the start offset of the returned string + - - + + the offset of the first character after the returned substring + - - + + + Removes the specified selection. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + %TRUE if success, %FALSE otherwise + - - - - - - - + The selection number. The selected regions are assigned numbers that correspond to how far the region is from the start of the text. The selected region closest to the beginning of the text region is assigned the number 0, etc. Note that adding, moving or deleting a selected region can change the numbering. + - - + + + Sets the caret (cursor) position to the specified @offset. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + %TRUE if success, %FALSE otherwise. + - + position + - - + + + Changes the start and end offset of the specified selection. - + %TRUE if success, %FALSE otherwise + + + + + The selection number. The selected regions are assigned numbers that correspond to how far the region is from the start of the text. The selected region closest to the beginning of the text region is assigned the number 0, etc. Note that adding, moving or deleting a selected region can change the numbering. + + + + the new start position of the selection + + + + the new end position of (e.g. offset immediately past) the selection + + + + + + Adds a selection bounded by the specified offsets. + + %TRUE if success, %FALSE otherwise + - + the start position of the selected region + - - - - - - - + the offset of the first character after the selected region. + - + version="1.3" + introspectable="0"> + Get the ranges of text in the specified bounding box. +by this function will be NULL. + + Array of AtkTextRange. The last element of the array returned + An AtkTextRectagle giving the dimensions of the bounding box. + Specify whether coordinates are relative to the screen or widget window. + Specify the horizontal clip type. + Specify the vertical clip type. - - - + + Gets the offset position of the caret (cursor). + + the offset position of the caret (cursor). + - - - + + + Gets the specified text. + + the character at @offset. + + + + + position + + + + + + Gets the character count. + + the number of characters. + + + + + Get the bounding box containing the glyph representing the character at +a particular text offset. + + + + The offset of the text character for which bounding information is required. + + + + Pointer for the x cordinate of the bounding box + + + + Pointer for the y cordinate of the bounding box + + + + Pointer for the width of the bounding box + + + + Pointer for the height of the bounding box + + + + specify whether coordinates are relative to the screen or widget window + + + + + + + + + + + Gets the number of selected regions. +occurred. + + The number of selected regions, or -1 if a failure + + + + + Gets the offset of the character located at coordinates @x and @y. @x and @y +are interpreted as being relative to the screen or this widget's window +depending on @coords. +the specified @x and @y coordinates. + + the offset to the character which is located at + + + + + screen x-position of character + + + + screen y-position of character + + + + specify whether coordinates are relative to the screen or widget window + + + + + + Get the bounding box for text within the specified range. + + + + + + The offset of the first text character for which boundary information is required. + + + + The offset of the text character after the last character for which boundary information is required. + + + + Specify whether coordinates are relative to the screen or widget window. + + + + A pointer to a AtkTextRectangle which is filled in by this function. + + + + + + + + + + + + + + + + + + + + + + Gets the text from the specified selection. + + the selected text. + + + + + The selection number. The selected regions are assigned numbers that correspond to how far the region is from the start of the text. The selected region closest to the beginning of the text region is assigned the number 0, etc. Note that adding, moving or deleting a selected region can change the numbering. + + + + passes back the start position of the selected region + + + + passes back the end position of (e.g. offset immediately past) the selected region + + + + + + Gets the specified text. + + the text from @start_offset up to, but not including @end_offset. + + + + + start position + + + + end position + + + + + + Gets the specified text. +If the boundary_type if ATK_TEXT_BOUNDARY_CHAR the character after the +offset is returned. +If the boundary_type is ATK_TEXT_BOUNDARY_WORD_START the returned string +is from the word start after the offset to the next word start. +The returned string will contain the word after the offset if the offset +is inside a word or if the offset is not inside a word. +If the boundary_type is ATK_TEXT_BOUNDARY_WORD_END the returned string +is from the word end at or after the offset to the next work end. +The returned string will contain the word after the offset if the offset +is inside a word and will contain the word after the word after the offset +if the offset is not inside a word. +If the boundary type is ATK_TEXT_BOUNDARY_SENTENCE_START the returned +string is from the sentence start after the offset to the next sentence +start. +The returned string will contain the sentence after the offset if the offset +is inside a sentence or if the offset is not inside a sentence. +If the boundary_type is ATK_TEXT_BOUNDARY_SENTENCE_END the returned string +is from the sentence end at or after the offset to the next sentence end. +The returned string will contain the sentence after the offset if the offset +is inside a sentence and will contain the sentence after the sentence +after the offset if the offset is not inside a sentence. +If the boundary type is ATK_TEXT_BOUNDARY_LINE_START the returned +string is from the line start after the offset to the next line start. +If the boundary_type is ATK_TEXT_BOUNDARY_LINE_END the returned string +is from the line end at or after the offset to the next line start. + + the text after @offset bounded by the specified @boundary_type. + + + + + position + + + + An #AtkTextBoundary + + + + the start offset of the returned string + + + + the offset of the first character after the returned substring + + + + + + Gets the specified text. +If the boundary_type if ATK_TEXT_BOUNDARY_CHAR the character at the +offset is returned. +If the boundary_type is ATK_TEXT_BOUNDARY_WORD_START the returned string +is from the word start at or before the offset to the word start after +the offset. +The returned string will contain the word at the offset if the offset +is inside a word and will contain the word before the offset if the +offset is not inside a word. +If the boundary_type is ATK_TEXT_BOUNDARY_WORD_END the returned string +is from the word end before the offset to the word end at or after the +offset. +The returned string will contain the word at the offset if the offset +is inside a word and will contain the word after to the offset if the +offset is not inside a word. +If the boundary type is ATK_TEXT_BOUNDARY_SENTENCE_START the returned +string is from the sentence start at or before the offset to the sentence +start after the offset. +The returned string will contain the sentence at the offset if the offset +is inside a sentence and will contain the sentence before the offset +if the offset is not inside a sentence. +If the boundary_type is ATK_TEXT_BOUNDARY_SENTENCE_END the returned string +is from the sentence end before the offset to the sentence end at or +after the offset. +The returned string will contain the sentence at the offset if the offset +is inside a sentence and will contain the sentence after the offset +if the offset is not inside a sentence. +If the boundary type is ATK_TEXT_BOUNDARY_LINE_START the returned +string is from the line start at or before the offset to the line +start after the offset. +If the boundary_type is ATK_TEXT_BOUNDARY_LINE_END the returned string +is from the line end before the offset to the line end at or after +the offset. + + the text at @offset bounded by the specified @boundary_type. + + + + + position + + + + An #AtkTextBoundary + + + + the start offset of the returned string + + + + the offset of the first character after the returned substring + + + + + + Gets the specified text. +If the boundary_type if ATK_TEXT_BOUNDARY_CHAR the character before the +offset is returned. +If the boundary_type is ATK_TEXT_BOUNDARY_WORD_START the returned string +is from the word start before the word start before the offset to +the word start before the offset. +The returned string will contain the word before the offset if the offset +is inside a word and will contain the word before the word before the +offset if the offset is not inside a word. +If the boundary_type is ATK_TEXT_BOUNDARY_WORD_END the returned string +is from the word end before the word end at or before the offset to the +word end at or before the offset. +The returned string will contain the word before the offset if the offset +is inside a word or if the offset is not inside a word. +If the boundary type is ATK_TEXT_BOUNDARY_SENTENCE_START the returned +string is from the sentence start before the sentence start before +the offset to the sentence start before the offset. +The returned string will contain the sentence before the offset if the +offset is inside a sentence and will contain the sentence before the +sentence before the offset if the offset is not inside a sentence. +If the boundary_type is ATK_TEXT_BOUNDARY_SENTENCE_END the returned string +is from the sentence end before the sentence end at or before the offset to +the sentence end at or before the offset. +The returned string will contain the sentence before the offset if the +offset is inside a sentence or if the offset is not inside a sentence. +If the boundary type is ATK_TEXT_BOUNDARY_LINE_START the returned +string is from the line start before the line start ar or before the offset +to the line start ar or before the offset. +If the boundary_type is ATK_TEXT_BOUNDARY_LINE_END the returned string +is from the line end before the line end before the offset to the +line end before the offset. + + the text before @offset bounded by the specified @boundary_type. + + + + + position + + + + An #AtkTextBoundary + + + + the start offset of the returned string + + + + the offset of the first character after the returned substring + + + + + + Removes the specified selection. + + %TRUE if success, %FALSE otherwise + + + + + The selection number. The selected regions are assigned numbers that correspond to how far the region is from the start of the text. The selected region closest to the beginning of the text region is assigned the number 0, etc. Note that adding, moving or deleting a selected region can change the numbering. + + + + + + Sets the caret (cursor) position to the specified @offset. + + %TRUE if success, %FALSE otherwise. + + + + + position + + + + + + Changes the start and end offset of the specified selection. + + %TRUE if success, %FALSE otherwise + + + + + The selection number. The selected regions are assigned numbers that correspond to how far the region is from the start of the text. The selected region closest to the beginning of the text region is assigned the number 0, etc. Note that adding, moving or deleting a selected region can change the numbering. + + + + the new start position of the selection + + + + the new end position of (e.g. offset immediately past) the selection + + + + + + + + + + + + + - + - - + + - + - + - - + + @@ -7564,8 +8520,9 @@ by this function will be NULL." - + + the text from @start_offset up to, but not including @end_offset. @@ -7573,17 +8530,20 @@ by this function will be NULL." - + start position + - + end position + - + + the text after @offset bounded by the specified @boundary_type. @@ -7591,27 +8551,28 @@ by this function will be NULL." - + position + + An #AtkTextBoundary - - + + the start offset of the returned string + - - + + the offset of the first character after the returned substring + - + + the text at @offset bounded by the specified @boundary_type. @@ -7619,44 +8580,45 @@ by this function will be NULL." - + position + + An #AtkTextBoundary - - + + the start offset of the returned string + - - + + the offset of the first character after the returned substring + - - - - + + + + the character at @offset. + - + position + - + + the text before @offset bounded by the specified @boundary_type. @@ -7664,28 +8626,29 @@ by this function will be NULL." - + position + + An #AtkTextBoundary - - + + the start offset of the returned string + - - + + the offset of the first character after the returned substring + - + - + the offset position of the caret (cursor). + @@ -7694,9 +8657,9 @@ by this function will be NULL." - - - + + + @@ -7704,25 +8667,20 @@ by this function will be NULL." - + - - + + - - + + - - - + + + @@ -7733,7 +8691,7 @@ by this function will be NULL." - + @@ -7742,30 +8700,37 @@ by this function will be NULL." - + The offset of the text character for which bounding information is required. + - - + + Pointer for the x cordinate of the bounding box + - - + + Pointer for the y cordinate of the bounding box + - - + + Pointer for the width of the bounding box + - - + + Pointer for the height of the bounding box + + specify whether coordinates are relative to the screen or widget window - + - + the number of characters. + @@ -7775,30 +8740,35 @@ by this function will be NULL." - + - + the offset to the character which is located at + - + screen x-position of character + - + screen y-position of character + + specify whether coordinates are relative to the screen or widget window - + - + The number of selected regions, or -1 if a failure + @@ -7808,8 +8778,9 @@ by this function will be NULL." - + + the selected text. @@ -7817,92 +8788,102 @@ by this function will be NULL." - + The selection number. The selected regions are assigned numbers that correspond to how far the region is from the start of the text. The selected region closest to the beginning of the text region is assigned the number 0, etc. Note that adding, moving or deleting a selected region can change the numbering. + - - + + passes back the start position of the selected region + - - + + passes back the end position of (e.g. offset immediately past) the selected region + - + - + %TRUE if success, %FALSE otherwise + - + the start position of the selected region + - + the offset of the first character after the selected region. + - + - + %TRUE if success, %FALSE otherwise + - + The selection number. The selected regions are assigned numbers that correspond to how far the region is from the start of the text. The selected region closest to the beginning of the text region is assigned the number 0, etc. Note that adding, moving or deleting a selected region can change the numbering. + - + - + %TRUE if success, %FALSE otherwise + - + The selection number. The selected regions are assigned numbers that correspond to how far the region is from the start of the text. The selected region closest to the beginning of the text region is assigned the number 0, etc. Note that adding, moving or deleting a selected region can change the numbering. + - + the new start position of the selection + - + the new end position of (e.g. offset immediately past) the selection + - + - + %TRUE if success, %FALSE otherwise. + - + position + - + @@ -7911,16 +8892,16 @@ by this function will be NULL." - + - + - + @@ -7929,14 +8910,13 @@ by this function will be NULL." - + - + @@ -7948,8 +8928,7 @@ by this function will be NULL." - + @@ -7961,7 +8940,7 @@ by this function will be NULL." - + @@ -7970,23 +8949,28 @@ by this function will be NULL." - + The offset of the first text character for which boundary information is required. + - + The offset of the text character after the last character for which boundary information is required. + + Specify whether coordinates are relative to the screen or widget window. + A pointer to a AtkTextRectangle which is filled in by this function. - - - + + + + Array of AtkTextRange. The last element of the array returned @@ -7994,15 +8978,19 @@ by this function will be NULL." + An AtkTextRectagle giving the dimensions of the bounding box. + Specify whether coordinates are relative to the screen or widget window. + Specify the horizontal clip type. + Specify the vertical clip type. @@ -8012,39 +9000,38 @@ by this function will be NULL." - + + A structure used to describe a text range. - + - + - + + A structure used to store a rectangle used by AtkText. - + - + - + - + - - + + - + @@ -8078,63 +9064,60 @@ by this function will be NULL." - + - + - - + + - + - + - + - + - + - - - + + + - + - + @@ -8142,120 +9125,141 @@ by this function will be NULL." + Gets the value of this object. + a #GValue representing the current accessible value + Gets the maximum value of this object. - - - - - - - - - - - - - - - - - - - - + a #GValue representing the maximum accessible value + invoker="get_minimum_increment" + version="1.12"> + Gets the minimum increment by which the value of this object may be changed. If zero, +the minimum increment is undefined, which may mean that it is limited only by the +floating point precision of the platform. + a #GValue representing the minimum increment by which the accessible value may be changed + + + + + + Gets the minimum value of this object. + + + + + + a #GValue representing the minimum accessible value + + + + + + Sets the value of this object. + + %TRUE if new value is successfully set, %FALSE otherwise. + + + + + a #GValue which is the desired new accessible value. + c:identifier="atk_value_get_current_value"> + Gets the value of this object. + a #GValue representing the current accessible value + c:identifier="atk_value_get_maximum_value"> + Gets the maximum value of this object. - - - - - - - - - - - - - - - - - - - - + a #GValue representing the maximum accessible value + Gets the minimum increment by which the value of this object may be changed. If zero, +the minimum increment is undefined, which may mean that it is limited only by the +floating point precision of the platform. + a #GValue representing the minimum increment by which the accessible value may be changed + + + + + + Gets the minimum value of this object. + + + + + + a #GValue representing the minimum accessible value + + + + + + Sets the value of this object. + + %TRUE if new value is successfully set, %FALSE otherwise. + + + + + a #GValue which is the desired new accessible value. @@ -8268,7 +9272,7 @@ floating point precision of the platform." - + @@ -8277,13 +9281,14 @@ floating point precision of the platform." + a #GValue representing the current accessible value - + @@ -8292,13 +9297,14 @@ floating point precision of the platform." + a #GValue representing the maximum accessible value - + @@ -8307,28 +9313,31 @@ floating point precision of the platform." + a #GValue representing the minimum accessible value - + - + %TRUE if new value is successfully set, %FALSE otherwise. + + a #GValue which is the desired new accessible value. - + @@ -8337,6 +9346,7 @@ floating point precision of the platform." + a #GValue representing the minimum increment by which the accessible value may be changed @@ -8346,333 +9356,440 @@ floating point precision of the platform." + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + introspectable="0"> + Adds the specified function to the list of functions to be called +when an object receives focus. - + added focus tracker id, or 0 on failure. + - + + Function to be added to the list of functions to be called when an object receives focus. + introspectable="0"> + Adds the specified function to the list of functions to be called +when an event of type event_type occurs. - + added event listener id, or 0 on failure. + - + + the listener to notify + the type of event for which notification is requested + Adds the specified function to the list of functions to be called when a key event occurs. The @data element will be passed to the -#AtkKeySnoopFunc (@listener) as the @func_data param, on notification."> +#AtkKeySnoopFunc (@listener) as the @func_data param, on notification. - + added event listener id, or 0 on failure. + - + + the listener to notify - + a #gpointer that points to a block of data that should be sent to the registered listeners, along with the event notification, when it occurs. + - + + Frees the memory used by an #AtkAttributeSet, including all its +#AtkAttributes. + The #AtkAttributeSet to free + Specifies the function to be called for focus tracker initialization. This function should be called by an implementation of the ATK interface if any specific work needs to be done to enable -focus tracking."> +focus tracking. - + + Function to be called for focus tracker initialization + c:identifier="atk_focus_tracker_notify"> + Cause the focus tracker functions which have been specified to be +executed for the object. + an #AtkObject - + c:identifier="atk_get_default_registry" + introspectable="0"> + - + version="1.6" + introspectable="0"> + Gets the currently focused object. + + the currently focused object for the current application - - + + Gets the root accessible container for the current application. + + the root accessible container for the current application - + + Gets name string for the GUI toolkit implementing ATK for this application. + name string for the GUI toolkit implementing ATK for this application + c:identifier="atk_get_toolkit_version"> + Gets version string for the GUI toolkit implementing ATK for this application. + version string for the GUI toolkit implementing ATK for this application - + + Gets the current version for ATK. + version string for ATK + + Get the #AtkRelationType type corresponding to a relation name. +or #ATK_RELATION_NULL if no matching relation type is found. + + the #AtkRelationType enumerated type corresponding to the specified name, + + + + + a string which is the (non-localized) name of an ATK relation type. + + + + + + Gets the description string describing the #AtkRelationType @type. + + the string describing the AtkRelationType + + + + + The #AtkRelationType whose name is required + + + + + + Associate @name with a new #AtkRelationType + + an #AtkRelationType associated with @name + + + + + a name string + + + + + c:identifier="atk_remove_focus_tracker"> + Removes the specified focus tracker from the list of functions +to be called when any object receives focus. - + the id of the focus tracker to remove + + c:identifier="atk_remove_global_event_listener"> + Removes the specified event listener - + the id of the event listener to remove + + c:identifier="atk_remove_key_event_listener"> + Removes the specified event listener - + the id of the event listener to remove + - - + + Get the #AtkRole type corresponding to a rolew name. +or #ATK_ROLE_INVALID if no matching role is found. + + the #AtkRole enumerated type corresponding to the specified - + + a string which is the (non-localized) name of an ATK role. + c:identifier="atk_role_get_localized_name"> + Gets the localized description string describing the #AtkRole @role. + the localized string describing the AtkRole + The #AtkRole whose localized name is required - + + Gets the description string describing the #AtkRole @role. + the string describing the AtkRole + The #AtkRole whose name is required - - + + Registers the role specified by @name. + + an #AtkRole for the new role. + a character string describing the new role. - + c:identifier="atk_state_type_for_name"> + Gets the #AtkStateType corresponding to the description string @name. + + an #AtkStateType corresponding to @name + a character string state name + c:identifier="atk_state_type_get_name"> + Gets the description string describing the #AtkStateType @type. + the string describing the AtkStateType + The #AtkStateType whose name is required - + c:identifier="atk_state_type_register"> + Register a new object state. + + an #AtkState value for the new state. + a character string describing the new state. - + c:identifier="atk_text_attribute_for_name"> + Get the #AtkTextAttribute type corresponding to a text attribute name. +or #ATK_TEXT_ATTRIBUTE_INVALID if no matching text attribute is found. + + the #AtkTextAttribute enumerated type corresponding to the specified - + + a string which is the (non-localized) name of an ATK text attribute. + c:identifier="atk_text_attribute_get_name"> + Gets the name corresponding to the #AtkTextAttribute + a string containing the name; this string should not be freed + The #AtkTextAttribute whose name is required + c:identifier="atk_text_attribute_get_value"> + Gets the value for the index of the #AtkTextAttribute +NULL is returned if there are no values maintained for the attr value. + a string containing the value; this string should not be freed; + The #AtkTextAttribute for which a value is required - + The index of the required value + - + c:identifier="atk_text_attribute_register"> + Associate @name with a new #AtkTextAttribute + + an #AtkTextAttribute associated with @name + a name string + Frees the memory associated with an array of AtkTextRange. It is assumed +that the array was returned by the function atk_text_get_bounded_ranges +and is NULL terminated. + A pointer to an array of #AtkTextRange which is to be freed. diff --git a/basis/atk/ffi/ffi.factor b/basis/atk/ffi/ffi.factor index 67c8362c73..1f2c5b4926 100644 --- a/basis/atk/ffi/ffi.factor +++ b/basis/atk/ffi/ffi.factor @@ -1,10 +1,15 @@ -! Copyright (C) 2009 Anton Gorenko. +! Copyright (C) 2010 Anton Gorenko. ! See http://factorcode.org/license.txt for BSD license. -USING: alien alien.libraries alien.syntax combinators kernel -system -gobject-introspection glib.ffi gobject.ffi ; +USING: alien alien.libraries alien.syntax combinators +gobject-introspection kernel system vocabs.loader ; IN: atk.ffi +<< +"gobject.ffi" require +>> + +LIBRARY: atk + << "atk" { { [ os winnt? ] [ "libatk-1.0-0.dll" cdecl add-library ] } @@ -13,11 +18,4 @@ IN: atk.ffi } cond >> -TYPEDEF: guint64 AtkState -TYPEDEF: GSList AtkAttributeSet - -! gir: error -C-TYPE: AtkPropertyValues - GIR: vocab:atk/Atk-1.0.gir - diff --git a/basis/gdk/Gdk-2.0.gir b/basis/gdk/Gdk-2.0.gir deleted file mode 100644 index 1005087db9..0000000000 --- a/basis/gdk/Gdk-2.0.gir +++ /dev/null @@ -1,22284 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/basis/gdk/Gdk-3.0.gir b/basis/gdk/Gdk-3.0.gir new file mode 100644 index 0000000000..cce09d3829 --- /dev/null +++ b/basis/gdk/Gdk-3.0.gir @@ -0,0 +1,19560 @@ + + + + + + + + + + + + + + + + + + + Used to represent native events (<type>XEvent</type>s for the X11 +backend, <type>MSG</type>s for Win32). + + + + + + + + Creates a new #GdkAppLaunchContext. + + a new #GdkAppLaunchContext + + + + + Sets the workspace on which applications will be launched when +using this context when running under a window manager that +supports multiple workspaces, as described in the +<ulink url="http://www.freedesktop.org/Standards/wm-spec">Extended +Window Manager Hints</ulink>. +When the workspace is not specified or @desktop is set to -1, +it is up to the window manager to pick one, typically it will +be the current workspace. + + + + + + the number of a workspace, or -1 + + + + + + Sets the display on which applications will be launched when +using this context. See also gdk_app_launch_context_set_screen(). + + + + + + a #GdkDisplay + + + + + + Sets the icon for applications that are launched with this +context. +Window Managers can use this information when displaying startup +notification. +See also gdk_app_launch_context_set_icon_name(). + + + + + + a #GIcon, or %NULL + + + + + + Sets the icon for applications that are launched with this context. +The @icon_name will be interpreted in the same way as the Icon field +in desktop files. See also gdk_app_launch_context_set_icon(). +If both @icon and @icon_name are set, the @icon_name takes priority. +If neither @icon or @icon_name is set, the icon is taken from either +the file that is passed to launched application or from the #GAppInfo +for the launched application itself. + + + + + + an icon name, or %NULL + + + + + + Sets the screen on which applications will be launched when +using this context. See also gdk_app_launch_context_set_display(). +If both @screen and @display are set, the @screen takes priority. +If neither @screen or @display are set, the default screen and +display are used. + + + + + + a #GdkScreen + + + + + + Sets the timestamp of @context. The timestamp should ideally +be taken from the event that triggered the launch. +Window managers can use this information to avoid moving the +focus to the newly launched application when the user is busy +typing in another window. This is also known as 'focus stealing +prevention'. + + + + + + a timestamp + + + + + + + + + + + + + + + + + + + + + + An enumeration describing the way in which a device +axis (valuator) maps onto the predefined valuator +types that GTK+ understands. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Makes a copy of a color structure. The result +must be freed using gdk_color_free(). + + a copy of @color. + + + + + Compares two colors. + + %TRUE if the two colors compare equal + + + + + another #GdkColor. + + + + + + Frees a color structure created with +gdk_color_copy(). + + + + + + A hash function suitable for using for a hash +table that stores #GdkColor's. + + The hash function applied to @colora + + + + + Returns a textual specification of @color in the hexadecimal form +<literal>&num;rrrrggggbbbb</literal>, where <literal>r</literal>, +<literal>g</literal> and <literal>b</literal> are hex digits +representing the red, green and blue components respectively. + + a newly-allocated text string + + + + + + + Creates a new colormap for the given visual. + + the new #GdkColormap. + + + + + a #GdkVisual. + + + + if %TRUE, the newly created colormap will be a private colormap, and all colors in it will be allocated for the applications use. + + + + + + Gets the system's default colormap for the default screen. (See +gdk_colormap_get_system_for_screen ()) + + the default colormap. + + + + + Allocates a single color from a colormap. + + %TRUE if the allocation succeeded. + + + + + the color to allocate. On return the <structfield>pixel</structfield> field will be filled in if allocation succeeds. + + + + this parameter has no effect, and it's here for mere compatibility. + + + + If %TRUE, GDK will attempt to do matching against existing colors if the color cannot be allocated as requested. + + + + + + Allocates colors from a colormap. +allocated. + + The number of colors that were not successfully + + + + + The color values to allocate. On return, the pixel values for allocated colors will be filled in. + + + + The number of colors in @colors. + + + + this parameter has no effect, and it's here for mere compatibility. + + + + If %TRUE, GDK will attempt to do matching against existing colors if the colors cannot be allocated as requested. + + + + An array of length @ncolors. On return, this indicates whether the corresponding color in @colors was successfully allocated or not. + + + + + + Frees previously allocated colors. + + + + + + the colors to free. + + + + the number of colors in @colors. + + + + + + Gets the screen for which this colormap was created. + + the screen for which this colormap was created. + + + + + Returns the visual for which a given colormap was created. + + the visual of the colormap. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new cursor from the set of builtin cursors for the default display. +See gdk_cursor_new_for_display(). +To make the cursor invisible, use %GDK_BLANK_CURSOR. + + a new #GdkCursor + + + + + cursor to create + + + + + + Creates a new cursor from the set of builtin cursors. +Some useful ones are: +<itemizedlist> +<listitem><para> +<inlinegraphic format="PNG" fileref="right_ptr.png"></inlinegraphic> #GDK_RIGHT_PTR (right-facing arrow) +</para></listitem> +<listitem><para> +<inlinegraphic format="PNG" fileref="crosshair.png"></inlinegraphic> #GDK_CROSSHAIR (crosshair) +</para></listitem> +<listitem><para> +<inlinegraphic format="PNG" fileref="xterm.png"></inlinegraphic> #GDK_XTERM (I-beam) +</para></listitem> +<listitem><para> +<inlinegraphic format="PNG" fileref="watch.png"></inlinegraphic> #GDK_WATCH (busy) +</para></listitem> +<listitem><para> +<inlinegraphic format="PNG" fileref="fleur.png"></inlinegraphic> #GDK_FLEUR (for moving objects) +</para></listitem> +<listitem><para> +<inlinegraphic format="PNG" fileref="hand1.png"></inlinegraphic> #GDK_HAND1 (a right-pointing hand) +</para></listitem> +<listitem><para> +<inlinegraphic format="PNG" fileref="hand2.png"></inlinegraphic> #GDK_HAND2 (a left-pointing hand) +</para></listitem> +<listitem><para> +<inlinegraphic format="PNG" fileref="left_side.png"></inlinegraphic> #GDK_LEFT_SIDE (resize left side) +</para></listitem> +<listitem><para> +<inlinegraphic format="PNG" fileref="right_side.png"></inlinegraphic> #GDK_RIGHT_SIDE (resize right side) +</para></listitem> +<listitem><para> +<inlinegraphic format="PNG" fileref="top_left_corner.png"></inlinegraphic> #GDK_TOP_LEFT_CORNER (resize northwest corner) +</para></listitem> +<listitem><para> +<inlinegraphic format="PNG" fileref="top_right_corner.png"></inlinegraphic> #GDK_TOP_RIGHT_CORNER (resize northeast corner) +</para></listitem> +<listitem><para> +<inlinegraphic format="PNG" fileref="bottom_left_corner.png"></inlinegraphic> #GDK_BOTTOM_LEFT_CORNER (resize southwest corner) +</para></listitem> +<listitem><para> +<inlinegraphic format="PNG" fileref="bottom_right_corner.png"></inlinegraphic> #GDK_BOTTOM_RIGHT_CORNER (resize southeast corner) +</para></listitem> +<listitem><para> +<inlinegraphic format="PNG" fileref="top_side.png"></inlinegraphic> #GDK_TOP_SIDE (resize top side) +</para></listitem> +<listitem><para> +<inlinegraphic format="PNG" fileref="bottom_side.png"></inlinegraphic> #GDK_BOTTOM_SIDE (resize bottom side) +</para></listitem> +<listitem><para> +<inlinegraphic format="PNG" fileref="sb_h_double_arrow.png"></inlinegraphic> #GDK_SB_H_DOUBLE_ARROW (move vertical splitter) +</para></listitem> +<listitem><para> +<inlinegraphic format="PNG" fileref="sb_v_double_arrow.png"></inlinegraphic> #GDK_SB_V_DOUBLE_ARROW (move horizontal splitter) +</para></listitem> +<listitem><para> +#GDK_BLANK_CURSOR (Blank cursor). Since 2.16 +</para></listitem> +</itemizedlist> + + a new #GdkCursor + + + + + the #GdkDisplay for which the cursor will be created + + + + cursor to create + + + + + + Creates a new cursor by looking up @name in the current cursor +theme. +the given name + + a new #GdkCursor, or %NULL if there is no cursor with + + + + + the #GdkDisplay for which the cursor will be created + + + + the name of the cursor + + + + + + Creates a new cursor from a pixbuf. +Not all GDK backends support RGBA cursors. If they are not +supported, a monochrome approximation will be displayed. +The functions gdk_display_supports_cursor_alpha() and +gdk_display_supports_cursor_color() can be used to determine +whether RGBA cursors are supported; +gdk_display_get_default_cursor_size() and +gdk_display_get_maximal_cursor_size() give information about +cursor sizes. +On the X backend, support for RGBA cursors requires a +sufficently new version of the X Render extension. + + a new #GdkCursor. + + + + + the #GdkDisplay for which the cursor will be created + + + + the #GdkPixbuf containing the cursor image + + + + the horizontal offset of the 'hotspot' of the cursor. + + + + the vertical offset of the 'hotspot' of the cursor. + + + + + + Creates a new cursor from a given pixmap and mask. Both the pixmap and mask +must have a depth of 1 (i.e. each pixel has only 2 values - on or off). +The standard cursor size is 16 by 16 pixels. + + a new #GdkCursor. + + + + + the pixmap specifying the cursor. + + + + the pixmap specifying the mask, which must be the same size as + + + + the foreground color, used for the bits in the source which are 1. The color does not have to be allocated first. + + + + the background color, used for the bits in the source which are 0. The color does not have to be allocated first. + + + + the horizontal offset of the 'hotspot' of the cursor. + + + + the vertical offset of the 'hotspot' of the cursor. + + + + + + Returns the cursor type for this cursor. + + a #GdkCursorType + + + + + + + + + + Returns a #GdkPixbuf with the image used to display the cursor. +Note that depending on the capabilities of the windowing system and +on the cursor, GDK may not be able to obtain the image data. In this +case, %NULL is returned. + + a #GdkPixbuf representing @cursor, or %NULL + + + + + Adds a reference to @cursor. + + Same @cursor that was passed in + + + + + Removes a reference from @cursor, deallocating the cursor +if no references remain. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Frees an array of #GdkTimeCoord that was returned by gdk_device_get_history(). + + + + + + an array of #GdkTimeCoord. + + + + the length of the array. + + + + + + Returns the core pointer device for the default display. +display and should not be freed. +gdk_event_get_device() if a #GdkEvent with pointer device +information is available. + + the core pointer device; this is owned by the + + + + + Determines information about the current keyboard grab. +This is not public API and must not be used by applications. +keyboard grabbed. + + %TRUE if this application currently has the + + + + + the display for which to get the grab information + + + + device to get the grab information from + + + + location to store current grab window + + + + location to store boolean indicating whether the @owner_events flag to gdk_keyboard_grab() or gdk_pointer_grab() was %TRUE. + + + + + + Returns the associated device to @device, if @device is of type +%GDK_DEVICE_TYPE_MASTER, it will return the paired pointer or +keyboard. +If @device is of type %GDK_DEVICE_TYPE_SLAVE, it will return +the master device to which @device is attached to. +If @device is of type %GDK_DEVICE_TYPE_FLOATING, %NULL will be +returned, as there is no associated device. + + The associated device, or %NULL + + + + + Interprets an array of double as axis values for a given device, +and locates the value in the array for a given axis use. + + %TRUE if the given axis use was found, otherwise %FALSE + + + + + pointer to an array of axes + + + + the use to look for + + + + location to store the found value. + + + + + + Returns the axis use for @index_. + + a #GdkAxisUse specifying how the axis is used. + + + + + the index of the axis. + + + + + + Interprets an array of double as axis values for a given device, +and locates the value in the array for a given axis label, as returned +by gdk_device_list_axes() + + %TRUE if the given axis use was found, otherwise %FALSE. + + + + + pointer to an array of axes + + + + #GdkAtom with the axis label. + + + + location to store the found value. + + + + + + Returns the device type for @device. + + the #GdkDeviceType for @device. + + + + + Returns the #GdkDisplay to which @device pertains. +and must not be freed or unreffed. + + a #GdkDisplay. This memory is owned by GTK+, + + + + + Determines whether the pointer follows device motion. + + %TRUE if the pointer follows device motion + + + + + Obtains the motion history for a device; given a starting and +ending timestamp, return all events in the motion history for +the device in the given range of time. Some windowing systems +do not support motion history, in which case, %FALSE will +be returned. (This is not distinguishable from the case where +motion history is supported and no events were found.) +at least one event was found. + + %TRUE if the windowing system supports motion history and + + + + + the window with respect to which which the event coordinates will be reported + + + + starting timestamp for range of events to return + + + + ending timestamp for the range of events to return + + + + location to store a newly-allocated array of #GdkTimeCoord, or %NULL + + + + + + location to store the length of @events, or %NULL + + + + + + If @index_ has a valid keyval, this function will return %TRUE +and fill in @keyval and @modifiers with the keyval settings. + + %TRUE if keyval is set for @index. + + + + + the index of the macro button to get. + + + + return value for the keyval. + + + + return value for modifiers. + + + + + + Determines the mode of the device. + + a #GdkInputSource + + + + + Returns the number of axes the device currently has. + + the number of axes. + + + + + Determines the name of the device. + + a name + + + + + Determines the type of the device. + + a #GdkInputSource + + + + + Gets the current state of a device relative to @window. + + + + + + a #GdkWindow. + + + + an array of doubles to store the values of the axes of @device in, or %NULL. + + + + location to store the modifiers, or %NULL. + + + + + + Grabs the device so that all events coming from this device are passed to +this application until the device is ungrabbed with gdk_device_ungrab(), +or the window becomes unviewable. This overrides any previous grab on the device +by this client. +Device grabs are used for operations which need complete control over the +given device events (either pointer or keyboard). For example in GTK+ this +is used for Drag and Drop operations, popup menus and such. +Note that if the event mask of an X window has selected both button press +and button release events, then a button press event will cause an automatic +pointer grab until the button is released. X does this automatically since +most applications expect to receive button press and release events in pairs. +It is equivalent to a pointer grab on the window with @owner_events set to +%TRUE. +If you set up anything at the time you take the grab that needs to be +cleaned up when the grab ends, you should handle the #GdkEventGrabBroken +events that are emitted when the grab ends unvoluntarily. + + %GDK_GRAB_SUCCESS if the grab was successful. + + + + + the #GdkWindow which will own the grab (the grab window) + + + + specifies the grab ownership. + + + + if %FALSE then all device events are reported with respect to %TRUE then pointer events for this application are reported as normal, but pointer events outside this application are reported with respect to @window and only if selected by + + + + specifies the event mask, which is used in accordance with + + + + the cursor to display while the grab is active if the device is a pointer. If this is %NULL then the normal cursors are used for elsewhere. + + + + the timestamp of the event which led to this pointer grab. This usually comes from the #GdkEvent struct, though %GDK_CURRENT_TIME can be used if the time isn't known. + + + + + + Returns a #GList of #GdkAtom<!-- -->s, containing the labels for +the axes that @device currently has. +A #GList of #GdkAtom<!-- -->s, free with g_list_free(). + + + + + + + + Specifies how an axis of a device is used. + + + + + + the index of the axis + + + + specifies how the axis is used + + + + + + Specifies the X key event to generate when a macro button of a device +is pressed. + + + + + + the index of the macro button to set + + + + the keyval to generate + + + + the modifiers to set + + + + + + Sets a the mode of an input device. The mode controls if the +device is active and whether the device's range is mapped to the +entire screen or to a single window. + + %TRUE if the mode was successfully changed. + + + + + the input mode. + + + + + + Sets the source type for an input device. + + + + + + the source type. + + + + + + Release any grab on @device. + + + + + + a timestap (e.g. %GDK_CURRENT_TIME). + + + + + + Associated pointer or keyboard with this device, if any. Devices of type #GDK_DEVICE_TYPE_MASTER +always come in keyboard/pointer pairs. Other device types will have a %NULL associated device. + + + + The #GdkDeviceManager the #GdkDevice pertains to. + + + + The #GdkDisplay the #GdkDevice pertains to. + + + + Whether the device is represented by a cursor on the screen. Devices of type +%GDK_DEVICE_TYPE_MASTER will have %TRUE here. + + + + Input mode for the device. + + + + Source type for the device. + + + + Number of axes in the device. + + + + The device name. + + + + Device role in the device manager. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The <structname>GdkDeviceAxis</structname> structure contains information +about the range and mapping of a device axis. + + + + + + + + + + + + The <structname>GdkDeviceKey</structname> structure contains information +about the mapping of one device macro button onto a normal X key event. + + + + + + + + + + Returns the client pointer, that is, the master pointer that acts as the core pointer +for this application. In X11, window managers may change this depending on the interaction +pattern under the presence of several pointers. +You should use this function sheldomly, only in code that isn't triggered by a #GdkEvent +and there aren't other means to get a meaningful #GdkDevice to operate on. + + The client pointer. + + + + + Returns the list of devices of type @type currently attached to +#GdkDevice<!-- -->s. The returned list must be +freed with g_list_free (). The list elements are owned by +GTK+ and must not be freed or unreffed. + + a list of + + + + + + + device type to get. + + + + + + Returns the client pointer, that is, the master pointer that acts as the core pointer +for this application. In X11, window managers may change this depending on the interaction +pattern under the presence of several pointers. +You should use this function sheldomly, only in code that isn't triggered by a #GdkEvent +and there aren't other means to get a meaningful #GdkDevice to operate on. + + The client pointer. + + + + + Gets the #GdkDisplay associated to @device_manager. +associated to, or #NULL. + + the #GdkDisplay to which @device_manager is + + + + + Returns the list of devices of type @type currently attached to +#GdkDevice<!-- -->s. The returned list must be +freed with g_list_free (). The list elements are owned by +GTK+ and must not be freed or unreffed. + + a list of + + + + + + + device type to get. + + + + + + + + + + + + + + + The ::device-added signal is emitted either when a new master +pointer is created, or when a slave (Hardware) input device +is plugged in. + + + + + + the newly added #GdkDevice. + + + + + + The ::device-changed signal is emitted either when some +#GdkDevice has changed the number of either axes or keys. +For example In X this will normally happen when the slave +device routing events through the master device changes, +in that case the master device will change to reflect the +new slave device axes and keys. + + + + + + the #GdkDevice that changed. + + + + + + The ::device-removed signal is emitted either when a master +pointer is removed, or when a slave (Hardware) input device +is unplugged. + + + + + + the just removed #GdkDevice. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a list of + + + + + + + + + + device type to get. + + + + + + + + + The client pointer. + + + + + + + + + + + + + + + + Indicates the device type. See <link linkend="GdkDeviceManager.description">above</link> +for more information about the meaning of these device types. + + + + + + + Gets the default #GdkDisplay. This is a convenience +function for +<literal>gdk_display_manager_get_default_display (gdk_display_manager_get ())</literal>. +display. + + a #GdkDisplay, or %NULL if there is no default + + + + + Opens a display. + + a #GdkDisplay, or %NULL if the display could not be opened. + + + + + the name of the display to open + + + + + + Opens the default display specified by command line arguments or +environment variables, sets it as the default display, and returns +it. gdk_parse_args must have been called first. If the default +display has previously been set, simply returns that. An internal +function that should not be used by applications. +otherwise %NULL. + + the default display, if it could be opened, + + + + + Get the default #GdkScreen for @display. + + the default #GdkScreen object for @display + + + + + + + + + + Gets the number of screen managed by the @display. + + number of screens. + + + + + Returns a screen object for one of the screens of the display. + + the #GdkScreen object + + + + + the screen number + + + + + + Adds a filter to be called when X ClientMessage events are received. +See gdk_window_add_filter() if you are interested in filtering other +types of events. + + + + + + the type of ClientMessage events to receive. This will be checked against the @message_type field of the XClientMessage event struct. + + + + the function to call to process the event. + + + + user data to pass to @func. + + + + + + Emits a short beep on @display + + + + + + Closes the connection to the windowing system for the given display, +and cleans up associated resources. + + + + + + Returns %TRUE if there is an ongoing grab on @device for @display. + + %TRUE if there is a grab in effect for @device. + + + + + a #GdkDevice + + + + + + Flushes any requests queued for the windowing system; this happens automatically +when the main loop blocks waiting for new events, but if your application +is drawing without returning control to the main loop, you may need +to call this function explicitely. A common case where this function +needs to be called is when an application is executing drawing commands +from a thread other than the thread where the main loop is running. +This is most useful for X11. On windowing systems where requests are +handled synchronously, this function will do nothing. + + + + + + Returns the core pointer device for the given display +display and should not be freed. +gdk_event_get_device() if a #GdkEvent with device +information is available. + + the core pointer device; this is owned by the + + + + + Returns the default size to use for cursors on @display. + + the default cursor size. + + + + + Returns the default group leader window for all toplevel windows +on @display. This window is implicitly created by GDK. +See gdk_window_set_group(). + + The default group leader window for @display + + + + + Get the default #GdkScreen for @display. + + the default #GdkScreen object for @display + + + + + Returns the #GdkDeviceManager associated to @display. +owned by GDK and must not be freed or unreferenced. + + A #GdkDeviceManager, or %NULL. This memory is + + + + + Gets the current location and state of @device for a given display. + + + + + + device to query status to. + + + + location to store the #GdkScreen the @device is on, or %NULL. + + + + location to store root window X coordinate of @device, or %NULL. + + + + location to store root window Y coordinate of @device, or %NULL. + + + + location to store current modifier mask for @device, or %NULL. + + + + + + Gets the next #GdkEvent to be processed for @display, fetching events from the +windowing system if necessary. +are pending. The returned #GdkEvent should be freed with gdk_event_free(). + + the next #GdkEvent to be processed, or %NULL if no events + + + + + Gets the maximal size to use for cursors on @display. + + + + + + the return location for the maximal cursor width + + + + the return location for the maximal cursor height + + + + + + Gets the number of screen managed by the @display. + + number of screens. + + + + + Gets the name of the display. +by GDK and should not be modified or freed. + + a string representing the display name. This string is owned + + + + + Gets the current location of the pointer and the current modifier +mask for a given display. + + + + + + location to store the screen that the cursor is on, or %NULL. + + + + location to store root window X coordinate of pointer, or %NULL. + + + + location to store root window Y coordinate of pointer, or %NULL. + + + + location to store current modifier mask, or %NULL + + + + + + Returns a screen object for one of the screens of the display. + + the #GdkScreen object + + + + + the screen number + + + + + + Obtains the window underneath @device, returning the location of the device in @win_x and @win_y. Returns +%NULL if the window tree under @device is not known to GDK (for example, belongs to another application). + + the #GdkWindow under the device position, or %NULL. + + + + + #GdkDevice to query info to. + + + + return location for the X coordinate of the device location, relative to the window origin, or %NULL. + + + + return location for the Y coordinate of the device location, relative to the window origin, or %NULL. + + + + + + Obtains the window underneath the mouse pointer, returning the location +of the pointer in that window in @win_x, @win_y for @screen. Returns %NULL +if the window under the mouse pointer is not known to GDK (for example, +belongs to another application). + + the window under the mouse pointer, or %NULL + + + + + return location for x coordinate of the pointer location relative to the window origin, or %NULL + + + + return location for y coordinate of the pointer location relative + + + + + + Finds out if the display has been closed. + + %TRUE if the display is closed. + + + + + Release any keyboard grab +instead. + + + + + + a timestap (e.g #GDK_CURRENT_TIME). + + + + + + Returns the list of available input devices attached to @display. +The list is statically allocated and should not be freed. +a list of #GdkDevice + + + + + + + + Gets a copy of the first #GdkEvent in the @display's event queue, without +removing the event from the queue. (Note that this function will +not get more events from the windowing system. It only checks the events +that have already been moved to the GDK event queue.) +if no events are in the queue. The returned #GdkEvent should be freed with +gdk_event_free(). + + a copy of the first #GdkEvent on the event queue, or %NULL + + + + + Test if the pointer is grabbed. + + %TRUE if an active X pointer grab is in effect + + + + + Release any pointer grab. +instead. + + + + + + a timestap (e.g. %GDK_CURRENT_TIME). + + + + + + Appends a copy of the given event onto the front of the event +queue for @display. + + + + + + a #GdkEvent. + + + + + + Request #GdkEventOwnerChange events for ownership changes +of the selection named by the given atom. +be sent. + + whether #GdkEventOwnerChange events will + + + + + the #GdkAtom naming the selection for which ownership change notification is requested + + + + + + This function allows for hooking into the operation of getting the current location of any +#GdkDevice on a particular #GdkDisplay. This is only useful for such low-level tools as +an event recorder. Applications should never have any reason to use this facility. + + The previous device hook table. + + + + + a table of pointers to functions for getting quantities related to all devices position, or %NULL to restore the default table. + + + + + + Sets the double click distance (two clicks within this distance +count as a double click and result in a #GDK_2BUTTON_PRESS event). +See also gdk_display_set_double_click_time(). +Applications should <emphasis>not</emphasis> set this, it is a global +user-configured setting. + + + + + + distance in pixels + + + + + + Sets the double click time (two clicks within this time interval +count as a double click and result in a #GDK_2BUTTON_PRESS event). +Applications should <emphasis>not</emphasis> set this, it is a global +user-configured setting. + + + + + + double click time in milliseconds (thousandths of a second) + + + + + + This function allows for hooking into the operation +of getting the current location of the pointer on a particular +display. This is only useful for such low-level tools as an +event recorder. Applications should never have any +reason to use this facility. + + the previous pointer hook table + + + + + a table of pointers to functions for getting quantities related to the current pointer position, or %NULL to restore the default table. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns %TRUE if gdk_window_set_composited() can be used +to redirect drawing on the window using compositing. +Currently this only works on X11 with XComposite and +XDamage extensions available. + + %TRUE if windows may be composited. + + + + + Returns %TRUE if cursors can use an 8bit alpha channel +on @display. Otherwise, cursors are restricted to bilevel +alpha (i.e. a mask). + + whether cursors can have alpha channels. + + + + + Returns %TRUE if multicolored cursors are supported +on @display. Otherwise, cursors have only a forground +and a background color. + + whether cursors can have multiple colors. + + + + + Returns %TRUE if gdk_window_input_shape_combine_mask() can +be used to modify the input shape of windows on @display. + + %TRUE if windows with modified input shape are supported + + + + + Returns whether #GdkEventOwnerChange events will be +sent when the owner of a selection changes. +be sent. + + whether #GdkEventOwnerChange events will + + + + + Returns %TRUE if gdk_window_shape_combine_mask() can +be used to create shaped windows on @display. + + %TRUE if shaped windows are supported + + + + + Flushes any requests queued for the windowing system and waits until all +requests have been handled. This is often used for making sure that the +display is synchronized with the current state of the program. Calling +gdk_display_sync() before gdk_error_trap_pop() makes sure that any errors +generated from earlier requests are handled before the error trap is +removed. +This is most useful for X11. On windowing systems where requests are +handled synchronously, this function will do nothing. + + + + + + Warps @device in @display to the point @x,@y on +the screen @screen, unless the device is confined +to a window by a grab, in which case it will be moved +as far as allowed by the grab. Warping the pointer +creates events as if the user had moved the mouse +instantaneously to the destination. +Note that the pointer should normally be under the +control of the user. This function was added to cover +some rare use cases like keyboard navigation support +for the color picker in the #GtkColorSelectionDialog. + + + + + + a #GdkDevice. + + + + the screen of @display to warp @device to. + + + + the X coordinate of the destination. + + + + the Y coordinate of the destination. + + + + + + Warps the pointer of @display to the point @x,@y on +the screen @screen, unless the pointer is confined +to a window by a grab, in which case it will be moved +as far as allowed by the grab. Warping the pointer +creates events as if the user had moved the mouse +instantaneously to the destination. +Note that the pointer should normally be under the +control of the user. This function was added to cover +some rare use cases like keyboard navigation support +for the color picker in the #GtkColorSelectionDialog. + + + + + + the screen of @display to warp the pointer to + + + + the x coordinate of the destination + + + + the y coordinate of the destination + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The ::closed signal is emitted when the connection to the windowing +system for @display is closed. + + + + + + %TRUE if the display was closed due to an error + + + + + + The ::opened signal is emitted when the connection to the windowing +system for @display is opened. + + + + + + + + + + + + + + + + + + + + + + + + + number of screens. + + + + + + + + + + + + + the #GdkScreen object + + + + + + + + the screen number + + + + + + + + + the default #GdkScreen object for @display + + + + + + + + + + + + + + + + + + + + + + + + + + + A table of pointers to functions for getting quantities related to +the current device position. Each #GdkDisplay has a table of this type, +which can be set using gdk_display_set_device_hooks(). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets the singleton #GdkDisplayManager object. +gdk_init(), or gdk_init_check() must have been called first. + + The global #GdkDisplayManager singleton; gdk_parse_pargs(), + + + + + Gets the default #GdkDisplay. +display. + + a #GdkDisplay, or %NULL if there is no default + + + + + List all currently open displays. +#GSList of #GdkDisplay objects. Free this list with g_slist_free() when you +are done with it. + + a newly allocated + + + + + + + Sets @display as the default display. + + + + + + a #GdkDisplay + + + + + + + + + The ::display_opened signal is emitted when a display is opened. + + + + + + the opened display + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Used in #GdkDragContext to indicate what the destination +should do with the dropped data. + + + + + + + + + + Creates a new #GdkDragContext. + + the newly created #GdkDragContext. + + + + + Determines the bitmask of actions proposed by the source if +gdk_drag_context_suggested_action() returns GDK_ACTION_ASK. + + the #GdkDragAction flags + + + + + Returns the #GdkDevice associated to the drag context. + + The #GdkDevice associated to @context. + + + + + Determines the action chosen by the drag destination. + + a #GdkDragAction value + + + + + Returns the #GdkWindow where the DND operation started. + + a #GdkWindow + + + + + Determines the suggested drag action of the context. + + a #GdkDragAction value + + + + + Retrieves the list of targets of the context. + + a #GList of targets + + + + + + + Associates a #GdkDevice to @context, so all Drag and Drop events +for @context are emitted as if they came from this device. + + + + + + a #GdkDevice + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Used in #GdkDragContext to indicate the protocol according to +which DND is done. + + + + + + + + + + + + + + + + + + + + + + + + Computes the region of a drawable that potentially can be written +to by drawing primitives. This region will not take into account +the clip region for the GC, and may also not take into account +other factors such as if the window is obscured by other windows, +but no area outside of this region will be affected by drawing +primitives. +when you are done. + + a #cairo_region_t. This must be freed with cairo_region_destroy() + + + + + Gets the colormap for @drawable, if one is set; returns +%NULL otherwise. + + the colormap, or %NULL + + + + + Obtains the bit depth of the drawable, that is, the number of bits +that make up a pixel in the drawable's visual. Examples are 8 bits +per pixel, 24 bits per pixel, etc. + + number of bits per pixel + + + + + Gets the #GdkScreen associated with a #GdkDrawable. + + the #GdkScreen associated with @drawable + + + + + Fills *@width and *@height with the size of @drawable. +On the X11 platform, if @drawable is a #GdkWindow, the returned +size is the size reported in the most-recently-processed configure +event, rather than the current size on the X server. + + + + + + location to store drawable's width, or %NULL + + + + location to store drawable's height, or %NULL + + + + + + + + + + + Computes the region of a drawable that is potentially visible. +This does not necessarily take into account if the window is +obscured by other windows, but no area outside of this region +is visible. +when you are done. + + a #cairo_region_t. This must be freed with cairo_region_destroy() + + + + + Gets the #GdkVisual describing the pixel format of @drawable. + + a #GdkVisual + + + + + + + + + + + + + + + + + + + + Sets the colormap associated with @drawable. Normally this will +happen automatically when the drawable is created; you only need to +use this function if the drawable-creating function did not have a +way to determine the colormap, and you then use drawable operations +that require a colormap. The colormap for all drawables and +graphics contexts you intend to use together should match. + + + + + + + + + + + Computes the region of a drawable that potentially can be written +to by drawing primitives. This region will not take into account +the clip region for the GC, and may also not take into account +other factors such as if the window is obscured by other windows, +but no area outside of this region will be affected by drawing +primitives. +when you are done. + + a #cairo_region_t. This must be freed with cairo_region_destroy() + + + + + Gets the colormap for @drawable, if one is set; returns +%NULL otherwise. + + the colormap, or %NULL + + + + + Obtains the bit depth of the drawable, that is, the number of bits +that make up a pixel in the drawable's visual. Examples are 8 bits +per pixel, 24 bits per pixel, etc. + + number of bits per pixel + + + + + Gets the #GdkDisplay associated with a #GdkDrawable. + + the #GdkDisplay associated with @drawable + + + + + Gets the #GdkScreen associated with a #GdkDrawable. + + the #GdkScreen associated with @drawable + + + + + Fills *@width and *@height with the size of @drawable. +On the X11 platform, if @drawable is a #GdkWindow, the returned +size is the size reported in the most-recently-processed configure +event, rather than the current size on the X server. + + + + + + location to store drawable's width, or %NULL + + + + location to store drawable's height, or %NULL + + + + + + Computes the region of a drawable that is potentially visible. +This does not necessarily take into account if the window is +obscured by other windows, but no area outside of this region +is visible. +when you are done. + + a #cairo_region_t. This must be freed with cairo_region_destroy() + + + + + Gets the #GdkVisual describing the pixel format of @drawable. + + a #GdkVisual + + + + + Sets the colormap associated with @drawable. Normally this will +happen automatically when the drawable is created; you only need to +use this function if the drawable-creating function did not have a +way to determine the colormap, and you then use drawable operations +that require a colormap. The colormap for all drawables and +graphics contexts you intend to use together should match. + + + + + + a #GdkColormap + + + + + + + + + + + + + + + + number of bits per pixel + + + + + + + + + + + + + + + + + + + + location to store drawable's width, or %NULL + + + + location to store drawable's height, or %NULL + + + + + + + + + + + + + + + + + + + + + + + + the colormap, or %NULL + + + + + + + + + + + + + a #GdkVisual + + + + + + + + + + + + + the #GdkScreen associated with @drawable + + + + + + + + + + + + + a #cairo_region_t. This must be freed with cairo_region_destroy() + + + + + + + + + + + + + a #cairo_region_t. This must be freed with cairo_region_destroy() + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new event of the given type. All fields are set to 0. +should be freed with gdk_event_free(). + + a newly-allocated #GdkEvent. The returned #GdkEvent + + + + + a #GdkEventType + + + + + + If both events contain X/Y information, this function will return %TRUE +and return in @angle the relative angle from @event1 to @event2. The rotation +direction for positive angles is from the positive X axis towards the positive +Y axis. + + %TRUE if the angle could be calculated. + + + + + second #GdkEvent + + + + return location for the relative angle between both events + + + + + + If both events contain X/Y information, the center of both coordinates +will be returned in @x and @y. + + %TRUE if the center could be calculated. + + + + + second #GdkEvent + + + + return location for the X coordinate of the center + + + + return location for the Y coordinate of the center + + + + + + If both events have X/Y information, the distance between both coordinates +(as in a straight line going from @event1 to @event2) will be returned. + + %TRUE if the distance could be calculated. + + + + + second #GdkEvent + + + + return location for the distance + + + + + + Copies a #GdkEvent, copying or incrementing the reference count of the +resources associated with it (e.g. #GdkWindow's and strings). +gdk_event_free(). + + a copy of @event. The returned #GdkEvent should be freed with + + + + + Frees a #GdkEvent, freeing or decrementing any resources associated with it. +Note that this function should only be called with events returned from +functions such as gdk_event_peek(), gdk_event_get(), gdk_event_copy() +and gdk_event_new(). + + + + + + Extract the axis value for a particular axis use from +an event structure. + + %TRUE if the specified axis was found, otherwise %FALSE + + + + + the axis use to look for + + + + location to store the value found + + + + + + Extract the event window relative x/y coordinates from an event. + + %TRUE if the event delivered event window coordinates + + + + + location to put event window x coordinate + + + + location to put event window y coordinate + + + + + + If the event contains a "device" field, this function will return +it, else it will return %NULL. + + a #GdkDevice, or %NULL. + + + + + Extract the root window relative x/y coordinates from an event. + + %TRUE if the event delivered root window coordinates + + + + + location to put root window x coordinate + + + + location to put root window y coordinate + + + + + + Returns the screen for the event. The screen is +typically the screen for <literal>event->any.window</literal>, but +for events such as mouse events, it is the screen +where the pointer was when the event occurs - +that is, the screen which has the root window +to which <literal>event->motion.x_root</literal> and +<literal>event->motion.y_root</literal> are relative. + + the screen for the event + + + + + If the event contains a "state" field, puts that field in @state. Otherwise +stores an empty state (0). Returns %TRUE if there was a state field +in the event. @event may be %NULL, in which case it's treated +as if the event had no state field. + + %TRUE if there was a state field in the event + + + + + return location for state + + + + + + Returns the time stamp from @event, if there is one; otherwise +returns #GDK_CURRENT_TIME. If @event is %NULL, returns #GDK_CURRENT_TIME. + + time stamp field from @event + + + + + Appends a copy of the given event onto the front of the event +queue for event->any.window's display, or the default event +queue if event->any.window is %NULL. See gdk_display_put_event(). + + + + + + Sends an X ClientMessage event to a given window (which must be +on the default #GdkDisplay.) +This could be used for communicating between different applications, +though the amount of data is limited to 20 bytes. + + non-zero on success. + + + + + the window to send the X ClientMessage event to. + + + + + + Sends an X ClientMessage event to all toplevel windows on the default +#GdkScreen. +Toplevel windows are determined by checking for the WM_STATE property, as +described in the Inter-Client Communication Conventions Manual (ICCCM). +If no windows are found with the WM_STATE property set, the message is sent +to all children of the root window. + + + + + + Sets the device for @event to @device. The event must +have been allocated by GTK+, for instance, by +gdk_event_copy(). + + + + + + a #GdkDevice + + + + + + Sets the screen for @event to @screen. The event must +have been allocated by GTK+, for instance, by +gdk_event_copy(). + + + + + + a #GdkScreen + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An enumeration used to specify which extension events +are desired for a particular widget. + + + + + + Specifies the type of function used to filter native events before they are +converted to GDK events. +When a filter is called, @event is unpopulated, except for +<literal>event->window</literal>. The filter may translate the native +event to a GDK event and store the result in @event, or handle it without +translation. If the filter translates the event and processing should +continue, it should return %GDK_FILTER_TRANSLATE. + + a #GdkFilterReturn value. + + + + + the native event to filter. + + + + the GDK event to which the X event will be translated. + + + + user data set when the filter was installed. + + + + + + Specifies the result of applying a #GdkFilterFunc to a native event. + + + + + + The #GdkGeometry struct gives the window manager information about +a window's geometry constraints. Normally you would set these on +the GTK+ level using gtk_window_set_geometry_hints(). #GtkWindow +then sets the hints on the #GdkWindow it creates. +gdk_window_set_geometry_hints() expects the hints to be fully valid already +and simply passes them to the window manager; in contrast, +gtk_window_set_geometry_hints() performs some interpretation. For example, +#GtkWindow will apply the hints to the geometry widget instead of the +toplevel window, if you set a geometry widget. Also, the +#GtkWindow will substitute the size request of the window or geometry widget. +If the minimum size hint is not provided, #GtkWindow will use its requisition +as the minimum size. If the minimum size is provided and a geometry widget is +set, #GtkWindow will take the minimum size as the minimum size of the +geometry widget rather than the entire window. The base size is treated +similarly. +The canonical use-case for gtk_window_set_geometry_hints() is to get a +terminal widget to resize properly. Here, the terminal text area should be +the geometry widget; #GtkWindow will then automatically set the base size to +the size of other widgets in the terminal window, such as the menubar and +scrollbar. Then, the @width_inc and @height_inc fields should be set to the +size of one character in the terminal. Finally, the base size should be set +to the size of one character. The net effect is that the minimum size of the +terminal will have a 1x1 character terminal area, and only terminal sizes on +the "character grid" will be allowed. +Here's an example of how the terminal example would be implemented, assuming +a terminal area widget called "terminal" and a toplevel window "toplevel": +<informalexample><programlisting><![CDATA[ +GdkGeometry hints; +hints.base_width = terminal->char_width; +hints.base_height = terminal->char_height; +hints.min_width = terminal->char_width; +hints.min_height = terminal->char_height; +hints.width_inc = terminal->char_width; +hints.height_inc = terminal->char_height; +gtk_window_set_geometry_hints (GTK_WINDOW (toplevel), +GTK_WIDGET (terminal), +&hints, +GDK_HINT_RESIZE_INC | +GDK_HINT_MIN_SIZE | +GDK_HINT_BASE_SIZE); +]]></programlisting></informalexample> +The other useful fields are the @min_aspect and @max_aspect fields; these +contain a width/height ratio as a floating point number. If a geometry widget +is set, the aspect applies to the geometry widget rather than the entire +window. The most common use of these hints is probably to set @min_aspect and +aspect ratio. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Defines how device grabs interact with other devices. + + + + + + + + + + + + + Defines the reference point of a window and the meaning of coordinates +passed to gtk_window_move(). See gtk_window_move() and the "implementation +notes" section of the +<ulink url="http://www.freedesktop.org/Standards/wm-spec">Extended +Window Manager Hints</ulink> specification for more details. + + + + + + + + + + + + + An enumeration that describes the mode of an input device. + + + + + + An enumeration describing the type of an input device in general terms. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Adds virtual modifiers (i.e. Super, Hyper and Meta) which correspond +to the real modifiers (i.e Mod2, Mod3, ...) in @modifiers. +are set in @state to their non-virtual counterparts (i.e. Mod2, +Mod3,...) and set the corresponding bits in @state. +GDK already does this before delivering key events, but for +compatibility reasons, it only sets the first virtual modifier +it finds, whereas this function sets all matching virtual modifiers. +This function is useful when matching key events against +accelerators. + + + + + + pointer to the modifier mask to change + + + + + + Returns whether the Caps Lock modifer is locked. + + %TRUE if Caps Lock is on + + + + + + + + + + Returns the keyvals bound to @hardware_keycode. +The Nth #GdkKeymapKey in @keys is bound to the Nth +keyval in @keyvals. Free the returned arrays with g_free(). +When a keycode is pressed by the user, the keyval from +this list of entries is selected by considering the effective +keyboard group and level. See gdk_keymap_translate_keyboard_state(). + + %TRUE if there were any entries + + + + + a keycode + + + + return location for array of #GdkKeymapKey, or %NULL + + + + return location for array of keyvals, or %NULL + + + + length of @keys and @keyvals + + + + + + Obtains a list of keycode/group/level combinations that will +generate @keyval. Groups and levels are two kinds of keyboard mode; +in general, the level determines whether the top or bottom symbol +on a key is used, and the group determines whether the left or +right symbol is used. On US keyboards, the shift key changes the +keyboard level, and there are no groups. A group switch key might +convert a keyboard between Hebrew to English modes, for example. +#GdkEventKey contains a %group field that indicates the active +keyboard group. The level is computed from the modifier mask. +The returned array should be freed +with g_free(). + + %TRUE if keys were found and returned + + + + + a keyval, such as %GDK_a, %GDK_Up, %GDK_Return, etc. + + + + return location for an array of #GdkKeymapKey + + + + return location for number of elements in returned array + + + + + + Returns whether the Num Lock modifer is locked. + + %TRUE if Num Lock is on + + + + + + + + + + Looks up the keyval mapped to a keycode/group/level triplet. +If no keyval is bound to @key, returns 0. For normal user input, +you want to use gdk_keymap_translate_keyboard_state() instead of +this function, since the effective group/level may not be +the same as the current keyboard state. + + a keyval, or 0 if none was mapped to the given @key + + + + + a #GdkKeymapKey with keycode, group, and level initialized + + + + + + Maps the virtual modifiers (i.e. Super, Hyper and Meta) which +are set in @state to their non-virtual counterparts (i.e. Mod2, +Mod3,...) and set the corresponding bits in @state. +This function is useful when matching key events against +accelerators. +same non-virtual modifier. Note that %FALSE is also returned +if a virtual modifier is mapped to a non-virtual modifier that +was already set in @state. + + %TRUE if no virtual modifiers were mapped to the + + + + + pointer to the modifier state to map + + + + + + Translates the contents of a #GdkEventKey into a keyval, effective +group, and level. Modifiers that affected the translation and +are thus unavailable for application use are returned in +groups and levels. The @effective_group is the group that was +actually used for the translation; some keys such as Enter are not +affected by the active keyboard group. The @level is derived from +keyval, so this function isn't as useful as you might think. +<note><para> +from @state when comparing this key press to a hot key. For +instance, on a US keyboard, the <literal>plus</literal> +symbol is shifted, so when comparing a key press to a +<literal>&lt;Control&gt;plus</literal> accelerator &lt;Shift&gt; should +be masked out. +</para> +<informalexample><programlisting> +&sol;* We want to ignore irrelevant modifiers like ScrollLock *&sol; +&num;define ALL_ACCELS_MASK (GDK_CONTROL_MASK | GDK_SHIFT_MASK | GDK_MOD1_MASK) +gdk_keymap_translate_keyboard_state (keymap, event->hardware_keycode, +event->state, event->group, +&amp;keyval, NULL, NULL, &amp;consumed); +if (keyval == GDK_PLUS && +(event->state &amp; ~consumed &amp; ALL_ACCELS_MASK) == GDK_CONTROL_MASK) +&sol;* Control was pressed *&sol; +</programlisting></informalexample> +<para> +An older interpretation @consumed_modifiers was that it contained +all modifiers that might affect the translation of the key; +this allowed accelerators to be stored with irrelevant consumed +modifiers, by doing:</para> +<informalexample><programlisting> +&sol;* XXX Don't do this XXX *&sol; +if (keyval == accel_keyval && +(event->state &amp; ~consumed &amp; ALL_ACCELS_MASK) == (accel_mods &amp; ~consumed)) +&sol;* Accelerator was pressed *&sol; +</programlisting></informalexample> +<para> +However, this did not work if multi-modifier combinations were +used in the keymap, since, for instance, <literal>&lt;Control&gt;</literal> +would be masked out even if only <literal>&lt;Control&gt;&lt;Alt&gt;</literal> +was used in the keymap. To support this usage as well as well as +possible, all <emphasis>single modifier</emphasis> combinations +that could affect the key for any combination of modifiers will +be returned in @consumed_modifiers; multi-modifier combinations +are returned only when actually found in @state. When you store +accelerators, you should always store them with consumed modifiers +removed. Store <literal>&lt;Control&gt;plus</literal>, +not <literal>&lt;Control&gt;&lt;Shift&gt;plus</literal>, +</para></note> + + %TRUE if there was a keyval bound to the keycode/state/group + + + + + a keycode + + + + a modifier state + + + + active keyboard group + + + + return location for keyval, or %NULL + + + + return location for effective group, or %NULL + + + + return location for level, or %NULL + + + + return location for modifiers that were used to determine the group or level, or %NULL + + + + + + + + + + + + The ::direction-changed signal gets emitted when the direction of +the keymap changes. + + + + + + The ::keys-changed signal is emitted when the mapping represented by + + + + + + The ::state-changed signal is emitted when the state of the +keyboard changes, e.g when Caps Lock is turned on or off. +See gdk_keymap_get_caps_lock_state(). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A set of bit-flags to indicate the state of modifier keys and mouse buttons +in various event types. Typical modifier keys are Shift, Control, Meta, +Super, Hyper, Alt, Compose, Apple, CapsLock or ShiftLock. +Like the X Window System, GDK supports 8 modifier keys and 5 mouse buttons. +Since 2.10, GDK recognizes which of the Meta, Super or Hyper keys are mapped +to Mod2 - Mod5, and indicates this by setting %GDK_SUPER_MASK, +%GDK_HYPER_MASK or %GDK_META_MASK in the state field of key events. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Wraps a native window for the default display in a #GdkPixmap. +This may fail if the pixmap has been destroyed. +For example in the X backend, a native pixmap handle is an Xlib +<type>XID</type>. +native pixmap or %NULL if the pixmap has been destroyed. + + the newly-created #GdkPixmap wrapper for the + + + + + a native pixmap handle. + + + + + + Wraps a native pixmap in a #GdkPixmap. +This may fail if the pixmap has been destroyed. +For example in the X backend, a native pixmap handle is an Xlib +<type>XID</type>. +native pixmap or %NULL if the pixmap has been destroyed. + + the newly-created #GdkPixmap wrapper for the + + + + + The #GdkDisplay where @anid is located. + + + + a native pixmap handle. + + + + + + Wraps a native pixmap in a #GdkPixmap. +This may fail if the pixmap has been destroyed. +For example in the X backend, a native pixmap handle is an Xlib +<type>XID</type>. +This function is an alternative to gdk_pixmap_foreign_new_for_display() +for cases where the dimensions of the pixmap are known. For the X +backend, this avoids a roundtrip to the server. +native pixmap or %NULL if the pixmap has been destroyed. + + the newly-created #GdkPixmap wrapper for the + + + + + a #GdkScreen + + + + a native pixmap handle + + + + the width of the pixmap identified by @anid + + + + the height of the pixmap identified by @anid + + + + the depth of the pixmap identified by @anid + + + + + + + + + + + + + + + + + + + + + + + + + Looks up the #GdkPixmap that wraps the given native pixmap handle. +For example in the X backend, a native pixmap handle is an Xlib +<type>XID</type>. +or %NULL if there is none. + + the #GdkPixmap wrapper for the native pixmap, + + + + + a native pixmap handle. + + + + + + Looks up the #GdkPixmap that wraps the given native pixmap handle. +For example in the X backend, a native pixmap handle is an Xlib +<type>XID</type>. +or %NULL if there is none. + + the #GdkPixmap wrapper for the native pixmap, + + + + + the #GdkDisplay associated with @anid + + + + a native pixmap handle. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A table of pointers to functions for getting quantities related to +the current pointer position. GDK has one global table of this type, +which can be set using gdk_set_pointer_hooks(). +This is only useful for such low-level tools as an event recorder. +Applications should never have any reason to use this facility + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets the default screen for the default display. (See +gdk_display_get_default ()). + + a #GdkScreen, or %NULL if there is no default display. + + + + + Returns the height of the default screen in pixels. + + the height of the default screen in pixels. + + + + + Returns the height of the default screen in millimeters. +Note that on many X servers this value will not be correct. +though it is not always correct. + + the height of the default screen in millimeters, + + + + + Returns the width of the default screen in pixels. + + the width of the default screen in pixels. + + + + + Returns the width of the default screen in millimeters. +Note that on many X servers this value will not be correct. +though it is not always correct. + + the width of the default screen in millimeters, + + + + + On X11, sends an X ClientMessage event to all toplevel windows on +Toplevel windows are determined by checking for the WM_STATE property, +as described in the Inter-Client Communication Conventions Manual (ICCCM). +If no windows are found with the WM_STATE property set, the message is +sent to all children of the root window. +On Windows, broadcasts a message registered with the name +GDK_WIN32_CLIENT_MESSAGE to all top-level windows. The amount of +data is limited to one long, i.e. four bytes. + + + + + + the #GdkEvent. + + + + + + + + + + + Gets the default colormap for @screen. + + the default #GdkColormap. + + + + + Gets the display to which the @screen belongs. + + the display to which @screen belongs + + + + + Gets any options previously set with gdk_screen_set_font_options(). +font options have been set. + + the current font options, or %NULL if no default + + + + + Gets the height of @screen in pixels + + the height of @screen in pixels. + + + + + Returns the height of @screen in millimeters. +Note that on some X servers this value will not be correct. + + the heigth of @screen in millimeters. + + + + + Returns the monitor number in which the point (@x,@y) is located. +a monitor close to (@x,@y) if the point is not in any monitor. + + the monitor number in which the point (@x,@y) lies, or + + + + + the x coordinate in the virtual screen. + + + + the y coordinate in the virtual screen. + + + + + + Returns the number of the monitor in which the largest area of the +bounding rectangle of @window resides. + + the monitor number in which most of @window is located, or if @window does not intersect any monitors, a monitor, close to @window. + + + + + a #GdkWindow + + + + + + Retrieves the #GdkRectangle representing the size and position of +the individual monitor within the entire screen area. +Note that the size of the entire screen area can be retrieved via +gdk_screen_get_width() and gdk_screen_get_height(). + + + + + + the monitor number, between 0 and gdk_screen_get_n_monitors (screen) + + + + a #GdkRectangle to be filled with the monitor geometry + + + + + + Gets the height in millimeters of the specified monitor. + + the height of the monitor, or -1 if not available + + + + + number of the monitor, between 0 and gdk_screen_get_n_monitors (screen) + + + + + + Returns the output name of the specified monitor. +Usually something like VGA, DVI, or TV, not the actual +product name of the display device. +or %NULL if the name cannot be determined + + a newly-allocated string containing the name of the monitor, + + + + + number of the monitor, between 0 and gdk_screen_get_n_monitors (screen) + + + + + + Gets the width in millimeters of the specified monitor, if available. + + the width of the monitor, or -1 if not available + + + + + number of the monitor, between 0 and gdk_screen_get_n_monitors (screen) + + + + + + Returns the number of monitors which @screen consists of. + + number of monitors which @screen consists of + + + + + Gets the index of @screen among the screens in the display +to which it belongs. (See gdk_screen_get_display()) + + the index + + + + + Gets the primary monitor for @screen. The primary monitor +is considered the monitor where the 'main desktop' lives. +While normal application windows typically allow the window +manager to place the windows, specialized desktop applications +such as panels should place themselves on the primary monitor. +If no primary monitor is configured by the user, the return value +will be 0, defaulting to the first monitor. + + An integer index for the primary monitor, or 0 if none is configured. + + + + + Gets the resolution for font handling on the screen; see +gdk_screen_set_resolution() for full details. +has been set. + + the current resolution, or -1 if no resolution + + + + + Gets a colormap to use for creating windows or pixmaps with an +alpha channel. The windowing system on which GTK+ is running +may not support this capability, in which case %NULL will +be returned. Even if a non-%NULL value is returned, its +possible that the window's alpha channel won't be honored +X an appropriate windowing manager and compositing manager +must be running to provide appropriate display. +This functionality is not implemented in the Windows backend. +For setting an overall opacity for a top-level window, see +gdk_window_set_opacity(). +an alpha channel or %NULL if the capability is not available. + + a colormap to use for windows with + + + + + Gets a visual to use for creating windows or pixmaps with an +alpha channel. See the docs for gdk_screen_get_rgba_colormap() +for caveats. +alpha channel or %NULL if the capability is not available. + + a visual to use for windows with an + + + + + Gets the root window of @screen. + + the root window + + + + + Retrieves a desktop-wide setting such as double-click time +for the #GdkScreen @screen. +FIXME needs a list of valid settings here, or a link to +more information. +in @value, %FALSE otherwise. + + %TRUE if the setting existed and a value was stored + + + + + the name of the setting + + + + location to store the value of the setting + + + + + + Gets the system's default colormap for @screen + + the default colormap for @screen. + + + + + Get the system's default visual for @screen. +This is the visual for the root window of the display. +The return value should not be freed. + + the system visual + + + + + Obtains a list of all toplevel windows known to GDK on the screen @screen. +A toplevel window is a child of the root window (see +gdk_get_default_root_window()). +The returned list should be freed with g_list_free(), but +its elements need not be freed. +list of toplevel windows, free with g_list_free() + + + + + + + + Gets the width of @screen in pixels + + the width of @screen in pixels. + + + + + Gets the width of @screen in millimeters. +Note that on some X servers this value will not be correct. + + the width of @screen in millimeters. + + + + + Returns a #GList of #GdkWindow<!-- -->s representing the current +window stack. +On X11, this is done by inspecting the _NET_CLIENT_LIST_STACKING +property on the root window, as described in the <ulink +url="http://www.freedesktop.org/Standards/wm-spec">Extended Window +Manager Hints</ulink>. If the window manager does not support the +_NET_CLIENT_LIST_STACKING hint, this function returns %NULL. +On other platforms, this function may return %NULL, depending on whether +it is implementable on that platform. +The returned list is newly allocated and owns references to the +windows it contains, so it should be freed using g_list_free() and +its windows unrefed using g_object_unref() when no longer needed. +a list of #GdkWindow<!-- -->s for the current window stack, +or %NULL. + + + + + + + + Returns whether windows with an RGBA visual can reasonably +be expected to have their alpha channel drawn correctly on +the screen. +On X11 this function returns whether a compositing manager is +compositing @screen. +expected to have their alpha channels drawn correctly on the screen. + + Whether windows with RGBA visuals can reasonably be + + + + + Lists the available visuals for the specified @screen. +A visual describes a hardware image data format. +For example, a visual might support 24-bit color, or 8-bit color, +and might expect pixels to be in a certain format. +Call g_list_free() on the return value when you're finished with it. +a list of visuals; the list must be freed, but not its contents + + + + + + + + Determines the name to pass to gdk_display_open() to get +a #GdkDisplay with this screen as the default screen. + + a newly allocated string, free with g_free() + + + + + Sets the default @colormap for @screen. + + + + + + a #GdkColormap + + + + + + Sets the default font options for the screen. These +options will be set on any #PangoContext's newly created +with gdk_pango_context_get_for_screen(). Changing the +default set of font options does not affect contexts that +have already been created. + + + + + + a #cairo_font_options_t, or %NULL to unset any previously set default font options. + + + + + + Sets the resolution for font handling on the screen. This is a +scale factor between points specified in a #PangoFontDescription +and cairo units. The default value is 96, meaning that a 10 point +font will be 13 units high. (10 * 96. / 72. = 13.3). + + + + + + the resolution in "dots per inch". (Physical inches aren't actually involved; the terminology is conventional.) + + + + + + + + + + + + + + + + + + + + + + + + The ::composited-changed signal is emitted when the composited +status of the screen changes + + + + + + The ::monitors-changed signal is emitted when the number, size +or position of the monitors attached to the screen change. +Only for X11 and OS X for now. A future implementation for Win32 +may be a possibility. + + + + + + The ::size-changed signal is emitted when the pixel width or +height of a screen changes. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The #GdkTimeCoord structure stores a single event in a motion history. + + + + + + + + + + + + + + + + + Get the visual with the most available colors for the default +GDK screen. The return value should not be freed. + + best visual + + + + + Get the best available depth for the default GDK screen. "Best" +means "largest," i.e. 32 preferred over 24 preferred over 8 bits +per pixel. + + best available depth + + + + + Return the best available visual type for the default GDK screen. + + best visual type + + + + + Combines gdk_visual_get_best_with_depth() and gdk_visual_get_best_with_type(). + + best visual with both @depth and + + + + + a bit depth + + + + a visual type + + + + + + Get the best visual with depth @depth for the default GDK screen. +Color visuals and visuals with mutable colormaps are preferred +over grayscale or fixed-colormap visuals. The return value should not +be freed. %NULL may be returned if no visual supports @depth. + + best visual for the given depth + + + + + a bit depth + + + + + + Get the best visual of the given @visual_type for the default GDK screen. +Visuals with higher color depths are considered better. The return value +should not be freed. %NULL may be returned if no visual has type + + best visual of the given type + + + + + a visual type + + + + + + Get the system's default visual for the default GDK screen. +This is the visual for the root window of the display. +The return value should not be freed. + + system visual + + + + + Returns the number of significant bits per red, green and blue value. + + The number of significant bits per color value for @visual. + + + + + Obtains values that are needed to calculate blue pixel values in TrueColor +and DirectColor. The "mask" is the significant bits within the pixel. +The "shift" is the number of bits left we must shift a primary for it +to be in position (according to the "mask"). Finally, "precision" refers +to how much precision the pixel value contains for a particular primary. + + + + + + A pointer to a #guint32 to be filled in, or %NULL. + + + + A pointer to a #gint to be filled in, or %NULL. + + + + A pointer to a #gint to be filled in, or %NULL. + + + + + + Returns the byte order of this visual. + + A #GdkByteOrder stating the byte order of @visual. + + + + + Returns the size of a colormap for this visual. + + The size of a colormap that is suitable for @visual. + + + + + Returns the bit depth of this visual. + + The bit depth of this visual. + + + + + Obtains values that are needed to calculate green pixel values in TrueColor +and DirectColor. The "mask" is the significant bits within the pixel. +The "shift" is the number of bits left we must shift a primary for it +to be in position (according to the "mask"). Finally, "precision" refers +to how much precision the pixel value contains for a particular primary. + + + + + + A pointer to a #guint32 to be filled in, or %NULL. + + + + A pointer to a #gint to be filled in, or %NULL. + + + + A pointer to a #gint to be filled in, or %NULL. + + + + + + Obtains values that are needed to calculate red pixel values in TrueColor +and DirectColor. The "mask" is the significant bits within the pixel. +The "shift" is the number of bits left we must shift a primary for it +to be in position (according to the "mask"). Finally, "precision" refers +to how much precision the pixel value contains for a particular primary. + + + + + + A pointer to a #guint32 to be filled in, or %NULL. + + + + A pointer to a #gint to be filled in, or %NULL. + + + + A pointer to a #gint to be filled in, or %NULL. + + + + + + Gets the screen to which this visual belongs + + the screen to which this visual belongs. + + + + + Returns the type of visual this is (PseudoColor, TrueColor, etc). + + A #GdkVisualType stating the type of @visual. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + These are hints originally defined by the Motif toolkit. +The window manager can use them when determining how to decorate +the window. The hint must be set before mapping the window. + + + + + + + + + + These are hints originally defined by the Motif toolkit. The window manager +can use them when determining the functions to offer for the window. The +hint must be set before mapping the window. + + + + + + + + + An opaque structure representing an onscreen drawable. Pointers to structures +of type #GdkPixmap, #GdkBitmap, and #GdkWindow can often be used +interchangeably. The type #GdkDrawable refers generically to any of these +types. + + Adds an event filter to @window, allowing you to intercept events +before they reach GDK. This is a low-level operation and makes it +easy to break GDK and/or GTK+, so you have to know what you're +doing. Pass %NULL for @window to get all events for all windows, +instead of events for a specific window. +See gdk_display_add_client_message_filter() if you are interested +in X ClientMessage events. + + + + + + filter callback + + + + data to pass to filter callback + + + + + + Emits a short beep associated to @window in the appropriate +display, if supported. Otherwise, emits a short beep on +the display just as gdk_display_beep(). + + + + + + Begins a window move operation (for a toplevel window). You might +use this function to implement a "window move grip," for +example. The function works best with window managers that support +the <ulink url="http://www.freedesktop.org/Standards/wm-spec">Extended +Window Manager Hints</ulink>, but has a fallback implementation for +other window managers. + + + + + + the button being used to drag + + + + root window X coordinate of mouse click that began the drag + + + + root window Y coordinate of mouse click that began the drag + + + + timestamp of mouse click that began the drag + + + + + + A convenience wrapper around gdk_window_begin_paint_region() which +creates a rectangular region for you. See +gdk_window_begin_paint_region() for details. + + + + + + rectangle you intend to draw to + + + + + + Indicates that you are beginning the process of redrawing @region. +A backing store (offscreen buffer) large enough to contain @region +will be created. The backing store will be initialized with the +background color or background pixmap for @window. Then, all +drawing operations performed on @window will be diverted to the +backing store. When you call gdk_window_end_paint(), the backing +store will be copied to @window, making it visible onscreen. Only +the part of @window contained in @region will be modified; that is, +drawing operations are clipped to @region. +The net result of all this is to remove flicker, because the user +sees the finished product appear all at once when you call +gdk_window_end_paint(). If you draw to @window directly without +calling gdk_window_begin_paint_region(), the user may see flicker +as individual drawing operations are performed in sequence. The +clipping and background-initializing features of +gdk_window_begin_paint_region() are conveniences for the +programmer, so you can avoid doing that work yourself. +When using GTK+, the widget system automatically places calls to +gdk_window_begin_paint_region() and gdk_window_end_paint() around +emissions of the expose_event signal. That is, if you're writing an +expose event handler, you can assume that the exposed area in +#GdkEventExpose has already been cleared to the window background, +is already set as the clip region, and already has a backing store. +Therefore in most cases, application code need not call +gdk_window_begin_paint_region(). (You can disable the automatic +calls around expose events on a widget-by-widget basis by calling +gtk_widget_set_double_buffered().) +If you call this function multiple times before calling the +matching gdk_window_end_paint(), the backing stores are pushed onto +a stack. gdk_window_end_paint() copies the topmost backing store +onscreen, subtracts the topmost region from all other regions in +the stack, and pops the stack. All drawing operations affect only +the topmost backing store in the stack. One matching call to +gdk_window_end_paint() is required for each call to +gdk_window_begin_paint_region(). + + + + + + region you intend to draw to + + + + + + Begins a window resize operation (for a toplevel window). +You might use this function to implement a "window resize grip," for +example; in fact #GtkStatusbar uses it. The function works best +with window managers that support the <ulink url="http://www.freedesktop.org/Standards/wm-spec">Extended Window Manager Hints</ulink>, but has a +fallback implementation for other window managers. + + + + + + the edge or corner from which the drag is started + + + + the button being used to drag + + + + root window X coordinate of mouse click that began the drag + + + + root window Y coordinate of mouse click that began the drag + + + + timestamp of mouse click that began the drag (use gdk_event_get_time()) + + + + + + Clears an entire @window to the background color or background pixmap. + + + + + + Clears an area of @window to the background color or background pixmap. + + + + + + x coordinate of rectangle to clear + + + + y coordinate of rectangle to clear + + + + width of rectangle to clear + + + + height of rectangle to clear + + + + + + Like gdk_window_clear_area(), but also generates an expose event for +the cleared area. +This function has a stupid name because it dates back to the mists +time, pre-GDK-1.0. + + + + + + x coordinate of rectangle to clear + + + + y coordinate of rectangle to clear + + + + width of rectangle to clear + + + + height of rectangle to clear + + + + + + Signal to the window system that the application has finished +handling Configure events it has received. Window Managers can +use this to better synchronize the frame repaint with the +application. GTK+ applications will automatically call this +function when appropriate. +This function can only be called if gdk_window_enable_synchronized_configure() +was called previously. + + + + + + Transforms window coordinates from a parent window to a child +window, where the parent window is the normal parent as returned by +gdk_window_get_parent() for normal windows, and the window's +embedder as returned by gdk_offscreen_window_get_embedder() for +offscreen windows. +For normal windows, calling this function is equivalent to subtracting +the return values of gdk_window_get_position() from the parent coordinates. +For offscreen windows however (which can be arbitrarily transformed), +the coordinates. +You should always use this function when writing generic code that +walks down a window hierarchy. + + + + + + X coordinate in parent's coordinate system + + + + Y coordinate in parent's coordinate system + + + + return location for X coordinate in child's coordinate system + + + + return location for Y coordinate in child's coordinate system + + + + + + Transforms window coordinates from a child window to its parent +window, where the parent window is the normal parent as returned by +gdk_window_get_parent() for normal windows, and the window's +embedder as returned by gdk_offscreen_window_get_embedder() for +offscreen windows. +For normal windows, calling this function is equivalent to adding +the return values of gdk_window_get_position() to the child coordinates. +For offscreen windows however (which can be arbitrarily transformed), +the coordinates. +You should always use this function when writing generic code that +walks up a window hierarchy. + + + + + + X coordinate in child's coordinate system + + + + Y coordinate in child's coordinate system + + + + return location for X coordinate in parent's coordinate system, or %NULL + + + + return location for Y coordinate in parent's coordinate system, or %NULL + + + + + + Create a new surface that is as compatible as possible with the +given @window. For example the new surface will have the same +fallback resolution and font options as @window. Generally, the new +surface will also use the same backend as @window, unless that is +not possible for some reason. The type of the returned surface may +be examined with cairo_surface_get_type(). +Initially the surface contents are all 0 (transparent if contents +have transparency, black otherwise.) +owns the surface and should call cairo_surface_destroy() when done +with it. +This function always returns a valid pointer, but it will return a +pointer to a "nil" surface if @other is already in an error state +or any other error occurs. + + a pointer to the newly allocated surface. The caller + + + + + the content for the new surface + + + + width of the new surface + + + + height of the new surface + + + + + + Attempt to deiconify (unminimize) @window. On X11 the window manager may +choose to ignore the request to deiconify. When using GTK+, +use gtk_window_deiconify() instead of the #GdkWindow variant. Or better yet, +you probably want to use gtk_window_present(), which raises the window, focuses it, +unminimizes it, and puts it on the current desktop. + + + + + + Destroys the window system resources associated with @window and decrements @window's +reference count. The window system resources for all children of @window are also +destroyed, but the children's reference counts are not decremented. +Note that a window will not be destroyed automatically when its reference count +reaches zero. You must call this function yourself before that happens. + + + + + + + + + + + Indicates that the application will cooperate with the window +system in synchronizing the window repaint with the window +manager during resizing operations. After an application calls +this function, it must call gdk_window_configure_finished() every +time it has finished all processing associated with a set of +Configure events. Toplevel GTK+ windows automatically use this +protocol. +On X, calling this function makes @window participate in the +_NET_WM_SYNC_REQUEST window manager protocol. + + + + + + Indicates that the backing store created by the most recent call to +gdk_window_begin_paint_region() should be copied onscreen and +deleted, leaving the next-most-recent backing store or no backing +store at all as the active paint region. See +gdk_window_begin_paint_region() for full details. It is an error to +call this function without a matching +gdk_window_begin_paint_region() first. + + + + + + Tries to ensure that there is a window-system native window for this +GdkWindow. This may fail in some situations, returning %FALSE. +Offscreen window and children of them can never have native windows. +Some backends may not support native child windows. + + %TRUE if the window has a native window, %FALSE otherwise + + + + + Flush all outstanding cached operations on a window, leaving the +window in a state which reflects all that has been drawn before. +Gdk uses multiple kinds of caching to get better performance and +nicer drawing. For instance, during exposes all paints to a window +using double buffered rendering are keep on a pixmap until the last +window has been exposed. It also delays window moves/scrolls until +as long as possible until next update to avoid tearing when moving +windows. +Normally this should be completely invisible to applications, as +we automatically flush the windows when required, but this might +be needed if you for instance mix direct native drawing with +gdk drawing. For Gtk widgets that don't use double buffering this +will be called automatically before sending the expose event. + + + + + + Sets keyboard focus to @window. In most cases, gtk_window_present() +should be used on a #GtkWindow, rather than calling this function. + + + + + + timestamp of the event triggering the window focus + + + + + + Temporarily freezes a window and all its descendants such that it won't +receive expose events. The window will begin receiving expose events +again when gdk_window_thaw_toplevel_updates_libgtk_only() is called. If +gdk_window_freeze_toplevel_updates_libgtk_only() +has been called more than once, +gdk_window_thaw_toplevel_updates_libgtk_only() must be called +an equal number of times to begin processing exposes. +This function is not part of the GDK public API and is only +for use by GTK+. + + + + + + Temporarily freezes a window such that it won't receive expose +events. The window will begin receiving expose events again when +gdk_window_thaw_updates() is called. If gdk_window_freeze_updates() +has been called more than once, gdk_window_thaw_updates() must be called +an equal number of times to begin processing exposes. + + + + + + Moves the window into fullscreen mode. This means the +window covers the entire screen and is above any panels +or task bars. +If the window was already fullscreen, then this function does nothing. +On X11, asks the window manager to put @window in a fullscreen +state, if the window manager supports this operation. Not all +window managers support this, and some deliberately ignore it or +don't have a concept of "fullscreen"; so you can't rely on the +fullscreenification actually happening. But it will happen with +most standard window managers, and GDK makes a best effort to get +it to happen. + + + + + + This function informs GDK that the geometry of an embedded +offscreen window has changed. This is necessary for GDK to keep +track of which offscreen window the pointer is in. + + + + + + Determines whether or not the desktop environment shuld be hinted that +the window does not want to receive input focus. + + whether or not the window should receive input focus. + + + + + Gets the pattern used to clear the background on @window. If @window +does not have its own background and reuses the parent's, %NULL is +returned and you'll have to query it yourself. +parent's background. + + The pattern to use for the background or %NULL to use the + + + + + Gets the list of children of @window known to GDK. +This function only returns children created via GDK, +so for example it's useless when used with the root window; +it only returns windows an application created itself. +The returned list must be freed, but the elements in the +list need not be. +list of child windows inside @window + + + + + + + + Determines whether @window is composited. +See gdk_window_set_composited(). + + %TRUE if the window is composited. + + + + + Retrieves a #GdkCursor pointer for the cursor currently set on the +specified #GdkWindow, or %NULL. If the return value is %NULL then +there is no custom cursor set on the specified window, and it is +using the cursor for its parent window. +by the #GdkWindow and should not be unreferenced directly. Use +gdk_window_set_cursor() to unset the cursor of the window + + a #GdkCursor, or %NULL. The returned object is owned + + + + + Returns the decorations set on the GdkWindow with +gdk_window_set_decorations(). + + %TRUE if the window has decorations set, %FALSE otherwise. + + + + + The window decorations will be written here + + + + + + Retrieves a #GdkCursor pointer for the @device currently set on the +specified #GdkWindow, or %NULL. If the return value is %NULL then +there is no custom cursor set on the specified window, and it is +using the cursor for its parent window. +by the #GdkWindow and should not be unreferenced directly. Use +gdk_window_set_cursor() to unset the cursor of the window + + a #GdkCursor, or %NULL. The returned object is owned + + + + + a #GdkDevice. + + + + + + Returns the event mask for @window corresponding to an specific device. + + device event mask for @window + + + + + a #GdkDevice. + + + + + + Obtains the current device position and modifier state. +The position is given in coordinates relative to the upper left +corner of @window. +gdk_display_get_window_at_device_position()), or %NULL if the +window is not known to GDK. + + The window underneath @device (as with + + + + + #GdkDevice to query to. + + + + return location for the X coordinate of @device, or %NULL. + + + + return location for the Y coordinate of @device, or %NULL. + + + + return location for the modifier mask, or %NULL. + + + + + + Obtains the parent of @window, as known to GDK. Works like +gdk_window_get_parent() for normal windows, but returns the +window's embedder for offscreen windows. + + effective parent of @window + + + + + Gets the toplevel window that's an ancestor of @window. +Works like gdk_window_get_toplevel(), but treats an offscreen window's +embedder as its parent, using gdk_window_get_effective_parent(). + + the effective toplevel window containing @window + + + + + Gets the event mask for @window for all master input devices. See +gdk_window_set_events(). + + event mask for @window + + + + + Determines whether or not the desktop environment should be hinted that the +window does not want to receive input focus when it is mapped. +it is mapped. + + whether or not the window wants to receive input focus when + + + + + Obtains the bounding box of the window, including window manager +titlebar/borders if any. The frame position is given in root window +coordinates. To get the position of the window itself (rather than +the frame) in root window coordinates, use gdk_window_get_origin(). + + + + + + rectangle to fill with bounding box of the window frame + + + + + + Any of the return location arguments to this function may be %NULL, +if you aren't interested in getting the value of that field. +The X and Y coordinates returned are relative to the parent window +of @window, which for toplevels usually means relative to the +window decorations (titlebar, etc.) rather than relative to the +root window (screen-size background window). +On the X11 platform, the geometry is obtained from the X server, +so reflects the latest position of @window; this may be out-of-sync +with the position of @window delivered in the most-recently-processed +#GdkEventConfigure. gdk_window_get_position() in contrast gets the +position from the most recent configure event. +<note> +If @window is not a toplevel, it is <emphasis>much</emphasis> better +to call gdk_window_get_position() and gdk_drawable_get_size() instead, +because it avoids the roundtrip to the X server and because +gdk_drawable_get_size() supports the full 32-bit coordinate space, +whereas gdk_window_get_geometry() is restricted to the 16-bit +coordinates of X11. +</note> + + + + + + return location for X coordinate of window (relative to its parent) + + + + return location for Y coordinate of window (relative to its parent) + + + + return location for width of window + + + + return location for height of window + + + + return location for bit depth of window + + + + + + Returns the group leader window for @window. See gdk_window_set_group(). + + the group leader window for @window + + + + + If you bypass the GDK layer and use windowing system primitives to +draw directly onto a #GdkWindow, then you need to deal with two +system coordinates, and GDK may have redirected drawing to a offscreen +pixmap as the result of a gdk_window_begin_paint_region() calls. +This function allows retrieving the information you need to compensate +for these effects. +This function exposes details of the GDK implementation, and is thus +likely to change in future releases of GDK. + + + + + + location to store the drawable to which drawing should be done. + + + + location to store the X offset between coordinates in @window, and the underlying window system primitive coordinates for *@real_drawable. + + + + location to store the Y offset between coordinates in @window, and the underlying window system primitive coordinates for *@real_drawable. + + + + + + Determines whether or not the window manager is hinted that @window +has modal behaviour. + + whether or not the window has the modal hint set. + + + + + Obtains the position of a window in root window coordinates. +(Compare with gdk_window_get_position() and +gdk_window_get_geometry() which return the position of a window +relative to its parent window.) + + not meaningful, ignore + + + + + return location for X coordinate + + + + return location for Y coordinate + + + + + + Obtains the parent of @window, as known to GDK. Does not query the +X server; thus this returns the parent as passed to gdk_window_new(), +not the actual parent. This should never matter unless you're using +Xlib calls mixed with GDK calls on the X11 platform. It may also +matter for toplevel windows, because the window manager may choose +to reparent them. +Note that you should use gdk_window_get_effective_parent() when +writing generic code that walks up a window hierarchy, because +gdk_window_get_parent() will most likely not do what you expect if +there are offscreen windows in the hierarchy. + + parent of @window + + + + + Obtains the current pointer position and modifier state. +The position is given in coordinates relative to the upper left +corner of @window. +gdk_window_at_pointer()), or %NULL if the window containing the +pointer isn't known to GDK + + the window containing the pointer (as with + + + + + return location for X coordinate of pointer or %NULL to not return the X coordinate + + + + return location for Y coordinate of pointer or %NULL to not return the Y coordinate + + + + return location for modifier mask or %NULL to not return the modifier mask + + + + + + Obtains the position of the window as reported in the +most-recently-processed #GdkEventConfigure. Contrast with +gdk_window_get_geometry() which queries the X server for the +current window position, regardless of which events have been +received or processed. +The position coordinates are relative to the window's parent window. + + + + + + X coordinate of window + + + + Y coordinate of window + + + + + + Obtains the position of a window position in root +window coordinates. This is similar to +gdk_window_get_origin() but allows you go pass +in any position in the window, not just the origin. + + + + + + X coordinate in window + + + + Y coordinate in window + + + + return location for X coordinate + + + + return location for Y coordinate + + + + + + Obtains the top-left corner of the window manager frame in root +window coordinates. + + + + + + return location for X position of window frame + + + + return location for Y position of window frame + + + + + + Gets the bitwise OR of the currently active window state flags, +from the #GdkWindowState enumeration. + + window state bitfield + + + + + Returns %TRUE if the window is aware of the existence of multiple +devices. + + %TRUE if the window handles multidevice features. + + + + + Gets the toplevel window that's an ancestor of @window. +Any window type but %GDK_WINDOW_CHILD is considered a +toplevel window, as is a %GDK_WINDOW_CHILD window that +has a root window as parent. +Note that you should use gdk_window_get_effective_toplevel() when +you want to get to a window's toplevel as seen on screen, because +gdk_window_get_toplevel() will most likely not do what you expect +if there are offscreen windows in the hierarchy. + + the toplevel window containing @window + + + + + This function returns the type hint set for a window. + + The type hint set for @window + + + + + Transfers ownership of the update area from @window to the caller +of the function. That is, after calling this function, @window will +no longer have an invalid/dirty region; the update area is removed +from @window and handed to you. If a window has no update area, +gdk_window_get_update_area() returns %NULL. You are responsible for +calling cairo_region_destroy() on the returned region if it's non-%NULL. + + the update area for @window + + + + + Retrieves the user data for @window, which is normally the widget +that @window belongs to. See gdk_window_set_user_data(). + + + + + + return location for user data + + + + + + Gets the type of the window. See #GdkWindowType. + + type of window + + + + + Checks whether the window has a native window or not. Note that +you can use gdk_window_ensure_native() if a native window is needed. + + %TRUE if the %window has a native window, %FALSE otherwise. + + + + + For toplevel windows, withdraws them, so they will no longer be +known to the window manager; for all windows, unmaps them, so +they won't be displayed. Normally done automatically as +part of gtk_widget_hide(). + + + + + + Asks to iconify (minimize) @window. The window manager may choose +to ignore the request, but normally will honor it. Using +gtk_window_iconify() is preferred, if you have a #GtkWindow widget. +This function only makes sense when @window is a toplevel window. + + + + + + Like gdk_window_shape_combine_mask(), but the shape applies +only to event handling. Mouse events which happen while +the pointer position corresponds to an unset bit in the +mask will be passed on the window below @window. +An input shape is typically used with RGBA windows. +The alpha channel of the window defines which pixels are +invisible and allows for nicely antialiased borders, +and the input shape controls where the window is +"clickable". +On the X11 platform, this requires version 1.1 of the +shape extension. +On the Win32 platform, this functionality is not present and the +function does nothing. + + + + + + shape mask, or %NULL + + + + X position of shape mask with respect to @window + + + + Y position of shape mask with respect to @window + + + + + + Like gdk_window_shape_combine_region(), but the shape applies +only to event handling. Mouse events which happen while +the pointer position corresponds to an unset bit in the +mask will be passed on the window below @window. +An input shape is typically used with RGBA windows. +The alpha channel of the window defines which pixels are +invisible and allows for nicely antialiased borders, +and the input shape controls where the window is +"clickable". +On the X11 platform, this requires version 1.1 of the +shape extension. +On the Win32 platform, this functionality is not present and the +function does nothing. + + + + + + region of window to be non-transparent + + + + X position of @shape_region in @window coordinates + + + + Y position of @shape_region in @window coordinates + + + + + + Adds @region to the update area for @window. The update area is the +region that needs to be redrawn, or "dirty region." The call +gdk_window_process_updates() sends one or more expose events to the +window, which together cover the entire update area. An +application would normally redraw the contents of @window in +response to those expose events. +GDK will call gdk_window_process_all_updates() on your behalf +whenever your program returns to the main loop and becomes idle, so +normally there's no need to do that manually, you just need to +invalidate regions that you know should be redrawn. +The @child_func parameter controls whether the region of +each child window that intersects @region will also be invalidated. +Only children for which @child_func returns TRUE will have the area +invalidated. + + + + + + a #cairo_region_t + + + + function to use to decide if to recurse to a child, %NULL means never recurse. + + + + data passed to @child_func + + + + + + A convenience wrapper around gdk_window_invalidate_region() which +invalidates a rectangular region. See +gdk_window_invalidate_region() for details. + + + + + + rectangle to invalidate or %NULL to invalidate the whole window + + + + whether to also invalidate child windows + + + + + + Adds @region to the update area for @window. The update area is the +region that needs to be redrawn, or "dirty region." The call +gdk_window_process_updates() sends one or more expose events to the +window, which together cover the entire update area. An +application would normally redraw the contents of @window in +response to those expose events. +GDK will call gdk_window_process_all_updates() on your behalf +whenever your program returns to the main loop and becomes idle, so +normally there's no need to do that manually, you just need to +invalidate regions that you know should be redrawn. +The @invalidate_children parameter controls whether the region of +each child window that intersects @region will also be invalidated. +If %FALSE, then the update area for child windows will remain +unaffected. See gdk_window_invalidate_maybe_recurse if you need +fine grained control over which children are invalidated. + + + + + + a #cairo_region_t + + + + %TRUE to also invalidate child windows + + + + + + Check to see if a window is destroyed.. + + %TRUE if the window is destroyed + + + + + Determines whether or not the window is an input only window. + + %TRUE if @window is input only + + + + + Determines whether or not the window is shaped. + + %TRUE if @window is shaped + + + + + Check if the window and all ancestors of the window are +mapped. (This is not necessarily "viewable" in the X sense, since +we only check as far as we have GDK window parents, not to the root +window.) + + %TRUE if the window is viewable + + + + + Checks whether the window has been mapped (with gdk_window_show() or +gdk_window_show_unraised()). + + %TRUE if the window is mapped + + + + + Lowers @window to the bottom of the Z-order (stacking order), so that +other windows with the same parent window appear above @window. +This is true whether or not the other windows are visible. +If @window is a toplevel, the window manager may choose to deny the +request to move the window in the Z-order, gdk_window_lower() only +requests the restack, does not guarantee it. +Note that gdk_window_show() raises the window again, so don't call this +function before gdk_window_show(). (Try gdk_window_show_unraised().) + + + + + + Maximizes the window. If the window was already maximized, then +this function does nothing. +On X11, asks the window manager to maximize @window, if the window +manager supports this operation. Not all window managers support +this, and some deliberately ignore it or don't have a concept of +"maximized"; so you can't rely on the maximization actually +happening. But it will happen with most standard window managers, +and GDK makes a best effort to get it to happen. +On Windows, reliably maximizes the window. + + + + + + Merges the input shape masks for any child windows into the +input shape mask for @window. i.e. the union of all input masks +for @window and its children will become the new input mask +for @window. See gdk_window_input_shape_combine_mask(). +This function is distinct from gdk_window_set_child_input_shapes() +because it includes @window's input shape mask in the set of +shapes to be merged. + + + + + + Merges the shape masks for any child windows into the +shape mask for @window. i.e. the union of all masks +for @window and its children will become the new mask +for @window. See gdk_window_shape_combine_mask(). +This function is distinct from gdk_window_set_child_shapes() +because it includes @window's shape mask in the set of shapes to +be merged. + + + + + + Repositions a window relative to its parent window. +For toplevel windows, window managers may ignore or modify the move; +you should probably use gtk_window_move() on a #GtkWindow widget +anyway, instead of using GDK functions. For child windows, +the move will reliably succeed. +If you're also planning to resize the window, use gdk_window_move_resize() +to both move and resize simultaneously, for a nicer visual effect. + + + + + + X coordinate relative to window's parent + + + + Y coordinate relative to window's parent + + + + + + Move the part of @window indicated by @region by @dy pixels in the Y +direction and @dx pixels in the X direction. The portions of @region +that not covered by the new position of @region are invalidated. +Child windows are not moved. + + + + + + The #cairo_region_t to move + + + + Amount to move in the X direction + + + + Amount to move in the Y direction + + + + + + Equivalent to calling gdk_window_move() and gdk_window_resize(), +except that both operations are performed at once, avoiding strange +visual effects. (i.e. the user may be able to see the window first +move, then resize, if you don't use gdk_window_move_resize().) + + + + + + new X position relative to window's parent + + + + new Y position relative to window's parent + + + + new width + + + + new height + + + + + + Creates a new #GdkWindow using the attributes from +display, @parent must be specified. + + the new #GdkWindow + + + + + attributes of the new window + + + + mask indicating which fields in @attributes are valid + + + + + + Like gdk_window_get_children(), but does not copy the list of +children, so the list does not need to be freed. +a reference to the list of child windows in @window + + + + + + + + Sends one or more expose events to @window. The areas in each +expose event will cover the entire update area for the window (see +gdk_window_invalidate_region() for details). Normally GDK calls +gdk_window_process_all_updates() on your behalf, so there's no +need to call this function unless you want to force expose events +to be delivered immediately and synchronously (vs. the usual +case, where GDK delivers them in an idle handler). Occasionally +this is useful to produce nicer scrolling behavior, for example. + + + + + + whether to also process updates for child windows + + + + + + Raises @window to the top of the Z-order (stacking order), so that +other windows with the same parent window appear below @window. +This is true whether or not the windows are visible. +If @window is a toplevel, the window manager may choose to deny the +request to move the window in the Z-order, gdk_window_raise() only +requests the restack, does not guarantee it. + + + + + + Redirects drawing into @window so that drawing to the +window in the rectangle specified by @src_x, @src_y, +Only drawing between gdk_window_begin_paint_region() or +gdk_window_begin_paint_rect() and gdk_window_end_paint() is +redirected. +Redirection is active until gdk_window_remove_redirection() +is called. + + + + + + a #GdkDrawable + + + + x position in @window + + + + y position in @window + + + + x position in @drawable + + + + y position in @drawable + + + + width of redirection, or -1 to use the width of @window + + + + height of redirection or -1 to use the height of @window + + + + + + Registers a window as a potential drop destination. + + + + + + Remove a filter previously added with gdk_window_add_filter(). + + + + + + previously-added filter function + + + + user data for previously-added filter function + + + + + + Removes any active redirection started by +gdk_window_redirect_to_drawable(). + + + + + + Reparents @window into the given @new_parent. The window being +reparented will be unmapped as a side effect. + + + + + + new parent to move @window into + + + + X location inside the new parent + + + + Y location inside the new parent + + + + + + Resizes @window; for toplevel windows, asks the window manager to resize +the window. The window manager may not allow the resize. When using GTK+, +use gtk_window_resize() instead of this low-level GDK function. +Windows may not be resized below 1x1. +If you're also planning to move the window, use gdk_window_move_resize() +to both move and resize simultaneously, for a nicer visual effect. + + + + + + new width of the window + + + + new height of the window + + + + + + Changes the position of @window in the Z-order (stacking order), so that +it is above @sibling (if @above is %TRUE) or below @sibling (if @above is +%FALSE). +If @sibling is %NULL, then this either raises (if @above is %TRUE) or +lowers the window. +If @window is a toplevel, the window manager may choose to deny the +request to move the window in the Z-order, gdk_window_restack() only +requests the restack, does not guarantee it. + + + + + + a #GdkWindow that is a sibling of @window, or %NULL + + + + a boolean + + + + + + Scroll the contents of @window, both pixels and children, by the +given amount. @window itself does not move. Portions of the window +that the scroll operation brings in from offscreen areas are +invalidated. The invalidated region may be bigger than what would +strictly be necessary. +For X11, a minimum area will be invalidated if the window has no +subwindows, or if the edges of the window's parent do not extend +beyond the edges of the window. In other cases, a multi-step process +is used to scroll the window which may produce temporary visual +artifacts and unnecessary invalidations. + + + + + + Amount to scroll in the X direction + + + + Amount to scroll in the Y direction + + + + + + Setting @accept_focus to %FALSE hints the desktop environment that the +window doesn't want to receive input focus. +On X, it is the responsibility of the window manager to interpret this +hint. ICCCM-compliant window manager usually respect it. + + + + + + %TRUE if the window should receive input focus + + + + + + Sets the background pixmap of @window. May also be used to set a +background of "None" on @window, by setting a background pixmap +of %NULL. +A background pixmap will be tiled, positioning the first tile at +the origin of @window, or if @parent_relative is %TRUE, the tiling +will be done based on the origin of the parent window (useful to +align tiles in a parent with tiles in a child). +A background pixmap of %NULL means that the window will have no +background. A window with no background will never have its +background filled by the windowing system, instead the window will +contain whatever pixels were already in the corresponding area of +the display. +The windowing system will normally fill a window with its background +when the window is obscured then exposed, and when you call +gdk_window_clear(). + + + + + + a #GdkPixmap, or %NULL + + + + whether the tiling origin is at the origin of + + + + + + Sets the background color of @window. (However, when using GTK+, +set the background of a widget with gtk_widget_modify_bg() - if +you're an application - or gtk_style_set_background() - if you're +implementing a custom widget.) +See also gdk_window_set_background_pixmap(). + + + + + + an allocated #GdkColor + + + + + + Sets the input shape mask of @window to the union of input shape masks +for all children of @window, ignoring the input shape mask of @window +itself. Contrast with gdk_window_merge_child_input_shapes() which includes +the input shape mask of @window in the masks to be merged. + + + + + + Sets the shape mask of @window to the union of shape masks +for all children of @window, ignoring the shape mask of @window +itself. Contrast with gdk_window_merge_child_shapes() which includes +the shape mask of @window in the masks to be merged. + + + + + + Sets a #GdkWindow as composited, or unsets it. Composited +windows do not automatically have their contents drawn to +the screen. Drawing is redirected to an offscreen buffer +and an expose event is emitted on the parent of the composited +window. It is the responsibility of the parent's expose handler +to manually merge the off-screen content onto the screen in +whatever way it sees fit. See <xref linkend="composited-window-example"/> +for an example. +It only makes sense for child windows to be composited; see +gdk_window_set_opacity() if you need translucent toplevel +windows. +An additional effect of this call is that the area of this +window is no longer clipped from regions marked for +invalidation on its parent. Draws done on the parent +window are also no longer clipped by the child. +This call is only supported on some systems (currently, +only X11 with new enough Xcomposite and Xdamage extensions). +You must call gdk_display_supports_composite() to check if +setting a window as composited is supported before +attempting to do so. + + + + + + %TRUE to set the window as composited + + + + + + Sets the default mouse pointer for a #GdkWindow. Use gdk_cursor_new_for_display() +or gdk_cursor_new_from_pixmap() to create the cursor. To make the cursor +invisible, use %GDK_BLANK_CURSOR. Passing %NULL for the @cursor argument +to gdk_window_set_cursor() means that @window will use the cursor of its +parent window. Most windows should use this default. + + + + + + a cursor + + + + + + "Decorations" are the features the window manager adds to a toplevel #GdkWindow. +This function sets the traditional Motif window manager hints that tell the +window manager which decorations you would like your window to have. +Usually you should use gtk_window_set_decorated() on a #GtkWindow instead of +using the GDK function directly. +The @decorations argument is the logical OR of the fields in +the #GdkWMDecoration enumeration. If #GDK_DECOR_ALL is included in the +mask, the other bits indicate which decorations should be turned off. +If #GDK_DECOR_ALL is not included, then the other bits indicate +which decorations should be turned on. +Most window managers honor a decorations hint of 0 to disable all decorations, +but very few honor all possible combinations of bits. + + + + + + decoration hint mask + + + + + + Sets a specific #GdkCursor for a given device when it gets inside @window. +Use gdk_cursor_new_for_display() or gdk_cursor_new_from_pixmap() to create +the cursor. To make the cursor invisible, use %GDK_BLANK_CURSOR. Passing +%NULL for the @cursor argument to gdk_window_set_cursor() means that +use this default. + + + + + + a #GdkDevice + + + + a #GdkCursor + + + + + + Sets the event mask for a given device (Normally a floating device, not +attached to any visible pointer) to @window. For example, an event mask +including #GDK_BUTTON_PRESS_MASK means the window should report button +press events. The event mask is the bitwise OR of values from the +#GdkEventMask enumeration. + + + + + + #GdkDevice to enable events for. + + + + event mask for @window + + + + + + The event mask for a window determines which events will be reported +for that window from all master input devices. For example, an event mask +including #GDK_BUTTON_PRESS_MASK means the window should report button +press events. The event mask is the bitwise OR of values from the +#GdkEventMask enumeration. + + + + + + event mask for @window + + + + + + Setting @focus_on_map to %FALSE hints the desktop environment that the +window doesn't want to receive input focus when it is mapped. +focus_on_map should be turned off for windows that aren't triggered +interactively (such as popups from network activity). +On X, it is the responsibility of the window manager to interpret +this hint. Window managers following the freedesktop.org window +manager extension specification should respect it. + + + + + + %TRUE if the window should receive input focus when mapped + + + + + + Sets hints about the window management functions to make available +via buttons on the window frame. +On the X backend, this function sets the traditional Motif window +manager hint for this purpose. However, few window managers do +anything reliable or interesting with this hint. Many ignore it +entirely. +The @functions argument is the logical OR of values from the +#GdkWMFunction enumeration. If the bitmask includes #GDK_FUNC_ALL, +then the other bits indicate which functions to disable; if +it doesn't include #GDK_FUNC_ALL, it indicates which functions to +enable. + + + + + + bitmask of operations to allow on @window + + + + + + Sets the geometry hints for @window. Hints flagged in @geom_mask +are set, hints not flagged in @geom_mask are unset. +To unset all hints, use a @geom_mask of 0 and a @geometry of %NULL. +This function provides hints to the windowing system about +acceptable sizes for a toplevel window. The purpose of +this is to constrain user resizing, but the windowing system +will typically (but is not required to) also constrain the +current size of the window to the provided values and +constrain programatic resizing via gdk_window_resize() or +gdk_window_move_resize(). +Note that on X11, this effect has no effect on windows +of type %GDK_WINDOW_TEMP or windows where override redirect +has been turned on via gdk_window_set_override_redirect() +since these windows are not resizable by the user. +Since you can't count on the windowing system doing the +constraints for programmatic resizes, you should generally +call gdk_window_constrain_size() yourself to determine +appropriate sizes. + + + + + + geometry hints + + + + bitmask indicating fields of @geometry to pay attention to + + + + + + Sets the group leader window for @window. By default, +GDK sets the group leader for all toplevel windows +to a global window implicitly created by GDK. With this function +you can override this default. +The group leader window allows the window manager to distinguish +all windows that belong to a single application. It may for example +allow users to minimize/unminimize all windows belonging to an +application at once. You should only set a non-default group window +if your application pretends to be multiple applications. + + + + + + group leader window, or %NULL to restore the default group leader window + + + + + + Sets the icon of @window as a pixmap or window. If using GTK+, investigate +gtk_window_set_default_icon_list() first, and then gtk_window_set_icon_list() +and gtk_window_set_icon(). If those don't meet your needs, look at +gdk_window_set_icon_list(). Only if all those are too high-level do you +want to fall back to gdk_window_set_icon(). + + + + + + a #GdkWindow to use for the icon, or %NULL to unset + + + + a #GdkPixmap to use as the icon, or %NULL to unset + + + + a 1-bit pixmap (#GdkBitmap) to use as mask for @pixmap, or %NULL to have none + + + + + + Sets a list of icons for the window. One of these will be used +to represent the window when it has been iconified. The icon is +usually shown in an icon box or some sort of task bar. Which icon +size is shown depends on the window manager. The window manager +can scale the icon but setting several size icons can give better +image quality since the window manager may only need to scale the +icon by a small amount or not at all. + + + + + + A list of pixbufs, of different sizes. + + + + + + + + Windows may have a name used while minimized, distinct from the +name they display in their titlebar. Most of the time this is a bad +idea from a user interface standpoint. But you can set such a name +with this function, if you like. +After calling this with a non-%NULL @name, calls to gdk_window_set_title() +will not update the icon title. +Using %NULL for @name unsets the icon title; further calls to +gdk_window_set_title() will again update the icon title as well. + + + + + + name of window while iconified (minimized) + + + + + + Set if @window must be kept above other windows. If the +window was already above, then this function does nothing. +On X11, asks the window manager to keep @window above, if the window +manager supports this operation. Not all window managers support +this, and some deliberately ignore it or don't have a concept of +"keep above"; so you can't rely on the window being kept above. +But it will happen with most standard window managers, +and GDK makes a best effort to get it to happen. + + + + + + whether to keep @window above other windows + + + + + + Set if @window must be kept below other windows. If the +window was already below, then this function does nothing. +On X11, asks the window manager to keep @window below, if the window +manager supports this operation. Not all window managers support +this, and some deliberately ignore it or don't have a concept of +"keep below"; so you can't rely on the window being kept below. +But it will happen with most standard window managers, +and GDK makes a best effort to get it to happen. + + + + + + whether to keep @window below other windows + + + + + + The application can use this hint to tell the window manager +that a certain window has modal behaviour. The window manager +can use this information to handle modal windows in a special +way. +You should only use this on windows for which you have +previously called gdk_window_set_transient_for() + + + + + + %TRUE if the window is modal, %FALSE otherwise. + + + + + + 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 works only on X screens with a compositing manager +running. +For setting up per-pixel alpha, see gdk_screen_get_rgba_colormap(). +For making non-toplevel windows translucent, see +gdk_window_set_composited(). + + + + + + opacity + + + + + + An override redirect window is not under the control of the window manager. +This means it won't have a titlebar, won't be minimizable, etc. - it will +be entirely under the control of the application. The window manager +can't see the override redirect window at all. +Override redirect should only be used for short-lived temporary +windows, such as popup menus. #GtkMenu uses an override redirect +window in its implementation, for example. + + + + + + %TRUE if window should be override redirect + + + + + + When using GTK+, typically you should use gtk_window_set_role() instead +of this low-level function. +The window manager and session manager use a window's role to +distinguish it from other kinds of window in the same application. +When an application is restarted after being saved in a previous +session, all windows with the same title and role are treated as +interchangeable. So if you have two windows with the same title +that should be distinguished for session management purposes, you +should set the role on those windows. It doesn't matter what string +you use for the role, as long as you have a different role for each +non-interchangeable kind of window. + + + + + + a string indicating its role + + + + + + Toggles whether a window should appear in a pager (workspace +switcher, or other desktop utility program that displays a small +thumbnail representation of the windows on the desktop). If a +window's semantic type as specified with gdk_window_set_type_hint() +already fully describes the window, this function should +<emphasis>not</emphasis> be called in addition, instead you should +allow the window to be treated according to standard policy for +its semantic type. + + + + + + %TRUE to skip the pager + + + + + + Toggles whether a window should appear in a task list or window +list. If a window's semantic type as specified with +gdk_window_set_type_hint() already fully describes the window, this +function should <emphasis>not</emphasis> be called in addition, +instead you should allow the window to be treated according to +standard policy for its semantic type. + + + + + + %TRUE to skip the taskbar + + + + + + When using GTK+, typically you should use gtk_window_set_startup_id() +instead of this low-level function. + + + + + + a string with startup-notification identifier + + + + + + Set the bit gravity of the given window to static, and flag it so +all children get static subwindow gravity. This is used if you are +implementing scary features that involve deep knowledge of the +windowing system. Don't worry about it unless you have to. + + %TRUE if the server supports static gravity + + + + + %TRUE to turn on static gravity + + + + + + This function will enable multidevice features in @window. +Multidevice aware windows will need to handle properly multiple, +per device enter/leave events, device grabs and grab ownerships. + + + + + + %TRUE to enable multidevice support in @window. + + + + + + Sets the title of a toplevel window, to be displayed in the titlebar. +If you haven't explicitly set the icon name for the window +(using gdk_window_set_icon_name()), the icon name will be set to +user-readable strings in GDK/GTK+). @title may not be %NULL. + + + + + + title of @window + + + + + + Indicates to the window manager that @window is a transient dialog +associated with the application window @parent. This allows the +window manager to do things like center @window on @parent and +keep @window above @parent. +See gtk_window_set_transient_for() if you're using #GtkWindow or +#GtkDialog. + + + + + + another toplevel #GdkWindow + + + + + + The application can use this call to provide a hint to the window +manager about the functionality of a window. The window manager +can use this information when determining the decoration and behaviour +of the window. +The hint must be set before the window is mapped. + + + + + + A hint of the function this window will have + + + + + + Toggles whether a window needs the user's +urgent attention. + + + + + + %TRUE if the window is urgent + + + + + + For most purposes this function is deprecated in favor of +g_object_set_data(). However, for historical reasons GTK+ stores +the #GtkWidget that owns a #GdkWindow as user data on the +#GdkWindow. So, custom widget implementations should use +this function for that. If GTK+ receives an event for a #GdkWindow, +and the user data for the window is non-%NULL, GTK+ will assume the +user data is a #GtkWidget, and forward the event to that widget. + + + + + + user data + + + + + + Applies a shape mask to @window. Pixels in @window corresponding to +set bits in the @mask will be visible; pixels in @window +corresponding to unset bits in the @mask will be transparent. This +gives a non-rectangular window. +If @mask is %NULL, the shape mask will be unset, and the @x/@y +parameters are not used. +On the X11 platform, this uses an X server extension which is +widely available on most common platforms, but not available on +very old X servers, and occasionally the implementation will be +buggy. On servers without the shape extension, this function +will do nothing. +This function works on both toplevel and child windows. + + + + + + shape mask + + + + X position of shape mask with respect to @window + + + + Y position of shape mask with respect to @window + + + + + + Makes pixels in @window outside @shape_region be transparent, +so that the window may be nonrectangular. See also +gdk_window_shape_combine_mask() to use a bitmap as the mask. +If @shape_region is %NULL, the shape will be unset, so the whole +window will be opaque again. @offset_x and @offset_y are ignored +if @shape_region is %NULL. +On the X11 platform, this uses an X server extension which is +widely available on most common platforms, but not available on +very old X servers, and occasionally the implementation will be +buggy. On servers without the shape extension, this function +will do nothing. +This function works on both toplevel and child windows. + + + + + + region of window to be non-transparent + + + + X position of @shape_region in @window coordinates + + + + Y position of @shape_region in @window coordinates + + + + + + Like gdk_window_show_unraised(), but also raises the window to the +top of the window stack (moves the window to the front of the +Z-order). +This function maps a window so it's visible onscreen. Its opposite +is gdk_window_hide(). +When implementing a #GtkWidget, you should call this function on the widget's +#GdkWindow as part of the "map" method. + + + + + + Shows a #GdkWindow onscreen, but does not modify its stacking +order. In contrast, gdk_window_show() will raise the window +to the top of the window stack. +On the X11 platform, in Xlib terms, this function calls +XMapWindow() (it also updates some internal GDK state, which means +that you can't really use XMapWindow() directly on a GDK window). + + + + + + "Pins" a window such that it's on all workspaces and does not scroll +with viewports, for window managers that have scrollable viewports. +(When using #GtkWindow, gtk_window_stick() may be more useful.) +On the X11 platform, this function depends on window manager +support, so may have no effect with many window managers. However, +GDK will do the best it can to convince the window manager to stick +the window. For window managers that don't support this operation, +there's nothing you can do to force it to happen. + + + + + + Thaws a window frozen with +gdk_window_freeze_toplevel_updates_libgtk_only(). +This function is not part of the GDK public API and is only +for use by GTK+. + + + + + + Thaws a window frozen with gdk_window_freeze_updates(). + + + + + + Moves the window out of fullscreen mode. If the window was not +fullscreen, does nothing. +On X11, asks the window manager to move @window out of the fullscreen +state, if the window manager supports this operation. Not all +window managers support this, and some deliberately ignore it or +don't have a concept of "fullscreen"; so you can't rely on the +unfullscreenification actually happening. But it will happen with +most standard window managers, and GDK makes a best effort to get +it to happen. + + + + + + Unmaximizes the window. If the window wasn't maximized, then this +function does nothing. +On X11, asks the window manager to unmaximize @window, if the +window manager supports this operation. Not all window managers +support this, and some deliberately ignore it or don't have a +concept of "maximized"; so you can't rely on the unmaximization +actually happening. But it will happen with most standard window +managers, and GDK makes a best effort to get it to happen. +On Windows, reliably unmaximizes the window. + + + + + + Reverse operation for gdk_window_stick(); see gdk_window_stick(), +and gtk_window_unstick(). + + + + + + Withdraws a window (unmaps it and asks the window manager to forget about it). +This function is not really useful as gdk_window_hide() automatically +withdraws toplevel windows before hiding them. + + + + + + The mouse pointer for a #GdkWindow. See gdk_window_set_cursor() and +gdk_window_get_cursor() for details. + + + + The ::from-embedder signal is emitted to translate coordinates +in the embedder of an offscreen window to the offscreen window. +See also #GtkWindow::to-embedder. + + + + + + x coordinate in the embedder window + + + + y coordinate in the embedder window + + + + return location for the x coordinate in the offscreen window + + + + return location for the y coordinate in the offscreen window + + + + + + The ::pick-embedded-child signal is emitted to find an embedded +child at the given position. + + the #GdkWindow of the embedded child at @x, @y, or %NULL + + + + + x coordinate in the window + + + + y coordinate in the window + + + + + + The ::to-embedder signal is emitted to translate coordinates +in an offscreen window to its embedder. +See also #GtkWindow::from-embedder. + + + + + + x coordinate in the offscreen window + + + + y coordinate in the offscreen window + + + + return location for the x coordinate in the embedder window + + + + return location for the y coordinate in the embedder window + + + + + + + Attributes to use for a newly-created window. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Used to indicate which fields in the #GdkWindowAttr struct should be honored. +For example, if you filled in the "cursor" and "x" fields of #GdkWindowAttr, +pass "@GDK_WA_X | @GDK_WA_CURSOR" to gdk_window_new(). Fields in +#GdkWindowAttr not covered by a bit in this enum are required; for example, +the @width/@height, @wclass, and @window_type fields are required, they have +no corresponding flag in #GdkWindowAttributesType. + + + + + + + + + + + + Such windows receive events and are also displayed on screen. +windows in order to trap or filter the events. You can't draw on + + + + + Determines a window edge or corner. + + + + + + + + + + + Used to indicate which fields of a #GdkGeometry struct should be paid +attention to. Also, the presence/absence of @GDK_HINT_POS, +directly refer to #GdkGeometry fields. @GDK_HINT_USER_POS will be set +automatically by #GtkWindow if you call gtk_window_move(). +specified a size/position using a --geometry command-line argument; +gtk_window_parse_geometry() automatically sets these flags. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Describes the kind of window. + + + + + + + + + These are hints for the window manager that indicate what type of function +the window has. The window manager can use this when determining decoration +and behaviour of the window. The hint must be set before mapping the window. +See the +<ulink url="http://www.freedesktop.org/Standards/wm-spec">Extended +Window Manager Hints</ulink> specification for more details about +window types. + + + + + + + + + + + + + + + + + Adds a filter to the default display to be called when X ClientMessage events +are received. See gdk_display_add_client_message_filter(). + + + + + + the type of ClientMessage events to receive. This will be checked against the <structfield>message_type</structfield> field of the XClientMessage event struct. + + + + the function to call to process the event. + + + + user data to pass to @func. + + + + + + Appends gdk option entries to the passed in option group. This is +not public API and must not be used by applications. + + + + + + An option group. + + + + + + + + + + + + + + + + + + + Finds or creates an atom corresponding to a given string. +Note that this function is identical to gdk_atom_intern() except +that if a new #GdkAtom is created the string itself is used rather +than a copy. This saves memory, but can only be used if the string +will <emphasis>always</emphasis> exist. It can be used with statically +allocated strings in the main program, but not with statically +allocated memory in dynamically loaded modules, if you expect to +ever unload the module again (e.g. do not use this function in +GTK+ theme engines). + + the atom corresponding to @atom_name + + + + + a static string + + + + + + + + + + + + + + + + Emits a short beep on the default display. + + + + + + Creates a Cairo context for drawing to @drawable. +<note><para> +Note that due to double-buffering, Cairo contexts created +in a GTK+ expose event handler cannot be cached and reused +between different expose events. +</para></note> +cairo_destroy() when you are done drawing. + + A newly created Cairo context. Free with + + + + + a #GdkDrawable + + + + + + Adds the given rectangle to the current path of @cr. + + + + + + a #cairo_t + + + + a #GdkRectangle + + + + + + Adds the given region to the current path of @cr. + + + + + + a #cairo_t + + + + a #cairo_region_t + + + + + + Resets the clip region for a Cairo context created by gdk_cairo_create(). +This resets the clip region to the "empty" state for the given drawable. +This is required for non-native windows since a direct call to +cairo_reset_clip() would unset the clip region inherited from the +drawable (i.e. the window clip region), and thus let you e.g. +draw outside your window. +This is rarely needed though, since most code just create a new cairo_t +using gdk_cairo_create() each time they want to draw something. + + + + + + a #cairo_t + + + + a #GdkDrawable + + + + + + Sets the specified #GdkColor as the source color of @cr. + + + + + + a #cairo_t + + + + a #GdkColor + + + + + + Sets the given pixbuf as the source pattern for the Cairo context. +The pattern has an extend mode of %CAIRO_EXTEND_NONE and is aligned +so that the origin of @pixbuf is @pixbuf_x, @pixbuf_y + + + + + + a #Cairo context + + + + a #GdkPixbuf + + + + X coordinate of location to place upper left corner of @pixbuf + + + + Y coordinate of location to place upper left corner of @pixbuf + + + + + + Sets the given pixmap as the source pattern for the Cairo context. +The pattern has an extend mode of %CAIRO_EXTEND_NONE and is aligned +so that the origin of @pixmap is @pixmap_x, @pixmap_y + + + + + + a #Cairo context + + + + a #GdkPixmap + + + + X coordinate of location to place upper left corner of @pixmap + + + + Y coordinate of location to place upper left corner of @pixmap + + + + + + Parses a textual specification of a color and fill in the +<structfield>red</structfield>, <structfield>green</structfield>, +and <structfield>blue</structfield> fields of a #GdkColor +structure. The color is <emphasis>not</emphasis> allocated, you +must call gdk_colormap_alloc_color() yourself. The string can +either one of a large set of standard names. (Taken from the X11 +<filename>rgb.txt</filename> file), or it can be a hex value in the +form '&num;rgb' '&num;rrggbb' '&num;rrrgggbbb' or +'&num;rrrrggggbbbb' where 'r', 'g' and 'b' are hex digits of the +red, green, and blue components of the color, respectively. (White +in the four forms is '&num;fff' '&num;ffffff' '&num;fffffffff' and +'&num;ffffffffffff') + + %TRUE if the parsing succeeded. + + + + + the string specifying the color. + + + + the #GdkColor to fill in + + + + + + Returns the list of available input devices for the default display. +The list is statically allocated and should not be freed. + + a list of #GdkDevice + + + + + + + Aborts a drag without dropping. +This function is called by the drag source. + + + + + + a #GdkDragContext. + + + + the timestamp for this operation. + + + + + + Starts a drag and creates a new drag context for it. +This function is called by the drag source. + + a newly created #GdkDragContext. + + + + + the source window for this drag. + + + + the offered targets, as list of #GdkAtom<!-- -->s + + + + + + + + Drops on the current destination. +This function is called by the drag source. + + + + + + a #GdkDragContext. + + + + the timestamp for this operation. + + + + + + Returns whether the dropped data has been successfully +transferred. This function is intended to be used while +handling a %GDK_DROP_FINISHED event, its return value is +meaningless at other times. + + %TRUE if the drop was successful. + + + + + a #GdkDragContext + + + + + + Finds the destination window and DND protocol to use at the +given pointer position. +This function is called by the drag source to obtain the + + + + + + a #GdkDragContext. + + + + a window which may be at the pointer position, but should be ignored, since it is put up by the drag source as an icon. + + + + the x position of the pointer in root coordinates. + + + + the y position of the pointer in root coordinates. + + + + location to store the destination window in. + + + + location to store the DND protocol in. + + + + + + Finds the destination window and DND protocol to use at the +given pointer position. +This function is called by the drag source to obtain the + + + + + + a #GdkDragContext + + + + a window which may be at the pointer position, but should be ignored, since it is put up by the drag source as an icon. + + + + the screen where the destination window is sought. + + + + the x position of the pointer in root coordinates. + + + + the y position of the pointer in root coordinates. + + + + location to store the destination window in. + + + + location to store the DND protocol in. + + + + + + Finds out the DND protocol supported by a window. +the drop should happen. This may be @xid or the id of a proxy +window, or zero if @xid doesn't support Drag and Drop. + + the windowing system specific id for the window where + + + + + the windowing system id of the destination window. + + + + location where the supported DND protocol is returned. + + + + + + Finds out the DND protocol supported by a window. + + the windowing system id of the window where the drop should happen. This may be @xid or the id of a proxy window, or zero if @xid doesn't support Drag and Drop. + + + + + the #GdkDisplay where the destination window resides + + + + the windowing system id of the destination window. + + + + location where the supported DND protocol is returned. + + + + + + Returns the selection atom for the current source window. + + the selection atom. + + + + + a #GdkDragContext. + + + + + + Updates the drag context when the pointer moves or the +set of actions changes. +This function is called by the drag source. + + FIXME + + + + + a #GdkDragContext. + + + + the new destination window, obtained by gdk_drag_find_window(). + + + + the DND protocol in use, obtained by gdk_drag_find_window(). + + + + the x position of the pointer in root coordinates. + + + + the y position of the pointer in root coordinates. + + + + the suggested action. + + + + the possible actions. + + + + the timestamp for this operation. + + + + + + Selects one of the actions offered by the drag source. +This function is called by the drag destination in response to +gdk_drag_motion() called by the drag source. + + + + + + a #GdkDragContext. + + + + the selected action which will be taken when a drop happens, or 0 to indicate that a drop will not be accepted. + + + + the timestamp for this operation. + + + + + + Ends the drag operation after a drop. +This function is called by the drag destination. + + + + + + a #GtkDragContext. + + + + %TRUE if the data was successfully received. + + + + the timestamp for this operation. + + + + + + Accepts or rejects a drop. +This function is called by the drag destination in response +to a drop initiated by the drag source. + + + + + + a #GdkDragContext. + + + + %TRUE if the drop is accepted. + + + + the timestamp for this operation. + + + + + + Enables multidevice support in GDK. This call must happen prior +to gdk_display_open(), gtk_init(), gtk_init_with_args() or +gtk_init_check() in order to take effect. +Note that individual #GdkWindow<!-- -->s still need to explicitly +enable multidevice awareness through gdk_window_set_support_multidevice(). +This function must be called before initializing GDK. + + + + + + Removes an error trap pushed with gdk_error_trap_push(). +May block until an error has been definitively received +or not received from the X server. gdk_error_trap_pop_ignored() +is preferred if you don't need to know whether an error +occurred, because it never has to block. If you don't +need the return value of gdk_error_trap_pop(), use +gdk_error_trap_pop_ignored(). +Prior to GDK 3.0, this function would not automatically +sync for you, so you had to gdk_flush() if your last +call to Xlib was not a blocking round trip. + + X error code or 0 on success + + + + + Removes an error trap pushed with gdk_error_trap_push(), but +without bothering to wait and see whether an error occurred. If an +error arrives later asynchronously that was triggered while the +trap was pushed, that error will be ignored. + + + + + + This function allows X errors to be trapped instead of the normal +behavior of exiting the application. It should only be used if it +is not possible to avoid the X error in any other way. Errors are +ignored on all #GdkDisplay currently known to the +#GdkDisplayManager. If you don't care which error happens and just +want to ignore everything, pop with gdk_error_trap_pop_ignored(). +If you need the error code, use gdk_error_trap_pop() which may have +to block and wait for the error to arrive from the X server. +This API exists on all platforms but only does anything on X. +You can use gdk_x11_display_error_trap_push() to ignore errors +on only a single display. +<example> +<title>Trapping an X error</title> +<programlisting> +gdk_error_trap_push (<!-- -->); +// ... Call the X function which may cause an error here ... +if (gdk_error_trap_pop (<!-- -->)) +{ +// ... Handle the error here ... +} +</programlisting> +</example> + + + + + + Checks all open displays for a #GdkEvent to process,to be processed +on, fetching events from the windowing system if necessary. +See gdk_display_get_event(). +are pending. The returned #GdkEvent should be freed with gdk_event_free(). + + the next #GdkEvent to be processed, or %NULL if no events + + + + + Sets the function to call to handle all events from GDK. +Note that GTK+ uses this to install its own event handler, so it is +usually not useful for GTK+ applications. (Although an application +can call this function then call gtk_main_do_event() to pass +events to GTK+.) + + + + + + the function to call to handle events from GDK. + + + + user data to pass to the function. + + + + the function to call when the handler function is removed, i.e. when gdk_event_handler_set() is called with another event handler. + + + + + + If there is an event waiting in the event queue of some open +display, returns a copy of it. See gdk_display_peek_event(). +events are in any queues. The returned #GdkEvent should be freed with +gdk_event_free(). + + a copy of the first #GdkEvent on some event queue, or %NULL if no + + + + + Request more motion notifies if @event is a motion notify hint event. +This function should be used instead of gdk_window_get_pointer() to +request further motion notifies, because it also works for extension +events where motion notifies are provided for devices other than the +core pointer. Coordinate extraction, processing and requesting more +motion events from a %GDK_MOTION_NOTIFY event usually works like this: +|[ +{ +/&ast; motion_event handler &ast;/ +x = motion_event->x; +y = motion_event->y; +/&ast; handle (x,y) motion &ast;/ +gdk_event_request_motions (motion_event); /&ast; handles is_hint events &ast;/ +} +]| + + + + + + a valid #GdkEvent + + + + + + On X11, sends an X ClientMessage event to a given window. On +Windows, sends a message registered with the name +GDK_WIN32_CLIENT_MESSAGE. +This could be used for communicating between different +applications, though the amount of data is limited to 20 bytes on +X11, and to just four bytes on Windows. + + non-zero on success. + + + + + the #GdkDisplay for the window where the message is to be sent. + + + + the #GdkEvent to send, which should be a #GdkEventClient. + + + + the window to send the client message to. + + + + + + Checks if any events are ready to be processed for any display. + + %TRUE if any events are pending. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Obtains the root window (parent all other windows are inside) +for the default display and screen. + + the default root window + + + + + + + + + + + + + + + + + + + + Gets whether event debugging output is enabled. + + %TRUE if event debugging output is enabled. + + + + + + + + + + + + + + + + + + + + Initialize the library for use. +Arguments: +"argc" is the number of arguments. +"argv" is an array of strings. +Results: +"argc" and "argv" are modified to reflect any arguments +which were not handled. (Such arguments should either +be handled by the application or dismissed). If initialization +fails, returns FALSE, otherwise TRUE. +Side effects: +The library is initialized. +-------------------------------------------------------------- + + + + + + + + + + + + + + + + Turns extension events on or off for a particular window, +and specifies the event mask for extension events. + + + + + + a #GdkWindow. + + + + the event mask + + + + the type of extension events that are desired. + + + + + + Grabs the keyboard so that all events are passed to this +application until the keyboard is ungrabbed with gdk_keyboard_ungrab(). +This overrides any previous keyboard grab by this client. +If you set up anything at the time you take the grab that needs to be cleaned +up when the grab ends, you should handle the #GdkEventGrabBroken events that +are emitted when the grab ends unvoluntarily. + + %GDK_GRAB_SUCCESS if the grab was successful. + + + + + the #GdkWindow which will own the grab (the grab window). + + + + if %FALSE then all keyboard events are reported with respect to reported as normal, but keyboard events outside this application are reported with respect to @window. Both key press and key release events are always reported, independant of the event mask set by the application. + + + + + + + + + Ungrabs the keyboard on the default display, if it is grabbed by this +application. +instead. + + + + + + a timestamp from a #GdkEvent, or %GDK_CURRENT_TIME if no timestamp is available. + + + + + + Obtains the upper- and lower-case versions of the keyval @symbol. +Examples of keyvals are #GDK_KEY_a, #GDK_KEY_Enter, #GDK_KEY_F1, etc. + + + + + + a keyval + + + + return location for lowercase version of @symbol + + + + return location for uppercase version of @symbol + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Convert from a GDK key symbol to the corresponding ISO10646 (Unicode) +character. +is no corresponding character. + + the corresponding unicode character, or 0 if there + + + + + a GDK key symbol + + + + + + + + + + + + + + + + Lists the available visuals for the default screen. +(See gdk_screen_list_visuals()) +A visual describes a hardware image data format. +For example, a visual might support 24-bit color, or 8-bit color, +and might expect pixels to be in a certain format. +Call g_list_free() on the return value when you're finished with it. +a list of visuals; the list must be freed, but not its contents + + + + + + + + Indicates to the GUI environment that the application has finished +loading. If the applications opens windows, this function is +normally called after opening the application's initial set of +windows. +GTK+ will call this function automatically after opening the first +#GtkWindow unless gtk_window_set_auto_startup_notification() is called +to disable that feature. + + + + + + Indicates to the GUI environment that the application has finished +loading, using a given identifier. +GTK+ will call this function automatically for #GtkWindow with custom +startup-notification identifier unless +gtk_window_set_auto_startup_notification() is called to disable +that feature. + + + + + + a startup-notification identifier, for which notification process should be completed + + + + + + Gets the window that @window is embedded in. +embedded offscreen window + + the embedding #GdkWindow, or %NULL if @window is not an + + + + + a #GdkWindow + + + + + + Gets the offscreen pixmap that an offscreen window renders into. +If you need to keep this around over window resizes, you need to +add a reference to it. + + The offscreen pixmap, or %NULL if not offscreen + + + + + a #GdkWindow + + + + + + Sets @window to be embedded in @embedder. +To fully embed an offscreen window, in addition to calling this +function, it is also necessary to handle the #GdkWindow::pick-embedded-child +signal on the @embedder and the #GdkWindow::to-embedder and +#GdkWindow::from-embedder signals on @window. + + + + + + a #GdkWindow + + + + the #GdkWindow that @window gets embedded in + + + + + + Creates a #PangoContext for the default GDK screen. +The context must be freed when you're finished with it. +When using GTK+, normally you should use gtk_widget_get_pango_context() +instead of this function, to get the appropriate context for +the widget you intend to render text onto. +The newly created context will have the default font options (see +#cairo_font_options_t) for the default screen; if these options +change it will not be updated. Using gtk_widget_get_pango_context() +is more convenient if you want to keep a context around and track +changes to the screen's font rendering settings. + + a new #PangoContext for the default display + + + + + Creates a #PangoContext for @screen. +The context must be freed when you're finished with it. +When using GTK+, normally you should use gtk_widget_get_pango_context() +instead of this function, to get the appropriate context for +the widget you intend to render text onto. +The newly created context will have the default font options +(see #cairo_font_options_t) for the screen; if these options +change it will not be updated. Using gtk_widget_get_pango_context() +is more convenient if you want to keep a context around and track +changes to the screen's font rendering settings. + + a new #PangoContext for @screen + + + + + the #GdkScreen for which the context is to be created. + + + + + + Obtains a clip region which contains the areas where the given ranges +of text would be drawn. @x_origin and @y_origin are the top left point +to center the layout. @index_ranges should contain +ranges of bytes in the layout's text. +Note that the regions returned correspond to logical extents of the text +ranges, not ink extents. So the drawn layout may in fact touch areas out of +the clip region. The clip region is mainly useful for highlightling parts +of text, such as when text is selected. + + a clip region containing the given ranges + + + + + a #PangoLayout + + + + X pixel where you intend to draw the layout with this clip + + + + Y pixel where you intend to draw the layout with this clip + + + + array of byte indexes into the layout, where even members of array are start indexes and odd elements are end indexes + + + + number of ranges in @index_ranges, i.e. half the size of @index_ranges + + + + + + Obtains a clip region which contains the areas where the given +ranges of text would be drawn. @x_origin and @y_origin are the top left +position of the layout. @index_ranges +should contain ranges of bytes in the layout's text. The clip +region will include space to the left or right of the line (to the +layout bounding box) if you have indexes above or below the indexes +contained inside the line. This is to draw the selection all the way +to the side of the layout. However, the clip region is in line coordinates, +not layout coordinates. +Note that the regions returned correspond to logical extents of the text +ranges, not ink extents. So the drawn line may in fact touch areas out of +the clip region. The clip region is mainly useful for highlightling parts +of text, such as when text is selected. + + a clip region containing the given ranges + + + + + a #PangoLayoutLine + + + + X pixel where you intend to draw the layout line with this clip + + + + baseline pixel where you intend to draw the layout line with this clip + + + + array of byte indexes into the layout, where even members of array are start indexes and odd elements are end indexes + + + + number of ranges in @index_ranges, i.e. half the size of @index_ranges + + + + + + Parse command line arguments, and store for future +use by calls to gdk_display_open(). +Any arguments used by GDK are removed from the array and @argc and @argv are +updated accordingly. +You shouldn't call this function explicitely if you are using +gtk_init(), gtk_init_check(), gdk_init(), or gdk_init_check(). + + + + + + the number of command line arguments. + + + + the array of command line arguments. + + + + + + Transfers image data from a #GdkDrawable and converts it to an RGB(A) +representation inside a #GdkPixbuf. In other words, copies +image data from a server-side drawable to a client-side RGB(A) buffer. +This allows you to efficiently read individual pixels on the client side. +If the drawable @src has no colormap (gdk_drawable_get_colormap() +returns %NULL), then a suitable colormap must be specified. +Typically a #GdkWindow or a pixmap created by passing a #GdkWindow +to gdk_pixmap_new() will already have a colormap associated with +it. If the drawable has a colormap, the @cmap argument will be +ignored. If the drawable is a bitmap (1 bit per pixel pixmap), +then a colormap is not required; pixels with a value of 1 are +assumed to be white, and pixels with a value of 0 are assumed to be +black. For taking screenshots, gdk_colormap_get_system() returns +the correct colormap to use. +If the specified destination pixbuf @dest is %NULL, then this +function will create an RGB pixbuf with 8 bits per channel and no +alpha, with the same size specified by the @width and @height +arguments. In this case, the @dest_x and @dest_y arguments must be +specified as 0. If the specified destination pixbuf is not %NULL +and it contains alpha information, then the filled pixels will be +set to full opacity (alpha = 255). +If the specified drawable is a pixmap, then the requested source +rectangle must be completely contained within the pixmap, otherwise +the function will return %NULL. For pixmaps only (not for windows) +passing -1 for width or height is allowed to mean the full width +or height of the pixmap. +If the specified drawable is a window, and the window is off the +screen, then there is no image data in the obscured/offscreen +regions to be placed in the pixbuf. The contents of portions of the +pixbuf corresponding to the offscreen region are undefined. +If the window you're obtaining data from is partially obscured by +other windows, then the contents of the pixbuf areas corresponding +to the obscured regions are undefined. +If the target drawable is not mapped (typically because it's +iconified/minimized or not on the current workspace), then %NULL +will be returned. +If memory can't be allocated for the return value, %NULL will be returned +instead. +(In short, there are several ways this function can fail, and if it fails +it returns %NULL; so check the return value.) +pixbuf with a reference count of 1 if no destination pixbuf was specified, or %NULL on error + + The same pixbuf as @dest if it was non-%NULL, or a newly-created + + + + + Destination pixbuf, or %NULL if a new pixbuf should be created. + + + + Source drawable. + + + + A colormap if @src doesn't have one set. + + + + Source X coordinate within drawable. + + + + Source Y coordinate within drawable. + + + + Destination X coordinate in pixbuf, or 0 if @dest is NULL. + + + + Destination Y coordinate in pixbuf, or 0 if @dest is NULL. + + + + Width in pixels of region to get. + + + + Height in pixels of region to get. + + + + + + Transfers image data from a #cairo_surface_t and converts it to an RGB(A) +representation inside a #GdkPixbuf. This allows you to efficiently read individual +pixels from Cairo surfaces. For #GdkWindows, use gdk_pixbuf_get_from_drawable() +instead. +If the specified destination pixbuf @dest is %NULL, then this +function will create an RGB pixbuf with 8 bits per channel. The pixbuf will +contain an alpha channel if the @surface contains one. In this case, the @dest_x +and @dest_y arguments must be specified as 0. +If the specified drawable is a window, and the window is off the +screen, then there is no image data in the obscured/offscreen +regions to be placed in the pixbuf. The contents of portions of the +pixbuf corresponding to the offscreen region are undefined. +If the window you're obtaining data from is partially obscured by +other windows, then the contents of the pixbuf areas corresponding +to the obscured regions are undefined. +If memory can't be allocated for the return value, %NULL will be returned +instead. +(In short, there are several ways this function can fail, and if it fails +it returns %NULL; so check the return value.) +pixbuf with a reference count of 1 if no destination pixbuf was specified, or %NULL on error + + The same pixbuf as @dest if it was non-%NULL, or a newly-created + + + + + Destination pixbuf, or %NULL if a new pixbuf should be created. + + + + surface to copy from + + + + Source X coordinate within drawable. + + + + Source Y coordinate within drawable. + + + + Destination X coordinate in pixbuf, or 0 if @dest is NULL. + + + + Destination Y coordinate in pixbuf, or 0 if @dest is NULL. + + + + Width in pixels of region to get. + + + + Height in pixels of region to get. + + + + + + Creates a pixmap and a mask bitmap which are returned in the @pixmap_return +and @mask_return arguments, respectively, and renders a pixbuf and its +corresponding thresholded alpha mask to them. This is merely a convenience +function; applications that need to render pixbufs with dither offsets or to +given drawables should use Cairo and gdk_pixbuf_render_threshold_alpha(). +The pixmap that is created is created for the colormap returned +by gdk_colormap_get_system(). You normally will want to instead use +the actual colormap for a widget, and use +gdk_pixbuf_render_pixmap_and_mask_for_colormap(). +If the pixbuf does not have an alpha channel, then *@mask_return will be set +to %NULL. + + + + + + A pixbuf. + + + + Location to store a pointer to the created pixmap, or %NULL if the pixmap is not needed. + + + + Location to store a pointer to the created mask, or %NULL if the mask is not needed. + + + + Threshold value for opacity values. + + + + + + Creates a pixmap and a mask bitmap which are returned in the @pixmap_return +and @mask_return arguments, respectively, and renders a pixbuf and its +corresponding tresholded alpha mask to them. This is merely a convenience +function; applications that need to render pixbufs with dither offsets or to +given drawables should use Cairo and gdk_pixbuf_render_threshold_alpha(). +The pixmap that is created uses the #GdkColormap specified by @colormap. +This colormap must match the colormap of the window where the pixmap +will eventually be used or an error will result. +If the pixbuf does not have an alpha channel, then *@mask_return will be set +to %NULL. + + + + + + A pixbuf. + + + + A #GdkColormap + + + + Location to store a pointer to the created pixmap, or %NULL if the pixmap is not needed. + + + + Location to store a pointer to the created mask, or %NULL if the mask is not needed. + + + + Threshold value for opacity values. + + + + + + Takes the opacity values in a rectangular portion of a pixbuf and thresholds +them to produce a bi-level alpha mask that can be used as a clipping mask for +a drawable. + + + + + + A pixbuf. + + + + Bitmap where the bilevel mask will be painted to. + + + + Source X coordinate. + + + + source Y coordinate. + + + + Destination X coordinate. + + + + Destination Y coordinate. + + + + Width of region to threshold, or -1 to use pixbuf width + + + + Height of region to threshold, or -1 to use pixbuf height + + + + Opacity values below this will be painted as zero; all other values will be painted as one. + + + + + + Grabs the pointer (usually a mouse) so that all events are passed to this +application until the pointer is ungrabbed with gdk_pointer_ungrab(), or +the grab window becomes unviewable. +This overrides any previous pointer grab by this client. +Pointer grabs are used for operations which need complete control over mouse +events, even if the mouse leaves the application. +For example in GTK+ it is used for Drag and Drop, for dragging the handle in +the #GtkHPaned and #GtkVPaned widgets, and for resizing columns in #GtkCList +widgets. +Note that if the event mask of an X window has selected both button press and +button release events, then a button press event will cause an automatic +pointer grab until the button is released. +X does this automatically since most applications expect to receive button +press and release events in pairs. +It is equivalent to a pointer grab on the window with @owner_events set to +%TRUE. +If you set up anything at the time you take the grab that needs to be cleaned +up when the grab ends, you should handle the #GdkEventGrabBroken events that +are emitted when the grab ends unvoluntarily. + + %GDK_GRAB_SUCCESS if the grab was successful. + + + + + the #GdkWindow which will own the grab (the grab window). + + + + if %FALSE then all pointer events are reported with respect to events for this application are reported as normal, but pointer events outside this application are reported with respect to @window and only if selected by + + + + specifies the event mask, which is used in accordance with may be selected. + + + + If non-%NULL, the pointer will be confined to this window during the grab. If the pointer is outside @confine_to, it will automatically be moved to the closest edge of @confine_to and enter and leave events will be generated as necessary. + + + + the cursor to display while the grab is active. If this is %NULL then the normal cursors are used for @window and its descendants, and the cursor for @window is used for all other windows. + + + + the timestamp of the event which led to this pointer grab. This usually comes from a #GdkEventButton struct, though %GDK_CURRENT_TIME can be used if the time isn't known. + + + + + + Returns %TRUE if the pointer on the default display is currently +grabbed by this application. +Note that this does not take the inmplicit pointer grab on button +presses into account. + + %TRUE if the pointer is currently grabbed by this application. + + + + + Ungrabs the pointer on the default display, if it is grabbed by this +application. +instead. + + + + + + a timestamp from a #GdkEvent, or %GDK_CURRENT_TIME if no timestamp is available. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This function returns the available bit depths for the default +screen. It's equivalent to listing the visuals +(gdk_list_visuals()) and then looking at the depth field in each +visual, removing duplicates. +The array returned by this function should not be freed. + + + + + + return location for available depths + + + + + + return location for number of available depths + + + + + + This function returns the available visual types for the default +screen. It's equivalent to listing the visuals +(gdk_list_visuals()) and then looking at the type field in each +visual, removing duplicates. +The array returned by this function should not be freed. + + + + + + return location for the available visual types + + + + return location for the number of available visual types + + + + + + + + + + + Calculates the intersection of two rectangles. It is allowed for +do not intersect, @dest's width and height is set to 0 and its x +and y values are undefined. If you are only interested in whether +the rectangles intersect, but not in the intersecting area itself, +pass %NULL for @dest. + + %TRUE if the rectangles intersect. + + + + + a #GdkRectangle + + + + a #GdkRectangle + + + + return location for the intersection of @src1 and @src2, or %NULL + + + + + + Calculates the union of two rectangles. +The union of rectangles @src1 and @src2 is the smallest rectangle which +includes both @src1 and @src2 within it. +It is allowed for @dest to be the same as either @src1 or @src2. + + + + + + a #GdkRectangle + + + + a #GdkRectangle + + + + return location for the union of @src1 and @src2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Determine the owner of the given selection. +Note that the return value may be owned by a different +process if a foreign window was previously created for that +window, but a new foreign window will never be created by this call. +window known to the current process, the #GdkWindow that owns the +selection, otherwise %NULL. + + if there is a selection owner for this window, and it is a + + + + + a #GdkDisplay. + + + + an atom indentifying a selection. + + + + + + + + + + + + + + + + + + + + + + + + + Sets the #GdkWindow @owner as the current owner of the selection @selection. +otherwise %FALSE. + + %TRUE if the selection owner was successfully changed to owner, + + + + + the #GdkDisplay. + + + + a #GdkWindow or %NULL to indicate that the owner for the given should be unset. + + + + an atom identifying a selection. + + + + timestamp to use when setting the selection. If this is older than the timestamp given last time the owner was set for the given selection, the request will be ignored. + + + + if %TRUE, and the new owner is different from the current owner, the current owner will be sent a SelectionClear event. + + + + + + Retrieves selection data that was stored by the selection +data in response to a call to gdk_selection_convert(). This function +will not be used by applications, who should use the #GtkClipboard +API instead. + + the length of the retrieved data. + + + + + the window on which the data is stored + + + + location to store a pointer to the retrieved data. + + + + location to store the type of the property. + + + + location to store the format of the property. + + + + + + + + + + + + + + + + + + + + + + + + + + + + Send a response to SelectionRequest event. + + + + + + the #GdkDisplay where @requestor is realized + + + + window to which to deliver response. + + + + selection that was requested. + + + + target that was selected. + + + + property in which the selection owner stored the data, or %GDK_NONE to indicate that the request was rejected. + + + + timestamp. + + + + + + Set the double click time for the default display. See +gdk_display_set_double_click_time(). +See also gdk_display_set_double_click_distance(). +Applications should <emphasis>not</emphasis> set this, it is a +global user-configured setting. + + + + + + double click time in milliseconds (thousandths of a second) + + + + + + + + + + + This function allows for hooking into the operation +of getting the current location of the pointer. This +is only useful for such low-level tools as an +event recorder. Applications should never have any +reason to use this facility. +This function is not multihead safe. For multihead operation, +see gdk_display_set_pointer_hooks(). + + the previous pointer hook table + + + + + a table of pointers to functions for getting quantities related to the current pointer position, or %NULL to restore the default table. + + + + + + + + + + + + + + + + Sets whether a trace of received events is output. +Note that GTK+ must be compiled with debugging (that is, +configured using the <option>--enable-debug</option> option) +to use this option. + + + + + + %TRUE to output event debugging information. + + + + + + Sets the <literal>SM_CLIENT_ID</literal> property on the application's leader window so that +the window manager can save the application's state using the X11R6 ICCCM +session management protocol. +See the X Session Management Library documentation for more information on +session management and the Inter-Client Communication Conventions Manual +(ICCCM) for information on the <literal>WM_CLIENT_LEADER</literal> property. +(Both documents are part of the X Window System distribution.) + + + + + + the client id assigned by the session manager when the connection was opened, or %NULL to remove the property. + + + + + + Obtains a desktop-wide setting, such as the double-click time, +for the default screen. See gdk_screen_get_setting(). +in @value, %FALSE otherwise. + + %TRUE if the setting existed and a value was stored + + + + + the name of the setting. + + + + location to store the value of the setting. + + + + + + Like g_spawn_command_line_async(), except the child process is +spawned in such an environment that on calling gdk_display_open() +it would be returned a #GdkDisplay with @screen as the default +screen. +This is useful for applications which wish to launch an application +on a specific screen. + + %TRUE on success, %FALSE if error is set. + + + + + a #GdkScreen + + + + a command line + + + + + + Like g_spawn_async(), except the child process is spawned in such +an environment that on calling gdk_display_open() it would be +returned a #GdkDisplay with @screen as the default screen. +This is useful for applications which wish to launch an application +on a specific screen. + + %TRUE on success, %FALSE if error is set + + + + + a #GdkScreen + + + + child's current working directory, or %NULL to inherit parent's + + + + child's argument vector + + + + child's environment, or %NULL to inherit parent's + + + + flags from #GSpawnFlags + + + + function to run in the child just before exec() + + + + user data for @child_setup + + + + return location for child process ID, or %NULL + + + + + + Like g_spawn_async_with_pipes(), except the child process is +spawned in such an environment that on calling gdk_display_open() +it would be returned a #GdkDisplay with @screen as the default +screen. +This is useful for applications which wish to launch an application +on a specific screen. + + %TRUE on success, %FALSE if an error was set + + + + + a #GdkScreen + + + + child's current working directory, or %NULL to inherit parent's + + + + child's argument vector + + + + child's environment, or %NULL to inherit parent's + + + + flags from #GSpawnFlags + + + + function to run in the child just before exec() + + + + user data for @child_setup + + + + return location for child process ID, or %NULL + + + + return location for file descriptor to write to child's stdin, or %NULL + + + + return location for file descriptor to read child's stdout, or %NULL + + + + return location for file descriptor to read child's stderr, or %NULL + + + + + + + + + + + + + + + + + + + + + + + + + + + + Convert a string from the encoding of the current +locale into a form suitable for storing in a window property. + + 0 upon success, non-zero upon failure. + + + + + the #GdkDisplay where the encoding is defined. + + + + a nul-terminated string. + + + + location to store the encoding atom (to be used as the type for the property). + + + + location to store the format of the property + + + + location to store newly allocated data for the property. + + + + the length of @text, in bytes + + + + + + + + + + + + + + + + + + + + + + This function retrieves a pixel from @window to force the windowing +system to carry out any pending rendering commands. +This function is intended to be used to syncronize with rendering +pipelines, to benchmark windowing system rendering operations. + + + + + + a mapped #GdkWindow + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Convert a text string from the encoding as it is stored +in a property into an array of strings in the encoding of +the current locale. (The elements of the array represent the +nul-separated elements of the original text string.) +if the conversion failed. + + the number of strings stored in list, or 0, + + + + + The #GdkDisplay where the encoding is defined. + + + + an atom representing the encoding. The most common values for this are STRING, or COMPOUND_TEXT. This is value used as the type for the property. + + + + the format of the property. + + + + The text data. + + + + The number of items to transform. + + + + location to store a terminated array of strings in the encoding of the current locale. This array should be freed using gdk_free_text_list(). + + + + + + Convert a text property in the giving encoding to +a list of UTF-8 strings. +list. + + the number of strings in the resulting + + + + + an atom representing the encoding of the text + + + + the format of the property + + + + the text to convert + + + + the length of @text, in bytes + + + + location to store the list of strings or %NULL. The list should be freed with g_strfreev(). + + + + + + Converts a text property in the given encoding to +a list of UTF-8 strings. +list. + + the number of strings in the resulting + + + + + a #GdkDisplay + + + + an atom representing the encoding of the text + + + + the format of the property + + + + the text to convert + + + + the length of @text, in bytes + + + + location to store the list of strings or %NULL. The list should be freed with g_strfreev(). + + + + + + A wrapper for the common usage of gdk_threads_add_idle_full() +assigning the default priority, #G_PRIORITY_DEFAULT_IDLE. +See gdk_threads_add_idle_full(). + + the ID (greater than 0) of the event source. + + + + + function to call + + + + data to pass to @function + + + + + + Adds a function to be called whenever there are no higher priority +events pending. If the function returns %FALSE it is automatically +removed from the list of event sources and will not be called again. +This variant of g_idle_add_full() calls @function with the GDK lock +held. It can be thought of a MT-safe version for GTK+ widgets for the +following use case, where you have to worry about idle_callback() +running in thread A and accessing @self after it has been finalized +in thread B: +|[ +static gboolean +idle_callback (gpointer data) +{ +/&ast; gdk_threads_enter(); would be needed for g_idle_add() &ast;/ +SomeWidget *self = data; +/&ast; do stuff with self &ast;/ +self->idle_id = 0; +/&ast; gdk_threads_leave(); would be needed for g_idle_add() &ast;/ +return FALSE; +} +static void +some_widget_do_stuff_later (SomeWidget *self) +{ +self->idle_id = gdk_threads_add_idle (idle_callback, self) +/&ast; using g_idle_add() here would require thread protection in the callback &ast;/ +} +static void +some_widget_finalize (GObject *object) +{ +SomeWidget *self = SOME_WIDGET (object); +if (self->idle_id) +g_source_remove (self->idle_id); +G_OBJECT_CLASS (parent_class)->finalize (object); +} +]| + + the ID (greater than 0) of the event source. + + + + + the priority of the idle source. Typically this will be in the range btweeen #G_PRIORITY_DEFAULT_IDLE and #G_PRIORITY_HIGH_IDLE + + + + function to call + + + + data to pass to @function + + + + function to call when the idle is removed, or %NULL + + + + + + A wrapper for the common usage of gdk_threads_add_timeout_full() +assigning the default priority, #G_PRIORITY_DEFAULT. +See gdk_threads_add_timeout_full(). + + the ID (greater than 0) of the event source. + + + + + the time between calls to the function, in milliseconds (1/1000ths of a second) + + + + function to call + + + + data to pass to @function + + + + + + Sets a function to be called at regular intervals holding the GDK lock, +with the given priority. The function is called repeatedly until it +returns %FALSE, at which point the timeout is automatically destroyed +and the function will not be called again. The @notify function is +called when the timeout is destroyed. The first call to the +function will be at the end of the first @interval. +Note that timeout functions may be delayed, due to the processing of other +event sources. Thus they should not be relied on for precise timing. +After each call to the timeout function, the time of the next +timeout is recalculated based on the current time and the given interval +(it does not try to 'catch up' time lost in delays). +This variant of g_timeout_add_full() can be thought of a MT-safe version +for GTK+ widgets for the following use case: +|[ +static gboolean timeout_callback (gpointer data) +{ +SomeWidget *self = data; +/&ast; do stuff with self &ast;/ +self->timeout_id = 0; +return FALSE; +} +static void some_widget_do_stuff_later (SomeWidget *self) +{ +self->timeout_id = g_timeout_add (timeout_callback, self) +} +static void some_widget_finalize (GObject *object) +{ +SomeWidget *self = SOME_WIDGET (object); +if (self->timeout_id) +g_source_remove (self->timeout_id); +G_OBJECT_CLASS (parent_class)->finalize (object); +} +]| + + the ID (greater than 0) of the event source. + + + + + the priority of the timeout source. Typically this will be in the range between #G_PRIORITY_DEFAULT_IDLE and #G_PRIORITY_HIGH_IDLE. + + + + the time between calls to the function, in milliseconds (1/1000ths of a second) + + + + function to call + + + + data to pass to @function + + + + function to call when the timeout is removed, or %NULL + + + + + + A wrapper for the common usage of gdk_threads_add_timeout_seconds_full() +assigning the default priority, #G_PRIORITY_DEFAULT. +For details, see gdk_threads_add_timeout_full(). + + the ID (greater than 0) of the event source. + + + + + the time between calls to the function, in seconds + + + + function to call + + + + data to pass to @function + + + + + + A variant of gdk_threads_add_timout_full() with second-granularity. +See g_timeout_add_seconds_full() for a discussion of why it is +a good idea to use this function if you don't need finer granularity. + + the ID (greater than 0) of the event source. + + + + + the priority of the timeout source. Typically this will be in the range between #G_PRIORITY_DEFAULT_IDLE and #G_PRIORITY_HIGH_IDLE. + + + + the time between calls to the function, in seconds + + + + function to call + + + + data to pass to @function + + + + function to call when the timeout is removed, or %NULL + + + + + + + + + + + Initializes GDK so that it can be used from multiple threads +in conjunction with gdk_threads_enter() and gdk_threads_leave(). +g_thread_init() must be called previous to this function. +This call must be made before any use of the main loop from +GTK+; to be safe, call it before gtk_init(). + + + + + + + + + + + Allows the application to replace the standard method that +GDK uses to protect its data structures. Normally, GDK +creates a single #GMutex that is locked by gdk_threads_enter(), +and released by gdk_threads_leave(); using this function an +application provides, instead, a function @enter_fn that is +called by gdk_threads_enter() and a function @leave_fn that is +called by gdk_threads_leave(). +The functions must provide at least same locking functionality +as the default implementation, but can also do extra application +specific processing. +As an example, consider an application that has its own recursive +lock that when held, holds the GTK+ lock as well. When GTK+ unlocks +the GTK+ lock when entering a recursive main loop, the application +must temporarily release its lock as well. +Most threaded GTK+ apps won't need to use this method. +This method must be called before gdk_threads_init(), and cannot +be called multiple times. + + + + + + function called to guard GDK + + + + function called to release the guard + + + + + + Convert from a ISO10646 character to a key symbol. +or, if there is no corresponding symbol, +wc | 0x01000000 + + the corresponding GDK key symbol, if one exists. + + + + + a ISO10646 encoded character + + + + + + Convert from UTF-8 to compound text. +false. + + %TRUE if the conversion succeeded, otherwise + + + + + a UTF-8 string + + + + location to store resulting encoding + + + + location to store format of the result + + + + location to store the data of the result + + + + location to store the length of the data stored in @ctext + + + + + + Converts from UTF-8 to compound text. +%FALSE. + + %TRUE if the conversion succeeded, otherwise + + + + + a #GdkDisplay + + + + a UTF-8 string + + + + location to store resulting encoding + + + + location to store format of the result + + + + location to store the data of the result + + + + location to store the length of the data stored in @ctext + + + + + + Converts an UTF-8 string into the best possible representation +as a STRING. The representation of characters not in STRING +is not specified; it may be as pseudo-escape sequences +\x{ABCD}, or it may be in some other form of approximation. +conversion failed. (It should not fail for +any properly formed UTF-8 string unless system +limits like memory or file descriptors are exceeded.) + + the newly-allocated string, or %NULL if the + + + + + a UTF-8 string + + + + + + Obtains the window underneath the mouse pointer, returning the +location of that window in @win_x, @win_y. Returns %NULL if the +window under the mouse pointer is not known to GDK (if the window +belongs to another application and a #GdkWindow hasn't been created +for it with gdk_window_foreign_new()) +gdk_display_get_window_at_pointer() instead. + + window under the mouse pointer + + + + + return location for origin of the window under the pointer + + + + return location for origin of the window under the pointer + + + + + + Constrains a desired width and height according to a +set of geometry hints (such as minimum and maximum size). + + + + + + a #GdkGeometry structure + + + + a mask indicating what portions of @geometry are set + + + + desired width of window + + + + desired height of the window + + + + location to store resulting width + + + + location to store resulting height + + + + + + Wraps a native window for the default display in a #GdkWindow. +This may fail if the window has been destroyed. +For example in the X backend, a native window handle is an Xlib +<type>XID</type>. +native window or %NULL if the window has been destroyed. + + the newly-created #GdkWindow wrapper for the + + + + + a native window handle. + + + + + + Wraps a native window in a #GdkWindow. +This may fail if the window has been destroyed. If the window +was already known to GDK, a new reference to the existing +#GdkWindow is returned. +For example in the X backend, a native window handle is an Xlib +<type>XID</type>. +%NULL if the window has been destroyed. The wrapper will be +newly created, if one doesn't exist already. + + a #GdkWindow wrapper for the native window or + + + + + the #GdkDisplay where the window handle comes from. + + + + a native window handle. + + + + + + Looks up the #GdkWindow that wraps the given native window handle. +For example in the X backend, a native window handle is an Xlib +<type>XID</type>. +or %NULL if there is none. + + the #GdkWindow wrapper for the native window, + + + + + a native window handle. + + + + + + Looks up the #GdkWindow that wraps the given native window handle. +For example in the X backend, a native window handle is an Xlib +<type>XID</type>. +or %NULL if there is none. + + the #GdkWindow wrapper for the native window, + + + + + the #GdkDisplay corresponding to the window handle + + + + a native window handle. + + + + + + Calls gdk_window_process_updates() for all windows (see #GdkWindow) +in the application. + + + + + + With update debugging enabled, calls to +gdk_window_invalidate_region() clear the invalidated region of the +screen to a noticeable color, and GDK pauses for a short time +before sending exposes to windows during +gdk_window_process_updates(). The net effect is that you can see +the invalid region for each window and watch redraws as they +occur. This allows you to diagnose inefficiencies in your application. +In essence, because the GDK rendering model prevents all flicker, +if you are redrawing the same region 400 times you may never +notice, aside from noticing a speed problem. Enabling update +debugging causes GTK to flicker slowly and noticeably, so you can +see exactly what's being redrawn when, in what order. +The --gtk-debug=updates command line option passed to GTK+ programs +enables this debug option at application startup time. That's +usually more useful than calling gdk_window_set_debug_updates() +yourself, though you might want to use this function to enable +updates sometime after application startup time. + + + + + + %TRUE to turn on update debugging + + + + + + diff --git a/basis/gdk/ffi/ffi.factor b/basis/gdk/ffi/ffi.factor index 28a9f7be37..1e779befa6 100644 --- a/basis/gdk/ffi/ffi.factor +++ b/basis/gdk/ffi/ffi.factor @@ -1,11 +1,17 @@ -! Copyright (C) 2009 Anton Gorenko. +! Copyright (C) 2010 Anton Gorenko. ! See http://factorcode.org/license.txt for BSD license. -USING: alien alien.c-types alien.destructors alien.syntax -alien.libraries cairo.ffi combinators kernel system -gobject-introspection gdk.pixbuf.ffi gio.ffi glib.ffi gmodule.ffi -gobject.ffi pango.ffi ; +USING: alien alien.c-types alien.destructors alien.libraries +alien.syntax cairo.ffi classes.struct combinators +gobject-introspection kernel system vocabs.loader ; IN: gdk.ffi +<< +"pango.ffi" require +"gdk.pixbuf.ffi" require +>> + +LIBRARY: gdk + << "gdk" { { [ os winnt? ] [ "libgdk-win32-2.0-0.dll" cdecl add-library ] } @@ -14,12 +20,6 @@ IN: gdk.ffi } cond >> -TYPEDEF: guint32 GdkNativeWindow -TYPEDEF: guint32 GdkWChar -C-TYPE: GdkXEvent - -REPLACE-C-TYPE: any gpointer - IMPLEMENT-STRUCTS: GdkEventAny GdkEventKey GdkEventButton GdkEventScroll GdkEventMotion GdkEventExpose GdkEventVisibility GdkEventCrossing GdkEventFocus GdkEventConfigure GdkEventProperty @@ -27,7 +27,21 @@ GdkEventSelection GdkEventDND GdkEventProximity GdkEventClient GdkEventNoExpose GdkEventWindowState GdkEventSetting GdkEventOwnerChange GdkEventGrabBroken GdkRectangle ; -GIR: vocab:gdk/Gdk-2.0.gir +! + +FOREIGN-RECORD-TYPE: cairo.RectangleInt cairo_rectangle_int_t +FOREIGN-RECORD-TYPE: cairo.Region cairo_region_t +FOREIGN-RECORD-TYPE: cairo.FontOptions cairo_font_options_t +FOREIGN-RECORD-TYPE: cairo.Surface cairo_surface_t +FOREIGN-RECORD-TYPE: cairo.Pattern cairo_pattern_t +FOREIGN-RECORD-TYPE: cairo.Context cairo_t +FOREIGN-ENUM-TYPE: cairo.Content cairo_content_t + +GIR: vocab:gdk/Gdk-3.0.gir DESTRUCTOR: gdk_cursor_unref - diff --git a/basis/gdk/gl/GdkGL-1.0.gir b/basis/gdk/gl/GdkGLExt-1.0.gir similarity index 51% rename from basis/gdk/gl/GdkGL-1.0.gir rename to basis/gdk/gl/GdkGLExt-1.0.gir index 32e7b324bc..bc18af698f 100644 --- a/basis/gdk/gl/GdkGL-1.0.gir +++ b/basis/gdk/gl/GdkGLExt-1.0.gir @@ -2,39 +2,28 @@ - - + - - + - - + c:identifier-prefixes="GdkGL,Gdk" + c:symbol-prefixes="gdk_gl,gdk"> + + - - - - - - - - - - - - - @@ -71,162 +60,261 @@ and/or use gtk-doc annotations. --> c:identifier="GDK_GL_ACCUM_BUFFER_BIT" glib:nick="accum-buffer-bit"/> - + glib:type-struct="ConfigClass"> + Returns an OpenGL frame buffer configuration that match the specified +attributes. +attrib_list is a int array that contains the attribute/value pairs. +GDK_GL_USE_GL, GDK_GL_BUFFER_SIZE, GDK_GL_LEVEL, GDK_GL_RGBA, +GDK_GL_DOUBLEBUFFER, GDK_GL_STEREO, GDK_GL_AUX_BUFFERS, +GDK_GL_RED_SIZE, GDK_GL_GREEN_SIZE, GDK_GL_BLUE_SIZE, GDK_GL_ALPHA_SIZE, +GDK_GL_DEPTH_SIZE, GDK_GL_STENCIL_SIZE, GDK_GL_ACCUM_RED_SIZE, +GDK_GL_ACCUM_GREEN_SIZE, GDK_GL_ACCUM_BLUE_SIZE, GDK_GL_ACCUM_ALPHA_SIZE. - + the new #GdkGLConfig. + - - + + a list of attribute/value pairs. The last attribute must be GDK_GL_ATTRIB_LIST_NONE. + + + + Returns an OpenGL frame buffer configuration that match the specified +display mode. - + the new #GdkGLConfig. + - + display mode bit mask. + - + + Returns an OpenGL frame buffer configuration that match the specified +display mode. - + the new #GdkGLConfig. + - + + + target screen. + + + + display mode bit mask. + + + + + + Returns an OpenGL frame buffer configuration that match the specified +attributes. + + the new #GdkGLConfig. + + + + + target screen. + + + + a list of attribute/value pairs. The last attribute must be GDK_GL_ATTRIB_LIST_NONE. + + + + + + + Gets information about a OpenGL frame buffer configuration. - + TRUE if it succeeded, FALSE otherwise. + - + the attribute to be returned. + - - + + returns the requested value. + - + Gets the #GdkColormap that is appropriate for the OpenGL frame buffer +configuration. + + the appropriate #GdkColormap. - - - - - + Gets the color depth of the OpenGL-capable visual. - + number of bits per pixel + + Gets the layer plane (level) of the frame buffer. +Zero is the default frame buffer. +Positive layer planes correspond to frame buffers that overlay the default +buffer, and negative layer planes correspond to frame buffers that underlie +the default frame buffer. - + layer plane. + + Gets the number of auxiliary color buffers. - + number of auxiliary color buffers. + + Gets the number of multisample buffers. - + number of multisample buffers. + - + + Gets #GdkScreen. - + the #GdkScreen. + - + + Gets the #GdkVisual that is appropriate for the OpenGL frame buffer +configuration. - - - - - - - - - - - - - - - - - - - - - + the appropriate #GdkVisual. + + Returns whether the configured frame buffer has accumulation buffer. +otherwise. - + TRUE if the frame buffer has accumulation buffer, FALSE + + + + + Returns whether the configured color buffer has alpha bits. + + TRUE if the color buffer has alpha bits, FALSE otherwise. + + + + + Returns whether the configured frame buffer has depth buffer. + + TRUE if the frame buffer has depth buffer, FALSE otherwise. + + + + + Returns whether the configured frame buffer has stencil buffer. + + TRUE if the frame buffer has stencil buffer, FALSE otherwise. + + + + + Returns whether the configuration supports the double-buffered visual. +otherwise. + + TRUE if the double-buffered visual is supported, FALSE + + + + + Returns whether the configured frame buffer is RGBA mode. +otherwise. + + TRUE if the configured frame buffer is RGBA mode, FALSE + + + + + Returns whether the configuration supports the stereo visual. + + TRUE if the stereo visual is supported, FALSE otherwise. + - + - + - + - + - + - + - + - + - + - + - + - @@ -375,7 +463,7 @@ and/or use gtk-doc annotations. --> c:identifier="GDK_GL_SAMPLES" glib:nick="samples"/> - @@ -396,14 +484,14 @@ and/or use gtk-doc annotations. --> c:identifier="GDK_GL_NON_CONFORMANT_CONFIG" glib:nick="non-conformant-config"/> - + glib:is-gtype-struct-for="Config"> - @@ -436,7 +524,7 @@ and/or use gtk-doc annotations. --> c:identifier="GDK_GL_BAD_ENUM" glib:nick="bad-enum"/> - @@ -485,255 +573,224 @@ and/or use gtk-doc annotations. --> c:identifier="GDK_GL_MODE_MULTISAMPLE" glib:nick="multisample"/> - + glib:type-struct="ContextClass"> + Creates a new OpenGL rendering context. - + the new #GdkGLContext. + - + a #GdkGLDrawable. + - - + + the #GdkGLContext with which to share display lists and texture objects. NULL indicates that no sharing is to take place. + - + whether rendering is to be done with a direct connection to the graphics system. + - + GDK_GL_RGBA_TYPE or GDK_GL_COLOR_INDEX_TYPE (currently not used). + - - + Returns the current #GdkGLContext. +context. + + the current #GdkGLContext or NULL if there is no current + - - - - - + Copy state from @src rendering context to @glcontext. +the glPushAttrib() function. You can use GL_ALL_ATTRIB_BITS to copy all the +rendering state information. - + FALSE if it fails, TRUE otherwise. + - + the source context. + - + which portions of @src state are to be copied to @glcontext. + + + Gets #GdkGLConfig with which the @glcontext is configured. + + the #GdkGLConfig. + + + - - - - - - - - - - - - - - - + Gets #GdkGLDrawable to which the @glcontext is bound. - + the #GdkGLDrawable or NULL if no #GdkGLDrawable is bound. + + Gets render_type of the @glcontext. - + GDK_GL_RGBA_TYPE or GDK_GL_COLOR_INDEX_TYPE. + + + + + Gets #GdkGLContext with which the @glcontext shares the display lists and +texture objects. + + the #GdkGLContext. + + + + + Returns whether the @glcontext is a direct rendering context. + + TRUE if the @glcontext is a direct rendering contest. + - + glib:is-gtype-struct-for="Context"> - + + + + - - - - - - - - - - - - - - - - - - + glib:get-type="gdk_gl_drawable_get_type"> + + Gets #GdkGLConfig with which the @gldrawable is configured. - + the #GdkGLConfig. + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + Fills *width and *height with the size of GL drawable. +width or height can be NULL if you only want the other one. - - + + location to store drawable's width, or NULL. + - - + + location to store drawable's height, or NULL. + - - + + + Delimits the begining of the OpenGL execution. - + TRUE if it is successful, FALSE otherwise. + - + a #GdkGLContext. + + + Delimits the end of the OpenGL execution. + + + + + Returns whether the @gldrawable supports the double-buffered visual. +FALSE otherwise. - + TRUE if the double-buffered visual is supported, + + + Attach an OpenGL rendering context to a @gldrawable. + + TRUE if it is successful, FALSE otherwise. + + + + + a #GdkGLContext. + + + + - - - - - + Exchange front and back buffers. + Complete GDK drawing execution prior to subsequent OpenGL calls. - - - - - - - - - - - + + Complete OpenGL execution prior to subsequent GDK drawing calls. - - - - - - - - - - - - - - - - - - - @@ -758,161 +815,159 @@ and/or use gtk-doc annotations. --> c:identifier="GDK_GL_EVENT_MASK" glib:nick="event-mask"/> - - + + - - - - + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - + + + + - + - + - + - - + + - - + + - @@ -925,7 +980,7 @@ and/or use gtk-doc annotations. --> c:identifier="GDK_GL_PBUFFER" glib:nick="pbuffer"/> - @@ -942,7 +997,7 @@ and/or use gtk-doc annotations. --> c:identifier="GDK_GL_PBUFFER_BIT" glib:nick="pbuffer-bit"/> - @@ -951,7 +1006,7 @@ and/or use gtk-doc annotations. --> c:identifier="GDK_GL_PBUFFER_CLOBBER_MASK" glib:nick="mask"/> - @@ -964,7 +1019,10 @@ and/or use gtk-doc annotations. --> c:identifier="GDK_GL_SAVED" glib:nick="saved"/> - + + + @@ -985,37 +1043,116 @@ and/or use gtk-doc annotations. --> c:identifier="GDK_GL_PBUFFER_WIDTH" glib:nick="width"/> - + glib:type-struct="PixmapClass"> + Creates an off-screen rendering area. +attrib_list is currently unused. This must be set to NULL or empty +(first attribute of None). See GLX 1.3 spec. - + the new #GdkGLPixmap. + - + a #GdkGLConfig. + + the #GdkPixmap to be used as the rendering area. - + transfer-ownership="none" + allow-none="1"> + this must be set to NULL or empty (first attribute of None). + + + - + + Returns the #GdkGLPixmap held by the @pixmap. + + the #GdkGLPixmap. + + + + + a #GdkPixmap. + + + + + + Returns whether the @pixmap is OpenGL-capable. + + TRUE if the @pixmap is OpenGL-capable, FALSE otherwise. + + + + + a #GdkPixmap. + + + + + + Set the OpenGL-capability to the @pixmap. +This function creates a new #GdkGLPixmap held by the @pixmap. +attrib_list is currently unused. This must be set to NULL or empty +(first attribute of None). +NULL otherwise. + + the #GdkGLPixmap used by the @pixmap if it is successful, + + + + + the #GdkPixmap to be used as the rendering area. + + + + a #GdkGLConfig. + + + + this must be set to NULL or empty (first attribute of None). + + + + + + + + Unset the OpenGL-capability of the @pixmap. +This function destroys the #GdkGLPixmap held by the @pixmap. - + + + a #GdkPixmap. + + + + - + Returns the #GdkPixmap associated with @glpixmap. +Notice that #GdkGLPixmap is not #GdkPixmap, but another +#GdkDrawable which have an associated #GdkPixmap. + + the #GdkPixmap associated with @glpixmap. @@ -1026,19 +1163,19 @@ and/or use gtk-doc annotations. --> - + glib:is-gtype-struct-for="Pixmap"> - + - @@ -1051,7 +1188,7 @@ and/or use gtk-doc annotations. --> c:identifier="GDK_GL_COLOR_INDEX_TYPE" glib:nick="color-index-type"/> - @@ -1064,7 +1201,10 @@ and/or use gtk-doc annotations. --> c:identifier="GDK_GL_COLOR_INDEX_BIT" glib:nick="color-index-bit"/> - + + + @@ -1081,7 +1221,7 @@ and/or use gtk-doc annotations. --> c:identifier="GDK_GL_TRANSPARENT_INDEX" glib:nick="index"/> - @@ -1114,37 +1254,116 @@ and/or use gtk-doc annotations. --> c:identifier="GDK_GL_STATIC_GRAY" glib:nick="static-gray"/> - + glib:type-struct="WindowClass"> + Creates an on-screen rendering area. +attrib_list is currently unused. This must be set to NULL or empty +(first attribute of None). See GLX 1.3 spec. - + the new #GdkGLWindow. + - + a #GdkGLConfig. + + the #GdkWindow to be used as the rendering area. - + transfer-ownership="none" + allow-none="1"> + this must be set to NULL or empty (first attribute of None). + + + - + + Returns the #GdkGLWindow held by the @window. + + the #GdkGLWindow. + + + + + a #GdkWindow. + + + + + + Returns whether the @window is OpenGL-capable. + + TRUE if the @window is OpenGL-capable, FALSE otherwise. + + + + + a #GdkWindow. + + + + + + Set the OpenGL-capability to the @window. +This function creates a new #GdkGLWindow held by the @window. +attrib_list is currently unused. This must be set to NULL or empty +(first attribute of None). +NULL otherwise. + + the #GdkGLWindow used by the @window if it is successful, + + + + + the #GdkWindow to be used as the rendering area. + + + + a #GdkGLConfig. + + + + this must be set to NULL or empty (first attribute of None). + + + + + + + + Unset the OpenGL-capability of the @window. +This function destroys the #GdkGLWindow held by the @window. - + + + a #GdkWindow. + + + + - + Returns the #GdkWindow associated with @glwindow. +Notice that #GdkGLWindow is not #GdkWindow, but another +#GdkDrawable which have an associated #GdkWindow. + + the #GdkWindow associated with @glwindow. @@ -1155,372 +1374,226 @@ and/or use gtk-doc annotations. --> - + glib:is-gtype-struct-for="Window"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + Returns the current #GdkGLDrawable. + + the current #GdkGLDrawable or NULL if there is no current drawable. + - - - + + Returns the GtkGLExt library binary age. + + The binary age of the GtkGLExt library. + - - - - - - - - - - - - - - - - - + + Returns the GtkGLExt library interface age. + + The interface age of the GtkGLExt library. + + + + + Returns the GtkGLExt library major version number. + + The major version number of the GtkGLExt library. + + + + + Returns the GtkGLExt library micro version number. + + The micro version number of the GtkGLExt library. + + + + + Returns the GtkGLExt library minor version number. + + The minor version number of the GtkGLExt library. + + + + + Returns the address of the OpenGL, GLU, or GLX function. + + the address of the function named by @proc_name. + + function name. - + + Call this function before using any other GdkGLExt functions in your +applications. It will initialize everything needed to operate the +library and parses some standard command line options. @argc and +standard arguments. +<note><para>This function will terminate your program if it was +unable to initialize the library for some reason. If you want your +program to fall back to a textual interface you want to call +gdk_gl_init_check() instead.</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 gdk_gl_init() are stripped before return. + + + - + + This function does the same work as gdk_gl_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 <function>main()</function> function. Changed if any arguments were handled. + - - + + Address of the <parameter>argv</parameter> parameter of <function>main()</function>. Any parameters understood by gdk_gl_init() are stripped before return. + + + - + + Indicates whether the window system supports the OpenGL extension +(GLX, WGL, etc.). - + TRUE if OpenGL is supported, FALSE otherwise. + + + + + Indicates whether the window system supports the OpenGL extension +(GLX, WGL, etc.). + + TRUE if OpenGL is supported, FALSE otherwise. + - - - - - + + the #GdkDisplay where the query is sent to. + - - - - - - + Determines whether a given OpenGL extension is supported. +There must be a valid current rendering context to call +gdk_gl_query_gl_extension(). +gdk_gl_query_gl_extension() returns information about OpenGL extensions +only. This means that window system dependent extensions (for example, +GLX extensions) are not reported by gdk_gl_query_gl_extension(). +supported. - + TRUE if the OpenGL extension is supported, FALSE if not + + name of OpenGL extension. - + + Returns the version numbers of the OpenGL extension to the window system. +In the X Window System, it returns the GLX version. +In the Microsoft Windows, it returns the Windows version. - + FALSE if it fails, TRUE otherwise. + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + caller-allocates="0" + transfer-ownership="full"> + returns the major version number of the OpenGL extension. + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + caller-allocates="0" + transfer-ownership="full"> + returns the minor version number of the OpenGL extension. + - + + Returns the version numbers of the OpenGL extension to the window system. +In the X Window System, it returns the GLX version. +In the Microsoft Windows, it returns the Windows version. - + FALSE if it fails, TRUE otherwise. + - - + + the #GdkDisplay where the query is sent to. + + + + returns the major version number of the OpenGL extension. + + + + returns the minor version number of the OpenGL extension. + diff --git a/basis/gdk/gl/ffi/ffi.factor b/basis/gdk/gl/ffi/ffi.factor index 74fa46a3b7..27ea883919 100644 --- a/basis/gdk/gl/ffi/ffi.factor +++ b/basis/gdk/gl/ffi/ffi.factor @@ -1,11 +1,15 @@ ! Copyright (C) 2010 Anton Gorenko. ! See http://factorcode.org/license.txt for BSD license. -USING: alien alien.c-types alien.libraries combinators kernel -system vocabs.parser words -gobject-introspection gdk.ffi gdk.pixbuf.ffi gio.ffi glib.ffi -gmodule.ffi gobject.ffi pango.ffi ; +USING: alien alien.libraries alien.syntax combinators +gobject-introspection kernel system vocabs.loader ; IN: gdk.gl.ffi +<< +"gdk.ffi" require +>> + +LIBRARY: gdk.gl + << "gdk.gl" { { [ os winnt? ] [ drop ] } @@ -14,7 +18,4 @@ IN: gdk.gl.ffi } cond >> -<< ulong "unsigned long" current-vocab create typedef >> - -GIR: vocab:gdk/gl/GdkGL-1.0.gir - +GIR: vocab:gdk/gl/GdkGLExt-1.0.gir diff --git a/basis/gdk/pixbuf/GdkPixbuf-2.0.gir b/basis/gdk/pixbuf/GdkPixbuf-2.0.gir index 4c73110402..7775a9130a 100644 --- a/basis/gdk/pixbuf/GdkPixbuf-2.0.gir +++ b/basis/gdk/pixbuf/GdkPixbuf-2.0.gir @@ -2,7 +2,7 @@ - @@ -13,7 +13,8 @@ and/or use gtk-doc annotations. --> + c:identifier-prefixes="Gdk" + c:symbol-prefixes="gdk"> c:identifier="GDK_COLORSPACE_RGB" glib:nick="rgb"/> - - - c:identifier="GDK_INTERP_HYPER" glib:nick="hyper"/> - - + + - - + + - - + + - - + + + + + + + + - + - + Creates a new #GdkPixbuf structure and allocates a buffer for it. The buffer has an optimal rowstride. Note that the buffer is not cleared; you will have to fill it completely yourself. -%NULL if not enough memory could be allocated for the image buffer."> +%NULL if not enough memory could be allocated for the image buffer. + A newly-created #GdkPixbuf with a reference count of 1, or + Color space for image - + Whether the image should have transparency information + - + Number of bits per color sample + - + Width of image in pixels, must be > 0 + - + Height of image in pixels, must be > 0 + - + + Creates a new #GdkPixbuf out of in-memory image data. Currently only RGB +images with 8 bits per sample are supported. + A newly-created #GdkPixbuf structure with a reference count of 1. - - + + Image data in 8-bit/sample packed format + - - + + Colorspace for the image data + - - + + Whether the data has an opacity channel + + + + Number of bits per sample + - + Width of the image in pixels, must be > 0 + - + Height of the image in pixels, must be > 0 + + + + Distance in bytes between row starts + + + + Function used to free the data when the pixbuf's reference count drops to zero, or %NULL if the data should not be freed + + + + Closure data to pass to the destroy notification function + + Creates a new pixbuf by loading an image from a file. The file format is detected automatically. If %NULL is returned, then @error will be set. Possible errors are in the #GDK_PIXBUF_ERROR and #G_FILE_ERROR domains. -there was no loader for the file's format, there was not enough memory to -allocate the image buffer, or the image file contained invalid data." - throws="1"> +there was no loader for the file's format, there was not enough memory to +allocate the image buffer, or the image file contained invalid data. + A newly-created pixbuf with a reference count of 1, or %NULL if + Name of file to load, in the GLib file name encoding - - - - - - - - - - - - - - - - + Creates a new pixbuf by loading an image from a file. The file format is detected automatically. If %NULL is returned, then @error will be set. Possible errors are in the #GDK_PIXBUF_ERROR and #G_FILE_ERROR domains. The image will be scaled to fit in the requested size, optionally preserving -the image's aspect ratio. +the image's aspect ratio. When preserving the aspect ratio, a @width of -1 will cause the image to be scaled to the exact given height, and a @height of -1 will cause the image to be scaled to the exact given width. When not preserving -aspect ratio, a @width or @height of -1 means to not scale the image -at all in that dimension. Negative values for @width and @height are +aspect ratio, a @width or @height of -1 means to not scale the image +at all in that dimension. Negative values for @width and @height are allowed since 2.8. -there was no loader for the file's format, there was not enough memory to -allocate the image buffer, or the image file contained invalid data." - version="2.6" - throws="1"> +there was no loader for the file's format, there was not enough memory to +allocate the image buffer, or the image file contained invalid data. + A newly-created pixbuf with a reference count of 1, or %NULL + Name of file to load, in the GLib file name encoding - + The width the image should have or -1 to not constrain the width + - + The height the image should have or -1 to not constrain the height + - + %TRUE to preserve the image's aspect ratio + - + + Creates a new pixbuf by loading an image from a file. +The file format is detected automatically. If %NULL is returned, then +#G_FILE_ERROR domains. +The image will be scaled to fit in the requested size, preserving +the image's aspect ratio. Note that the returned pixbuf may be smaller +than @width x @height, if the aspect ratio requires it. To load +and image at the requested size, regardless of aspect ratio, use +gdk_pixbuf_new_from_file_at_scale(). +%NULL if any of several error conditions occurred: the file could not +be opened, there was no loader for the file's format, there was not +enough memory to allocate the image buffer, or the image file contained +invalid data. + A newly-created pixbuf with a reference count of 1, or - - - - - - - - - - - - - + + Name of file to load, in the GLib file name encoding + - + The width the image should have or -1 to not constrain the width + - - - - - - - - - - - - - - - - - - - - - - + The height the image should have or -1 to not constrain the height + + Create a #GdkPixbuf from a flat representation that is suitable for storing as inline data in a program. This is useful if you want to -ship a program with images, but don't want to depend on any +ship a program with images, but don't want to depend on any external files. -GTK+ ships with a program called <command>gdk-pixbuf-csource</command> +gdk-pixbuf ships with a program called <command>gdk-pixbuf-csource</command> which allows for conversion of #GdkPixbufs into such a inline representation. In almost all cases, you should pass the <option>--raw</option> flag to <command>gdk-pixbuf-csource</command>. A sample invocation would be: @@ -276,264 +263,674 @@ In almost all cases, you should pass the <option>--raw</option> flag gdk-pixbuf-csource --raw --name=myimage_inline myimage.png </programlisting></informalexample> For the typical case where the inline pixbuf is read-only static data, -you don't need to copy the pixel data unless you intend to write to -it, so you can pass %FALSE for @copy_pixels. (If you pass -<option>--rle</option> to <command>gdk-pixbuf-csource</command>, a copy -will be made even if @copy_pixels is %FALSE, so using this option is +you don't need to copy the pixel data unless you intend to write to +it, so you can pass %FALSE for @copy_pixels. (If you pass +<option>--rle</option> to <command>gdk-pixbuf-csource</command>, a copy +will be made even if @copy_pixels is %FALSE, so using this option is generally a bad idea.) If you create a pixbuf from const inline data compiled into your -program, it's probably safe to ignore errors and disable length checks, +program, it's probably safe to ignore errors and disable length checks, since things will always succeed: <informalexample><programlisting> pixbuf = gdk_pixbuf_new_from_inline (-1, myimage_inline, FALSE, NULL); </programlisting></informalexample> -For non-const inline data, you could get out of memory. For untrusted -inline data located at runtime, you could have corrupt inline data in +For non-const inline data, you could get out of memory. For untrusted +inline data located at runtime, you could have corrupt inline data in addition. -count of 1, or %NULL if an error occurred." - throws="1"> +count of 1, or %NULL if an error occurred. + A newly-created #GdkPixbuf structure with a reference, - + Length in bytes of the @data argument or -1 to disable length checks + - - - + Byte data containing a serialized #GdkPixdata structure + - + Whether to copy the pixel data, or use direct pointers + + Creates a new pixbuf by loading an image from an input stream. +The file format is detected automatically. If %NULL is returned, then +from another thread. If the operation was cancelled, the error +%GIO_ERROR_CANCELLED will be returned. Other possible errors are in +the #GDK_PIXBUF_ERROR and %G_IO_ERROR domains. +The stream is not closed. +not supported, there was not enough memory to allocate the image buffer, +the stream contained invalid data, or the operation was cancelled. + A newly-created pixbuf, or %NULL if any of several error + a #GInputStream to load the pixbuf from + optional #GCancellable object, %NULL to ignore + Creates a new pixbuf by loading an image from an input stream. +The file format is detected automatically. If %NULL is returned, then +from another thread. If the operation was cancelled, the error +%GIO_ERROR_CANCELLED will be returned. Other possible errors are in +the #GDK_PIXBUF_ERROR and %G_IO_ERROR domains. +The image will be scaled to fit in the requested size, optionally +preserving the image's aspect ratio. When preserving the aspect ratio, +a @width of -1 will cause the image to be scaled to the exact given +height, and a @height of -1 will cause the image to be scaled to the +exact given width. When not preserving aspect ratio, a @width or +The stream is not closed. +not supported, there was not enough memory to allocate the image buffer, +the stream contained invalid data, or the operation was cancelled. + A newly-created pixbuf, or %NULL if any of several error + a #GInputStream to load the pixbuf from - + The width the image should have or -1 to not constrain the width + - + The height the image should have or -1 to not constrain the height + - + %TRUE to preserve the image's aspect ratio + + optional #GCancellable object, %NULL to ignore - + + Creates a new pixbuf by parsing XPM data in memory. This data is commonly +the result of including an XPM file into a program's C source. - - - - - - + A newly-created pixbuf with a reference count of 1. + - - - - - - - - + + Pointer to inline XPM data. + - + - + Converts a #GdkPixdata to a #GdkPixbuf. If @copy_pixels is %TRUE or +if the pixel data is run-length-encoded, the pixel data is copied into +newly-allocated memory; otherwise it is reused. + + a new #GdkPixbuf. + a #GdkPixdata to convert into a #GdkPixbuf. - + whether to copy raw pixel data; run-length encoded pixel data is always copied. + - + + Parses an image file far enough to determine its format and size. +or %NULL if the image format wasn't recognized. The return value +is owned by GdkPixbuf and should not be freed. + A #GdkPixbufFormat describing the image format of the file + + + + + The name of the file to identify. + + + + Return location for the width of the image, or %NULL + + + + Return location for the height of the image, or %NULL + + + + + + Obtains the available information about the image formats supported +by GdkPixbuf. +#GdkPixbufFormat<!-- -->s describing the supported +image formats. The list should be freed when it is no longer needed, +but the structures themselves are owned by #GdkPixbuf and should not be +freed. + + A list of + + + + + + + + + + + + + + + + + Takes an existing pixbuf and adds an alpha channel to it. +If the existing pixbuf already had an alpha channel, the channel +values are copied from the original; otherwise, the alpha channel +is initialized to 255 (full opacity). +If @substitute_color is %TRUE, then the color specified by (@r, @g, @b) will be +assigned zero opacity. That is, if you pass (255, 255, 255) for the +substitute color, all white pixels will become fully transparent. + + A newly-created pixbuf with a reference count of 1. + + + + + Whether to set a color to zero opacity. If this is %FALSE, then the (@r, @g, @b) arguments will be ignored. + + + + Red value to substitute. + + + + Green value to substitute. + + + + Blue value to substitute. + + + + + + Takes an existing pixbuf and checks for the presence of an +associated "orientation" option, which may be provided by the +jpeg loader (which reads the exif orientation tag) or the +tiff loader (which reads the tiff orientation tag, and +compensates it for the partial transforms performed by +libtiff). If an orientation option/tag is present, the +appropriate transform will be performed so that the pixbuf +is oriented correctly. +input pixbuf (with an increased reference count). + + A newly-created pixbuf, or a reference to the - + + Creates a transformation of the source image @src by scaling by +This gives an image in the coordinates of the destination pixbuf. +The rectangle (@dest_x, @dest_y, @dest_width, @dest_height) +is then composited onto the corresponding rectangle of the +original destination image. +When the destination rectangle contains parts not in the source +image, the data at the edges of the source image is replicated +to infinity. +<figure id="pixbuf-composite-diagram"> +<title>Compositing of pixbufs</title> +<graphic fileref="composite.png" format="PNG"/> +</figure> + + + the #GdkPixbuf into which to render the results + + + + the left coordinate for region to render + + + + the top coordinate for region to render + + + + the width of the region to render + + + + the height of the region to render + + + + the offset in the X direction (currently rounded to an integer) + + + + the offset in the Y direction (currently rounded to an integer) + + + + the scale factor in the X direction + + + + the scale factor in the Y direction + + + + the interpolation type for the transformation. + + + + overall alpha for source image (0..255) + + + - + + Creates a transformation of the source image @src by scaling by +then composites the rectangle (@dest_x ,@dest_y, @dest_width, +colors @color1 and @color2 and renders it onto the destination +image. +See gdk_pixbuf_composite_color_simple() for a simpler variant of this +function suitable for many tasks. + + + + + + the #GdkPixbuf into which to render the results + + + + the left coordinate for region to render + + + + the top coordinate for region to render + + + + the width of the region to render + + + + the height of the region to render + + + + the offset in the X direction (currently rounded to an integer) + + + + the offset in the Y direction (currently rounded to an integer) + + + + the scale factor in the X direction + + + + the scale factor in the Y direction + + + + the interpolation type for the transformation. + + + + overall alpha for source image (0..255) + + + + the X offset for the checkboard (origin of checkboard is at -@check_x, -@check_y) + + + + the Y offset for the checkboard + + + + the size of checks in the checkboard (must be a power of two) + + + + the color of check at upper left + + + + the color of the other check + + + + + + Creates a new #GdkPixbuf by scaling @src to @dest_width x +allocated for it. - + the new #GdkPixbuf, or %NULL if not enough memory could be + + + + the width of destination image + + + + the height of destination image + + + + the interpolation type for the transformation. + + + + overall alpha for source image (0..255) + + + + the size of checks in the checkboard (must be a power of two) + + + + the color of check at upper left + + + + the color of the other check + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + Creates a new #GdkPixbuf with a copy of the information in the specified +not enough memory could be allocated. + A newly-created pixbuf with a reference count of 1, or %NULL if - + + Copies a rectangular area from @src_pixbuf to @dest_pixbuf. Conversion of +pixbuf formats is done automatically. +If the source rectangle overlaps the destination rectangle on the +same pixbuf, it will be overwritten during the copy operation. +Therefore, you can not use this function to scroll a pixbuf. + + + + + + Source X coordinate within @src_pixbuf. + + + + Source Y coordinate within @src_pixbuf. + + + + Width of the area to copy. + + + + Height of the area to copy. + + + + Destination pixbuf. + + + + X coordinate within @dest_pixbuf. + + + + Y coordinate within @dest_pixbuf. + + + + + + Clears a pixbuf to the given RGBA value, converting the RGBA value into +the pixbuf's pixel format. The alpha will be ignored if the pixbuf +doesn't have an alpha channel. - + RGBA pixel to clear to (0xffffffff is opaque white, 0x00000000 transparent black) + - + Flips a pixbuf horizontally or vertically and returns the +result in a new pixbuf. +allocated for it. + + the new #GdkPixbuf, or %NULL if not enough memory could be + + + + + %TRUE to flip horizontally, %FALSE to flip vertically + + + + + + Queries the number of bits per color sample in a pixbuf. + + Number of bits per color sample. + + + + + Queries the color space of a pixbuf. + + Color space. + + + + + Queries whether a pixbuf has an alpha channel (opacity information). + + %TRUE if it has an alpha channel, %FALSE otherwise. + + + + + Queries the height of a pixbuf. + + Height in pixels. + + + + + Queries the number of channels of a pixbuf. + + Number of channels. + + + + + Looks up @key in the list of options that may have been attached to the +function using gdk_pixbuf_set_option(). +For instance, the ANI loader provides "Title" and "Artist" options. +The ICO, XBM, and XPM loaders provide "x_hot" and "y_hot" hot-spot +options for cursor definitions. The PNG loader provides the tEXt ancillary +chunk key/value pairs as options. Since 2.12, the TIFF and JPEG loaders +return an "orientation" option string that corresponds to the embedded +TIFF/Exif orientation tag (if present). +string that should not be freed or %NULL if @key was not found. + + the value associated with @key. This is a nul-terminated + + + + + a nul-terminated string. + + + + + + Queries a pointer to the pixel data of a pixbuf. +for information about how the pixel data is stored in +memory. + + A pointer to the pixbuf's pixel data. Please see <xref linkend="image-data"/> + + + + + Queries the rowstride of a pixbuf, which is the number of bytes between the start of a row +and the start of the next row. + + Distance between row starts. + + + + + Queries the width of a pixbuf. + + Width in pixels. + + + + + Creates a new pixbuf which represents a sub-region of +original pixbuf, so writing to one affects both. +The new pixbuf holds a reference to @src_pixbuf, so +is finalized. + + a new pixbuf + + + + + X coord in @src_pixbuf + + + + Y coord in @src_pixbuf + + + + width of region in @src_pixbuf + + + + height of region in @src_pixbuf + + + + + + Adds a reference to a pixbuf. + + The same as the @pixbuf argument. + + + + + Rotates a pixbuf by a multiple of 90 degrees, and returns the +result in a new pixbuf. +allocated for it. + + the new #GdkPixbuf, or %NULL if not enough memory could be + + + + + the angle to rotate by + + + + + + Modifies saturation and optionally pixelates @src, placing the result in +saturation is reduced (the image turns toward grayscale); if greater than +1.0, saturation is increased (the image gets more vivid colors). If @pixelate +is %TRUE, then pixels are faded in a checkerboard pattern to create a +pixelated image. @src and @dest must have the same image format, size, and +rowstride. + + + + + + place to write modified version of @src + + + + saturation factor + + + + whether to pixelate + + + + + + Saves pixbuf to a file in format @type. By default, "jpeg", "png", "ico" +and "bmp" are possible file formats to save in, but more formats may be +installed. The list of all writable formats can be determined in the following way: |[ void add_if_writable (GdkPixbufFormat *data, GSList **list) @@ -546,55 +943,56 @@ GSList *writable_formats = NULL; g_slist_foreach (formats, add_if_writable, &writable_formats); g_slist_free (formats); ]| -If @error is set, %FALSE will be returned. Possible errors include +If @error is set, %FALSE will be returned. Possible errors include those in the #GDK_PIXBUF_ERROR domain and those in the #G_FILE_ERROR domain. The variable argument list should be %NULL-terminated; if not empty, it should contain pairs of strings that modify the save parameters. For example: <informalexample><programlisting> -gdk_pixbuf_save (pixbuf, handle, "jpeg", &amp;error, -"quality", "100", NULL); +gdk_pixbuf_save (pixbuf, handle, "jpeg", &amp;error, +"quality", "100", NULL); </programlisting></informalexample> Currently only few parameters exist. JPEG images can be saved with a -"quality" parameter; its value should be in the range [0,100]. +"quality" parameter; its value should be in the range [0,100]. Text chunks can be attached to PNG images by specifying parameters of -the form "tEXt::key", where key is an ASCII string of length 1-79. +the form "tEXt::key", where key is an ASCII string of length 1-79. The values are UTF-8 encoded strings. The PNG compression level can -be specified using the "compression" parameter; it's value is in an +be specified using the "compression" parameter; it's value is in an integer in the range of [0,9]. ICC color profiles can also be embedded into PNG and TIFF images. -The "icc-profile" value should be the complete ICC profile encoded +The "icc-profile" value should be the complete ICC profile encoded into base64. <informalexample><programlisting> gchar *contents; gchar *contents_encode; gsize length; -g_file_get_contents ("/home/hughsie/.color/icc/L225W.icm", &contents, &length, NULL); +g_file_get_contents ("/home/hughsie/.color/icc/L225W.icm", &contents, &length, NULL); contents_encode = g_base64_encode ((const guchar *) contents, length); -gdk_pixbuf_save (pixbuf, handle, "png", &amp;error, -"icc-profile", contents_encode, +gdk_pixbuf_save (pixbuf, handle, "png", &amp;error, +"icc-profile", contents_encode, NULL); </programlisting></informalexample> -TIFF images recognize a "compression" option which acceps an integer value. +TIFF images recognize a "compression" option which acceps an integer value. Among the codecs are 1 None, 2 Huffman, 5 LZW, 7 JPEG and 8 Deflate, see the libtiff documentation and tiff.h for all supported codec values. -ICO images can be saved in depth 16, 24, or 32, by using the "depth" -parameter. When the ICO saver is given "x_hot" and "y_hot" parameters, -it produces a CUR instead of an ICO."> +ICO images can be saved in depth 16, 24, or 32, by using the "depth" +parameter. When the ICO saver is given "x_hot" and "y_hot" parameters, +it produces a CUR instead of an ICO. - + whether an error was set + + name of file to save. + name of file format. - + + return location for error, or %NULL @@ -603,141 +1001,37 @@ it produces a CUR instead of an ICO."> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + Saves pixbuf to a new buffer in format @type, which is currently "jpeg", +"png", "tiff", "ico" or "bmp". This is a convenience function that uses +gdk_pixbuf_save_to_callback() to do the real work. Note that the buffer is not nul-terminated and may contain embedded nuls. If @error is set, %FALSE will be returned and @buffer will be set to %NULL. Possible errors include those in the #GDK_PIXBUF_ERROR domain. -See gdk_pixbuf_save() for more details." - version="2.4"> +See gdk_pixbuf_save() for more details. - + whether an error was set + - - - + location to receive a pointer to the new buffer. + - - + + location to receive the size of the new buffer. + + name of file format. - + + return location for error, or %NULL @@ -748,43 +1042,121 @@ See gdk_pixbuf_save() for more details." + Saves pixbuf to a new buffer in format @type, which is currently "jpeg", +"tiff", "png", "ico" or "bmp". See gdk_pixbuf_save_to_buffer() +for more details. - + whether an error was set + - - - + location to receive a pointer to the new buffer. + - - + + location to receive the size of the new buffer. + + name of file format. - - - + name of options to set, %NULL-terminated + - - - + values for named options + - + + Saves pixbuf in format @type by feeding the produced data to a +callback. Can be used when you want to store the image to something +other than a file, such as an in-memory buffer or a socket. +If @error is set, %FALSE will be returned. Possible errors +include those in the #GDK_PIXBUF_ERROR domain and whatever the save +function generates. +See gdk_pixbuf_save() for more details. - + whether an error was set + + + + + a function that is called to save each block of data that the save routine generates. + + + + user data to pass to the save function. + + + + name of file format. + + + + return location for error, or %NULL + + + + + + + + + + Saves pixbuf to a callback in format @type, which is currently "jpeg", +"png", "tiff", "ico" or "bmp". If @error is set, %FALSE will be returned. See +gdk_pixbuf_save_to_callback () for more details. + + whether an error was set + + + + + a function that is called to save each block of data that the save routine generates. + + + + user data to pass to the save function. + + + + name of file format. + + + + name of options to set, %NULL-terminated + + + + values for named options + + + + + + + @@ -807,292 +1179,91 @@ for more details." - - - - - - - - - - - - - - - - - - - - + + Saves pixbuf to a file in @type, which is currently "jpeg", "png", "tiff", "ico" or "bmp". +If @error is set, %FALSE will be returned. +See gdk_pixbuf_save () for more details. - + whether an error was set + - - + + name of file to save. + - - + + name of file format. + - - + + name of options to set, %NULL-terminated + - - - - - - - - - - - + + values for named options + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + Creates a transformation of the source image @src by scaling by then renders the rectangle (@dest_x, @dest_y, @dest_width, replacing the previous contents. Try to use gdk_pixbuf_scale_simple() first, this function is the industrial-strength power tool you can fall back to if -gdk_pixbuf_scale_simple() isn't powerful enough. +gdk_pixbuf_scale_simple() isn't powerful enough. If the source rectangle overlaps the destination rectangle on the same pixbuf, it will be overwritten during the scaling which -results in rendering artifacts."> +results in rendering artifacts. + the #GdkPixbuf into which to render the results - + the left coordinate for region to render + - + the top coordinate for region to render + - + the width of the region to render + - + the height of the region to render + - + the offset in the X direction (currently rounded to an integer) + - + the offset in the Y direction (currently rounded to an integer) + - + the scale factor in the X direction + - + the scale factor in the Y direction + + the interpolation type for the transformation. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + Create a new #GdkPixbuf containing a copy of @src scaled to should be #GDK_INTERP_NEAREST if you want maximum speed (but when scaling down #GDK_INTERP_NEAREST is usually unusably ugly). The default @interp_type should be #GDK_INTERP_BILINEAR which offers @@ -1101,137 +1272,111 @@ You can scale a sub-portion of @src by creating a sub-pixbuf pointing into @src; see gdk_pixbuf_new_subpixbuf(). For more complicated scaling/compositing see gdk_pixbuf_scale() and gdk_pixbuf_composite(). -allocated for it."> +allocated for it. + the new #GdkPixbuf, or %NULL if not enough memory could be - + the width of destination image + - + the height of destination image + + the interpolation type for the transformation. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + Attaches a key/value pair as an option to a #GdkPixbuf. If %key already +exists in the list of options attached to @pixbuf, the new value is +ignored and %FALSE is returned. - + %TRUE on success. + + a nul-terminated string. + a nul-terminated string. + + Removes a reference from a pixbuf. + + + + - + transfer-ownership="none"> + The number of bits per sample. +Currently only 8 bit per sample are supported. + - - + + - - + + - - + + - + transfer-ownership="none"> + The number of samples per pixel. +Currently, only 3 or 4 samples per pixel are supported. + - - + + + The number of bytes between the start of a row and the start of the next row. This number must (obviously) -be at least as large as the width of the pixbuf."> - +be at least as large as the width of the pixbuf. + - - + + glib:nick="full"/> glib:type-struct="PixbufAnimationClass"> + Creates a new animation by loading it from a file. The file format is +detected automatically. If the file's format does not support multi-frame images, then an animation with a single frame will be created. Possible errors are in the #GDK_PIXBUF_ERROR and #G_FILE_ERROR domains. -there was no loader for the file's format, there was not enough memory to -allocate the image buffer, or the image file contained invalid data." - throws="1"> +there was no loader for the file's format, there was not enough memory to +allocate the image buffer, or the image file contained invalid data. + A newly-created animation with a reference count of 1, or %NULL + Name of file to load, in the GLib file name encoding - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Get an iterator for displaying an animation. The iterator provides the frames that should be displayed at a given time. It should be freed after use with g_object_unref(). marks the beginning of animation playback. After creating an iterator, you should immediately display the pixbuf returned by gdk_pixbuf_animation_iter_get_pixbuf(). Then, you should install a timeout (with g_timeout_add()) or by some other mechanism ensure -that you'll update the image after +that you'll update the image after gdk_pixbuf_animation_iter_get_delay_time() milliseconds. Each time the image is updated, you should reinstall the timeout with the new, possibly-changed delay time. @@ -1376,7 +1436,7 @@ g_get_current_time() will be used automatically. To update the image (i.e. possibly change the result of gdk_pixbuf_animation_iter_get_pixbuf() to a new frame of the animation), call gdk_pixbuf_animation_iter_advance(). -If you're using #GdkPixbufLoader, in addition to updating the image +If you're using #GdkPixbufLoader, in addition to updating the image after the delay time, you should also update it whenever you receive the area_updated signal and gdk_pixbuf_animation_iter_on_currently_loading_frame() returns @@ -1386,15 +1446,150 @@ a frame may also be modified after an area_updated signal, for example if the delay time for a frame is encoded in the data after the frame itself. So your timeout should be reinstalled after any area_updated signal. -A delay time of -1 is possible, indicating "infinite.""> +A delay time of -1 is possible, indicating "infinite." + an iterator to move over the animation + time when the animation starts playing + + + + + + + + + + + + + + + + If an animation is really just a plain image (has only one frame), +this function returns that image. If the animation is an animation, +this function returns a reasonable thing to display as a static +unanimated image, which might be the first frame, or something more +sophisticated. If an animation hasn't loaded any frames yet, this +function will return %NULL. + + unanimated image representing the animation + + + + + If you load a file with gdk_pixbuf_animation_new_from_file() and it turns +out to be a plain, unanimated image, then this function will return +%TRUE. Use gdk_pixbuf_animation_get_static_image() to retrieve +the image. + + %TRUE if the "animation" was really just an image + + + + + Queries the height of the bounding box of a pixbuf animation. + + Height of the bounding box of the animation. + + + + + Get an iterator for displaying an animation. The iterator provides +the frames that should be displayed at a given time. +It should be freed after use with g_object_unref(). +marks the beginning of animation playback. After creating an +iterator, you should immediately display the pixbuf returned by +gdk_pixbuf_animation_iter_get_pixbuf(). Then, you should install a +timeout (with g_timeout_add()) or by some other mechanism ensure +that you'll update the image after +gdk_pixbuf_animation_iter_get_delay_time() milliseconds. Each time +the image is updated, you should reinstall the timeout with the new, +possibly-changed delay time. +As a shortcut, if @start_time is %NULL, the result of +g_get_current_time() will be used automatically. +To update the image (i.e. possibly change the result of +gdk_pixbuf_animation_iter_get_pixbuf() to a new frame of the animation), +call gdk_pixbuf_animation_iter_advance(). +If you're using #GdkPixbufLoader, in addition to updating the image +after the delay time, you should also update it whenever you +receive the area_updated signal and +gdk_pixbuf_animation_iter_on_currently_loading_frame() returns +%TRUE. In this case, the frame currently being fed into the loader +has received new data, so needs to be refreshed. The delay time for +a frame may also be modified after an area_updated signal, for +example if the delay time for a frame is encoded in the data after +the frame itself. So your timeout should be reinstalled after any +area_updated signal. +A delay time of -1 is possible, indicating "infinite." + + an iterator to move over the animation + + + + + time when the animation starts playing + + + + + + If an animation is really just a plain image (has only one frame), +this function returns that image. If the animation is an animation, +this function returns a reasonable thing to display as a static +unanimated image, which might be the first frame, or something more +sophisticated. If an animation hasn't loaded any frames yet, this +function will return %NULL. + + unanimated image representing the animation + + + + + Queries the width of the bounding box of a pixbuf animation. + + Width of the bounding box of the animation. + + + + + If you load a file with gdk_pixbuf_animation_new_from_file() and it turns +out to be a plain, unanimated image, then this function will return +%TRUE. Use gdk_pixbuf_animation_get_static_image() to retrieve +the image. + + %TRUE if the "animation" was really just an image + + + + + Adds a reference to an animation. + + The same as the @animation argument. + + + + + Removes a reference from an animation. + + + @@ -1407,9 +1602,10 @@ A delay time of -1 is possible, indicating "infinite.""> - + - + %TRUE if the "animation" was really just an image + @@ -1419,8 +1615,9 @@ A delay time of -1 is possible, indicating "infinite.""> - - + + + unanimated image representing the animation @@ -1431,7 +1628,7 @@ A delay time of -1 is possible, indicating "infinite.""> - + @@ -1439,18 +1636,19 @@ A delay time of -1 is possible, indicating "infinite.""> - - + + - - + + - + + an iterator to move over the animation @@ -1458,6 +1656,7 @@ A delay time of -1 is possible, indicating "infinite.""> + time when the animation starts playing @@ -1465,100 +1664,144 @@ A delay time of -1 is possible, indicating "infinite.""> - - - - - - - - - - - - - - - + Possibly advances an animation to a new frame. Chooses the frame based +on the start time passed to gdk_pixbuf_animation_get_iter(). +must be greater than or equal to the time passed to +gdk_pixbuf_animation_get_iter(), and must increase or remain +unchanged each time gdk_pixbuf_animation_iter_get_pixbuf() is +called. That is, you can't go backward in time; animations only +play forward. +As a shortcut, pass %NULL for the current time and g_get_current_time() +will be invoked on your behalf. So you only need to explicitly pass +at double speed. +If this function returns %FALSE, there's no need to update the animation +display, assuming the display had been rendered prior to advancing; +if %TRUE, you need to call gdk_animation_iter_get_pixbuf() and update the +display with the new pixbuf. - + %TRUE if the image may need updating + + current time - + Gets the number of milliseconds the current pixbuf should be displayed, or -1 if the current pixbuf should be displayed forever. g_timeout_add() conveniently takes a timeout in milliseconds, so you can use a timeout -to schedule the next update."> +to schedule the next update. - + delay time in milliseconds (thousandths of a second) + - - + Gets the current pixbuf which should be displayed; the pixbuf will be the same size as the animation itself -(gdk_pixbuf_animation_get_width(), gdk_pixbuf_animation_get_height()). -This pixbuf should be displayed for +(gdk_pixbuf_animation_get_width(), gdk_pixbuf_animation_get_height()). +This pixbuf should be displayed for gdk_pixbuf_animation_iter_get_delay_time() milliseconds. The caller of this function does not own a reference to the returned pixbuf; the returned pixbuf will become invalid when the iterator advances to the next frame, which may happen anytime you call gdk_pixbuf_animation_iter_advance(). Copy the pixbuf to keep it -(don't just add a reference), as it may get recycled as you advance -the iterator."> - +(don't just add a reference), as it may get recycled as you advance +the iterator. + + the pixbuf to be displayed - - + Used to determine how to respond to the area_updated signal on #GdkPixbufLoader when loading an animation. area_updated is emitted for an area of the frame currently streaming in to the loader. So if -you're on the currently loading frame, you need to redraw the screen for -the updated area."> +you're on the currently loading frame, you need to redraw the screen for +the updated area. - + %TRUE if the frame we're on is partially loaded, or the last frame + - - + Possibly advances an animation to a new frame. Chooses the frame based on the start time passed to gdk_pixbuf_animation_get_iter(). must be greater than or equal to the time passed to gdk_pixbuf_animation_get_iter(), and must increase or remain unchanged each time gdk_pixbuf_animation_iter_get_pixbuf() is -called. That is, you can't go backward in time; animations only +called. That is, you can't go backward in time; animations only play forward. As a shortcut, pass %NULL for the current time and g_get_current_time() will be invoked on your behalf. So you only need to explicitly pass at double speed. -If this function returns %FALSE, there's no need to update the animation +If this function returns %FALSE, there's no need to update the animation display, assuming the display had been rendered prior to advancing; if %TRUE, you need to call gdk_animation_iter_get_pixbuf() and update the -display with the new pixbuf."> +display with the new pixbuf. - + %TRUE if the image may need updating + + current time + + Gets the number of milliseconds the current pixbuf should be displayed, +or -1 if the current pixbuf should be displayed forever. g_timeout_add() +conveniently takes a timeout in milliseconds, so you can use a timeout +to schedule the next update. + + delay time in milliseconds (thousandths of a second) + + + + + Gets the current pixbuf which should be displayed; the pixbuf will +be the same size as the animation itself +(gdk_pixbuf_animation_get_width(), gdk_pixbuf_animation_get_height()). +This pixbuf should be displayed for +gdk_pixbuf_animation_iter_get_delay_time() milliseconds. The caller +of this function does not own a reference to the returned pixbuf; +the returned pixbuf will become invalid when the iterator advances +to the next frame, which may happen anytime you call +gdk_pixbuf_animation_iter_advance(). Copy the pixbuf to keep it +(don't just add a reference), as it may get recycled as you advance +the iterator. + + the pixbuf to be displayed + + + + + Used to determine how to respond to the area_updated signal on +#GdkPixbufLoader when loading an animation. area_updated is emitted +for an area of the frame currently streaming in to the loader. So if +you're on the currently loading frame, you need to redraw the screen for +the updated area. + + %TRUE if the frame we're on is partially loaded, or the last frame + + + @@ -1570,9 +1813,10 @@ display with the new pixbuf."> - + - + delay time in milliseconds (thousandths of a second) + @@ -1583,8 +1827,9 @@ display with the new pixbuf."> - - + + + the pixbuf to be displayed @@ -1596,10 +1841,10 @@ display with the new pixbuf."> - + - + %TRUE if the frame we're on is partially loaded, or the last frame + @@ -1610,9 +1855,10 @@ display with the new pixbuf."> - + - + %TRUE if the image may need updating + @@ -1620,6 +1866,7 @@ display with the new pixbuf."> c:type="GdkPixbufAnimationIter*"/> + current time @@ -1632,12 +1879,10 @@ display with the new pixbuf."> - - - + - + @@ -1671,7 +1916,11 @@ display with the new pixbuf."> c:identifier="GDK_PIXBUF_ERROR_FAILED" glib:nick="failed"/> - + @@ -1691,108 +1940,132 @@ display with the new pixbuf."> - + - + - + + Creates a copy of @format +gdk_pixbuf_format_free() to free the resources when done - + the newly allocated copy of a #GdkPixbufFormat. Use + + + + + Frees the resources allocated when copying a #GdkPixbufFormat +using gdk_pixbuf_format_copy() + + + Returns a description of the format. + a description of the format. + + + + + Returns the filename extensions typically used for files in the +given format. +freed with g_strfreev() when it is no longer needed. + + a %NULL-terminated array of filename extensions which must be + + + + + + + Returns information about the license of the image loader for the format. The +returned string should be a shorthand for a wellknown license, e.g. "LGPL", +"GPL", "QPL", "GPL/QPL", or "other" to indicate some other license. This +string should be freed with g_free() when it's no longer needed. + + a string describing the license of @format. + Returns the mime types supported by the format. +g_strfreev() when it is no longer needed. + a %NULL-terminated array of mime types which must be freed with - + Returns the name of the format. - - - - - - - - - - - - - + the name of the format. + + Returns whether this image format is disabled. See +gdk_pixbuf_format_set_disabled(). - + whether this image format is disabled. + + + + + Returns whether this image format is scalable. If a file is in a +scalable format, it is preferable to load it at the desired size, +rather than loading it at the default size and scaling the +resulting pixbuf to the desired size. + + whether this image format is scalable. + + + + + Returns whether pixbufs can be saved in the given format. + + whether pixbufs can be saved in the given format. + + Disables or enables an image format. If a format is disabled, +gdk-pixbuf won't use the image loader for this format to load +images. Applications can use this to avoid using image loaders +with an inappropriate license, see gdk_pixbuf_format_get_license(). - + %TRUE to disable the format @format + - - - - - - + + Creates a new pixbuf loader object. + A newly-created pixbuf loader. - - - - - - - - - - + Creates a new pixbuf loader object that always attempts to parse +image data as if it were an image of mime type @mime_type, instead of +identifying the type automatically. Useful if you want an error if +the image isn't the expected mime type, for loading image formats +that can't be reliably identified by looking at the data, or if +the user manually forces a specific mime type. +The list of supported mime types depends on what image loaders +are installed, but typically "image/png", "image/jpeg", "image/gif", +"image/tiff" and "image/x-xpixmap" are among the supported mime types. +To obtain the full list of supported mime types, call +gdk_pixbuf_format_get_mime_types() on each of the #GdkPixbufFormat +structs returned by gdk_pixbuf_get_formats(). + A newly-created pixbuf loader. + the mime type to be loaded - + Creates a new pixbuf loader object that always attempts to parse +image data as if it were an image of type @image_type, instead of +identifying the type automatically. Useful if you want an error if +the image isn't the expected type, for loading image formats +that can't be reliably identified by looking at the data, or if +the user manually forces a specific type. +The list of supported image formats depends on what image loaders +are installed, but typically "png", "jpeg", "gif", "tiff" and +"xpm" are among the supported formats. To obtain the full list of +supported image formats, call gdk_pixbuf_format_get_name() on each +of the #GdkPixbufFormat structs returned by gdk_pixbuf_get_formats(). + + A newly-created pixbuf loader. + + + + + name of the image format to be loaded with the image + + + + + + Informs a pixbuf loader that no further writes with +gdk_pixbuf_loader_write() will occur, so that it can free its +internal loading structures. Also, tries to parse any data that +hasn't yet been parsed; if the remaining data is partial or +corrupt, an error will be returned. If %FALSE is returned, @error +will be set to an error from the #GDK_PIXBUF_ERROR or #G_FILE_ERROR +domains. If you're just cancelling a load rather than expecting it +to be finished, passing %NULL for @error to ignore it is +reasonable. +Remember that this does not unref the loader, so if you plan not to +use it anymore, please g_object_unref() it. + + %TRUE if all image data written so far was successfully + + + + + Queries the #GdkPixbufAnimation that a pixbuf loader is currently creating. +In general it only makes sense to call this function after the "area-prepared" +signal has been emitted by the loader. If the loader doesn't have enough +bytes yet (hasn't emitted the "area-prepared" signal) this function will +return %NULL. + + The #GdkPixbufAnimation that the loader is loading, or %NULL if + + + + - - + Obtains the available information about the format of the +currently loading image file. +by GdkPixbuf and should not be freed. + + A #GdkPixbufFormat or %NULL. The return value is owned + - - - - - - - - - - - - - - - - - - - - - - - - + Queries the #GdkPixbuf that a pixbuf loader is currently creating. In general it only makes sense to call this function after the -"area-prepared" signal has been emitted by the loader; this means +"area-prepared" signal has been emitted by the loader; this means that enough data has been read to know the size of the image that will be allocated. If the loader has not received enough data via gdk_pixbuf_loader_write(), then this function returns %NULL. The returned pixbuf will be the same in all future calls to the loader, so simply calling g_object_ref() should be sufficient to continue using it. Additionally, if the loader is an animation, it will -return the "static image" of the animation +return the "static image" of the animation (see gdk_pixbuf_animation_get_static_image()). -enough data has been read to determine how to create the image buffer."> - +enough data has been read to determine how to create the image buffer. + + The #GdkPixbuf that the loader is creating, or %NULL if not - - - - - - - - - - - - - + Causes the image to be scaled while it is loaded. The desired +image size can be determined relative to the original size of +the image by calling gdk_pixbuf_loader_set_size() from a +signal handler for the ::size-prepared signal. +Attempts to set the desired image size are ignored after the +emission of the ::size-prepared signal. + + + + + The desired width of the image being loaded. + + + + The desired height of the image being loaded. + + + + + + This will cause a pixbuf loader to parse the next @count bytes of +an image. It will return %TRUE if the data was loaded successfully, +and %FALSE if an error occurred. In the latter case, the loader +will be closed, and will not accept further writes. If %FALSE is +returned, @error will be set to an error from the #GDK_PIXBUF_ERROR +or #G_FILE_ERROR domains. +cannot parse the buffer. + + %TRUE if the write was successful, or %FALSE if the loader + + + + + Pointer to image data. + + + + Length of the @buf buffer in bytes. + + + - + - - - + + This signal is emitted when the pixbuf loader has allocated the +pixbuf in the desired size. After this signal is emitted, +applications can call gdk_pixbuf_loader_get_pixbuf() to fetch +the partially-loaded pixbuf. + + - + This signal is emitted when a significant area of the image being loaded has been updated. Normally it means that a complete scanline has been read in, but it could be a different area as well. Applications can use this signal to know when to repaint -areas of an image that is being loaded."> - - +areas of an image that is being loaded. + + - - + + X offset of upper-left corner of the updated area. + - - + + Y offset of upper-left corner of the updated area. + - - + + Width of updated area. + - - + + Height of updated area. + - + This signal is emitted when gdk_pixbuf_loader_close() is called. It can be used by different parts of an application to receive notification when an image loader is closed by the code that -drives it."> - - +drives it. + + - + This signal is emitted when the pixbuf loader has been fed the initial amount of data that is required to figure out the size -of the image that it will create. Applications can call +of the image that it will create. Applications can call gdk_pixbuf_loader_set_size() in response to this signal to set -the desired size to which the image should be scaled."> - - +the desired size to which the image should be scaled. + + - - + + the original width of the image + - - + + the original height of the image + @@ -2042,7 +2328,7 @@ the desired size to which the image should be scaled."> - + @@ -2051,16 +2337,16 @@ the desired size to which the image should be scaled."> - + - + - + @@ -2072,7 +2358,7 @@ the desired size to which the image should be scaled."> - + @@ -2081,22 +2367,22 @@ the desired size to which the image should be scaled."> - + - + - + - + - + @@ -2121,6 +2407,178 @@ the desired size to which the image should be scaled."> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2152,7 +2610,7 @@ the desired size to which the image should be scaled."> - + - + @@ -2177,14 +2635,14 @@ the desired size to which the image should be scaled."> - - + + - - + + - + @@ -2198,30 +2656,30 @@ the desired size to which the image should be scaled."> - + - + - + - + - + - + @@ -2253,24 +2711,25 @@ the desired size to which the image should be scaled."> - + - + - + glib:type-struct="PixbufSimpleAnimClass"> + Creates a new, empty animation. + a newly allocated #GdkPixbufSimpleAnim - + the width of the animation + - + the height of the animation + - + the speed of the animation, in frames per second + + Adds a new frame to @animation. The @pixbuf must +have the dimensions specified when the animation +was constructed. + the pixbuf to add - - - - - - - - - - + Gets whether @animation should loop indefinitely when it reaches the end. - + %TRUE if the animation loops forever, %FALSE otherwise + + + Sets whether @animation should loop indefinitely when it reaches the end. + + + + + + whether to loop the animation + + + + - + transfer-ownership="none"> + Whether the animation should loop when it reaches the end. + - + + A #GdkPixdata contains pixbuf information in a form suitable for +serialization and streaming. - + - + - + - + - + - + - + - - - - - - - - - - - - + Deserializes (reconstruct) a #GdkPixdata structure from a byte stream. The byte stream consists of a straightforward writeout of the #GdkPixdata fields in network byte order, plus the @pixel_data bytes the structure points to. The @pixdata contents are reconstructed byte by byte and are checked for validity. This function may fail with %GDK_PIXBUF_CORRUPT_IMAGE or %GDK_PIXBUF_ERROR_UNKNOWN_TYPE. -%FALSE otherwise." - throws="1"> +%FALSE otherwise. - + Upon successful deserialization %TRUE is returned, + - + length of the stream used for deserialization. + - - - + stream of bytes containing a serialized #GdkPixdata structure. + - - + introspectable="0"> + Converts a #GdkPixbuf to a #GdkPixdata. If @use_rle is %TRUE, the +pixel data is run-length encoded into newly-allocated memory and a +pointer to that memory is returned. +for the run-length encoded pixel data, otherwise %NULL. + + If @ure_rle is %TRUE, a pointer to the newly-allocated memory + + the data to fill @pixdata with. - + whether to use run-length encoding for the pixel data. + + + + + + Serializes a #GdkPixdata structure into a byte stream. +The byte stream consists of a straightforward writeout of the +#GdkPixdata fields in network byte order, plus the @pixel_data +bytes the structure points to. +#GdkPixdata structure. + + A newly-allocated string containing the serialized + + + + + location to store the resulting stream length in. + + Generates C source code suitable for compiling images directly +into programs. +gdk-pixbuf ships with a program called <command>gdk-pixbuf-csource</command> which offers a command line interface to this function. -of @pixdata."> - +of @pixdata. + + a newly-allocated string containing the C source form + used for naming generated data structures or macros. + a #GdkPixdataDumpType determining the kind of C source to be generated. @@ -2481,16 +2949,9 @@ of @pixdata."> value="65536" c:identifier="GDK_PIXDATA_DUMP_RLE_DECODER"/> - + + one for the used colorspace, one for the width of the samples and one +for the encoding of the pixel data. @@ -2516,8 +2977,10 @@ for the encoding of the pixel data." value="251658240" c:identifier="GDK_PIXDATA_ENCODING_MASK"/> - - - + + + + + diff --git a/basis/gdk/pixbuf/ffi/ffi.factor b/basis/gdk/pixbuf/ffi/ffi.factor index a87ca77c3b..ecc73bd5d4 100644 --- a/basis/gdk/pixbuf/ffi/ffi.factor +++ b/basis/gdk/pixbuf/ffi/ffi.factor @@ -1,10 +1,15 @@ -! Copyright (C) 2009 Anton Gorenko. +! Copyright (C) 2010 Anton Gorenko. ! See http://factorcode.org/license.txt for BSD license. -USING: alien alien.libraries combinators kernel system -gobject-introspection gio.ffi glib.ffi gmodule.ffi gobject.ffi ; -EXCLUDE: alien.c-types => pointer ; +USING: alien alien.libraries alien.syntax combinators +gobject-introspection kernel system vocabs.loader ; IN: gdk.pixbuf.ffi +<< +"gio.ffi" require +>> + +LIBRARY: gdk.pixbuf + << "gdk.pixbuf" { { [ os winnt? ] [ "libgdk_pixbuf-2.0-0.dll" cdecl add-library ] } @@ -14,4 +19,3 @@ IN: gdk.pixbuf.ffi >> GIR: vocab:gdk/pixbuf/GdkPixbuf-2.0.gir - diff --git a/basis/gio/Gio-2.0.gir b/basis/gio/Gio-2.0.gir index 273e6f09be..df74801cb3 100644 --- a/basis/gio/Gio-2.0.gir +++ b/basis/gio/Gio-2.0.gir @@ -2,7 +2,7 @@ - @@ -14,255 +14,1320 @@ and/or use gtk-doc annotations. --> + c:identifier-prefixes="G" + c:symbol-prefixes="g"> + + + Activates the action. +the parameter type given at construction time). If the parameter +type was %NULL then @parameter must also be %NULL. + + + + + + the parameter to the activation + + + + + + Checks if @action is currently enabled. +An action must be enabled in order to be activated or in order to +have its state changed from outside callers. + + whether the action is enabled + + + + + Queries the name of @action. + + the name of the action + + + + + Queries the type of the parameter that must be given when activating +When activating the action using g_action_activate(), the #GVariant +given to that function must be of the type returned by this function. +In the case that this function returns %NULL, you must not give any +#GVariant, but %NULL instead. + + the parameter type + + + + + Queries the current state of @action. +If the action is not stateful then %NULL will be returned. If the +action is stateful then the type of the return value is the type +given by g_action_get_state_type(). +The return value (if non-%NULL) should be freed with +g_variant_unref() when it is no longer required. + + the current state of the action + + + + + Requests a hint about the valid range of values for the state of +If %NULL is returned it either means that the action is not stateful +or that there is no hint about the valid range of values for the +state of the action. +If a #GVariant array is returned then each item in the array is a +returned then the tuple specifies the inclusive lower and upper bound +of valid values for the state. +In any case, the information is merely a hint. It may be possible to +have a state value outside of the hinted range and setting a value +within the range may fail. +The return value (if non-%NULL) should be freed with +g_variant_unref() when it is no longer required. + + the state range hint + + + + + Queries the type of the state of @action. +g_action_new_stateful()) then this function returns the #GVariantType +of the state. This is the type of the initial value given as the +state. All calls to g_action_set_state() must give a #GVariant of +this type and g_action_get_state() will return a #GVariant of the +same type. +this function will return %NULL. In that case, g_action_get_state() +will return %NULL and you must not call g_action_set_state(). + + the state type, if the action is stateful + + + + + Request for the state of @action to be changed to @value. +The action must be stateful and @value must be of the correct type. +See g_action_get_state_type(). +This call merely requests a change. The action may refuse to change +its state or may change its state to something other than @value. +See g_action_get_state_hint(). +If the @value GVariant is floating, it is consumed. + + + + + + + + + + + Activates the action. +the parameter type given at construction time). If the parameter +type was %NULL then @parameter must also be %NULL. + + + + + + the parameter to the activation + + + + + + Checks if @action is currently enabled. +An action must be enabled in order to be activated or in order to +have its state changed from outside callers. + + whether the action is enabled + + + + + Queries the name of @action. + + the name of the action + + + + + Queries the type of the parameter that must be given when activating +When activating the action using g_action_activate(), the #GVariant +given to that function must be of the type returned by this function. +In the case that this function returns %NULL, you must not give any +#GVariant, but %NULL instead. + + the parameter type + + + + + Queries the current state of @action. +If the action is not stateful then %NULL will be returned. If the +action is stateful then the type of the return value is the type +given by g_action_get_state_type(). +The return value (if non-%NULL) should be freed with +g_variant_unref() when it is no longer required. + + the current state of the action + + + + + Requests a hint about the valid range of values for the state of +If %NULL is returned it either means that the action is not stateful +or that there is no hint about the valid range of values for the +state of the action. +If a #GVariant array is returned then each item in the array is a +returned then the tuple specifies the inclusive lower and upper bound +of valid values for the state. +In any case, the information is merely a hint. It may be possible to +have a state value outside of the hinted range and setting a value +within the range may fail. +The return value (if non-%NULL) should be freed with +g_variant_unref() when it is no longer required. + + the state range hint + + + + + Queries the type of the state of @action. +g_action_new_stateful()) then this function returns the #GVariantType +of the state. This is the type of the initial value given as the +state. All calls to g_action_set_state() must give a #GVariant of +this type and g_action_get_state() will return a #GVariant of the +same type. +this function will return %NULL. In that case, g_action_get_state() +will return %NULL and you must not call g_action_set_state(). + + the state type, if the action is stateful + + + + + Request for the state of @action to be changed to @value. +The action must be stateful and @value must be of the correct type. +See g_action_get_state_type(). +This call merely requests a change. The action may refuse to change +its state or may change its state to something other than @value. +See g_action_get_state_hint(). +If the @value GVariant is floating, it is consumed. + + + + + + the new state + + + + + + If @action is currently enabled. +If the action is disabled then calls to g_action_activate() and +g_action_set_state() have no effect. + + + + The name of the action. This is mostly meaningful for identifying +the action once it has been added to a #GActionGroup. + + + + The type of the parameter that must be given when activating the +action. + + + + The state of the action, or %NULL if the action is stateless. + + + + The #GVariantType of the state that the action has, or %NULL if the +action is stateless. + + + + + + Activate the named action within @action_group. +If the action is expecting a parameter, then the correct type of +parameter must be given as @parameter. If the action is expecting no +parameters then @parameter must be %NULL. See +g_action_group_get_parameter_type(). + + + + + + the name of the action to activate + + + + parameters to the activation + + + + + + Checks if the named action within @action_group is currently enabled. +An action must be enabled in order to be activated or in order to +have its state changed from outside callers. + + whether or not the action is currently enabled + + + + + the name of the action to query + + + + + + Queries the type of the parameter that must be given when activating +the named action within @action_group. +When activating the action using g_action_group_activate(), the +#GVariant given to that function must be of the type returned by this +function. +In the case that this function returns %NULL, you must not give any +#GVariant, but %NULL instead. +The parameter type of a particular action will never change but it is +possible for an action to be removed and for a new action to be added +with the same name but a different parameter type. + + the parameter type + + + + + the name of the action to query + + + + + + Queries the current state of the named action within @action_group. +If the action is not stateful then %NULL will be returned. If the +action is stateful then the type of the return value is the type +given by g_action_group_get_state_type(). +The return value (if non-%NULL) should be freed with +g_variant_unref() when it is no longer required. + + the current state of the action + + + + + the name of the action to query + + + + + + Requests a hint about the valid range of values for the state of the +named action within @action_group. +If %NULL is returned it either means that the action is not stateful +or that there is no hint about the valid range of values for the +state of the action. +If a #GVariant array is returned then each item in the array is a +returned then the tuple specifies the inclusive lower and upper bound +of valid values for the state. +In any case, the information is merely a hint. It may be possible to +have a state value outside of the hinted range and setting a value +within the range may fail. +The return value (if non-%NULL) should be freed with +g_variant_unref() when it is no longer required. + + the state range hint + + + + + the name of the action to query + + + + + + Queries the type of the state of the named action within +If the action is stateful then this function returns the +#GVariantType of the state. All calls to g_action_group_set_state() +must give a #GVariant of this type and g_action_group_get_state() +will return a #GVariant of the same type. +If the action is not stateful then this function will return %NULL. +In that case, g_action_group_get_state() will return %NULL and you +must not call g_action_group_set_state(). +The state type of a particular action will never change but it is +possible for an action to be removed and for a new action to be added +with the same name but a different state type. + + the state type, if the action is stateful + + + + + the name of the action to query + + + + + + Checks if the named action exists within @action_group. + + whether the named action exists + + + + + the name of the action to check for + + + + + + Lists the actions contained within @action_group. +The caller is responsible for freeing the list with g_strfreev() when +it is no longer required. +actions in the groupb + + a %NULL-terminated array of the names of the + + + + + + + Request for the state of the named action within @action_group to be +changed to @value. +The action must be stateful and @value must be of the correct type. +See g_action_group_get_state_type(). +This call merely requests a change. The action may refuse to change +its state or may change its state to something other than @value. +See g_action_group_get_state_hint(). +If the @value GVariant is floating, it is consumed. + + + + + + the name of the action to request the change on + + + + the new state + + + + + + Emits the #GActionGroup::action-added signal on @action_group. +This function should only be called by #GActionGroup implementations. + + + + + + the name of an action in the group + + + + + + Emits the #GActionGroup::action-enabled-changed signal on @action_group. +This function should only be called by #GActionGroup implementations. + + + + + + the name of an action in the group + + + + whether or not the action is now enabled + + + + + + Emits the #GActionGroup::action-removed signal on @action_group. +This function should only be called by #GActionGroup implementations. + + + + + + the name of an action in the group + + + + + + Emits the #GActionGroup::action-state-changed signal on @action_group. +This function should only be called by #GActionGroup implementations. + + + + + + the name of an action in the group + + + + the new state of the named action + + + + + + Activate the named action within @action_group. +If the action is expecting a parameter, then the correct type of +parameter must be given as @parameter. If the action is expecting no +parameters then @parameter must be %NULL. See +g_action_group_get_parameter_type(). + + + + + + the name of the action to activate + + + + parameters to the activation + + + + + + Checks if the named action within @action_group is currently enabled. +An action must be enabled in order to be activated or in order to +have its state changed from outside callers. + + whether or not the action is currently enabled + + + + + the name of the action to query + + + + + + Queries the type of the parameter that must be given when activating +the named action within @action_group. +When activating the action using g_action_group_activate(), the +#GVariant given to that function must be of the type returned by this +function. +In the case that this function returns %NULL, you must not give any +#GVariant, but %NULL instead. +The parameter type of a particular action will never change but it is +possible for an action to be removed and for a new action to be added +with the same name but a different parameter type. + + the parameter type + + + + + the name of the action to query + + + + + + Queries the current state of the named action within @action_group. +If the action is not stateful then %NULL will be returned. If the +action is stateful then the type of the return value is the type +given by g_action_group_get_state_type(). +The return value (if non-%NULL) should be freed with +g_variant_unref() when it is no longer required. + + the current state of the action + + + + + the name of the action to query + + + + + + Requests a hint about the valid range of values for the state of the +named action within @action_group. +If %NULL is returned it either means that the action is not stateful +or that there is no hint about the valid range of values for the +state of the action. +If a #GVariant array is returned then each item in the array is a +returned then the tuple specifies the inclusive lower and upper bound +of valid values for the state. +In any case, the information is merely a hint. It may be possible to +have a state value outside of the hinted range and setting a value +within the range may fail. +The return value (if non-%NULL) should be freed with +g_variant_unref() when it is no longer required. + + the state range hint + + + + + the name of the action to query + + + + + + Queries the type of the state of the named action within +If the action is stateful then this function returns the +#GVariantType of the state. All calls to g_action_group_set_state() +must give a #GVariant of this type and g_action_group_get_state() +will return a #GVariant of the same type. +If the action is not stateful then this function will return %NULL. +In that case, g_action_group_get_state() will return %NULL and you +must not call g_action_group_set_state(). +The state type of a particular action will never change but it is +possible for an action to be removed and for a new action to be added +with the same name but a different state type. + + the state type, if the action is stateful + + + + + the name of the action to query + + + + + + Checks if the named action exists within @action_group. + + whether the named action exists + + + + + the name of the action to check for + + + + + + Lists the actions contained within @action_group. +The caller is responsible for freeing the list with g_strfreev() when +it is no longer required. +actions in the groupb + + a %NULL-terminated array of the names of the + + + + + + + Request for the state of the named action within @action_group to be +changed to @value. +The action must be stateful and @value must be of the correct type. +See g_action_group_get_state_type(). +This call merely requests a change. The action may refuse to change +its state or may change its state to something other than @value. +See g_action_group_get_state_hint(). +If the @value GVariant is floating, it is consumed. + + + + + + the name of the action to request the change on + + + + the new state + + + + + + Signals that a new action was just added to the group. This signal +is emitted after the action has been added and is now visible. + + + + + + the name of the action in @action_group + + + + + + Signals that the enabled status of the named action has changed. + + + + + + the name of the action in @action_group + + + + whether the action is enabled or not + + + + + + Signals that an action is just about to be removed from the group. +This signal is emitted before the action is removed, so the action +is still visible and can be queried from the signal handler. + + + + + + the name of the action in @action_group + + + + + + Signals that the state of the named action has changed. + + + + + + the name of the action in @action_group + + + + the new value of the state + + + + + + + The virtual function table for #GActionGroup. + + + + + + + whether the named action exists + + + + + + + + the name of the action to check for + + + + + + + + + a %NULL-terminated array of the names of the + + + + + + + + + + + + + + + whether or not the action is currently enabled + + + + + + + + the name of the action to query + + + + + + + + + the parameter type + + + + + + + + the name of the action to query + + + + + + + + + the state type, if the action is stateful + + + + + + + + the name of the action to query + + + + + + + + + the state range hint + + + + + + + + the name of the action to query + + + + + + + + + the current state of the action + + + + + + + + the name of the action to query + + + + + + + + + + + + + + + + the name of the action to request the change on + + + + the new state + + + + + + + + + + + + + + + + the name of the action to activate + + + + parameters to the activation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + the name of the action + + + + + + + + + + + + + the parameter type + + + + + + + + + + + + + the state type, if the action is stateful + + + + + + + + + + + + + the state range hint + + + + + + + + + + + + + whether the action is enabled + + + + + + + + + + + + + the current state of the action + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + the parameter to the activation + + + + + + + Information about an installed application and methods to launch +it (with file arguments). + + Adds a content type to the application information to indicate the +application is capable of opening files with the given content type. + + %TRUE on success, %FALSE on error. + + + + + a string. + + + + + + Obtains the information whether the #GAppInfo can be deleted. +See g_app_info_delete(). + + %TRUE if @appinfo can be deleted + + + + + Checks if a supported content type can be removed from an application. +content types from a given @appinfo, %FALSE if not. + + %TRUE if it is possible to remove supported + + + + + Tries to delete a #GAppInfo. +On some platforms, there may be a difference between user-defined +#GAppInfo<!-- -->s which can be deleted, and system-wide ones which +cannot. See g_app_info_can_delete(). + + %TRUE if @appinfo has been deleted + + + + Creates a duplicate of a #GAppInfo. + a duplicate of @appinfo. + Checks if two #GAppInfo<!-- -->s are equal. - + %TRUE if @appinfo1 is equal to @appinfo2. %FALSE otherwise. + + the second #GAppInfo. - - - - - - + + Gets the commandline with which the application will be +started. +or %NULL if this information is not available + a string containing the @appinfo's commandline, + Gets a human-readable description of an installed application. +application @appinfo, or %NULL if none. + a string containing a description of the + + + + + Gets the display name of the application. The display name is often more +descriptive to the user than the name itself. +no display name is available. + + the display name of the application for @appinfo, or the name if + Gets the executable's name for the installed application. +binaries name + a string containing the @appinfo's application - + Gets the icon for the application. + + the default #GIcon for @appinfo. - + + Gets the ID of an application. An id is a string that +identifies the application. The exact format of the id is +platform dependent. For instance, on Unix this is the +desktop file id from the xdg menu specification. +Note that the returned ID may be %NULL, depending on how +the @appinfo has been constructed. - + a string containing the application's ID. + + + + + Gets the installed name of the application. + + the name of the application for @appinfo. + + + + + Launches the application. Passes @files to the launched application +as arguments, using the optional @launch_context to get information +about the details of the launcher (like what screen it is on). +On error, @error will be set accordingly. +To launch the application without arguments pass a %NULL @files list. +Note that even if the launch is successful the application launched +can fail to start if it runs into problems during startup. There is +no way to detect this. +Some URIs can be changed when passed through a GFile (for instance +unsupported uris with strange formats like mailto:), so if you have +a textual uri you want to pass in as argument, consider using +g_app_info_launch_uris() instead. +On UNIX, this function sets the <envvar>GIO_LAUNCHED_DESKTOP_FILE</envvar> +environment variable with the path of the launched desktop file and +<envvar>GIO_LAUNCHED_DESKTOP_FILE_PID</envvar> to the process +id of the launched process. This can be used to ignore +<envvar>GIO_LAUNCHED_DESKTOP_FILE</envvar>, should it be inherited +by further processes. The <envvar>DISPLAY</envvar> and +<envvar>DESKTOP_STARTUP_ID</envvar> environment variables are also +set, based on information provided in @launch_context. + + %TRUE on successful launch, %FALSE otherwise. + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + a #GAppLaunchContext or %NULL - - + + + Launches the application. Passes @uris to the launched application +as arguments, using the optional @launch_context to get information +about the details of the launcher (like what screen it is on). +On error, @error will be set accordingly. +To lauch the application without arguments pass a %NULL @uris list. +Note that even if the launch is successful the application launched +can fail to start if it runs into problems during startup. There is +no way to detect this. - - - - - - - - - - - + %TRUE on successful launch, %FALSE otherwise. + + a #GList containing URIs to launch. @@ -270,23 +1335,288 @@ it (with file arguments)." + a #GAppLaunchContext or %NULL + + + + + + Removes a supported type from an application, if possible. + + %TRUE on success, %FALSE on error. + + + + + a string. + + + + + + Sets the application as the default handler for the given file extension. + + %TRUE on success, %FALSE on error. + + + + + a string containing the file extension (without the dot). + + + + + + Sets the application as the default handler for a given type. + + %TRUE on success, %FALSE on error. + + + + + the content type. + + + + + + Checks if the application info should be shown in menus that +list available applications. + + %TRUE if the @appinfo should be shown, %FALSE otherwise. + + + + + Checks if the application accepts files as arguments. + + %TRUE if the @appinfo supports files. + + + + + Checks if the application supports reading files and directories from URIs. + + %TRUE if the @appinfo supports URIs. + + + + + Adds a content type to the application information to indicate the +application is capable of opening files with the given content type. + + %TRUE on success, %FALSE on error. + + + + + a string. + + + + + + Obtains the information whether the #GAppInfo can be deleted. +See g_app_info_delete(). + + %TRUE if @appinfo can be deleted + + + + + Checks if a supported content type can be removed from an application. +content types from a given @appinfo, %FALSE if not. + + %TRUE if it is possible to remove supported + + + + + Tries to delete a #GAppInfo. +On some platforms, there may be a difference between user-defined +#GAppInfo<!-- -->s which can be deleted, and system-wide ones which +cannot. See g_app_info_can_delete(). + + %TRUE if @appinfo has been deleted + + + + + Creates a duplicate of a #GAppInfo. + + a duplicate of @appinfo. + + + + + Checks if two #GAppInfo<!-- -->s are equal. + + %TRUE if @appinfo1 is equal to @appinfo2. %FALSE otherwise. + + + + + the second #GAppInfo. + + + + + + Gets the commandline with which the application will be +started. +or %NULL if this information is not available + + a string containing the @appinfo's commandline, + + + + + Gets a human-readable description of an installed application. +application @appinfo, or %NULL if none. + + a string containing a description of the + + + + + Gets the display name of the application. The display name is often more +descriptive to the user than the name itself. +no display name is available. + + the display name of the application for @appinfo, or the name if + + + + + Gets the executable's name for the installed application. +binaries name + + a string containing the @appinfo's application + + + + + Gets the icon for the application. + + the default #GIcon for @appinfo. + + + + + Gets the ID of an application. An id is a string that +identifies the application. The exact format of the id is +platform dependent. For instance, on Unix this is the +desktop file id from the xdg menu specification. +Note that the returned ID may be %NULL, depending on how +the @appinfo has been constructed. + + a string containing the application's ID. + + + + + Gets the installed name of the application. + + the name of the application for @appinfo. + + + + + Launches the application. Passes @files to the launched application +as arguments, using the optional @launch_context to get information +about the details of the launcher (like what screen it is on). +On error, @error will be set accordingly. +To launch the application without arguments pass a %NULL @files list. +Note that even if the launch is successful the application launched +can fail to start if it runs into problems during startup. There is +no way to detect this. +Some URIs can be changed when passed through a GFile (for instance +unsupported uris with strange formats like mailto:), so if you have +a textual uri you want to pass in as argument, consider using +g_app_info_launch_uris() instead. +On UNIX, this function sets the <envvar>GIO_LAUNCHED_DESKTOP_FILE</envvar> +environment variable with the path of the launched desktop file and +<envvar>GIO_LAUNCHED_DESKTOP_FILE_PID</envvar> to the process +id of the launched process. This can be used to ignore +<envvar>GIO_LAUNCHED_DESKTOP_FILE</envvar>, should it be inherited +by further processes. The <envvar>DISPLAY</envvar> and +<envvar>DESKTOP_STARTUP_ID</envvar> environment variables are also +set, based on information provided in @launch_context. + + %TRUE on successful launch, %FALSE otherwise. + + + + + a #GList of #GFile objects + + + + + + a #GAppLaunchContext or %NULL - - - - - - + Launches the application. Passes @uris to the launched application +as arguments, using the optional @launch_context to get information +about the details of the launcher (like what screen it is on). +On error, @error will be set accordingly. +To lauch the application without arguments pass a %NULL @uris list. +Note that even if the launch is successful the application launched +can fail to start if it runs into problems during startup. There is +no way to detect this. - + %TRUE on successful launch, %FALSE otherwise. + + + + + a #GList containing URIs to launch. + + + + + + a #GAppLaunchContext or %NULL + + + + + + Removes a supported type from an application, if possible. + + %TRUE on success, %FALSE on error. + + a string. @@ -294,61 +1624,61 @@ it (with file arguments)." + Sets the application as the default handler for the given file extension. - + %TRUE on success, %FALSE on error. + + a string containing the file extension (without the dot). - + Sets the application as the default handler for a given type. - + %TRUE on success, %FALSE on error. + + the content type. - + + Checks if the application info should be shown in menus that +list available applications. - + %TRUE if the @appinfo should be shown, %FALSE otherwise. + - + + Checks if the application accepts files as arguments. - - - - - - - - - - - + %TRUE if the @appinfo supports files. + - + + Checks if the application supports reading files and directories from URIs. - + %TRUE if the @appinfo supports URIs. + + Flags used when creating a #GAppInfo. + + glib:is-gtype-struct-for="AppInfo"> + Application Information interface, for operating system portability. - + + a duplicate of @appinfo. @@ -384,23 +1717,26 @@ Application Information interface, for operating system portability."> - + - + %TRUE if @appinfo1 is equal to @appinfo2. %FALSE otherwise. + + the second #GAppInfo. - + + a string containing the application's ID. @@ -411,8 +1747,9 @@ Application Information interface, for operating system portability."> - + + the name of the application for @appinfo. @@ -423,8 +1760,9 @@ Application Information interface, for operating system portability."> - + + a string containing a description of the @@ -435,8 +1773,9 @@ Application Information interface, for operating system portability."> - + + a string containing the @appinfo's application @@ -447,8 +1786,9 @@ Application Information interface, for operating system portability."> - - + + + the default #GIcon for @appinfo. @@ -459,27 +1799,34 @@ Application Information interface, for operating system portability."> - + - + %TRUE on successful launch, %FALSE otherwise. + - + + + - + + a #GAppLaunchContext or %NULL - + - + %TRUE if the @appinfo supports URIs. + @@ -489,9 +1836,10 @@ Application Information interface, for operating system portability."> - + - + %TRUE if the @appinfo supports files. + @@ -501,27 +1849,35 @@ Application Information interface, for operating system portability."> - + - + %TRUE on successful launch, %FALSE otherwise. + - + a #GList containing URIs to launch. + + + - + + a #GAppLaunchContext or %NULL - + - + %TRUE if the @appinfo should be shown, %FALSE otherwise. + @@ -531,61 +1887,61 @@ Application Information interface, for operating system portability."> - + - + %TRUE on success, %FALSE on error. + + the content type. - + - + %TRUE on success, %FALSE on error. + + a string containing the file extension (without the dot). - + - + %TRUE on success, %FALSE on error. + + a string. - + - + %TRUE if it is possible to remove supported + @@ -595,26 +1951,27 @@ Application Information interface, for operating system portability."> - + - + %TRUE on success, %FALSE on error. + + a string. - + - + %TRUE if @appinfo can be deleted + @@ -624,9 +1981,10 @@ Application Information interface, for operating system portability."> - + - + %TRUE if @appinfo has been deleted + @@ -636,8 +1994,9 @@ Application Information interface, for operating system portability."> - + + a string containing the @appinfo's commandline, @@ -648,8 +2007,9 @@ Application Information interface, for operating system portability."> - + + the display name of the application for @appinfo, or the name if @@ -661,91 +2021,141 @@ Application Information interface, for operating system portability."> + Integrating the launch with the launching application. This is used to +handle for instance startup notification and launching the new application +on the same screen as the launching window. + Creates a new application launch context. This is not normally used, +instead you instantiate a subclass of this, such as #GdkAppLaunchContext. + a #GAppLaunchContext. + Gets the display string for the @context. This is used to ensure new +applications are started on the same display as the launching +application, by setting the <envvar>DISPLAY</envvar> environment variable. + a display string for the display. + a #GAppInfo - + a #GList of #GFile objects + + + + Initiates startup notification for the application and returns the +<envvar>DESKTOP_STARTUP_ID</envvar> for the launched operation, +if supported. +Startup notification IDs are defined in the <ulink +url="http://standards.freedesktop.org/startup-notification-spec/startup-notification-latest.txt"> +FreeDesktop.Org Startup Notifications standard</ulink>. +not supported. + a startup notification ID for the application, or %NULL if + a #GAppInfo - + a #GList of of #GFile objects + + + + Called when an application has failed to launch, so that it can cancel +the application startup notification started in g_app_launch_context_get_startup_notify_id(). + the startup notification id that was returned by g_app_launch_context_get_startup_notify_id(). + Gets the display string for the @context. This is used to ensure new +applications are started on the same display as the launching +application, by setting the <envvar>DISPLAY</envvar> environment variable. + a display string for the display. + a #GAppInfo - + a #GList of #GFile objects + + + + Initiates startup notification for the application and returns the +<envvar>DESKTOP_STARTUP_ID</envvar> for the launched operation, +if supported. +Startup notification IDs are defined in the <ulink +url="http://standards.freedesktop.org/startup-notification-spec/startup-notification-latest.txt"> +FreeDesktop.Org Startup Notifications standard</ulink>. +not supported. + a startup notification ID for the application, or %NULL if + a #GAppInfo - + a #GList of of #GFile objects + + + + Called when an application has failed to launch, so that it can cancel +the application startup notification started in g_app_launch_context_get_startup_notify_id(). + the startup notification id that was returned by g_app_launch_context_get_startup_notify_id(). @@ -765,8 +2175,9 @@ on the same screen as the launching window." - + + a display string for the display. @@ -774,17 +2185,22 @@ on the same screen as the launching window." + a #GAppInfo - + a #GList of #GFile objects + + + - + + a startup notification ID for the application, or %NULL if @@ -792,16 +2208,20 @@ on the same screen as the launching window." + a #GAppInfo - + a #GList of of #GFile objects + + + - + @@ -810,56 +2230,630 @@ on the same screen as the launching window." + the startup notification id that was returned by g_app_launch_context_get_startup_notify_id(). - - + + - - + + - - + + - - + + - - + + - + + + + The <structname>GApplication</structname> structure contains private +data and should only be accessed using the provided API + + + Create a new #GApplication. This uses a platform-specific +mechanism to ensure the current process is the unique owner of the +application (as defined by the @appid). If successful, the +#GApplication:is-remote property will be %FALSE, and it is safe to +continue creating other resources such as graphics windows. +If the given @appid is already running in another process, the the +GApplication::activate_with_data signal will be emitted in the +remote process, with the data from @argv and other +platform-specific data available. Subsequently the +#GApplication:default-quit property will be evaluated. If it's +%TRUE, then the current process will terminate. If %FALSE, then +the application remains in the #GApplication:is-remote state, and +you can e.g. call g_application_invoke_action(). Note that proxy +instances should not call g_application_add_action(). +This function may do synchronous I/O to obtain unique ownership +of the application id, and will block the calling thread in this +case. +If the environment does not support the basic functionality of +#GApplication, this function will invoke g_error(), which by +default is a fatal operation. This may arise for example on +UNIX systems using D-Bus when the session bus is not available. +As a convenience, this function is defined to call g_type_init() as +its very first action. + + An application instance + + + + + System-dependent application identifier + + + + Number of arguments in @argv + + + + Argument vector, usually from the <parameter>argv</parameter> parameter of main() + + + + + + + + This function is similar to g_application_new(), but allows for +more graceful fallback if the environment doesn't support the +basic #GApplication functionality. + + An application instance + + + + + System-dependent application identifier + + + + Number of arguments in @argv + + + + Argument vector, usually from the <parameter>argv</parameter> parameter of main() + + + + + + + + This function is similar to g_application_try_new(), but also +sets the GApplication:register property to %FALSE. You can later +call g_application_register() to complete initialization. + + An application instance + + + + + System-dependent application identifier + + + + Number of arguments in @argv + + + + Argument vector, usually from the <parameter>argv</parameter> parameter of main() + + + + + + + + In the normal case where there is exactly one #GApplication instance +in this process, return that instance. If there are multiple, the +first one created will be returned. Otherwise, return %NULL. +or %NULL if none is set + + The primary instance of #GApplication, + + + + + Starts the application. +The default implementation of this virtual function will simply run +a main loop. +It is an error to call this function if @application is a proxy for +a remote application. + + + + + + Adds an action @name to the list of exported actions of @application. +It is an error to call this function if @application is a proxy for +a remote application. +You can invoke an action using g_application_invoke_action(). +The newly added action is enabled by default; you can call +g_application_set_action_enabled() to disable it. + + + + + + the action name + + + + the action description; can be a translatable string + + + + + + Gets the description of the action @name. +It is an error to call this function if @application is a proxy for +a remote application. + + Description for the given action named @name + + + + + Action name + + + + + + Retrieves whether the action @name is enabled or not. +See g_application_set_action_enabled(). +It is an error to call this function if @application is a proxy for +a remote application. + + %TRUE if the action was enabled, and %FALSE otherwise + + + + + the name of the action + + + + + + Retrieves the platform-specific identifier for the #GApplication. +is owned by the #GApplication instance and it should never be +modified or freed + + The platform-specific identifier. The returned string + + + + + Invokes the action @name of the passed #GApplication. +This function has different behavior depending on whether @application +is acting as a proxy for another process. In the normal case where +the current process is hosting the application, and the specified +action exists and is enabled, the #GApplication::action signal will +be emitted. +If @application is a proxy, then the specified action will be invoked +in the remote process. It is not necessary to call +g_application_add_action() in the current process in order to invoke +one remotely. + + + + + + the name of the action to invoke + + + + platform-specific event data + + + + + + Returns whether the object represents a proxy for a remote application. + + %TRUE if this object represents a proxy for a remote application. + + + + + Retrieves the list of action names currently exported by @application. +It is an error to call this function if @application is a proxy for +a remote application. +of strings containing action names; use g_strfreev() to free the +resources used by the returned array + + a newly allocation, %NULL-terminated array + + + + + + + Request that the application quits. +This function has different behavior depending on whether @application +is acting as a proxy for another process. In the normal case where +the current process is hosting the application, the default +implementation will quit the main loop created by g_application_run(). +If @application is a proxy, then the remote process will be asked +to quit. + + %TRUE if the application accepted the request, %FALSE otherwise + + + + + platform-specific data + + + + + + By default, #GApplication ensures process uniqueness when +initialized, but this behavior is controlled by the +GApplication:register property. If it was given as %FALSE at +construction time, this function allows you to later attempt +to ensure uniqueness. Note that the GApplication:default-quit +property no longer applies at this point; if this function returns +%FALSE, platform activation will occur, but the current process +will not be terminated. +It is an error to call this function more than once. It is +also an error to call this function if the GApplication:register +property was %TRUE at construction time. + + %TRUE if registration was successful + + + + + Removes the action @name from the list of exported actions of @application. +It is an error to call this function if @application is a proxy for +a remote application. + + + + + + the name of the action to remove + + + + + + Starts the application. +The default implementation of this virtual function will simply run +a main loop. +It is an error to call this function if @application is a proxy for +a remote application. + + + + + + Sets whether the action @name inside @application should be enabled +or disabled. +It is an error to call this function if @application is a proxy for +a remote application. +Invoking a disabled action will not result in the #GApplication::action +signal being emitted. + + + + + + the name of the application + + + + whether to enable or disable the action @name + + + + + + The unique identifier for this application. See the documentation for +#GApplication for more information about this property. + + + + The argument vector given to this application. It must be a #GVariant +with a type signature "aay". + + + + By default, if the GApplication:register property is %TRUE, and a +different process is running this application, the process will +be exited. Set this property to %FALSE to allow custom +interaction with the remote process. + + + + This property is %TRUE if this application instance represents a proxy +to the instance of this application in another process. + + + + Platform-specific data retrieved from the operating system +environment. It must be a #GVariant with type signature "a{sv}". + + + + If this property is %FALSE, the application construction will not attempt +to ensure process uniqueness, and the application is guaranteed to be in the +remote state. See GApplication:is-remote. + + + + + + + + + + This signal is emitted when an action is activated. The action name +is passed as the first argument, but also as signal detail, so it +is possible to connect to this signal for individual actions. +The signal is never emitted for disabled actions. + + + + + + The name of the activated action + + + + Platform-specific data, or %NULL + + + + + + This signal is emitted when a non-primary process for a given +application is invoked while your application is running; for +example, when a file browser launches your program to open a +file. The raw operating system arguments are passed in the +stored in @platform_data. + + + + + + A #GVariant with the signature "aay" + + + + A #GVariant with the signature "a{sv}", or %NULL + + + + + + This signal is emitted when the Quit action is invoked on the +application. +The default handler for this signal exits the mainloop of the +application. +signal emission + + %TRUE if the signal has been handled, %FALSE to continue + + + + + Platform-specific data, or %NULL + + + + + + + The <structname>GApplicationClass</structname> structure contains +private data only + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #GAskPasswordFlags are used to request specific information from the +user, or to notify the user of their choices in an authentication +situation. - + Interface for asynchronously initializable objects. + + Starts asynchronous initialization of the object implementing the +interface. This must be done before any real use of the object after +initial construction. If the object also implements #GInitable you can +optionally call g_initable_init() instead. +When the initialization is finished, @callback will be called. You can +then call g_async_initable_init_finish() to get the result of the +initialization. +Implementations may also support cancellation. If @cancellable is not +%NULL, then initialization can be cancelled by triggering the cancellable +object from another thread. If the operation was cancelled, the error +%G_IO_ERROR_CANCELLED will be returned. If @cancellable is not %NULL, and +the object doesn't support cancellable initialization, the error +%G_IO_ERROR_NOT_SUPPORTED will be returned. +If this function is not called, or returns with an error, then all +operations on the object should fail, generally returning the +error %G_IO_ERROR_NOT_INITIALIZED. +to this function with the same argument should return the same results. +Only the first call initializes the object; further calls return the result +of the first call. This is so that it's safe to implement the singleton +pattern in the GObject constructor function. +For classes that also support the #GInitable interface, the default +implementation of this method will run the g_initable_init() function +in a thread, so if you want to support asynchronous initialization via +threads, just implement the #GAsyncInitable interface without overriding +any interface methods. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + the <link linkend="io-priority">I/O priority</link> of the operation. + + optional #GCancellable object, %NULL to ignore. + closure="3"> + a #GAsyncReadyCallback to call when the request is satisfied + + + + the data to pass to callback function + + + + + + Finishes asynchronous initialization and returns the result. +See g_async_initable_init_async(). +will return %FALSE and set @error appropriately if present. + + %TRUE if successful. If an error has occurred, this function + + + + + a #GAsyncResult. + + + + + + Starts asynchronous initialization of the object implementing the +interface. This must be done before any real use of the object after +initial construction. If the object also implements #GInitable you can +optionally call g_initable_init() instead. +When the initialization is finished, @callback will be called. You can +then call g_async_initable_init_finish() to get the result of the +initialization. +Implementations may also support cancellation. If @cancellable is not +%NULL, then initialization can be cancelled by triggering the cancellable +object from another thread. If the operation was cancelled, the error +%G_IO_ERROR_CANCELLED will be returned. If @cancellable is not %NULL, and +the object doesn't support cancellable initialization, the error +%G_IO_ERROR_NOT_SUPPORTED will be returned. +If this function is not called, or returns with an error, then all +operations on the object should fail, generally returning the +error %G_IO_ERROR_NOT_INITIALIZED. +to this function with the same argument should return the same results. +Only the first call initializes the object; further calls return the result +of the first call. This is so that it's safe to implement the singleton +pattern in the GObject constructor function. +For classes that also support the #GInitable interface, the default +implementation of this method will run the g_initable_init() function +in a thread, so if you want to support asynchronous initialization via +threads, just implement the #GAsyncInitable interface without overriding +any interface methods. + + + + + + the <link linkend="io-priority">I/O priority</link> of the operation. + + + + optional #GCancellable object, %NULL to ignore. + + + + a #GAsyncReadyCallback to call when the request is satisfied - + the data to pass to callback function + + Finishes asynchronous initialization and returns the result. +See g_async_initable_init_async(). +will return %FALSE and set @error appropriately if present. - + %TRUE if successful. If an error has occurred, this function + + a #GAsyncResult. + Finishes the async construction for the various g_async_initable_new calls, +returning the created object or %NULL on error. +g_object_unref(). + a newly created #GObject, or %NULL on error. Free with + the #GAsyncResult.from the callback @@ -971,14 +3049,14 @@ situation." + Provides an interface for asynchronous initializing object such that +initialization may fail. - + @@ -987,97 +3065,120 @@ initialization may fail." - + the <link linkend="io-priority">I/O priority</link> of the operation. + + optional #GCancellable object, %NULL to ignore. - + + a #GAsyncReadyCallback to call when the request is satisfied - + the data to pass to callback function + - + - + %TRUE if successful. If an error has occurred, this function + + a #GAsyncResult. - + + Type definition for a function that will be called back when an asynchronous +operation within GIO has been completed. + the object the asynchronous operation was started with. + a #GAsyncResult. - + user data passed to the callback. + - - - - - + Holds results information for an asynchronous operation, +usually passed directly to a asynchronous _finish() operation. + Gets the source object from a #GAsyncResult. +or %NULL if there is none. + a new reference to the source object for the @res, - - - + + Gets the user data from a #GAsyncResult. + + the user data for @res. + - + + Gets the source object from a #GAsyncResult. +or %NULL if there is none. + a new reference to the source object for the @res, + + Gets the user data from a #GAsyncResult. + + the user data for @res. + + + + glib:is-gtype-struct-for="AsyncResult"> + Interface definition for #GAsyncResult. - - - + + + the user data for @res. + @@ -1087,8 +3188,9 @@ usually passed directly to a asynchronous _finish() operation." - + + a new reference to the source object for the @res, @@ -1100,208 +3202,323 @@ usually passed directly to a asynchronous _finish() operation." + Implements #GFilterInputStream with a sized input buffer. + Creates a new #GInputStream from the given @base_stream, with +a buffer set to the default size (4 kilobytes). - + a #GInputStream for the given @base_stream. + + a #GInputStream + Creates a new #GBufferedInputStream from the given @base_stream, +with a buffer set to @size. - + a #GInputStream. + + a #GInputStream - + a #gsize + + Tries to read @count bytes from the stream into the buffer. +Will block during this read. +If @count is zero, returns zero and does nothing. A value of @count +larger than %G_MAXSSIZE will cause a %G_IO_ERROR_INVALID_ARGUMENT error. +On success, the number of bytes read into the buffer is returned. +It is not an error if this is not the same as the requested size, as it +can happen e.g. near the end of a file. Zero is returned on end of file +(or if @count is zero), but never otherwise. +If @count is -1 then the attempted read size is equal to the number of +bytes that are required to fill the buffer. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If an +operation was partially finished when the operation was cancelled the +partial result will be returned, without an error. +On error -1 is returned and @error is set accordingly. +For the asynchronous, non-blocking, version of this function, see +g_buffered_input_stream_fill_async(). +or -1 on error. - + the number of bytes read into @stream's buffer, up to @count, + - + the number of bytes that will be read from the stream + + optional #GCancellable object, %NULL to ignore + Reads data into @stream's buffer asynchronously, up to @count size. +version of this function, see g_buffered_input_stream_fill(). +If @count is -1 then the attempted read size is equal to the number +of bytes that are required to fill the buffer. - + the number of bytes that will be read from the stream + - + the <link linkend="io-priority">I/O priority</link> of the request + + optional #GCancellable object - + + a #GAsyncReadyCallback - - + + a #gpointer + + Finishes an asynchronous read. - + a #gssize of the read stream, or %-1 on an error. + + a #GAsyncResult - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + Tries to read @count bytes from the stream into the buffer. +Will block during this read. +If @count is zero, returns zero and does nothing. A value of @count +larger than %G_MAXSSIZE will cause a %G_IO_ERROR_INVALID_ARGUMENT error. +On success, the number of bytes read into the buffer is returned. +It is not an error if this is not the same as the requested size, as it +can happen e.g. near the end of a file. Zero is returned on end of file +(or if @count is zero), but never otherwise. +If @count is -1 then the attempted read size is equal to the number of +bytes that are required to fill the buffer. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If an +operation was partially finished when the operation was cancelled the +partial result will be returned, without an error. +On error -1 is returned and @error is set accordingly. +For the asynchronous, non-blocking, version of this function, see +g_buffered_input_stream_fill_async(). +or -1 on error. - + the number of bytes read into @stream's buffer, up to @count, + - + the number of bytes that will be read from the stream + + optional #GCancellable object, %NULL to ignore + Reads data into @stream's buffer asynchronously, up to @count size. +version of this function, see g_buffered_input_stream_fill(). +If @count is -1 then the attempted read size is equal to the number +of bytes that are required to fill the buffer. - + the number of bytes that will be read from the stream + - + the <link linkend="io-priority">I/O priority</link> of the request + + optional #GCancellable object + closure="4"> + a #GAsyncReadyCallback - + a #gpointer + + Finishes an asynchronous read. - + a #gssize of the read stream, or %-1 on an error. + + a #GAsyncResult + + Gets the size of the available data within the stream. + + size of the available stream. + + + + + Gets the size of the input buffer. + + the current buffer size. + + + + + Peeks in the buffer, copying data of size @count into @buffer, +offset @offset bytes. + + a #gsize of the number of bytes peeked, or -1 on error. + + + + + a pointer to an allocated chunk of memory + + + + a #gsize + + + + a #gsize + + + + + + Returns the buffer with the currently available bytes. The returned +buffer must not be modified and will become invalid when reading from +the stream or filling the buffer. + + read-only buffer + + + + + a #gsize to get the number of bytes available in the buffer + + + + + Tries to read a single byte from the stream or the buffer. Will block +during this read. +On success, the byte read from the stream is returned. On end of stream +-1 is returned but it's not an exceptional error and @error is not set. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If an +operation was partially finished when the operation was cancelled the +partial result will be returned, without an error. +On error -1 is returned and @error is set accordingly. - + the byte read from the @stream, or -1 on end of stream or error. + + optional #GCancellable object, %NULL to ignore - - + + Sets the size of the internal buffer of @stream to @size, or to the +size of the contents of the buffer. The buffer can never be resized +smaller than its current contents. + + + + + + a #gsize + + + + + + @@ -1318,27 +3535,30 @@ usually passed directly to a asynchronous _finish() operation." - + - + the number of bytes read into @stream's buffer, up to @count, + - + the number of bytes that will be read from the stream + + optional #GCancellable object, %NULL to ignore - + @@ -1347,70 +3567,80 @@ usually passed directly to a asynchronous _finish() operation." - + the number of bytes that will be read from the stream + - + the <link linkend="io-priority">I/O priority</link> of the request + + optional #GCancellable object - + + a #GAsyncReadyCallback - + a #gpointer + - + - + a #gssize of the read stream, or %-1 on an error. + + a #GAsyncResult - - + + - - + + - - + + - - + + - - + + @@ -1418,78 +3648,102 @@ usually passed directly to a asynchronous _finish() operation." + c:type="GBufferedInputStreamPrivate" + disguised="1"> + An implementation of #GFilterOutputStream with a sized buffer. + Creates a new buffered output stream for a base stream. - + a #GOutputStream for the given @base_stream. + + a #GOutputStream. + Creates a new buffered output stream with a given buffer size. - + a #GOutputStream with an internal buffer set to @size. + + a #GOutputStream. - + a #gsize. + - - - - - - - - - - - - - - - + Checks if the buffer automatically grows as data is added. +%FALSE otherwise. - + %TRUE if the @stream's buffer automatically grows, + + + + + Gets the size of the buffer in the @stream. + + the current size of the buffer. + + Sets whether or not the @stream's buffer should automatically grow. +If @auto_grow is true, then each write will just make the buffer +larger, and you must manually flush the buffer to actually write out +the data to the underlying stream. - + a #gboolean. + - - + + Sets the size of the internal buffer to @size. + + + + + + a #gsize. + + + + + + - - + + @@ -1506,15 +3760,15 @@ usually passed directly to a asynchronous _finish() operation." - - + + - - + + @@ -1522,109 +3776,390 @@ usually passed directly to a asynchronous _finish() operation." + c:type="GBufferedOutputStreamPrivate" + disguised="1"> + + Invoked when a connection to a message bus has been obtained. + + + + + + The #GDBusConnection to a message bus. + + + + The name that is requested to be owned. + + + + User data passed to g_bus_own_name(). + + + + + + Invoked when the name is acquired. + + + + + + The #GDBusConnection on which to acquired the name. + + + + The name being owned. + + + + User data passed to g_bus_own_name() or g_bus_own_name_on_connection(). + + + + + + Invoked when the name being watched is known to have to have a owner. + + + + + + The #GDBusConnection the name is being watched on. + + + + The name being watched. + + + + Unique name of the owner of the name being watched. + + + + User data passed to g_bus_watch_name(). + + + + + + Invoked when the name is lost or @connection has been closed. + + + + + + The #GDBusConnection on which to acquire the name or %NULL if the connection was disconnected. + + + + The name being owned. + + + + User data passed to g_bus_own_name() or g_bus_own_name_on_connection(). + + + + + + Flags used in g_bus_own_name(). + + + + + + Invoked when the name being watched is known not to have to have a owner. + + + + + + The #GDBusConnection the name is being watched on. + + + + The name being watched. + + + + User data passed to g_bus_watch_name(). + + + + + + Flags used in g_bus_watch_name(). + + + + + An enumeration for well-known message buses. + + + + + + Allows actions to be cancelled. + Creates a new #GCancellable object. +Applications that want to start one or more operations +that should be cancellable should create a #GCancellable +and pass it to the operations. +One #GCancellable can be used in multiple consecutive +operations, but not in multiple concurrent operations. + a #GCancellable. - + Gets the top cancellable from the stack. +if the stack is empty. + + a #GCancellable from the top of the stack, or %NULL - - - - - - - - - - - - - - - - - - - - - - - - - - + + Will set @cancellable to cancelled, and will emit the +#GCancellable::cancelled signal. (However, see the warning about +race conditions in the documentation for that signal if you are +planning to connect to it.) +This function is thread-safe. In other words, you can safely call +it from a thread other than the one running the operation that was +passed the @cancellable. +The convention within gio is that cancelling an asynchronous +operation causes it to complete asynchronously. That is, if you +cancel the operation from the same thread in which it is running, +then the operation's #GAsyncReadyCallback will not be invoked until +the application returns to the main loop. - + + Convenience function to connect to the #GCancellable::cancelled +signal. Also handles the race condition that may happen +if the cancellable is cancelled right before connecting. +time of the connect if @cancellable is already cancelled, +or when @cancellable is cancelled in some thread. +disconnected, or immediately if the cancellable is already +cancelled. +See #GCancellable::cancelled for details on how to use this. +been cancelled. - - - - - - - - - - - - - - - - + The id of the signal handler or 0 if @cancellable has already + + closure="1" + destroy="2"> + The #GCallback to connect. - + Data to pass to @callback. + + scope="async"> + Free function for @data or %NULL. - + + Disconnects a handler from a cancellable instance similar to +g_signal_handler_disconnect(). Additionally, in the event that a +signal handler is currently running, this call will block until the +handler has finished. Calling this function from a +#GCancellable::cancelled signal handler will therefore result in a +deadlock. +This avoids a race condition where a thread cancels at the +same time as the cancellable operation is finished and the +signal handler is removed. See #GCancellable::cancelled for +details on how to use this. +If @cancellable is %NULL or @handler_id is %0 this function does +nothing. - + Handler id of the handler to be disconnected, or %0. + - + + Gets the file descriptor for a cancellable job. This can be used to +implement cancellable operations on Unix systems. The returned fd will +turn readable when @cancellable is cancelled. +You are not supposed to read from the fd yourself, just check for +readable status. Reading to unset the readable status is done +with g_cancellable_reset(). +After a successful return from this function, you should use +g_cancellable_release_fd() to free up resources allocated for +the returned file descriptor. +See also g_cancellable_make_pollfd(). +is not supported, or on errors. + + A valid file descriptor. %-1 if the file descriptor + + + + + Checks if a cancellable job has been cancelled. +FALSE if called with %NULL or if item is not cancelled. + + %TRUE if @cancellable is cancelled, + + + + + Creates a #GPollFD corresponding to @cancellable; this can be passed +to g_poll() and used to poll for cancellation. This is useful both +for unix systems without a native poll and for portability to +windows. +When this function returns %TRUE, you should use +g_cancellable_release_fd() to free up resources allocated for the +If this function returns %FALSE, either no @cancellable was given or +resource limits prevent this function from allocating the necessary +structures for polling. (On Linux, you will likely have reached +the maximum number of file descriptors.) The suggested way to handle +these cases is to ignore the @cancellable. +You are not supposed to read from the fd yourself, just check for +readable status. Reading to unset the readable status is done +with g_cancellable_reset(). +failure to prepare the cancellable. + + %TRUE if @pollfd was successfully initialized, %FALSE on + + + + + a pointer to a #GPollFD + + + + + + Pops @cancellable off the cancellable stack (verifying that @cancellable +is on the top of the stack). + + Pushes @cancellable onto the cancellable stack. The current +cancllable can then be recieved using g_cancellable_get_current(). +This is useful when implementing cancellable operations in +code that does not allow you to pass down the cancellable object. +This is typically called automatically by e.g. #GFile operations, +so you rarely have to call this yourself. + + + + + + Releases a resources previously allocated by g_cancellable_get_fd() +or g_cancellable_make_pollfd(). +For compatibility reasons with older releases, calling this function +is not strictly required, the resources will be automatically freed +when the @cancellable is finalized. However, the @cancellable will +block scarce file descriptors until it is finalized if this function +is not called. This can cause the application to run out of file +descriptors when many #GCancellables are used at the same time. + + + + + + Resets @cancellable to its uncancelled state. + + + + + + If the @cancellable is cancelled, sets the error to notify +that the operation was cancelled. + + %TRUE if @cancellable was cancelled, %FALSE if it was not. + + + @@ -1632,8 +4167,49 @@ usually passed directly to a asynchronous _finish() operation." - - + Emitted when the operation has been cancelled. +Can be used by implementations of cancellable operations. If the +operation is cancelled from another thread, the signal will be +emitted in the thread that cancelled the operation, not the +thread that is running the operation. +Note that disconnecting from this signal (or any signal) in a +multi-threaded program is prone to race conditions. For instance +it is possible that a signal handler may be invoked even +<emphasis>after</emphasis> a call to +g_signal_handler_disconnect() for that handler has already +returned. +There is also a problem when cancellation happen +right before connecting to the signal. If this happens the +signal will unexpectedly not be emitted, and checking before +connecting to the signal leaves a race condition where this is +still happening. +In order to make it safe and easy to connect handlers there +g_cancellable_disconnect() which protect against problems +like this. +An example of how to us this: +|[ +/<!-- -->* Make sure we don't do any unnecessary work if already cancelled *<!-- -->/ +if (g_cancellable_set_error_if_cancelled (cancellable)) +return; +/<!-- -->* Set up all the data needed to be able to +* handle cancellation of the operation *<!-- -->/ +my_data = my_data_new (...); +id = 0; +if (cancellable) +id = g_cancellable_connect (cancellable, +G_CALLBACK (cancelled_handler) +data, NULL); +/<!-- -->* cancellable operation here... *<!-- -->/ +g_cancellable_disconnect (cancellable, id); +/<!-- -->* cancelled_handler is never called after this, it +* is now safe to free the data *<!-- -->/ +my_data_free (my_data); +]| +Note that the cancelled signal is emitted in the thread that +the user cancelled from, which may be the main thread. So, the +cancellable signal should not do something that can block. + + @@ -1644,111 +4220,136 @@ usually passed directly to a asynchronous _finish() operation." - + - + - - + + - - + + - - + + - - + + - - + + - + + Conversions between character sets. + Creates a new #GCharsetConverter. + a new #GCharsetConverter or %NULL on error. + destination charset + source charset + + Gets the number of fallbacks that @converter has applied so far. + + the number of fallbacks that @converter has applied + + + + + Gets the #GCharsetConverter:use-fallback property. + + %TRUE if fallbacks are used by @converter + + + + c:identifier="g_charset_converter_set_use_fallback" + version="2.24"> + Sets the #GCharsetConverter:use-fallback property. - + %TRUE to use fallbacks + - - - - - - - - - - - - + + - - + + - - + + - - + Seek object for streaming operations. + + This is the main operation used when converting data. It is to be called +multiple times in a loop, and each time it will do some work, i.e. +producing some output (in @outbuf) or consuming some input (from @inbuf) or +both. If its not possible to do any work an error is returned. +Note that a single call may not consume all input (or any input at all). +Also a call may produce output even if given no input, due to state stored +in the converter producing output. +If any data was either produced or consumed, and then an error happens, then +only the successful conversion is reported and the error is returned on the +next call. +A full conversion loop involves calling this method repeatedly, each time +giving it new input and space output space. When there is no more input +data after the data in @inbuf, the flag %G_CONVERTER_INPUT_AT_END must be set. +The loop will be (unless some error happens) returning %G_CONVERTER_CONVERTED +each time until all data is consumed and all output is produced, then +%G_CONVERTER_FINISHED is returned instead. Note, that %G_CONVERTER_FINISHED +may be returned even if %G_CONVERTER_INPUT_AT_END is not set, for instance +in a decompression converter where the end of data is detectable from the +data (and there might even be other data after the end of the compressed data). +When some data has successfully been converted @bytes_read and is set to +the number of bytes read from @inbuf, and @bytes_written is set to indicate +how many bytes was written to @outbuf. If there are more data to output +or consume (i.e. unless the G_CONVERTER_INPUT_AT_END is specified) then +G_CONVERTER_CONVERTED is returned, and if no more data is to be output +then G_CONVERTER_FINISHED is returned. +On error %G_CONVERTER_ERROR is returned and @error is set accordingly. +Some errors need special handling: +%G_IO_ERROR_NO_SPACE is returned if there is not enough space +to write the resulting converted data, the application should +call the function again with a larger @outbuf to continue. +%G_IO_ERROR_PARTIAL_INPUT is returned if there is not enough +input to fully determine what the conversion should produce, +and the %G_CONVERTER_INPUT_AT_END flag is not set. This happens for +example with an incomplete multibyte sequence when converting text, +or when a regexp matches up to the end of the input (and may match +further input). It may also happen when @inbuf_size is zero and +there is no more data to produce. +When this happens the application should read more input and then +call the function again. If further input shows that there is no +more data call the function again with the same data but with +the %G_CONVERTER_INPUT_AT_END flag set. This may cause the conversion +to finish as e.g. in the regexp match case (or, to fail again with +%G_IO_ERROR_PARTIAL_INPUT in e.g. a charset conversion where the +input is actually partial). +After g_converter_convert() has returned %G_CONVERTER_FINISHED the +converter object is in an invalid state where its not allowed +to call g_converter_convert() anymore. At this time you can only +free the object or call g_converter_reset() to reset it to the +initial state. +If the flag %G_CONVERTER_FLUSH is set then conversion is modified +to try to write out all internal state to the output. The application +has to call the function multiple times with the flag set, and when +the availible input has been consumed and all internal state has +been produced then %G_CONVERTER_FLUSHED (or %G_CONVERTER_FINISHED if +really at the end) is returned instead of %G_CONVERTER_CONVERTED. +This is somewhat similar to what happens at the end of the input stream, +but done in the middle of the data. +This has different meanings for different conversions. For instance +in a compression converter it would mean that we flush all the +compression state into output such that if you uncompress the +compressed data you get back all the input data. Doing this may +make the final file larger due to padding though. Another example +is a regexp conversion, where if you at the end of the flushed data +have a match, but there is also a potential longer match. In the +non-flushed case we would ask for more input, but when flushing we +treat this as the end of input and do the match. +Flushing is not always possible (like if a charset converter flushes +at a partial multibyte sequence). Converters are supposed to try +to produce as much output as possible and then return an error +(typically %G_IO_ERROR_PARTIAL_INPUT). + + a #GConverterResult, %G_CONVERTER_ERROR on error. - + the buffer containing the data to convert. + - + the number of bytes in @inbuf + - + a buffer to write converted data in. + - + the number of bytes in @outbuf, must be at least one + + a #GConvertFlags controlling the conversion details - - + + will be set to the number of bytes read from @inbuf on success + - - + + will be set to the number of bytes written to @outbuf on success + - + + Resets all internal state in the converter, making it behave +as if it was just created. If the converter has any internal +state that would produce output then that output is lost. - - + + This is the main operation used when converting data. It is to be called +multiple times in a loop, and each time it will do some work, i.e. +producing some output (in @outbuf) or consuming some input (from @inbuf) or +both. If its not possible to do any work an error is returned. +Note that a single call may not consume all input (or any input at all). +Also a call may produce output even if given no input, due to state stored +in the converter producing output. +If any data was either produced or consumed, and then an error happens, then +only the successful conversion is reported and the error is returned on the +next call. +A full conversion loop involves calling this method repeatedly, each time +giving it new input and space output space. When there is no more input +data after the data in @inbuf, the flag %G_CONVERTER_INPUT_AT_END must be set. +The loop will be (unless some error happens) returning %G_CONVERTER_CONVERTED +each time until all data is consumed and all output is produced, then +%G_CONVERTER_FINISHED is returned instead. Note, that %G_CONVERTER_FINISHED +may be returned even if %G_CONVERTER_INPUT_AT_END is not set, for instance +in a decompression converter where the end of data is detectable from the +data (and there might even be other data after the end of the compressed data). +When some data has successfully been converted @bytes_read and is set to +the number of bytes read from @inbuf, and @bytes_written is set to indicate +how many bytes was written to @outbuf. If there are more data to output +or consume (i.e. unless the G_CONVERTER_INPUT_AT_END is specified) then +G_CONVERTER_CONVERTED is returned, and if no more data is to be output +then G_CONVERTER_FINISHED is returned. +On error %G_CONVERTER_ERROR is returned and @error is set accordingly. +Some errors need special handling: +%G_IO_ERROR_NO_SPACE is returned if there is not enough space +to write the resulting converted data, the application should +call the function again with a larger @outbuf to continue. +%G_IO_ERROR_PARTIAL_INPUT is returned if there is not enough +input to fully determine what the conversion should produce, +and the %G_CONVERTER_INPUT_AT_END flag is not set. This happens for +example with an incomplete multibyte sequence when converting text, +or when a regexp matches up to the end of the input (and may match +further input). It may also happen when @inbuf_size is zero and +there is no more data to produce. +When this happens the application should read more input and then +call the function again. If further input shows that there is no +more data call the function again with the same data but with +the %G_CONVERTER_INPUT_AT_END flag set. This may cause the conversion +to finish as e.g. in the regexp match case (or, to fail again with +%G_IO_ERROR_PARTIAL_INPUT in e.g. a charset conversion where the +input is actually partial). +After g_converter_convert() has returned %G_CONVERTER_FINISHED the +converter object is in an invalid state where its not allowed +to call g_converter_convert() anymore. At this time you can only +free the object or call g_converter_reset() to reset it to the +initial state. +If the flag %G_CONVERTER_FLUSH is set then conversion is modified +to try to write out all internal state to the output. The application +has to call the function multiple times with the flag set, and when +the availible input has been consumed and all internal state has +been produced then %G_CONVERTER_FLUSHED (or %G_CONVERTER_FINISHED if +really at the end) is returned instead of %G_CONVERTER_CONVERTED. +This is somewhat similar to what happens at the end of the input stream, +but done in the middle of the data. +This has different meanings for different conversions. For instance +in a compression converter it would mean that we flush all the +compression state into output such that if you uncompress the +compressed data you get back all the input data. Doing this may +make the final file larger due to padding though. Another example +is a regexp conversion, where if you at the end of the flushed data +have a match, but there is also a potential longer match. In the +non-flushed case we would ask for more input, but when flushing we +treat this as the end of input and do the match. +Flushing is not always possible (like if a charset converter flushes +at a partial multibyte sequence). Converters are supposed to try +to produce as much output as possible and then return an error +(typically %G_IO_ERROR_PARTIAL_INPUT). + + a #GConverterResult, %G_CONVERTER_ERROR on error. - + the buffer containing the data to convert. + - + the number of bytes in @inbuf + - + a buffer to write converted data in. + - + the number of bytes in @outbuf, must be at least one + + a #GConvertFlags controlling the conversion details - - + + will be set to the number of bytes read from @inbuf on success + - - + + will be set to the number of bytes written to @outbuf on success + - + + Resets all internal state in the converter, making it behave +as if it was just created. If the converter has any internal +state that would produce output then that output is lost. + Flags used when calling a g_converter_convert(). + Provides an interface for converting data from one type +to another type. The conversion can be stateful +and may fail at any place. - - + + + a #GConverterResult, %G_CONVERTER_ERROR on error. @@ -1879,35 +4642,38 @@ and may fail at any place." - + the buffer containing the data to convert. + - + the number of bytes in @inbuf + - + a buffer to write converted data in. + - + the number of bytes in @outbuf, must be at least one + + a #GConvertFlags controlling the conversion details - - + + will be set to the number of bytes read from @inbuf on success + - - + + will be set to the number of bytes written to @outbuf on success + - + @@ -1920,34 +4686,45 @@ and may fail at any place." + An implementation of #GFilterInputStream that allows data +conversion. + Creates a new converter input stream for the @base_stream. - + a new #GInputStream. + + a #GInputStream + a #GConverter - + c:identifier="g_converter_input_stream_get_converter" + version="2.24"> + Gets the #GConverter that is used by @converter_stream. + + the converter of the converter input stream - - + + @@ -1963,36 +4740,36 @@ conversion." - - + + - - + + - - + + - - + + - - + + @@ -2000,37 +4777,49 @@ conversion." + c:type="GConverterInputStreamPrivate" + disguised="1"> + An implementation of #GFilterOutputStream that allows data +conversion. + Creates a new converter output stream for the @base_stream. - + a new #GOutputStream. + + a #GOutputStream + a #GConverter - + c:identifier="g_converter_output_stream_get_converter" + version="2.24"> + Gets the #GConverter that is used by @converter_stream. + + the converter of the converter output stream - - + + @@ -2047,36 +4836,36 @@ conversion." - - + + - - + + - - + + - - + + - - + + @@ -2084,14 +4873,15 @@ conversion." + c:type="GConverterOutputStreamPrivate" + disguised="1"> + Results returned from g_converter_convert(). - - - - - + + The #GCredentials structure contains only private data and +should only be accessed using the provided API. + + Creates a new #GCredentials object with credentials matching the +the current process. - + A #GCredentials. Free with g_object_unref(). + + + + + Gets a pointer to native credentials of type @native_type from +It is a programming error (which will cause an warning to be +logged) to use this method if there is no #GCredentials support for +the OS or if @native_type isn't supported by the OS. +operation there is no #GCredentials support for the OS or if +data, it is owned by @credentials. + + The pointer to native credentials or %NULL if the + - - + + The type of native credentials to get. + - - + + + Tries to get the UNIX user identifier from @credentials. This +method is only available on UNIX platforms. +This operation can fail if #GCredentials is not supported on the +OS or if the native credentials type does not contain information +about the UNIX user. + + The UNIX user identifier or -1 if @error is set. + + + + + Checks if @credentials and @other_credentials is the same user. +This operation can fail if #GCredentials is not supported on the +the OS. +user, %FALSE otherwise or if @error is set. + + %TRUE if @credentials and @other_credentials has the same + + + + + A #GCredentials. + + + + + + Copies the native credentials of type @native_type from @native +into @credentials. +It is a programming error (which will cause an warning to be +logged) to use this method if there is no #GCredentials support for +the OS or if @native_type isn't supported by the OS. - - + + The type of native credentials to set. + + + + A pointer to native credentials. + - + + Tries to set the UNIX user identifier on @credentials. This method +is only available on UNIX platforms. +This operation can fail if #GCredentials is not supported on the +OS or if the native credentials type does not contain information +about the UNIX user. + + %TRUE if @uid was set, %FALSE if error is set. + + + + + The UNIX user identifier to set. + + + + + + Creates a human-readable textual representation of @credentials +that can be used in logging and debug messages. The format of the +returned string may change in future GLib release. - + A string that should be freed with g_free(). + - + + + Class structure for #GCredentials. + + + Enumeration describing different kinds of native credential types. + + + + + + Information about an annotation. + + + + + + + + + + + + + + If @info is statically allocated does nothing. Otherwise increases +the reference count. + + The same @info. + + + + + If @info is statically allocated, does nothing. Otherwise decreases +the reference count of @info. When its reference count drops to 0, +the memory used is freed. + + + + + + + Information about an argument for a method or a signal. + + + + + + + + + + + + + + If @info is statically allocated does nothing. Otherwise increases +the reference count. + + The same @info. + + + + + If @info is statically allocated, does nothing. Otherwise decreases +the reference count of @info. When its reference count drops to 0, +the memory used is freed. + + + + + + + The #GDBusAuthObserver structure contains only private data and +should only be accessed using the provided API. + + Creates a new #GDBusAuthObserver object. + + A #GDBusAuthObserver. Free with g_object_unref(). + + + + + Emits the #GDBusAuthObserver::authorize-authenticated-peer signal on @observer. + + %TRUE if the peer is authorized, %FALSE if not. + + + + + A #GIOStream for the #GDBusConnection. + + + + Credentials received from the peer or %NULL. + + + + + + Emitted to check if a peer that is successfully authenticated +is authorized. + + %TRUE if the peer is authorized, %FALSE if not. + + + + + A #GIOStream for the #GDBusConnection. + + + + Credentials received from the peer or %NULL. + + + + + + + Flags used in g_dbus_connection_call() and similar APIs. + + + + + Capabilities negotiated with the remote peer. + + + + + The #GDBusConnection structure contains only private data and +should only be accessed using the provided API. + + + + Finishes an operation started with g_dbus_connection_new(). + + A #GDBusConnection or %NULL if @error is set. Free with g_object_unref(). + + + + + A #GAsyncResult obtained from the #GAsyncReadyCallback passed to g_dbus_connection_new(). + + + + + + Finishes an operation started with g_dbus_connection_new_for_address(). + + A #GDBusConnection or %NULL if @error is set. Free with g_object_unref(). + + + + + A #GAsyncResult obtained from the #GAsyncReadyCallback passed to g_dbus_connection_new(). + + + + + + Synchronously connects and sets up a D-Bus client connection for +exchanging D-Bus messages with an endpoint specified by @address +which must be in the D-Bus address format. +This constructor can only be used to initiate client-side +connections - use g_dbus_connection_new_sync() if you need to act +as the server. In particular, @flags cannot contain the +%G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_SERVER or +%G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS flags. +This is a synchronous failable constructor. See +g_dbus_connection_new_for_address() for the asynchronous version. +If @observer is not %NULL it may be used to control the +authentication process. + + A #GDBusConnection or %NULL if @error is set. Free with g_object_unref(). + + + + + A D-Bus address. + + + + Flags describing how to make the connection. + + + + A #GDBusAuthObserver or %NULL. + + + + A #GCancellable or %NULL. + + + + + + Synchronously sets up a D-Bus connection for exchanging D-Bus messages +with the end represented by @stream. +If @observer is not %NULL it may be used to control the +authentication process. +This is a synchronous failable constructor. See +g_dbus_connection_new() for the asynchronous version. + + A #GDBusConnection or %NULL if @error is set. Free with g_object_unref(). + + + + + A #GIOStream. + + + + The GUID to use if a authenticating as a server or %NULL. + + + + Flags describing how to make the connection. + + + + A #GDBusAuthObserver or %NULL. + + + + A #GCancellable or %NULL. + + + + + + Asynchronously sets up a D-Bus connection for exchanging D-Bus messages +with the end represented by @stream. +If @observer is not %NULL it may be used to control the +authentication process. +When the operation is finished, @callback will be invoked. You can +then call g_dbus_connection_new_finish() to get the result of the +operation. +This is a asynchronous failable constructor. See +g_dbus_connection_new_sync() for the synchronous +version. + + + + + + A #GIOStream. + + + + The GUID to use if a authenticating as a server or %NULL. + + + + Flags describing how to make the connection. + + + + A #GDBusAuthObserver or %NULL. + + + + A #GCancellable or %NULL. + + + + A #GAsyncReadyCallback to call when the request is satisfied. + + + + The data to pass to @callback. + + + + + + Asynchronously connects and sets up a D-Bus client connection for +exchanging D-Bus messages with an endpoint specified by @address +which must be in the D-Bus address format. +This constructor can only be used to initiate client-side +connections - use g_dbus_connection_new() if you need to act as the +server. In particular, @flags cannot contain the +%G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_SERVER or +%G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_ALLOW_ANONYMOUS flags. +When the operation is finished, @callback will be invoked. You can +then call g_dbus_connection_new_finish() to get the result of the +operation. +If @observer is not %NULL it may be used to control the +authentication process. +This is a asynchronous failable constructor. See +g_dbus_connection_new_for_address_sync() for the synchronous +version. + + + + + + A D-Bus address. + + + + Flags describing how to make the connection. + + + + A #GDBusAuthObserver or %NULL. + + + + A #GCancellable or %NULL. + + + + A #GAsyncReadyCallback to call when the request is satisfied. + + + + The data to pass to @callback. + + + + + + Adds a message filter. Filters are handlers that are run on all +incoming and outgoing messages, prior to standard dispatch. Filters +are run in the order that they were added. The same handler can be +added as a filter more than once, in which case it will be run more +than once. Filters added during a filter callback won't be run on +the message being processed. Filter functions are allowed to modify +and even drop messages - see the #GDBusMessageFilterResult +enumeration for details. +Note that filters are run in a dedicated message handling thread so +they can't block and, generally, can't do anything but signal a +worker thread. Also note that filters are rarely needed - use API +such as g_dbus_connection_send_message_with_reply(), +g_dbus_connection_signal_subscribe() or +g_dbus_connection_call() instead. +If a filter consumes an incoming message the message is not +dispatched anywhere else - not even the standard dispatch machinery +(that API such as g_dbus_connection_signal_subscribe() and +g_dbus_connection_send_message_with_reply() relies on) will see the +message. Similary, if a filter consumes an outgoing message, the +message will not be sent to the other peer. +g_dbus_connection_remove_filter(). + + A filter identifier that can be used with + + + + + A filter function. + + + + User data to pass to @filter_function. + + + + Function to free @user_data with when filter is removed or %NULL. + + + + + + Asynchronously invokes the @method_name method on the +If @connection is closed then the operation will fail with +%G_IO_ERROR_CLOSED. If @cancellable is canceled, the operation will +fail with %G_IO_ERROR_CANCELLED. If @parameters contains a value +not compatible with the D-Bus protocol, the operation fails with +%G_IO_ERROR_INVALID_ARGUMENT. +If @reply_type is non-%NULL then the reply will be checked for having this type and an +error will be raised if it does not match. Said another way, if you give a @reply_type +then any non-%NULL return value will be of this type. +If the @parameters #GVariant is floating, it is consumed. This allows +convenient 'inline' use of g_variant_new(), e.g.: +|[ +g_dbus_connection_call (connection, +"org.freedesktop.StringThings", +"/org/freedesktop/StringThings", +"org.freedesktop.StringThings", +"TwoStrings", +g_variant_new ("(ss)", +"Thing One", +"Thing Two"), +NULL, +G_DBUS_CALL_FLAGS_NONE, +-1, +NULL, +(GAsyncReadyCallback) two_strings_done, +NULL); +]| +This is an asynchronous method. When the operation is finished, @callback will be invoked +in the <link linkend="g-main-context-push-thread-default">thread-default main loop</link> +of the thread you are calling this method from. You can then call +g_dbus_connection_call_finish() to get the result of the operation. +See g_dbus_connection_call_sync() for the synchronous version of this +function. + + + + + + A unique or well-known bus name or %NULL if @connection is not a message bus connection. + + + + Path of remote object. + + + + D-Bus interface to invoke method on. + + + + The name of the method to invoke. + + + + A #GVariant tuple with parameters for the method or %NULL if not passing parameters. + + + + The expected type of the reply, or %NULL. + + + + Flags from the #GDBusCallFlags enumeration. + + + + The timeout in milliseconds or -1 to use the default timeout. + + + + A #GCancellable or %NULL. + + + + A #GAsyncReadyCallback to call when the request is satisfied or %NULL if you don't care about the result of the method invocation. + + + + The data to pass to @callback. + + + + + + Finishes an operation started with g_dbus_connection_call(). +return values. Free with g_variant_unref(). + + %NULL if @error is set. Otherwise a #GVariant tuple with + + + + + A #GAsyncResult obtained from the #GAsyncReadyCallback passed to g_dbus_connection_call(). + + + + + + Synchronously invokes the @method_name method on the +If @connection is closed then the operation will fail with +%G_IO_ERROR_CLOSED. If @cancellable is canceled, the +operation will fail with %G_IO_ERROR_CANCELLED. If @parameters +contains a value not compatible with the D-Bus protocol, the operation +fails with %G_IO_ERROR_INVALID_ARGUMENT. +If @reply_type is non-%NULL then the reply will be checked for having +this type and an error will be raised if it does not match. Said +another way, if you give a @reply_type then any non-%NULL return +value will be of this type. +If the @parameters #GVariant is floating, it is consumed. +This allows convenient 'inline' use of g_variant_new(), e.g.: +|[ +g_dbus_connection_call_sync (connection, +"org.freedesktop.StringThings", +"/org/freedesktop/StringThings", +"org.freedesktop.StringThings", +"TwoStrings", +g_variant_new ("(ss)", +"Thing One", +"Thing Two"), +NULL, +G_DBUS_CALL_FLAGS_NONE, +-1, +NULL, +&amp;error); +]| +The calling thread is blocked until a reply is received. See +g_dbus_connection_call() for the asynchronous version of +this method. +return values. Free with g_variant_unref(). + + %NULL if @error is set. Otherwise a #GVariant tuple with + + + + + A unique or well-known bus name. + + + + Path of remote object. + + + + D-Bus interface to invoke method on. + + + + The name of the method to invoke. + + + + A #GVariant tuple with parameters for the method or %NULL if not passing parameters. + + + + The expected type of the reply, or %NULL. + + + + Flags from the #GDBusCallFlags enumeration. + + + + The timeout in milliseconds or -1 to use the default timeout. + + + + A #GCancellable or %NULL. + + + + + + Closes @connection. Note that this never causes the process to +exit (this might only happen if the other end of a shared message +bus connection disconnects, see #GDBusConnection:exit-on-close). +Once the connection is closed, operations such as sending a message +will return with the error %G_IO_ERROR_CLOSED. Closing a connection +will not automatically flush the connection so queued messages may +be lost. Use g_dbus_connection_flush() if you need such guarantees. +If @connection is already closed, this method fails with +%G_IO_ERROR_CLOSED. +When @connection has been closed, the #GDBusConnection::closed +signal is emitted in the <link +linkend="g-main-context-push-thread-default">thread-default main +loop</link> of the thread that @connection was constructed in. +This is an asynchronous method. When the operation is finished, +linkend="g-main-context-push-thread-default">thread-default main +loop</link> of the thread you are calling this method from. You can +then call g_dbus_connection_close_finish() to get the result of the +operation. See g_dbus_connection_close_sync() for the synchronous +version. + + + + + + A #GCancellable or %NULL. + + + + A #GAsyncReadyCallback to call when the request is satisfied or %NULL if you don't care about the result. + + + + The data to pass to @callback. + + + + + + Finishes an operation started with g_dbus_connection_close(). + + %TRUE if the operation succeeded, %FALSE if @error is set. + + + + + A #GAsyncResult obtained from the #GAsyncReadyCallback passed to g_dbus_connection_close(). + + + + + + Synchronously closees @connection. The calling thread is blocked +until this is done. See g_dbus_connection_close() for the +asynchronous version of this method and more details about what it +does. + + %TRUE if the operation succeeded, %FALSE if @error is set. + + + + + A #GCancellable or %NULL. + + + + + + Emits a signal. +If the parameters GVariant is floating, it is consumed. +This can only fail if @parameters is not compatible with the D-Bus protocol. + + %TRUE unless @error is set. + + + + + The unique bus name for the destination for the signal or %NULL to emit to all listeners. + + + + Path of remote object. + + + + D-Bus interface to emit a signal on. + + + + The name of the signal to emit. + + + + A #GVariant tuple with parameters for the signal or %NULL if not passing parameters. + + + + + + Asynchronously flushes @connection, that is, writes all queued +outgoing message to the transport and then flushes the transport +(using g_output_stream_flush_async()). This is useful in programs +that wants to emit a D-Bus signal and then exit +immediately. Without flushing the connection, there is no guarantee +that the message has been sent to the networking buffers in the OS +kernel. +This is an asynchronous method. When the operation is finished, +linkend="g-main-context-push-thread-default">thread-default main +loop</link> of the thread you are calling this method from. You can +then call g_dbus_connection_flush_finish() to get the result of the +operation. See g_dbus_connection_flush_sync() for the synchronous +version. + + + + + + A #GCancellable or %NULL. + + + + A #GAsyncReadyCallback to call when the request is satisfied or %NULL if you don't care about the result. + + + + The data to pass to @callback. + + + + + + Finishes an operation started with g_dbus_connection_flush(). + + %TRUE if the operation succeeded, %FALSE if @error is set. + + + + + A #GAsyncResult obtained from the #GAsyncReadyCallback passed to g_dbus_connection_flush(). + + + + + + Synchronously flushes @connection. The calling thread is blocked +until this is done. See g_dbus_connection_flush() for the +asynchronous version of this method and more details about what it +does. + + %TRUE if the operation succeeded, %FALSE if @error is set. + + + + + A #GCancellable or %NULL. + + + + + + Gets the capabilities negotiated with the remote peer + + Zero or more flags from the #GDBusCapabilityFlags enumeration. + + + + + Gets whether the process is terminated when @connection is +closed by the remote peer. See +#GDBusConnection:exit-on-close for more details. +closed by the remote peer. + + Whether the process is terminated when @connection is + + + + + The GUID of the peer performing the role of server when +authenticating. See #GDBusConnection:guid for more details. + + The GUID. Do not free this string, it is owned by + + + + + Gets the credentials of the authenticated peer. This will always +return %NULL unless @connection acted as a server +(e.g. %G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_SERVER was passed) +when set up and the client passed credentials as part of the +authentication process. +In a message bus setup, the message bus is always the server and +each application is a client. So this method will always return +%NULL for message bus clients. +this object, it is owned by @connection. + + A #GCredentials or %NULL if not available. Do not free + + + + + Gets the underlying stream used for IO. + + the stream used for IO + + + + + Gets the unique name of @connection as assigned by the message +bus. This can also be used to figure out if @connection is a +message bus connection. +bus connection. Do not free this string, it is owned by + + The unique name or %NULL if @connection is not a message + + + + + Gets whether @connection is closed. + + %TRUE if the connection is closed, %FALSE otherwise. + + + + + Registers callbacks for exported objects at @object_path with the +D-Bus interface that is described in @interface_info. +Calls to functions in @vtable (and @user_data_free_func) will +happen in the <link linkend="g-main-context-push-thread-default">thread-default main +loop</link> of the thread you are calling this method from. +Note that all #GVariant values passed to functions in @vtable will match +the signature given in @interface_info - if a remote caller passes +incorrect values, the <literal>org.freedesktop.DBus.Error.InvalidArgs</literal> +is returned to the remote caller. +Additionally, if the remote caller attempts to invoke methods or +access properties not mentioned in @interface_info the +<literal>org.freedesktop.DBus.Error.UnknownMethod</literal> resp. +<literal>org.freedesktop.DBus.Error.InvalidArgs</literal> errors +are returned to the caller. +It is considered a programming error if the +#GDBusInterfaceGetPropertyFunc function in @vtable returns a +#GVariant of incorrect type. +If an existing callback is already registered at @object_path and +GDBus automatically implements the standard D-Bus interfaces +org.freedesktop.DBus.Properties, org.freedesktop.DBus.Introspectable +and org.freedesktop.Peer, so you don't have to implement those for +the objects you export. You <emphasis>can</emphasis> implement +org.freedesktop.DBus.Properties yourself, e.g. to handle getting +and setting of properties asynchronously. +Note that the reference count on @interface_info will be +incremented by 1 (unless allocated statically, e.g. if the +reference count is -1, see g_dbus_interface_info_ref()) for as long +as the object is exported. Also note that @vtable will be copied. +See <xref linkend="gdbus-server"/> for an example of how to use this method. +that can be used with g_dbus_connection_unregister_object() . + + 0 if @error is set, otherwise a registration id (never 0) + + + + + The object path to register at. + + + + Introspection data for the interface. + + + + A #GDBusInterfaceVTable to call into or %NULL. + + + + Data to pass to functions in @vtable. + + + + Function to call when the object path is unregistered. + + + + + + Registers a whole subtree of <quote>dynamic</quote> objects. +The @enumerate and @introspection functions in @vtable are used to +convey, to remote callers, what nodes exist in the subtree rooted +by @object_path. +When handling remote calls into any node in the subtree, first the +or the #G_DBUS_SUBTREE_FLAGS_DISPATCH_TO_UNENUMERATED_NODES flag is set +the @introspection function is used to check if the node supports the +requested method. If so, the @dispatch function is used to determine +where to dispatch the call. The collected #GDBusInterfaceVTable and +#gpointer will be used to call into the interface vtable for processing +the request. +All calls into user-provided code will be invoked in the <link +linkend="g-main-context-push-thread-default">thread-default main +loop</link> of the thread you are calling this method from. +If an existing subtree is already registered at @object_path or +then @error is set to #G_IO_ERROR_EXISTS. +Note that it is valid to register regular objects (using +g_dbus_connection_register_object()) in a subtree registered with +g_dbus_connection_register_subtree() - if so, the subtree handler +is tried as the last resort. One way to think about a subtree +handler is to consider it a <quote>fallback handler</quote> +for object paths not registered via g_dbus_connection_register_object() +or other bindings. +Note that @vtable will be copied so you cannot change it after +registration. +See <xref linkend="gdbus-subtree-server"/> for an example of how to use this method. +that can be used with g_dbus_connection_unregister_subtree() . + + 0 if @error is set, otherwise a subtree registration id (never 0) + + + + + The object path to register the subtree at. + + + + A #GDBusSubtreeVTable to enumerate, introspect and dispatch nodes in the subtree. + + + + Flags used to fine tune the behavior of the subtree. + + + + Data to pass to functions in @vtable. + + + + Function to call when the subtree is unregistered. + + + + + + Removes a filter. + + + + + + an identifier obtained from g_dbus_connection_add_filter() + + + + + + Asynchronously sends @message to the peer represented by @connection. +Unless @flags contain the +%G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL flag, the serial number +will be assigned by @connection and set on @message via +g_dbus_message_set_serial(). If @out_serial is not %NULL, then the +serial number used will be written to this location prior to +submitting the message to the underlying transport. +If @connection is closed then the operation will fail with +%G_IO_ERROR_CLOSED. If @message is not well-formed, +the operation fails with %G_IO_ERROR_INVALID_ARGUMENT. +See <xref linkend="gdbus-server"/> and <xref +linkend="gdbus-unix-fd-client"/> for an example of how to use this +low-level API to send and receive UNIX file descriptors. +Note that @message must be unlocked, unless @flags contain the +%G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL flag. +transmission, %FALSE if @error is set. + + %TRUE if the message was well-formed and queued for + + + + + A #GDBusMessage + + + + Flags affecting how the message is sent. + + + + Return location for serial number assigned to @message when sending it or %NULL. + + + + + + Asynchronously sends @message to the peer represented by @connection. +Unless @flags contain the +%G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL flag, the serial number +will be assigned by @connection and set on @message via +g_dbus_message_set_serial(). If @out_serial is not %NULL, then the +serial number used will be written to this location prior to +submitting the message to the underlying transport. +If @connection is closed then the operation will fail with +%G_IO_ERROR_CLOSED. If @cancellable is canceled, the operation will +fail with %G_IO_ERROR_CANCELLED. If @message is not well-formed, +the operation fails with %G_IO_ERROR_INVALID_ARGUMENT. +This is an asynchronous method. When the operation is finished, @callback will be invoked +in the <link linkend="g-main-context-push-thread-default">thread-default main loop</link> +of the thread you are calling this method from. You can then call +g_dbus_connection_send_message_with_reply_finish() to get the result of the operation. +See g_dbus_connection_send_message_with_reply_sync() for the synchronous version. +Note that @message must be unlocked, unless @flags contain the +%G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL flag. +See <xref linkend="gdbus-server"/> and <xref +linkend="gdbus-unix-fd-client"/> for an example of how to use this +low-level API to send and receive UNIX file descriptors. + + + + + + A #GDBusMessage. + + + + Flags affecting how the message is sent. + + + + The timeout in milliseconds or -1 to use the default timeout. + + + + Return location for serial number assigned to @message when sending it or %NULL. + + + + A #GCancellable or %NULL. + + + + A #GAsyncReadyCallback to call when the request is satisfied or %NULL if you don't care about the result. + + + + The data to pass to @callback. + + + + + + Finishes an operation started with g_dbus_connection_send_message_with_reply(). +Note that @error is only set if a local in-process error +occured. That is to say that the returned #GDBusMessage object may +be of type %G_DBUS_MESSAGE_TYPE_ERROR. Use +g_dbus_message_to_gerror() to transcode this to a #GError. +See <xref linkend="gdbus-server"/> and <xref +linkend="gdbus-unix-fd-client"/> for an example of how to use this +low-level API to send and receive UNIX file descriptors. + + A locked #GDBusMessage or %NULL if @error is set. + + + + + A #GAsyncResult obtained from the #GAsyncReadyCallback passed to g_dbus_connection_send_message_with_reply(). + + + + + + Synchronously sends @message to the peer represented by @connection +and blocks the calling thread until a reply is received or the +timeout is reached. See g_dbus_connection_send_message_with_reply() +for the asynchronous version of this method. +Unless @flags contain the +%G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL flag, the serial number +will be assigned by @connection and set on @message via +g_dbus_message_set_serial(). If @out_serial is not %NULL, then the +serial number used will be written to this location prior to +submitting the message to the underlying transport. +If @connection is closed then the operation will fail with +%G_IO_ERROR_CLOSED. If @cancellable is canceled, the operation will +fail with %G_IO_ERROR_CANCELLED. If @message is not well-formed, +the operation fails with %G_IO_ERROR_INVALID_ARGUMENT. +Note that @error is only set if a local in-process error +occured. That is to say that the returned #GDBusMessage object may +be of type %G_DBUS_MESSAGE_TYPE_ERROR. Use +g_dbus_message_to_gerror() to transcode this to a #GError. +See <xref linkend="gdbus-server"/> and <xref +linkend="gdbus-unix-fd-client"/> for an example of how to use this +low-level API to send and receive UNIX file descriptors. +Note that @message must be unlocked, unless @flags contain the +%G_DBUS_SEND_MESSAGE_FLAGS_PRESERVE_SERIAL flag. + + A locked #GDBusMessage that is the reply to @message or %NULL if @error is set. + + + + + A #GDBusMessage. + + + + Flags affecting how the message is sent. + + + + The timeout in milliseconds or -1 to use the default timeout. + + + + Return location for serial number assigned to @message when sending it or %NULL. + + + + A #GCancellable or %NULL. + + + + + + Sets whether the process should be terminated when @connection is +closed by the remote peer. See #GDBusConnection:exit-on-close for +more details. + + + + + + Whether the process should be terminated when @connection is closed by the remote peer. + + + + + + Subscribes to signals on @connection and invokes @callback with a +whenever the signal is received. Note that @callback +will be invoked in the <link +linkend="g-main-context-push-thread-default">thread-default main +loop</link> of the thread you are calling this method from. +If @connection is not a message bus connection, @sender must be +%NULL. +If @sender is a well-known name note that @callback is invoked with +the unique name for the owner of @sender, not the well-known name +as one would expect. This is because the message bus rewrites the +name. As such, to avoid certain race conditions, users should be +tracking the name owner of the well-known name and use that when +processing the received signal. + + A subscription identifier that can be used with g_dbus_connection_signal_unsubscribe(). + + + + + Sender name to match on (unique or well-known name) or %NULL to listen from all senders. + + + + D-Bus interface name to match on or %NULL to match on all interfaces. + + + + D-Bus signal name to match on or %NULL to match on all signals. + + + + Object path to match on or %NULL to match on all object paths. + + + + Contents of first string argument to match on or %NULL to match on all kinds of arguments. + + + + Flags describing how to subscribe to the signal (currently unused). + + + + Callback to invoke when there is a signal matching the requested data. + + + + User data to pass to @callback. + + + + Function to free @user_data with when subscription is removed or %NULL. + + + + + + Unsubscribes from signals. + + + + + + A subscription id obtained from g_dbus_connection_signal_subscribe(). + + + + + + If @connection was created with +%G_DBUS_CONNECTION_FLAGS_DELAY_MESSAGE_PROCESSING, this method +starts processing messages. Does nothing on if @connection wasn't +created with this flag or if the method has already been called. + + + + + + Unregisters an object. + + %TRUE if the object was unregistered, %FALSE otherwise. + + + + + A registration id obtained from g_dbus_connection_register_object(). + + + + + + Unregisters a subtree. + + %TRUE if the subtree was unregistered, %FALSE otherwise. + + + + + A subtree registration id obtained from g_dbus_connection_register_subtree(). + + + + + + A D-Bus address specifying potential endpoints that can be used +when establishing the connection. + + + + A #GDBusAuthObserver object to assist in the authentication process or %NULL. + + + + Flags from the #GDBusCapabilityFlags enumeration +representing connection features negotiated with the other peer. + + + + A boolean specifying whether the connection has been closed. + + + + A boolean specifying whether the process will be terminated (by +calling <literal>raise(SIGTERM)</literal>) if the connection +is closed by the remote peer. + + + + Flags from the #GDBusConnectionFlags enumeration. + + + + The GUID of the peer performing the role of server when +authenticating. +If you are constructing a #GDBusConnection and pass +%G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_SERVER in the +#GDBusConnection:flags property then you MUST also set this +property to a valid guid. +If you are constructing a #GDBusConnection and pass +%G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_CLIENT in the +#GDBusConnection:flags property you will be able to read the GUID +of the other peer here after the connection has been successfully +initialized. + + + + The underlying #GIOStream used for I/O. + + + + The unique name as assigned by the message bus or %NULL if the +connection is not open or not a message bus connection. + + + + Emitted when the connection is closed. +The cause of this event can be +<itemizedlist> +<listitem><para> +If g_dbus_connection_close() is called. In this case +</para></listitem> +<listitem><para> +If the remote peer closes the connection. In this case +</para></listitem> +<listitem><para> +If the remote peer sends invalid or malformed data. In this +case @remote_peer_vanished is set to %FALSE and @error +is set. +</para></listitem> +</itemizedlist> +Upon receiving this signal, you should give up your reference to +once. + + + + + + %TRUE if @connection is closed because the remote peer closed its end of the connection. + + + + A #GError with more details about the event or %NULL. + + + + + + + Flags used when creating a new #GDBusConnection. + + + + + + + + + A generic error; "something went wrong" - see the error message for +more. +There was not enough memory to complete an operation. +The bus doesn't know how to launch a service to supply the bus name +you wanted. +The bus name you referenced doesn't exist (i.e. no application owns +it). +No reply to a message expecting one, usually means a timeout occurred. +Something went wrong reading or writing to a socket, for example. +A D-Bus bus address was malformed. +Requested operation isn't supported (like ENOSYS on UNIX). +Some limited resource is exhausted. +Security restrictions don't allow doing what you're trying to do. +Authentication didn't work. +Unable to connect to server (probably caused by ECONNREFUSED on a +socket). +Certain timeout errors, possibly ETIMEDOUT on a socket. Note that +%G_DBUS_ERROR_NO_REPLY is used for message reply timeouts. Warning: +this is confusingly-named given that %G_DBUS_ERROR_TIMED_OUT also +exists. We can't fix it for compatibility reasons so just be +careful. +No network access (probably ENETUNREACH on a socket). +Can't bind a socket since its address is in use (i.e. EADDRINUSE). +The connection is disconnected and you're trying to use it. +Invalid arguments passed to a method call. +Missing file. +Existing file and the operation you're using does not silently overwrite. +Method name you invoked isn't known by the object you invoked it on. +confusingly-named given that %G_DBUS_ERROR_TIMEOUT also exists. We +can't fix it for compatibility reasons so just be careful. +Tried to remove or modify a match rule that didn't exist. +The match rule isn't syntactically valid. +While starting a new process, the exec() call failed. +While starting a new process, the fork() call failed. +While starting a new process, the child exited with a status code. +While starting a new process, the child exited on a signal. +While starting a new process, something went wrong. +We failed to setup the environment correctly. +We failed to setup the config parser correctly. +Bus name was not valid. +Service file not found in system-services directory. +Permissions are incorrect on the setuid helper. +Service file invalid (Name, User or Exec missing). +Tried to get a UNIX process ID and it wasn't available. +Tried to get a UNIX process ID and it wasn't available. +A type signature is not valid. +A file contains invalid syntax or is otherwise broken. +Asked for SELinux security context and it wasn't available. +Asked for ADT audit data and it wasn't available. +There's already an object with the requested object path. +Error codes for the %G_DBUS_ERROR error domain. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Struct used in g_dbus_error_register_error_domain(). + + + + + + + + + The type of the @get_property function in #GDBusInterfaceVTable. +consumed - otherwise its reference count is decreased by one. + + A #GVariant with the value for @property_name or %NULL if + + + + + A #GDBusConnection. + + + + The unique bus name of the remote caller. + + + + The object path that the method was invoked on. + + + + The D-Bus interface name for the property. + + + + The name of the property to get the value of. + + + + Return location for error. + + + + The @user_data #gpointer passed to g_dbus_connection_register_object(). + + + + + + Information about a D-Bus interface. + + + + + + + + + + + + + + + + + + + + Appends an XML representation of @info (and its children) to @string_builder. +This function is typically used for generating introspection XML +documents at run-time for handling the +<literal>org.freedesktop.DBus.Introspectable.Introspect</literal> +method. + + + + + + Indentation level. + + + + A #GString to to append XML data to. + + + + + + Looks up information about a method. +This cost of this function is O(n) in number of methods. + + A #GDBusMethodInfo or %NULL if not found. Do not free, it is owned by @info. + + + + + A D-Bus method name (typically in CamelCase) + + + + + + Looks up information about a property. +This cost of this function is O(n) in number of properties. + + A #GDBusPropertyInfo or %NULL if not found. Do not free, it is owned by @info. + + + + + A D-Bus property name (typically in CamelCase). + + + + + + Looks up information about a signal. +This cost of this function is O(n) in number of signals. + + A #GDBusSignalInfo or %NULL if not found. Do not free, it is owned by @info. + + + + + A D-Bus signal name (typically in CamelCase) + + + + + + If @info is statically allocated does nothing. Otherwise increases +the reference count. + + The same @info. + + + + + If @info is statically allocated, does nothing. Otherwise decreases +the reference count of @info. When its reference count drops to 0, +the memory used is freed. + + + + + + + The type of the @method_call function in #GDBusInterfaceVTable. + + + + + + A #GDBusConnection. + + + + The unique bus name of the remote caller. + + + + The object path that the method was invoked on. + + + + The D-Bus interface name the method was invoked on. + + + + The name of the method that was invoked. + + + + A #GVariant tuple with parameters. + + + + A #GDBusMethodInvocation object that can be used to return a value or error. + + + + The @user_data #gpointer passed to g_dbus_connection_register_object(). + + + + + + The type of the @set_property function in #GDBusInterfaceVTable. + + %TRUE if the property was set to @value, %FALSE if @error is set. + + + + + A #GDBusConnection. + + + + The unique bus name of the remote caller. + + + + The object path that the method was invoked on. + + + + The D-Bus interface name for the property. + + + + The name of the property to get the value of. + + + + The value to set the property to. + + + + Return location for error. + + + + The @user_data #gpointer passed to g_dbus_connection_register_object(). + + + + + + Virtual table for handling properties and method calls for a D-Bus +interface. +If you want to handle getting/setting D-Bus properties asynchronously, simply +register an object with the <literal>org.freedesktop.DBus.Properties</literal> +D-Bus interface using g_dbus_connection_register_object(). + + + + + + + + + + + + + + + + + The #GDBusMessage structure contains only private data and should +only be accessed using the provided API. + + Creates a new empty #GDBusMessage. + + A #GDBusMessage. Free with g_object_unref(). + + + + + Creates a new #GDBusMessage from the data stored at @blob. The byte +order that the message was in can be retrieved using +g_dbus_message_get_byte_order(). +g_object_unref(). + + A new #GDBusMessage or %NULL if @error is set. Free with + + + + + A blob represent a binary D-Bus message. + + + + The length of @blob. + + + + A #GDBusCapabilityFlags describing what protocol features are supported. + + + + + + Creates a new #GDBusMessage for a method call. + + A #GDBusMessage. Free with g_object_unref(). + + + + + A valid D-Bus name or %NULL. + + + + A valid object path. + + + + A valid D-Bus interface name or %NULL. + + + + A valid method name. + + + + + + Creates a new #GDBusMessage for a signal emission. + + A #GDBusMessage. Free with g_object_unref(). + + + + + A valid object path. + + + + A valid D-Bus interface name. + + + + A valid signal name. + + + + + + Utility function to calculate how many bytes are needed to +completely deserialize the D-Bus message stored at @blob. +determine the size). + + Number of bytes needed or -1 if @error is set (e.g. if + + + + + A blob represent a binary D-Bus message. + + + + The length of @blob (must be at least 16). + + + + + + Copies @message. The copy is a deep copy and the returned +#GDBusMessage is completely identical except that it is guaranteed +to not be locked. +This operation can fail if e.g. @message contains file descriptors +and the per-process or system-wide open files limit is reached. +g_object_unref(). + + A new #GDBusMessage or %NULL if @error is set. Free with + + + + + Convenience to get the first item in the body of @message. + + The string item or %NULL if the first item in the body of + + + + + Gets the body of a message. + + A #GVariant or %NULL if the body is empty. Do not free, it is owned by @message. + + + + + Gets the byte order of @message. + + The byte order. + + + + + Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_DESTINATION header field. + + The value. + + + + + Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_ERROR_NAME header field. + + The value. + + + + + Gets the flags for @message. + + Flags that are set (typically values from the #GDBusMessageFlags enumeration bitwise ORed together). + + + + + Gets a header field on @message. +otherwise. Do not free, it is owned by @message. + + A #GVariant with the value if the header was found, %NULL + + + + + A 8-bit unsigned integer (typically a value from the #GDBusMessageHeaderField enumeration) + + + + + + Gets an array of all header fields on @message that are set. +%G_DBUS_MESSAGE_HEADER_FIELD_INVALID. Each element is a +#guchar. Free with g_free(). + + An array of header fields terminated by + + + + + Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_INTERFACE header field. + + The value. + + + + + Checks whether @message is locked. To monitor changes to this +value, conncet to the #GObject::notify signal to listen for changes +on the #GDBusMessage:locked property. + + %TRUE if @message is locked, %FALSE otherwise. + + + + + Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_MEMBER header field. + + The value. + + + + + Gets the type of @message. + + A 8-bit unsigned integer (typically a value from the #GDBusMessageType enumeration). + + + + + Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_NUM_UNIX_FDS header field. + + The value. + + + + + Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_PATH header field. + + The value. + + + + + Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_REPLY_SERIAL header field. + + The value. + + + + + Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_SENDER header field. + + The value. + + + + + Gets the serial for @message. + + A #guint32. + + + + + Convenience getter for the %G_DBUS_MESSAGE_HEADER_FIELD_SIGNATURE header field. + + The value. + + + + + Gets the UNIX file descriptors associated with @message, if any. +This method is only available on UNIX. +associated. Do not free, this object is owned by @message. + + A #GUnixFDList or %NULL if no file descriptors are + + + + + If @message is locked, does nothing. Otherwise locks the message. + + + + + + Creates a new #GDBusMessage that is an error reply to @method_call_message. + + A #GDBusMessage. Free with g_object_unref(). + + + + + A valid D-Bus error name. + + + + The D-Bus error message in a printf() format. + + + + + + + + + + Creates a new #GDBusMessage that is an error reply to @method_call_message. + + A #GDBusMessage. Free with g_object_unref(). + + + + + A valid D-Bus error name. + + + + The D-Bus error message. + + + + + + Like g_dbus_message_new_method_error() but intended for language bindings. + + A #GDBusMessage. Free with g_object_unref(). + + + + + A valid D-Bus error name. + + + + The D-Bus error message in a printf() format. + + + + Arguments for @error_message_format. + + + + + + Creates a new #GDBusMessage that is a reply to @method_call_message. + + #GDBusMessage. Free with g_object_unref(). + + + + + Produces a human-readable multi-line description of @message. +The contents of the description has no ABI guarantees, the contents +and formatting is subject to change at any time. Typical output +looks something like this: +<programlisting> +Headers: +path -> objectpath '/org/gtk/GDBus/TestObject' +interface -> 'org.gtk.GDBus.TestInterface' +member -> 'GimmeStdout' +destination -> ':1.146' +UNIX File Descriptors: +(none) +</programlisting> +or +<programlisting> +Headers: +reply-serial -> uint32 4 +destination -> ':1.159' +sender -> ':1.146' +num-unix-fds -> uint32 1 +UNIX File Descriptors: +</programlisting> + + A string that should be freed with g_free(). + + + + + Indentation level. + + + + + + Sets the body @message. As a side-effect the +%G_DBUS_MESSAGE_HEADER_FIELD_SIGNATURE header field is set to the +type string of @body (or cleared if @body is %NULL). +If @body is floating, @message assumes ownership of @body. + + + + + + Either %NULL or a #GVariant that is a tuple. + + + + + + Sets the byte order of @message. + + + + + + The byte order. + + + + + + Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_DESTINATION header field. + + + + + + The value to set. + + + + + + Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_ERROR_NAME header field. + + + + + + The value to set. + + + + + + Sets the flags to set on @message. + + + + + + Flags for @message that are set (typically values from the #GDBusMessageFlags enumeration bitwise ORed together). + + + + + + Sets a header field on @message. +If @value is floating, @message assumes ownership of @value. + + + + + + A 8-bit unsigned integer (typically a value from the #GDBusMessageHeaderField enumeration) + + + + A #GVariant to set the header field or %NULL to clear the header field. + + + + + + Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_INTERFACE header field. + + + + + + The value to set. + + + + + + Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_MEMBER header field. + + + + + + The value to set. + + + + + + Sets @message to be of @type. - + A 8-bit unsigned integer (typically a value from the #GDBusMessageType enumeration). + + + Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_NUM_UNIX_FDS header field. + + + + + + The value to set. + + + + + + Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_PATH header field. + + + + + + The value to set. + + + + + + Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_REPLY_SERIAL header field. + + + + + + The value to set. + + + + + + Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_SENDER header field. + + + + + + The value to set. + + + + + + Sets the serial for @message. + + + + + + A #guint32. + + + + + + Convenience setter for the %G_DBUS_MESSAGE_HEADER_FIELD_SIGNATURE header field. + + + + + + The value to set. + + + + + + Sets the UNIX file descriptors associated with @message. As a +side-effect the %G_DBUS_MESSAGE_HEADER_FIELD_NUM_UNIX_FDS header +field is set to the number of fds in @fd_list (or cleared if +This method is only available on UNIX. + + + + + + A #GUnixFDList or %NULL. + + + + + + Serializes @message to a blob. The byte order returned by +g_dbus_message_get_byte_order() will be used. +generated by @message or %NULL if @error is set. Free with g_free(). + + A pointer to a valid binary D-Bus message of @out_size bytes + + + + + Return location for size of generated blob. + + + + A #GDBusCapabilityFlags describing what protocol features are supported. + + + + + + If @message is not of type %G_DBUS_MESSAGE_TYPE_ERROR does +nothing and returns %FALSE. +Otherwise this method encodes the error in @message as a #GError +using g_dbus_error_set_dbus_error() using the information in the +%G_DBUS_MESSAGE_HEADER_FIELD_ERROR_NAME header field of @message as +well as the first string item in @message's body. + + %TRUE if @error was set, %FALSE otherwise. + + + + + + + + + Enumeration used to describe the byte order of a D-Bus message. + + + + + Signature for function used in g_dbus_connection_add_filter(). +A filter function is passed a #GDBusMessage and expected to return +a #GDBusMessage too. Passive filter functions that don't modify the +message can simply return the @message object: +|[ +static GDBusMessage * +passive_filter (GDBusConnection *connection +GDBusMessage *message, +gboolean incoming, +gpointer user_data) +{ +/<!-- -->* inspect @message *<!-- -->/ +return message; +} +]| +Filter functions that wants to drop a message can simply return %NULL: +|[ +static GDBusMessage * +drop_filter (GDBusConnection *connection +GDBusMessage *message, +gboolean incoming, +gpointer user_data) +{ +if (should_drop_message) +{ +g_object_unref (message); +message = NULL; +} +return message; +} +]| +Finally, a filter function may modify a message by copying it: +|[ +static GDBusMessage * +modifying_filter (GDBusConnection *connection +GDBusMessage *message, +gboolean incoming, +gpointer user_data) +{ +GDBusMessage *copy; +GError *error; +error = NULL; +copy = g_dbus_message_copy (message, &error); +/<!-- -->* handle @error being is set *<!-- -->/ +g_object_unref (message); +/<!-- -->* modify @copy *<!-- -->/ +return copy; +} +]| +If the returned #GDBusMessage is different from @message and cannot +be sent on @connection (it could use features, such as file +descriptors, not compatible with @connection), then a warning is +logged to <emphasis>standard error</emphasis>. Applications can +check this ahead of time using g_dbus_message_to_blob() passing a +#GDBusCapabilityFlags value obtained from @connection. +g_object_unref() or %NULL to drop the message. Passive filter +functions can simply return the passed @message object. + + A #GDBusMessage that will be freed with + + + + + A #GDBusConnection. + + + + A locked #GDBusMessage that the filter function takes ownership of. + + + + %TRUE if it is a message received from the other peer, %FALSE if it is a message to be sent to the other peer. + + + + User data passed when adding the filter. + + + + + + Message flags used in #GDBusMessage. + + + + + + Header fields used in #GDBusMessage. + + + + + + + + + + + + + Message types used in #GDBusMessage. + + + + + + + + Information about a method on an D-Bus interface. + + + + + + + + + + + + + + + + + If @info is statically allocated does nothing. Otherwise increases +the reference count. + + The same @info. + + + + + If @info is statically allocated, does nothing. Otherwise decreases +the reference count of @info. When its reference count drops to 0, +the memory used is freed. + + + + + + + The #GDBusMethodInvocation structure contains only private data and +should only be accessed using the provided API. + + Gets the #GDBusConnection the method was invoked on. + + A #GDBusConnection. Do not free, it is owned by @invocation. + + + + + Gets the name of the D-Bus interface the method was invoked on. + + A string. Do not free, it is owned by @invocation. + + + + + Gets the #GDBusMessage for the method invocation. This is useful if +you need to use low-level protocol features, such as UNIX file +descriptor passing, that cannot be properly expressed in the +#GVariant API. +See <xref linkend="gdbus-server"/> and <xref +linkend="gdbus-unix-fd-client"/> for an example of how to use this +low-level API to send and receive UNIX file descriptors. + + #GDBusMessage. Do not free, it is owned by @invocation. + + + + + Gets information about the method call, if any. + + A #GDBusMethodInfo or %NULL. Do not free, it is owned by @invocation. + + + + + Gets the name of the method that was invoked. + + A string. Do not free, it is owned by @invocation. + + + + + Gets the object path the method was invoked on. + + A string. Do not free, it is owned by @invocation. + + + + + Gets the parameters of the method invocation. + + A #GVariant. Do not free, it is owned by @invocation. + + + + + Gets the bus name that invoked the method. + + A string. Do not free, it is owned by @invocation. + + + + + Gets the @user_data #gpointer passed to g_dbus_connection_register_object(). + + A #gpointer. + + + + + Finishes handling a D-Bus method call by returning an error. +This method will free @invocation, you cannot use it afterwards. + + + + + + A valid D-Bus error name. + + + + A valid D-Bus error message. + + + + + + Finishes handling a D-Bus method call by returning an error. +See g_dbus_error_encode_gerror() for details about what error name +will be returned on the wire. In a nutshell, if the given error is +registered using g_dbus_error_register_error() the name given +during registration is used. Otherwise, a name of the form +<literal>org.gtk.GDBus.UnmappedGError.Quark...</literal> is +used. This provides transparent mapping of #GError between +applications using GDBus. +If you are writing an application intended to be portable, +<emphasis>always</emphasis> register errors with g_dbus_error_register_error() +or use g_dbus_method_invocation_return_dbus_error(). +This method will free @invocation, you cannot use it afterwards. + + + + + + A #GQuark for the #GError error domain. + + + + The error code. + + + + printf()-style format. + + + + + + + + + + Like g_dbus_method_invocation_return_error() but without printf()-style formatting. +This method will free @invocation, you cannot use it afterwards. + + + + + + A #GQuark for the #GError error domain. + + + + The error code. + + + + The error message. + + + + + + Like g_dbus_method_invocation_return_error() but intended for +language bindings. +This method will free @invocation, you cannot use it afterwards. + + + + + + A #GQuark for the #GError error domain. + + + + The error code. + + + + printf()-style format. + + + + #va_list of parameters for @format. + + + + + + Like g_dbus_method_invocation_return_error() but takes a #GError +instead of the error domain, error code and message. +This method will free @invocation, you cannot use it afterwards. + + + + + + A #GError. + + + + + + Finishes handling a D-Bus method call by returning @parameters. +If the @parameters GVariant is floating, it is consumed. +It is an error if @parameters is not of the right format. +This method will free @invocation, you cannot use it afterwards. + + + + + + A #GVariant tuple with out parameters for the method or %NULL if not passing any parameters. + + + + + + + Information about nodes in a remote object hierarchy. + + + + + + + + + + + + + + + + + Parses @xml_data and returns a #GDBusNodeInfo representing the data. +with g_dbus_node_info_unref(). + + A #GDBusNodeInfo structure or %NULL if @error is set. Free + + + + + Valid D-Bus introspection XML. + + + + + + Appends an XML representation of @info (and its children) to @string_builder. +This function is typically used for generating introspection XML documents at run-time for +handling the <literal>org.freedesktop.DBus.Introspectable.Introspect</literal> method. + + + + + + Indentation level. + + + + A #GString to to append XML data to. + + + + + + Looks up information about an interface. +This cost of this function is O(n) in number of interfaces. + + A #GDBusInterfaceInfo or %NULL if not found. Do not free, it is owned by @info. + + + + + A D-Bus interface name. + + + + + + If @info is statically allocated does nothing. Otherwise increases +the reference count. + + The same @info. + + + + + If @info is statically allocated, does nothing. Otherwise decreases +the reference count of @info. When its reference count drops to 0, +the memory used is freed. + + + + + + + Information about a D-Bus property on a D-Bus interface. + + + + + + + + + + + + + + + + + If @info is statically allocated does nothing. Otherwise increases +the reference count. + + The same @info. + + + + + If @info is statically allocated, does nothing. Otherwise decreases +the reference count of @info. When its reference count drops to 0, +the memory used is freed. + + + + + + + Flags describing the access control of a D-Bus property. + + + + + + The #GDBusProxy structure contains only private data and +should only be accessed using the provided API. + + + + Finishes creating a #GDBusProxy. + + A #GDBusProxy or %NULL if @error is set. Free with g_object_unref(). + + + + + A #GAsyncResult obtained from the #GAsyncReadyCallback function passed to g_dbus_proxy_new(). + + + + + + Finishes creating a #GDBusProxy. + + A #GDBusProxy or %NULL if @error is set. Free with g_object_unref(). + + + + + A #GAsyncResult obtained from the #GAsyncReadyCallback function passed to g_dbus_proxy_new_for_bus(). + + + + + + Like g_dbus_proxy_new_sync() but takes a #GBusType instead of a #GDBusConnection. +See <xref linkend="gdbus-wellknown-proxy"/> for an example of how #GDBusProxy can be used. + + A #GDBusProxy or %NULL if error is set. Free with g_object_unref(). + + + + + A #GBusType. + + + + Flags used when constructing the proxy. + + + + A #GDBusInterfaceInfo specifying the minimal interface that @proxy conforms to or %NULL. + + + + A bus name (well-known or unique). + + + + An object path. + + + + A D-Bus interface name. + + + + A #GCancellable or %NULL. + + + + + + Creates a proxy for accessing @interface_name on the remote object +at @object_path owned by @name at @connection and synchronously +loads D-Bus properties unless the +%G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES flag is used. +If the %G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS flag is not set, also sets up +match rules for signals. Connect to the #GDBusProxy::g-signal signal +to handle signals from the remote object. +If @name is a well-known name and the +%G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START flag isn't set and no name +owner currently exists, the message bus will be requested to launch +a name owner for the name. +This is a synchronous failable constructor. See g_dbus_proxy_new() +and g_dbus_proxy_new_finish() for the asynchronous version. +See <xref linkend="gdbus-wellknown-proxy"/> for an example of how #GDBusProxy can be used. + + A #GDBusProxy or %NULL if error is set. Free with g_object_unref(). + + + + + A #GDBusConnection. + + + + Flags used when constructing the proxy. + + + + A #GDBusInterfaceInfo specifying the minimal interface that @proxy conforms to or %NULL. + + + + A bus name (well-known or unique) or %NULL if @connection is not a message bus connection. + + + + An object path. + + + + A D-Bus interface name. + + + + A #GCancellable or %NULL. + + + + + + Creates a proxy for accessing @interface_name on the remote object +at @object_path owned by @name at @connection and asynchronously +loads D-Bus properties unless the +%G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES flag is used. Connect to +the #GDBusProxy::g-properties-changed signal to get notified about +property changes. +If the %G_DBUS_PROXY_FLAGS_DO_NOT_CONNECT_SIGNALS flag is not set, also sets up +match rules for signals. Connect to the #GDBusProxy::g-signal signal +to handle signals from the remote object. +If @name is a well-known name and the +%G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START flag isn't set and no name +owner currently exists, the message bus will be requested to launch +a name owner for the name. +This is a failable asynchronous constructor - when the proxy is +ready, @callback will be invoked and you can use +g_dbus_proxy_new_finish() to get the result. +See g_dbus_proxy_new_sync() and for a synchronous version of this constructor. +See <xref linkend="gdbus-wellknown-proxy"/> for an example of how #GDBusProxy can be used. + + + + + + A #GDBusConnection. + + + + Flags used when constructing the proxy. + + + + A #GDBusInterfaceInfo specifying the minimal interface that @proxy conforms to or %NULL. + + + + A bus name (well-known or unique) or %NULL if @connection is not a message bus connection. + + + + An object path. + + + + A D-Bus interface name. + + + + A #GCancellable or %NULL. + + + + Callback function to invoke when the proxy is ready. + + + + User data to pass to @callback. + + + + + + Like g_dbus_proxy_new() but takes a #GBusType instead of a #GDBusConnection. +See <xref linkend="gdbus-wellknown-proxy"/> for an example of how #GDBusProxy can be used. + + + + + + A #GBusType. + + + + Flags used when constructing the proxy. + + + + A #GDBusInterfaceInfo specifying the minimal interface that @proxy conforms to or %NULL. + + + + A bus name (well-known or unique). + + + + An object path. + + + + A D-Bus interface name. + + + + A #GCancellable or %NULL. + + + + Callback function to invoke when the proxy is ready. + + + + User data to pass to @callback. + + + + + + Asynchronously invokes the @method_name method on @proxy. +If @method_name contains any dots, then @name is split into interface and +method name parts. This allows using @proxy for invoking methods on +other interfaces. +If the #GDBusConnection associated with @proxy is closed then +the operation will fail with %G_IO_ERROR_CLOSED. If +%G_IO_ERROR_CANCELLED. If @parameters contains a value not +compatible with the D-Bus protocol, the operation fails with +%G_IO_ERROR_INVALID_ARGUMENT. +If the @parameters #GVariant is floating, it is consumed. This allows +convenient 'inline' use of g_variant_new(), e.g.: +|[ +g_dbus_proxy_call (proxy, +"TwoStrings", +g_variant_new ("(ss)", +"Thing One", +"Thing Two"), +G_DBUS_CALL_FLAGS_NONE, +-1, +NULL, +(GAsyncReadyCallback) two_strings_done, +&amp;data); +]| +This is an asynchronous method. When the operation is finished, +<link linkend="g-main-context-push-thread-default">thread-default +main loop</link> of the thread you are calling this method from. +You can then call g_dbus_proxy_call_finish() to get the result of +the operation. See g_dbus_proxy_call_sync() for the synchronous +version of this method. + + + + + + Name of method to invoke. + + + + A #GVariant tuple with parameters for the signal or %NULL if not passing parameters. + + + + Flags from the #GDBusCallFlags enumeration. + + + + The timeout in milliseconds or -1 to use the proxy default timeout. + + + + A #GCancellable or %NULL. + + + + A #GAsyncReadyCallback to call when the request is satisfied or %NULL if you don't care about the result of the method invocation. + + + + The data to pass to @callback. + + + + + + Finishes an operation started with g_dbus_proxy_call(). +return values. Free with g_variant_unref(). + + %NULL if @error is set. Otherwise a #GVariant tuple with + + + + + A #GAsyncResult obtained from the #GAsyncReadyCallback passed to g_dbus_proxy_call(). + + + + + + Synchronously invokes the @method_name method on @proxy. +If @method_name contains any dots, then @name is split into interface and +method name parts. This allows using @proxy for invoking methods on +other interfaces. +If the #GDBusConnection associated with @proxy is disconnected then +the operation will fail with %G_IO_ERROR_CLOSED. If +%G_IO_ERROR_CANCELLED. If @parameters contains a value not +compatible with the D-Bus protocol, the operation fails with +%G_IO_ERROR_INVALID_ARGUMENT. +If the @parameters #GVariant is floating, it is consumed. This allows +convenient 'inline' use of g_variant_new(), e.g.: +|[ +g_dbus_proxy_call_sync (proxy, +"TwoStrings", +g_variant_new ("(ss)", +"Thing One", +"Thing Two"), +G_DBUS_CALL_FLAGS_NONE, +-1, +NULL, +&amp;error); +]| +The calling thread is blocked until a reply is received. See +g_dbus_proxy_call() for the asynchronous version of this +method. +return values. Free with g_variant_unref(). + + %NULL if @error is set. Otherwise a #GVariant tuple with + + + + + Name of method to invoke. + + + + A #GVariant tuple with parameters for the signal or %NULL if not passing parameters. + + + + Flags from the #GDBusCallFlags enumeration. + + + + The timeout in milliseconds or -1 to use the proxy default timeout. + + + + A #GCancellable or %NULL. + + + + + + Looks up the value for a property from the cache. This call does no +blocking IO. +If @proxy has an expected interface (see +#GDBusProxy:g-interface-info), then @property_name (for existence) +is checked against it. +for @property_name or %NULL if the value is not in the cache. The +returned reference must be freed with g_variant_unref(). + + A reference to the #GVariant instance that holds the value + + + + + Property name. + + + + + + Gets the names of all cached properties on @proxy. +no cached properties. Free the returned array with g_strfreev(). + + A %NULL-terminated array of strings or %NULL if @proxy has + + + + + + + Gets the connection @proxy is for. + + A #GDBusConnection owned by @proxy. Do not free. + + + + + Gets the timeout to use if -1 (specifying default timeout) is +passed as @timeout_msec in the g_dbus_proxy_call() and +g_dbus_proxy_call_sync() functions. +See the #GDBusProxy:g-default-timeout property for more details. + + Timeout to use for @proxy. + + + + + Gets the flags that @proxy was constructed with. + + Flags from the #GDBusProxyFlags enumeration. + + + + + Returns the #GDBusInterfaceInfo, if any, specifying the minimal +interface that @proxy conforms to. +See the #GDBusProxy:g-interface-info property for more details. +object, it is owned by @proxy. + + A #GDBusInterfaceInfo or %NULL. Do not unref the returned + + + + + Gets the D-Bus interface name @proxy is for. + + A string owned by @proxy. Do not free. + + + + + Gets the name that @proxy was constructed for. + + A string owned by @proxy. Do not free. + + + + + The unique name that owns the name that @proxy is for or %NULL if +no-one currently owns that name. You may connect to the +#GObject::notify signal to track changes to the +#GDBusProxy:g-name-owner property. + + The name owner or %NULL if no name owner exists. Free with g_free(). + + + + + Gets the object path @proxy is for. + + A string owned by @proxy. Do not free. + + + + + If @value is not %NULL, sets the cached value for the property with +name @property_name to the value in @value. +If @value is %NULL, then the cached value is removed from the +property cache. +If @proxy has an expected interface (see +#GDBusProxy:g-interface-info), then @property_name (for existence) +and @value (for the type) is checked against it. +If the @value #GVariant is floating, it is consumed. This allows +convenient 'inline' use of g_variant_new(), e.g. +|[ +g_dbus_proxy_set_cached_property (proxy, +"SomeProperty", +g_variant_new ("(si)", +"A String", +42)); +]| +Normally you will not need to use this method since @proxy is +tracking changes using the +<literal>org.freedesktop.DBus.Properties.PropertiesChanged</literal> +D-Bus signal. However, for performance reasons an object may decide +to not use this signal for some properties and instead use a +proprietary out-of-band mechanism to transmit changes. +As a concrete example, consider an object with a property +<literal>ChatroomParticipants</literal> which is an array of +strings. Instead of transmitting the same (long) array every time +the property changes, it is more efficient to only transmit the +delta using e.g. signals <literal>ChatroomParticipantJoined(String +name)</literal> and <literal>ChatroomParticipantParted(String +name)</literal>. + + + + + + Property name. + + + + Value for the property or %NULL to remove it from the cache. + + + + + + Sets the timeout to use if -1 (specifying default timeout) is +passed as @timeout_msec in the g_dbus_proxy_call() and +g_dbus_proxy_call_sync() functions. +See the #GDBusProxy:g-default-timeout property for more details. + + + + + + Timeout in milliseconds. + + + + + + Ensure that interactions with @proxy conform to the given +interface. For example, when completing a method call, if the type +signature of the message isn't what's expected, the given #GError +is set. Signals that have a type signature mismatch are simply +dropped. +See the #GDBusProxy:g-interface-info property for more details. + + + + + + Minimum interface this proxy conforms to or %NULL to unset. + + + + + + If this property is not %G_BUS_TYPE_NONE, then +#GDBusProxy:g-connection must be %NULL and will be set to the +#GDBusConnection obtained by calling g_bus_get() with the value +of this property. + + + + The #GDBusConnection the proxy is for. + + + + The timeout to use if -1 (specifying default timeout) is passed +as @timeout_msec in the g_dbus_proxy_call() and +g_dbus_proxy_call_sync() functions. +This allows applications to set a proxy-wide timeout for all +remote method invocations on the proxy. If this property is -1, +the default timeout (typically 25 seconds) is used. If set to +%G_MAXINT, then no timeout is used. + + + + Flags from the #GDBusProxyFlags enumeration. + + + + Ensure that interactions with this proxy conform to the given +interface. For example, when completing a method call, if the +type signature of the message isn't what's expected, the given +#GError is set. Signals that have a type signature mismatch are +simply dropped. + + + + The D-Bus interface name the proxy is for. + + + + The well-known or unique name that the proxy is for. + + + + The unique name that owns #GDBusProxy:name or %NULL if no-one +currently owns that name. You may connect to #GObject::notify signal to +track changes to this property. + + + + The object path the proxy is for. + + + + + + + + + + Emitted when one or more D-Bus properties on @proxy changes. The +local cache has already been updated when this signal fires. Note +that both @changed_properties and @invalidated_properties are +guaranteed to never be %NULL (either may be empty though). +This signal corresponds to the +<literal>PropertiesChanged</literal> D-Bus signal on the +<literal>org.freedesktop.DBus.Properties</literal> interface. + + + + + + A #GVariant containing the properties that changed + + + + A %NULL terminated array of properties that was invalidated + + + + + + Emitted when a signal from the remote object and interface that @proxy is for, has been received. + + + + + + The sender of the signal or %NULL if the connection is not a bus connection. + + + + The name of the signal. + + + + A #GVariant tuple with parameters for the signal. + + + + + + + Class structure for #GDBusProxy. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Flags used when constructing an instance of a #GDBusProxy derived class. + + + + + + + + + Flags used when sending #GDBusMessage<!-- -->s on a #GDBusConnection. + + + + + The #GDBusServer structure contains only private data and +should only be accessed using the provided API. + + + Creates a new D-Bus server that listens on the first address in +Once constructed, you can use g_dbus_server_get_client_address() to +get a D-Bus address string that clients can use to connect. +Connect to the #GDBusServer::new-connection signal to handle +incoming connections. +The returned #GDBusServer isn't active - you have to start it with +g_dbus_server_start(). +See <xref linkend="gdbus-peer-to-peer"/> for how #GDBusServer can +be used. +This is a synchronous failable constructor. See +g_dbus_server_new() for the asynchronous version. +g_object_unref(). + + A #GDBusServer or %NULL if @error is set. Free with + + + + + A D-Bus address. + + + + Flags from the #GDBusServerFlags enumeration. + + + + A D-Bus GUID. + + + + A #GDBusAuthObserver or %NULL. + + + + A #GCancellable or %NULL. + + + + + + Gets a D-Bus address string that can be used by clients to connect +to @server. +by @server. + + A D-Bus address string. Do not free, the string is owned + + + + + Gets the flags for @server. + + A set of flags from the #GDBusServerFlags enumeration. + + + + + Gets the GUID for @server. + + A D-Bus GUID. Do not free this string, it is owned by @server. + + + + + Gets whether @server is active. + + %TRUE if server is active, %FALSE otherwise. + + + + + Starts @server. + + + + + + Stops @server. + + + + + + Whether the server is currently active. + + + + The D-Bus address to listen on. + + + + A #GDBusAuthObserver object to assist in the authentication process or %NULL. + + + + The D-Bus address that clients can use. + + + + Flags from the #GDBusServerFlags enumeration. + + + + The guid of the server. + + + + Emitted when a new authenticated connection has been made. Use +g_dbus_connection_get_peer_credentials() to figure out what +identity (if any), was authenticated. +If you want to accept the connection, take a reference to the +connection call g_dbus_connection_close() and give up your +reference. Note that the other peer may disconnect at any time - +a typical thing to do when accepting a connection is to listen to +the #GDBusConnection::closed signal. +If #GDBusServer:flags contains %G_DBUS_SERVER_FLAGS_RUN_IN_THREAD +then the signal is emitted in a new thread dedicated to the +connection. Otherwise the signal is emitted in the <link +linkend="g-main-context-push-thread-default">thread-default main +loop</link> of the thread that @server was constructed in. +You are guaranteed that signal handlers for this signal runs +before incoming messages on @connection are processed. This means +that it's suitable to call g_dbus_connection_register_object() or +similar from the signal handler. +run. + + %TRUE to claim @connection, %FALSE to let other handlers + + + + + A #GDBusConnection for the new connection. + + + + + + + Flags used when creating a #GDBusServer. + + + + + + Signature for callback function used in g_dbus_connection_signal_subscribe(). + + + + + + A #GDBusConnection. + + + + The unique bus name of the sender of the signal. + + + + The object path that the signal was emitted on. + + + + The name of the interface. + + + + The name of the signal. + + + + A #GVariant tuple with parameters for the signal. + + + + User data passed when subscribing to the signal. + + + + + + Flags used when subscribing to signals via g_dbus_connection_signal_subscribe(). + + + + Information about a signal on a D-Bus interface. + + + + + + + + + + + + + + If @info is statically allocated does nothing. Otherwise increases +the reference count. + + The same @info. + + + + + If @info is statically allocated, does nothing. Otherwise decreases +the reference count of @info. When its reference count drops to 0, +the memory used is freed. + + + + + + + The type of the @dispatch function in #GDBusSubtreeVTable. +Subtrees are flat. @node, if non-%NULL, is always exactly one + + A #GDBusInterfaceVTable or %NULL if you don't want to handle the methods. + + + + + A #GDBusConnection. + + + + The unique bus name of the remote caller. + + + + The object path that was registered with g_dbus_connection_register_subtree(). + + + + The D-Bus interface name that the method call or property access is for. + + + + A node that is a child of @object_path (relative to @object_path) or %NULL for the root of the subtree. + + + + Return location for user data to pass to functions in the returned #GDBusInterfaceVTable (never %NULL). + + + + The @user_data #gpointer passed to g_dbus_connection_register_subtree(). + + + + + + The type of the @enumerate function in #GDBusSubtreeVTable. +This function is called when generating introspection data and also +when preparing to dispatch incoming messages in the event that the +%G_DBUS_SUBTREE_FLAGS_DISPATCH_TO_UNENUMERATED_NODES flag is not +Hierarchies are not supported; the items that you return should not +contain the '/' character. +The return value will be freed with g_strfreev(). + + A newly allocated array of strings for node names that are children of @object_path. + + + + + + + A #GDBusConnection. + + + + The unique bus name of the remote caller. + + + + The object path that was registered with g_dbus_connection_register_subtree(). + + + + The @user_data #gpointer passed to g_dbus_connection_register_subtree(). + + + + + + Flags passed to g_dbus_connection_register_subtree(). + + + + + The type of the @introspect function in #GDBusSubtreeVTable. +Subtrees are flat. @node, if non-%NULL, is always exactly one +This function should return %NULL to indicate that there is no object +at this node. +If this function returns non-%NULL, the return value is expected to +be a %NULL-terminated array of pointers to #GDBusInterfaceInfo +structures describing the interfaces implemented by @node. This +array will have g_dbus_interface_info_unref() called on each item +before being freed with g_free(). +The difference between returning %NULL and an array containing zero +items is that the standard DBus interfaces will returned to the +remote introspector in the empty array case, but not in the %NULL +case. + + A %NULL-terminated array of pointers to #GDBusInterfaceInfo, or %NULL. + + + + + A #GDBusConnection. + + + + The unique bus name of the remote caller. + + + + The object path that was registered with g_dbus_connection_register_subtree(). + + + + A node that is a child of @object_path (relative to @object_path) or %NULL for the root of the subtree. + + + + The @user_data #gpointer passed to g_dbus_connection_register_subtree(). + + + + + + Virtual table for handling subtrees registered with g_dbus_connection_register_subtree(). + + + + + + + + + + + + + + + + + + + + An implementation of #GBufferedInputStream that allows for high-level +data manipulation of arbitrary data (including binary operations). + + Creates a new data input stream for the @base_stream. + + a new #GDataInputStream. + + + + + a #GInputStream. + + + + + + Gets the byte order for the data input stream. + + the @stream's current #GDataStreamByteOrder. + + + - + Gets the current newline type for the @stream. + + #GDataStreamNewlineType for the given @stream. + Reads an unsigned 8-bit/1-byte value from @stream. +if an error occurred. - + an unsigned 8-bit/1-byte value read from the @stream or %0 + + optional #GCancellable object, %NULL to ignore. @@ -2183,27 +9702,19 @@ data manipulation of arbitrary data (including binary operations)." + Reads a 16-bit/2-byte value from @stream. +In order to get the correct byte order for this read operation, +see g_data_input_stream_get_byte_order() and g_data_input_stream_set_byte_order(). +an error occurred. - - - - - - - - - - - + a signed 16-bit/2-byte value read from @stream or %0 if + + optional #GCancellable object, %NULL to ignore. @@ -2211,27 +9722,22 @@ data manipulation of arbitrary data (including binary operations)." + Reads a signed 32-bit/4-byte value from @stream. +In order to get the correct byte order for this read operation, +see g_data_input_stream_get_byte_order() and g_data_input_stream_set_byte_order(). +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +an error occurred. - - - - - - - - - - - + a signed 32-bit/4-byte value read from the @stream or %0 if + + optional #GCancellable object, %NULL to ignore. @@ -2239,27 +9745,22 @@ data manipulation of arbitrary data (including binary operations)." + Reads a 64-bit/8-byte value from @stream. +In order to get the correct byte order for this read operation, +see g_data_input_stream_get_byte_order() and g_data_input_stream_set_byte_order(). +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +an error occurred. - - - - - - - - - - - + a signed 64-bit/8-byte value read from @stream or %0 if + + optional #GCancellable object, %NULL to ignore. @@ -2267,128 +9768,408 @@ data manipulation of arbitrary data (including binary operations)." + Reads a line from the data input stream. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +Set @length to a #gsize to get the length of the read line. +On an error, it will return %NULL and @error will be set. If there's no +content to read, it will still return %NULL, but @error won't be set. + a string with the line that was read in (without the newlines). - - + + a #gsize to get the length of the data read in. + + optional #GCancellable object, %NULL to ignore. + c:identifier="g_data_input_stream_read_line_async" + version="2.20"> + The asynchronous version of g_data_input_stream_read_line(). It is +an error to have two outstanding calls to this function. +When the operation is finished, @callback will be called. You +can then call g_data_input_stream_read_line_finish() to get +the result of the operation. - + the <link linkend="io-priority">I/O priority</link> of the request. + + optional #GCancellable object, %NULL to ignore. + closure="3"> + callback to call when the request is satisfied. - + the data to pass to callback function. + + Finish an asynchronous call started by +g_data_input_stream_read_line_async(). +Set @length to a #gsize to get the length of the read line. +On an error, it will return %NULL and @error will be set. If there's no +content to read, it will still return %NULL, but @error won't be set. + a string with the line that was read in (without the newlines). + the #GAsyncResult that was provided to the callback. - - + + a #gsize to get the length of the data read in. + + + + + + Reads an unsigned 16-bit/2-byte value from @stream. +In order to get the correct byte order for this read operation, +see g_data_input_stream_get_byte_order() and g_data_input_stream_set_byte_order(). +an error occurred. + + an unsigned 16-bit/2-byte value read from the @stream or %0 if + + + + + optional #GCancellable object, %NULL to ignore. + + + + + + Reads an unsigned 32-bit/4-byte value from @stream. +In order to get the correct byte order for this read operation, +see g_data_input_stream_get_byte_order() and g_data_input_stream_set_byte_order(). +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +an error occurred. + + an unsigned 32-bit/4-byte value read from the @stream or %0 if + + + + + optional #GCancellable object, %NULL to ignore. + + + + + + Reads an unsigned 64-bit/8-byte value from @stream. +In order to get the correct byte order for this read operation, +see g_data_input_stream_get_byte_order(). +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +an error occurred. + + an unsigned 64-bit/8-byte read from @stream or %0 if + + + + + optional #GCancellable object, %NULL to ignore. + + Reads a string from the data input stream, up to the first +occurrence of any of the stop characters. +Note that, in contrast to g_data_input_stream_read_until_async(), +this function consumes the stop character that it finds. +Don't use this function in new code. Its functionality is +inconsistent with g_data_input_stream_read_until_async(). Both +functions will be marked as deprecated in a future release. Use +g_data_input_stream_read_upto() instead, but note that that function +does not consume the stop character. +any of the stop characters. Set @length to a #gsize to get the length +of the string. This function will return %NULL on an error. + a string with the data that was read before encountering + characters to terminate the read. - - + + a #gsize to get the length of the data read in. + + optional #GCancellable object, %NULL to ignore. + c:identifier="g_data_input_stream_read_until_async" + version="2.20"> + The asynchronous version of g_data_input_stream_read_until(). +It is an error to have two outstanding calls to this function. +Note that, in contrast to g_data_input_stream_read_until(), +this function does not consume the stop character that it finds. You +must read it for yourself. +When the operation is finished, @callback will be called. You +can then call g_data_input_stream_read_until_finish() to get +the result of the operation. +Don't use this function in new code. Its functionality is +inconsistent with g_data_input_stream_read_until(). Both functions +will be marked as deprecated in a future release. Use +g_data_input_stream_read_upto_async() instead. + characters to terminate the read. - + the <link linkend="io-priority">I/O priority</link> of the request. + + optional #GCancellable object, %NULL to ignore. + + + + callback to call when the request is satisfied. + + + + the data to pass to callback function. + + + + + + Finish an asynchronous call started by +g_data_input_stream_read_until_async(). +any of the stop characters. Set @length to a #gsize to get the length +of the string. This function will return %NULL on an error. + + a string with the data that was read before encountering + + + + + the #GAsyncResult that was provided to the callback. + + + + a #gsize to get the length of the data read in. + + + + + + Reads a string from the data input stream, up to the first +occurrence of any of the stop characters. +In contrast to g_data_input_stream_read_until(), this function +does <emphasis>not</emphasis> consume the stop character. You have +to use g_data_input_stream_read_byte() to get it before calling +g_data_input_stream_read_upto() again. +Note that @stop_chars may contain '\0' if @stop_chars_len is +specified. +any of the stop characters. Set @length to a #gsize to get the length +of the string. This function will return %NULL on an error + + a string with the data that was read before encountering + + + + + characters to terminate the read + + + + length of @stop_chars. May be -1 if @stop_chars is nul-terminated + + + + a #gsize to get the length of the data read in + + + + optional #GCancellable object, %NULL to ignore + + + + + + The asynchronous version of g_data_input_stream_read_upto(). +It is an error to have two outstanding calls to this function. +In contrast to g_data_input_stream_read_until(), this function +does <emphasis>not</emphasis> consume the stop character. You have +to use g_data_input_stream_read_byte() to get it before calling +g_data_input_stream_read_upto() again. +Note that @stop_chars may contain '\0' if @stop_chars_len is +specified. +When the operation is finished, @callback will be called. You +can then call g_data_input_stream_read_upto_finish() to get +the result of the operation. + + + + + + characters to terminate the read + + + + length of @stop_chars. May be -1 if @stop_chars is nul-terminated + + + + + + + optional #GCancellable object, %NULL to ignore + callback to call when the request is satisfied - + the data to pass to callback function + - + Finish an asynchronous call started by +g_data_input_stream_read_upto_async(). +Note that this function does <emphasis>not</emphasis> consume the +stop character. You have to use g_data_input_stream_read_byte() to +get it before calling g_data_input_stream_read_upto_async() again. +any of the stop characters. Set @length to a #gsize to get the length +of the string. This function will return %NULL on an error. + a string with the data that was read before encountering + the #GAsyncResult that was provided to the callback - - + + a #gsize to get the length of the data read in + - - + + This function sets the byte order for the given @stream. All subsequent +reads from the @stream will be read in the given @order. + + + + + + a #GDataStreamByteOrder to set. + + + + + + Sets the newline type for the @stream. +Note that using G_DATA_STREAM_NEWLINE_TYPE_ANY is slightly unsafe. If a read +chunk ends in "CR" we must read an additional byte to know if this is "CR" or +"CR LF", and this might block if there is no more data availible. + + + + + + the type of new line return as #GDataStreamNewlineType. + + + + + + - - + + @@ -2404,92 +10185,93 @@ data manipulation of arbitrary data (including binary operations)." - - + + - - + + - - + + - - + + - - + + - + + An implementation of #GBufferedOutputStream that allows for high-level +data manipulation of arbitrary data (including binary operations). + Creates a new data output stream for @base_stream. + #GDataOutputStream. + a #GOutputStream. - - - - - - - - - - - + Gets the byte order for the stream. + + the #GDataStreamByteOrder for the @stream. + Puts a byte into the output stream. - + %TRUE if @data was successfully added to the @stream. + - + a #guchar. + + optional #GCancellable object, %NULL to ignore. @@ -2497,33 +10279,20 @@ data manipulation of arbitrary data (including binary operations)." + Puts a signed 16-bit integer into the output stream. - + %TRUE if @data was successfully added to the @stream. + - - - - - - - - - - - - - - + a #gint16. + + optional #GCancellable object, %NULL to ignore. @@ -2531,33 +10300,20 @@ data manipulation of arbitrary data (including binary operations)." + Puts a signed 32-bit integer into the output stream. - + %TRUE if @data was successfully added to the @stream. + - - - - - - - - - - - - - - + a #gint32. + + optional #GCancellable object, %NULL to ignore. @@ -2565,33 +10321,20 @@ data manipulation of arbitrary data (including binary operations)." + Puts a signed 64-bit integer into the stream. - + %TRUE if @data was successfully added to the @stream. + - - - - - - - - - - - - - - + a #gint64. + + optional #GCancellable object, %NULL to ignore. @@ -2599,22 +10342,104 @@ data manipulation of arbitrary data (including binary operations)." + Puts a string into the output stream. - + %TRUE if @string was successfully added to the @stream. + + a string. + optional #GCancellable object, %NULL to ignore. - - + + Puts an unsigned 16-bit integer into the output stream. + + %TRUE if @data was successfully added to the @stream. + + + + + a #guint16. + + + + optional #GCancellable object, %NULL to ignore. + + + + + + Puts an unsigned 32-bit integer into the stream. + + %TRUE if @data was successfully added to the @stream. + + + + + a #guint32. + + + + optional #GCancellable object, %NULL to ignore. + + + + + + Puts an unsigned 64-bit integer into the stream. + + %TRUE if @data was successfully added to the @stream. + + + + + a #guint64. + + + + optional #GCancellable object, %NULL to ignore. + + + + + + Sets the byte order of the data output stream to @order. + + + + + + a %GDataStreamByteOrder. + + + + + + Determines the byte ordering that is used when writing +multi-byte entities (such as integers) to the stream. + @@ -2631,50 +10456,52 @@ data manipulation of arbitrary data (including binary operations)." - - + + - - + + - - + + - - + + - - + + - + + #GDataStreamByteOrder is used to ensure proper endianness of streaming data sources +across various machine architectures. + #GDataStreamNewlineType is used when checking for or setting the line endings for a given file. + Information about an installed application from a desktop file. + + Creates a new #GDesktopAppInfo based on a desktop file id. +A desktop file id is the basename of the desktop file, including the +.desktop extension. GIO is looking for a desktop file with this name +in the <filename>applications</filename> subdirectories of the XDG data +directories (i.e. the directories specified in the +<envar>XDG_DATA_HOME</envar> and <envar>XDG_DATA_DIRS</envar> environment +variables). GIO also supports the prefix-to-subdirectory mapping that is +described in the <ulink url="http://standards.freedesktop.org/menu-spec/latest/">Menu Spec</ulink> +(i.e. a desktop id of kde-foo.desktop will match +<filename>/usr/share/applications/kde/foo.desktop</filename>). + + a new #GDesktopAppInfo, or %NULL if no desktop file with that id + + + + + the desktop file id + + + + + Creates a new #GDesktopAppInfo. + a new #GDesktopAppInfo or %NULL on error. + the path of a desktop file, in the GLib filename encoding + c:identifier="g_desktop_app_info_new_from_keyfile" + version="2.18"> + Creates a new #GDesktopAppInfo. + a new #GDesktopAppInfo or %NULL on error. + an opened #GKeyFile - - - - - - - - - - + Sets the name of the desktop that the application is running in. +This is used by g_app_info_should_show() to evaluate the +<literal>OnlyShowIn</literal> and <literal>NotShowIn</literal> +desktop entry fields. +The <ulink url="http://standards.freedesktop.org/menu-spec/latest/">Desktop +Menu specification</ulink> recognizes the following: +<simplelist> +<member>GNOME</member> +<member>KDE</member> +<member>ROX</member> +<member>XFCE</member> +<member>Old</member> +</simplelist> +Should be called only once; subsequent calls are ignored. + a string specifying what desktop this is + c:identifier="g_desktop_app_info_get_filename" + version="2.24"> + When @info was created from a known filename, return it. In some +situations such as the #GDesktopAppInfo returned from +g_desktop_app_info_new_from_keyfile(), this function will return %NULL. + The full path to the file for @info, or %NULL if not known. + A desktop file is hidden if the Hidden key in it is +set to True. - + %TRUE if hidden, %FALSE otherwise. + @@ -2781,30 +10652,49 @@ across various machine architectures." + Interface that is used by backends to associate default +handlers with URI schemes. + Gets the default application for launching applications +using this URI scheme for a particular GDesktopAppInfoLookup +implementation. +The GDesktopAppInfoLookup interface and this function is used +to implement g_app_info_get_default_for_uri_scheme() backends +in a GIO module. There is no reason for applications to use it +directly. Applications should use g_app_info_get_default_for_uri_scheme(). + #GAppInfo for given @uri_scheme or %NULL on error. + a string containing a URI scheme. + Gets the default application for launching applications +using this URI scheme for a particular GDesktopAppInfoLookup +implementation. +The GDesktopAppInfoLookup interface and this function is used +to implement g_app_info_get_default_for_uri_scheme() backends +in a GIO module. There is no reason for applications to use it +directly. Applications should use g_app_info_get_default_for_uri_scheme(). + #GAppInfo for given @uri_scheme or %NULL on error. + a string containing a URI scheme. @@ -2817,9 +10707,9 @@ handlers with URI schemes." - + + #GAppInfo for given @uri_scheme or %NULL on error. @@ -2828,6 +10718,7 @@ handlers with URI schemes." c:type="GDesktopAppInfoLookup*"/> + a string containing a URI scheme. @@ -2835,568 +10726,833 @@ handlers with URI schemes." - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + Opaque drive object. + Checks if a drive can be ejected. - + %TRUE if the @drive can be ejected, %FALSE otherwise. + + Checks if a drive can be polled for media changes. +%FALSE otherwise. - + %TRUE if the @drive can be polled for media changes, + - + + Checks if a drive can be started. + + %TRUE if the @drive can be started, %FALSE otherwise. + + + + + Checks if a drive can be started degraded. + + %TRUE if the @drive can be started degraded, %FALSE otherwise. + + + + + Checks if a drive can be stopped. + + %TRUE if the @drive can be stopped, %FALSE otherwise. + + + + + Asynchronously ejects a drive. +When the operation is finished, @callback will be called. +You can then call g_drive_eject_finish() to obtain the +result of the operation. + flags affecting the unmount if required for eject - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + optional #GCancellable object, %NULL to ignore. + a #GAsyncReadyCallback, or %NULL. + + + + user data to pass to @callback + + + + + + Finishes ejecting a drive. +%FALSE otherwise. + + %TRUE if the drive has been ejected successfully, + + + + + a #GAsyncResult. + + + + + + Ejects a drive. This is an asynchronous operation, and is +finished by calling g_drive_eject_with_operation_finish() with the @drive +and #GAsyncResult data returned in the @callback. + + + + + + flags affecting the unmount if required for eject + + + + a #GMountOperation or %NULL to avoid user interaction. + + + + optional #GCancellable object, %NULL to ignore. + + + + a #GAsyncReadyCallback, or %NULL. + + + + user data passed to @callback. + + + + + + Finishes ejecting a drive. If any errors occurred during the operation, + + %TRUE if the drive was successfully ejected. %FALSE otherwise. + + + + + a #GAsyncResult. + + + + + + Gets the kinds of identifiers that @drive has. +Use g_drive_get_identifer() to obtain the identifiers +themselves. +kinds of identifiers. Use g_strfreev() to free. + + a %NULL-terminated array of strings containing + + + + + + + Gets the icon for @drive. +Free the returned object with g_object_unref(). + + #GIcon for the @drive. + + + + + Gets the identifier of the given kind for @drive. +requested identfier, or %NULL if the #GDrive +doesn't have this kind of identifier. + + a newly allocated string containing the + + + + + the kind of identifier to return + + + + + + Gets the name of @drive. +string should be freed when no longer needed. + + a string containing @drive's name. The returned + + + + + Gets a hint about how a drive can be started/stopped. + + A value from the #GDriveStartStopType enumeration. + + + + + Get a list of mountable volumes for @drive. +The returned list should be freed with g_list_free(), after +its elements have been unreffed with g_object_unref(). + + #GList containing any #GVolume objects on the given @drive. + + + + + + + Checks if the @drive has media. Note that the OS may not be polling +the drive for media changes; see g_drive_is_media_check_automatic() +for more details. + + %TRUE if @drive has media, %FALSE otherwise. + + + + + Check if @drive has any mountable volumes. + + %TRUE if the @drive contains volumes, %FALSE otherwise. + + + + + Checks if @drive is capabable of automatically detecting media changes. +media changes, %FALSE otherwise. + + %TRUE if the @drive is capabable of automatically detecting + + + + + Checks if the @drive supports removable media. + + %TRUE if @drive supports removable media, %FALSE otherwise. + + + + + Asynchronously polls @drive to see if media has been inserted or removed. +When the operation is finished, @callback will be called. +You can then call g_drive_poll_for_media_finish() to obtain the +result of the operation. + + + + + + optional #GCancellable object, %NULL to ignore. + + + + a #GAsyncReadyCallback, or %NULL. + + + + user data to pass to @callback + + + + + + Finishes an operation started with g_drive_poll_for_media() on a drive. +%FALSE otherwise. + + %TRUE if the drive has been poll_for_mediaed successfully, + + + + + a #GAsyncResult. + + + + + + Asynchronously starts a drive. +When the operation is finished, @callback will be called. +You can then call g_drive_start_finish() to obtain the +result of the operation. + + + + + + flags affecting the start operation. + + + + a #GMountOperation or %NULL to avoid user interaction. + + + + optional #GCancellable object, %NULL to ignore. + + + + a #GAsyncReadyCallback, or %NULL. + + + + user data to pass to @callback + + + + + + Finishes starting a drive. +%FALSE otherwise. + + %TRUE if the drive has been started successfully, + + + + + a #GAsyncResult. + + + + + + Asynchronously stops a drive. +When the operation is finished, @callback will be called. +You can then call g_drive_stop_finish() to obtain the +result of the operation. + + + + + + flags affecting the unmount if required for stopping. + + + + a #GMountOperation or %NULL to avoid user interaction. + + + + optional #GCancellable object, %NULL to ignore. + + + + a #GAsyncReadyCallback, or %NULL. + + + + user data to pass to @callback + + + + + + Finishes stopping a drive. +%FALSE otherwise. + + %TRUE if the drive has been stopped successfully, + + + + + a #GAsyncResult. + + + + + + Checks if a drive can be ejected. + + %TRUE if the @drive can be ejected, %FALSE otherwise. + + + + + Checks if a drive can be polled for media changes. +%FALSE otherwise. + + %TRUE if the @drive can be polled for media changes, + + + + + Checks if a drive can be started. + + %TRUE if the @drive can be started, %FALSE otherwise. + + + + + Checks if a drive can be started degraded. + + %TRUE if the @drive can be started degraded, %FALSE otherwise. + + + + + Checks if a drive can be stopped. + + %TRUE if the @drive can be stopped, %FALSE otherwise. + + + + + Asynchronously ejects a drive. +When the operation is finished, @callback will be called. +You can then call g_drive_eject_finish() to obtain the +result of the operation. + + + + + + flags affecting the unmount if required for eject + + + + optional #GCancellable object, %NULL to ignore. + + + + a #GAsyncReadyCallback, or %NULL. - + user data to pass to @callback + + + + + + Finishes ejecting a drive. +%FALSE otherwise. + + %TRUE if the drive has been ejected successfully, + + + + + a #GAsyncResult. + + + + + + Ejects a drive. This is an asynchronous operation, and is +finished by calling g_drive_eject_with_operation_finish() with the @drive +and #GAsyncResult data returned in the @callback. + + + + + + flags affecting the unmount if required for eject + + + + a #GMountOperation or %NULL to avoid user interaction. + + + + optional #GCancellable object, %NULL to ignore. + + + + a #GAsyncReadyCallback, or %NULL. + + + + user data passed to @callback. + + + + + + Finishes ejecting a drive. If any errors occurred during the operation, + + %TRUE if the drive was successfully ejected. %FALSE otherwise. + + + + + a #GAsyncResult. + + + + + + Gets the kinds of identifiers that @drive has. +Use g_drive_get_identifer() to obtain the identifiers +themselves. +kinds of identifiers. Use g_strfreev() to free. + + a %NULL-terminated array of strings containing + + + + + + + Gets the icon for @drive. +Free the returned object with g_object_unref(). + + #GIcon for the @drive. + + + + + Gets the identifier of the given kind for @drive. +requested identfier, or %NULL if the #GDrive +doesn't have this kind of identifier. + + a newly allocated string containing the + + + + + the kind of identifier to return + + + + + + Gets the name of @drive. +string should be freed when no longer needed. + + a string containing @drive's name. The returned + + + + + Gets a hint about how a drive can be started/stopped. + + A value from the #GDriveStartStopType enumeration. + + + + + Get a list of mountable volumes for @drive. +The returned list should be freed with g_list_free(), after +its elements have been unreffed with g_object_unref(). + + #GList containing any #GVolume objects on the given @drive. + + + + + + + Checks if the @drive has media. Note that the OS may not be polling +the drive for media changes; see g_drive_is_media_check_automatic() +for more details. + + %TRUE if @drive has media, %FALSE otherwise. + + + + + Check if @drive has any mountable volumes. + + %TRUE if the @drive contains volumes, %FALSE otherwise. + + + + + Checks if @drive is capabable of automatically detecting media changes. +media changes, %FALSE otherwise. + + %TRUE if the @drive is capabable of automatically detecting + + + + + Checks if the @drive supports removable media. + + %TRUE if @drive supports removable media, %FALSE otherwise. + + + + + Asynchronously polls @drive to see if media has been inserted or removed. +When the operation is finished, @callback will be called. +You can then call g_drive_poll_for_media_finish() to obtain the +result of the operation. + + + + + + optional #GCancellable object, %NULL to ignore. + + + + a #GAsyncReadyCallback, or %NULL. + + + + user data to pass to @callback + + Finishes an operation started with g_drive_poll_for_media() on a drive. +%FALSE otherwise. - + %TRUE if the drive has been poll_for_mediaed successfully, + + a #GAsyncResult. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + Asynchronously starts a drive. +When the operation is finished, @callback will be called. +You can then call g_drive_start_finish() to obtain the +result of the operation. + flags affecting the start operation. + a #GMountOperation or %NULL to avoid user interaction. + optional #GCancellable object, %NULL to ignore. + closure="4"> + a #GAsyncReadyCallback, or %NULL. - + user data to pass to @callback + + Finishes starting a drive. +%FALSE otherwise. - + %TRUE if the drive has been started successfully, + + a #GAsyncResult. - - - - - - + + Asynchronously stops a drive. +When the operation is finished, @callback will be called. +You can then call g_drive_stop_finish() to obtain the +result of the operation. + flags affecting the unmount if required for stopping. + a #GMountOperation or %NULL to avoid user interaction. + optional #GCancellable object, %NULL to ignore. + closure="4"> + a #GAsyncReadyCallback, or %NULL. - + user data to pass to @callback + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + Finishes stopping a drive. +%FALSE otherwise. - + %TRUE if the drive has been stopped successfully, + + a #GAsyncResult. - - + Emitted when the drive's state has changed. + + - - + This signal is emitted when the #GDrive have been +disconnected. If the recipient is holding references to the +object they should release them so the object can be +finalized. + + - - + Emitted when the physical eject button (if any) of a drive has +been pressed. + + - - - + + Emitted when the physical stop button (if any) of a drive has +been pressed. + + + glib:is-gtype-struct-for="Drive"> + Interface for creating #GDrive implementations. - + @@ -3408,7 +11564,7 @@ Interface for creating #GDrive implementations."> - + @@ -3420,7 +11576,7 @@ Interface for creating #GDrive implementations."> - + @@ -3432,8 +11588,9 @@ Interface for creating #GDrive implementations."> - + + a string containing @drive's name. The returned @@ -3444,8 +11601,9 @@ Interface for creating #GDrive implementations."> - + + #GIcon for the @drive. @@ -3456,9 +11614,10 @@ Interface for creating #GDrive implementations."> - + - + %TRUE if the @drive contains volumes, %FALSE otherwise. + @@ -3468,9 +11627,12 @@ Interface for creating #GDrive implementations."> - + - + #GList containing any #GVolume objects on the given @drive. + + + @@ -3480,9 +11642,10 @@ Interface for creating #GDrive implementations."> - + - + %TRUE if @drive supports removable media, %FALSE otherwise. + @@ -3492,9 +11655,10 @@ Interface for creating #GDrive implementations."> - + - + %TRUE if @drive has media, %FALSE otherwise. + @@ -3504,10 +11668,10 @@ Interface for creating #GDrive implementations."> - + - + %TRUE if the @drive is capabable of automatically detecting + @@ -3517,9 +11681,10 @@ Interface for creating #GDrive implementations."> - + - + %TRUE if the @drive can be ejected, %FALSE otherwise. + @@ -3529,9 +11694,10 @@ Interface for creating #GDrive implementations."> - + - + %TRUE if the @drive can be polled for media changes, + @@ -3541,7 +11707,7 @@ Interface for creating #GDrive implementations."> - + @@ -3550,39 +11716,48 @@ Interface for creating #GDrive implementations."> + flags affecting the unmount if required for eject + optional #GCancellable object, %NULL to ignore. - + + a #GAsyncReadyCallback, or %NULL. - + user data to pass to @callback + - + - + %TRUE if the drive has been ejected successfully, + + a #GAsyncResult. - + @@ -3593,37 +11768,44 @@ Interface for creating #GDrive implementations."> + optional #GCancellable object, %NULL to ignore. - + + a #GAsyncReadyCallback, or %NULL. - + user data to pass to @callback + - + - + %TRUE if the drive has been poll_for_mediaed successfully, + + a #GAsyncResult. - + + a newly allocated string containing the @@ -3631,14 +11813,16 @@ Interface for creating #GDrive implementations."> + the kind of identifier to return - + + a %NULL-terminated array of strings containing @@ -3651,8 +11835,9 @@ Interface for creating #GDrive implementations."> - - + + + A value from the #GDriveStartStopType enumeration. @@ -3663,9 +11848,10 @@ Interface for creating #GDrive implementations."> - + - + %TRUE if the @drive can be started, %FALSE otherwise. + @@ -3675,9 +11861,10 @@ Interface for creating #GDrive implementations."> - + - + %TRUE if the @drive can be started degraded, %FALSE otherwise. + @@ -3687,7 +11874,7 @@ Interface for creating #GDrive implementations."> - + @@ -3696,44 +11883,55 @@ Interface for creating #GDrive implementations."> + flags affecting the start operation. + a #GMountOperation or %NULL to avoid user interaction. + optional #GCancellable object, %NULL to ignore. - + + a #GAsyncReadyCallback, or %NULL. - + user data to pass to @callback + - + - + %TRUE if the drive has been started successfully, + + a #GAsyncResult. - + - + %TRUE if the @drive can be stopped, %FALSE otherwise. + @@ -3743,7 +11941,7 @@ Interface for creating #GDrive implementations."> - + @@ -3752,42 +11950,52 @@ Interface for creating #GDrive implementations."> + flags affecting the unmount if required for stopping. + a #GMountOperation or %NULL to avoid user interaction. + optional #GCancellable object, %NULL to ignore. - + + a #GAsyncReadyCallback, or %NULL. - + user data to pass to @callback + - + - + %TRUE if the drive has been stopped successfully, + + a #GAsyncResult. - + @@ -3799,7 +12007,7 @@ Interface for creating #GDrive implementations."> - + @@ -3808,37 +12016,45 @@ Interface for creating #GDrive implementations."> + flags affecting the unmount if required for eject + a #GMountOperation or %NULL to avoid user interaction. + optional #GCancellable object, %NULL to ignore. - + + a #GAsyncReadyCallback, or %NULL. - + user data passed to @callback. + - + - + %TRUE if the drive was successfully ejected. %FALSE otherwise. + + a #GAsyncResult. @@ -3846,30 +12062,22 @@ Interface for creating #GDrive implementations."> + Flags used when starting a drive. + Enumeration describing how a drive can be started/stopped. + An object for Emblems - + + Creates a new emblem for @icon. + a new #GEmblem. + a GIcon containing the icon. + c:identifier="g_emblem_new_with_origin" + version="2.18"> + Creates a new emblem for @icon. + a new #GEmblem. + a GIcon containing the icon. + a GEmblemOrigin enum defining the emblem's origin - + + Gives back the icon from @emblem. +and should not be modified or freed. + a #GIcon. The returned object belongs to the emblem - - + + Gets the origin of the emblem. + + the origin of the emblem - - + + - - + + + GEmblemOrigin is used to add information about the origin of the emblem +to #GEmblem. + An implementation of #GIcon for icons with emblems. - + + Creates a new emblemed icon for @icon with the emblem @emblem. - + a new #GIcon + + a #GIcon + a #GEmblem - - - - - - - - - - - - + + + Adds @emblem to the #GList of #GEmblem <!-- -->s. + a #GEmblem + + Gets the list of emblems for the @icon. +is owned by @emblemed + + a #GList of #GEmblem <!-- -->s that + + + + + + + Gets the main icon for @emblemed. + + a #GIcon that is owned by @emblemed + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + A handle to an object implementing the #GFileIface interface. +Generally stores a location within the file system. Handles do not +necessarily represent files or directories that currently exist. + Gets an output stream for appending data to the file. If +the file doesn't already exist it is created. +By default files created are generally readable by everyone, +but if you pass #G_FILE_CREATE_PRIVATE in @flags the file +will be made readable only to the current user, to the level that +is supported on the target filesystem. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +Some file systems don't allow all file names, and may +return an %G_IO_ERROR_INVALID_FILENAME error. +If the file is a directory the %G_IO_ERROR_IS_DIRECTORY error will be +returned. Other errors are possible too, and depend on what kind of +filesystem the file is on. +Free the returned object with g_object_unref(). + a #GFileOutputStream, or %NULL on error. + a set of #GFileCreateFlags. + optional #GCancellable object, %NULL to ignore. + Asynchronously opens @file for appending. +For more details, see g_file_append_to() which is +the synchronous version of this call. +When the operation is finished, @callback will be called. You can then call +g_file_append_to_finish() to get the result of the operation. + a set of #GFileCreateFlags. - + the <link linkend="io-priority">I/O priority</link> of the request. + + optional #GCancellable object, %NULL to ignore. - + + a #GAsyncReadyCallback to call when the request is satisfied - - + + the data to pass to callback function + + Finishes an asynchronous file append operation started with +g_file_append_to_async(). +Free the returned object with g_object_unref(). + a valid #GFileOutputStream or %NULL on error. + #GAsyncResult + + + + + + Copies the file @source to the location specified by @destination. +Can not handle recursive copies of directories. +If the flag #G_FILE_COPY_OVERWRITE is specified an already +existing @destination file is overwritten. +If the flag #G_FILE_COPY_NOFOLLOW_SYMLINKS is specified then symlinks +will be copied as symlinks, otherwise the target of the +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +If @progress_callback is not %NULL, then the operation can be monitored by +setting this to a #GFileProgressCallback function. @progress_callback_data +will be passed to this function. It is guaranteed that this callback will +be called after all data has been transferred with the total number of bytes +copied during the operation. +If the @source file does not exist then the G_IO_ERROR_NOT_FOUND +error is returned, independent on the status of the @destination. +If #G_FILE_COPY_OVERWRITE is not specified and the target exists, then the +error G_IO_ERROR_EXISTS is returned. +If trying to overwrite a file over a directory the G_IO_ERROR_IS_DIRECTORY +error is returned. If trying to overwrite a directory with a directory the +G_IO_ERROR_WOULD_MERGE error is returned. +If the source is a directory and the target does not exist, or #G_FILE_COPY_OVERWRITE is +specified and the target is a file, then the G_IO_ERROR_WOULD_RECURSE error +is returned. +If you are interested in copying the #GFile object itself (not the on-disk +file), see g_file_dup(). + + %TRUE on success, %FALSE otherwise. + + + + + destination #GFile + + + + set of #GFileCopyFlags + + + + optional #GCancellable object, %NULL to ignore. + + + + function to callback with progress information + + + + user data to pass to @progress_callback + + + + + + Copies the file @source to the location specified by @destination +asynchronously. For details of the behaviour, see g_file_copy(). +If @progress_callback is not %NULL, then that function that will be called +just like in g_file_copy(), however the callback will run in the main loop, +not in the thread that is doing the I/O operation. +When the operation is finished, @callback will be called. You can then call +g_file_copy_finish() to get the result of the operation. + + + + + + destination #GFile + + + + set of #GFileCopyFlags + + + + the <link linkend="io-priority">I/O priority</link> of the request. + + + + optional #GCancellable object, %NULL to ignore. + + + + function to callback with progress information + + + + user data to pass to @progress_callback + + + + a #GAsyncReadyCallback to call when the request is satisfied + + + + the data to pass to callback function + + + + + + Finishes copying the file started with +g_file_copy_async(). + + a %TRUE on success, %FALSE on error. + + + + + a #GAsyncResult. + Creates a new file and returns an output stream for writing to it. +The file must not already exist. +By default files created are generally readable by everyone, +but if you pass #G_FILE_CREATE_PRIVATE in @flags the file +will be made readable only to the current user, to the level that +is supported on the target filesystem. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +If a file or directory with this name already exists the G_IO_ERROR_EXISTS +error will be returned. +Some file systems don't allow all file names, and may +return an G_IO_ERROR_INVALID_FILENAME error, and if the name +is to long G_IO_ERROR_FILENAME_TOO_LONG will be returned. +Other errors are possible too, and depend on what kind of +filesystem the file is on. +%NULL on error. +Free the returned object with g_object_unref(). + a #GFileOutputStream for the newly created file, or + a set of #GFileCreateFlags. + optional #GCancellable object, %NULL to ignore. + Asynchronously creates a new file and returns an output stream for writing to it. +The file must not already exist. +For more details, see g_file_create() which is +the synchronous version of this call. +When the operation is finished, @callback will be called. You can then call +g_file_create_finish() to get the result of the operation. + a set of #GFileCreateFlags. - + the <link linkend="io-priority">I/O priority</link> of the request. + + optional #GCancellable object, %NULL to ignore. - + + a #GAsyncReadyCallback to call when the request is satisfied - - + + the data to pass to callback function + + Finishes an asynchronous file create operation started with +g_file_create_async(). +Free the returned object with g_object_unref(). + a #GFileOutputStream or %NULL on error. + a #GAsyncResult. - + + Creates a new file and returns a stream for reading and writing to it. +The file must not already exist. +By default files created are generally readable by everyone, +but if you pass #G_FILE_CREATE_PRIVATE in @flags the file +will be made readable only to the current user, to the level that +is supported on the target filesystem. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +If a file or directory with this name already exists the %G_IO_ERROR_EXISTS +error will be returned. Some file systems don't allow all file names, +and may return an %G_IO_ERROR_INVALID_FILENAME error, and if the name +is too long, %G_IO_ERROR_FILENAME_TOO_LONG will be returned. Other errors +are possible too, and depend on what kind of filesystem the file is on. +Note that in many non-local file cases read and write streams are not +supported, so make sure you really need to do read and write streaming, +rather than just opening for reading or writing. +Free the returned object with g_object_unref(). - + a #GFileIOStream for the newly created file, or %NULL on error. + - - - - - - + a set of #GFileCreateFlags + optional #GCancellable object, %NULL to ignore - + + Asynchronously creates a new file and returns a stream for reading and +writing to it. The file must not already exist. +For more details, see g_file_create_readwrite() which is +the synchronous version of this call. +When the operation is finished, @callback will be called. You can then +call g_file_create_readwrite_finish() to get the result of the operation. - - - - - - + a set of #GFileCreateFlags - + the <link linkend="io-priority">I/O priority</link> of the request + + optional #GCancellable object, %NULL to ignore - + + a #GAsyncReadyCallback to call when the request is satisfied - - + + the data to pass to callback function + - + Finishes an asynchronous file create operation started with +g_file_create_readwrite_async(). +Free the returned object with g_object_unref(). - + a #GFileIOStream or %NULL on error. + + a #GAsyncResult - + + Deletes a file. If the @file is a directory, it will only be deleted if it +is empty. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. - + %TRUE if the file was deleted. %FALSE otherwise. + + optional #GCancellable object, %NULL to ignore. - + + Duplicates a #GFile handle. This operation does not duplicate +the actual file or directory represented by the #GFile; see +g_file_copy() if attempting to copy a file. +This call does no blocking i/o. + + a new #GFile that is a duplicate of the given #GFile. + + + + + Starts an asynchronous eject on a mountable. +When this operation has completed, @callback will be called with +g_file_eject_mountable_finish(). +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. - + + + + + flags affecting the operation + + + + optional #GCancellable object, %NULL to ignore. + + + + a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. + + + + the data to pass to callback function + + + + + + Finishes an asynchronous eject operation started by +g_file_eject_mountable(). +otherwise. + + %TRUE if the @file was ejected successfully. %FALSE + + + + + a #GAsyncResult. + + + + + + Starts an asynchronous eject on a mountable. +When this operation has completed, @callback will be called with +g_file_eject_mountable_with_operation_finish(). +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. + + + + + + flags affecting the operation + + + + a #GMountOperation, or %NULL to avoid user interaction. + + + + optional #GCancellable object, %NULL to ignore. + + + + a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. + + + + the data to pass to callback function + + + + + + Finishes an asynchronous eject operation started by +g_file_eject_mountable_with_operation(). +otherwise. + + %TRUE if the @file was ejected successfully. %FALSE + + + + + a #GAsyncResult. + + + + + + Gets the requested information about the files in a directory. The result +is a #GFileEnumerator object that will give out #GFileInfo objects for +all the files in the directory. +The @attributes value is a string that specifies the file attributes that +should be gathered. It is not an error if it's not possible to read a particular +requested attribute from a file - it just won't be set. @attributes should +be a comma-separated list of attributes or attribute wildcards. The wildcard "*" +means all attributes, and a wildcard like "standard::*" means all attributes in the standard +namespace. An example attribute query be "standard::*,owner::user". +The standard attributes are available as defines, like #G_FILE_ATTRIBUTE_STANDARD_NAME. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +If the file does not exist, the G_IO_ERROR_NOT_FOUND error will be returned. +If the file is not a directory, the G_FILE_ERROR_NOTDIR error will be returned. +Other errors are possible too. +Free the returned object with g_object_unref(). + + A #GFileEnumerator if successful, %NULL on error. + + + + + an attribute query string. + + + + a set of #GFileQueryInfoFlags. + + + + optional #GCancellable object, %NULL to ignore. + + + + + + Asynchronously gets the requested information about the files in a directory. The result +is a #GFileEnumerator object that will give out #GFileInfo objects for +all the files in the directory. +For more details, see g_file_enumerate_children() which is +the synchronous version of this call. +When the operation is finished, @callback will be called. You can then call +g_file_enumerate_children_finish() to get the result of the operation. + + + + + + an attribute query string. + + + + a set of #GFileQueryInfoFlags. + + + + the <link linkend="io-priority">I/O priority</link> of the request. + + + + optional #GCancellable object, %NULL to ignore. + + + + a #GAsyncReadyCallback to call when the request is satisfied + + + + the data to pass to callback function + + + + + + Finishes an async enumerate children operation. +See g_file_enumerate_children_async(). +Free the returned object with g_object_unref(). + + a #GFileEnumerator or %NULL if an error occurred. + + + + + a #GAsyncResult. + + + + + + Checks equality of two given #GFile<!-- -->s. Note that two +#GFile<!-- -->s that differ can still refer to the same +file on the filesystem due to various forms of filename +aliasing. +This call does no blocking i/o. +%FALSE if either is not a #GFile. + + %TRUE if @file1 and @file2 are equal. + + + + + the second #GFile. + + + + + + Gets a #GMount for the #GFile. +If the #GFileIface for @file does not have a mount (e.g. possibly a +remote share), @error will be set to %G_IO_ERROR_NOT_FOUND and %NULL +will be returned. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +Free the returned object with g_object_unref(). + + a #GMount where the @file is located or %NULL on error. + + optional #GCancellable object, %NULL to ignore. + + Asynchronously gets the mount for the file. +For more details, see g_file_find_enclosing_mount() which is +the synchronous version of this call. +When the operation is finished, @callback will be called. You can then call +g_file_find_enclosing_mount_finish() to get the result of the operation. + + + + + + the <link linkend="io-priority">I/O priority</link> of the request. + + + + optional #GCancellable object, %NULL to ignore. + + + + a #GAsyncReadyCallback to call when the request is satisfied + + + + the data to pass to callback function + + + + + + Finishes an asynchronous find mount request. +See g_file_find_enclosing_mount_async(). +Free the returned object with g_object_unref(). + + #GMount for given @file or %NULL on error. + + + + + a #GAsyncResult + + + + + + Gets the base name (the last component of the path) for a given #GFile. +If called for the top level of a system (such as the filesystem root +or a uri like sftp://host/) it will return a single directory separator +(and on Windows, possibly a drive letter). +The base name is a byte string (*not* UTF-8). It has no defined encoding +or rules other than it may not contain zero bytes. If you want to use +filenames in a user interface you should use the display name that you +can get by requesting the %G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME +attribute with g_file_query_info(). +This call does no blocking i/o. +if given #GFile is invalid. The returned string should be +freed with g_free() when no longer needed. + + string containing the #GFile's base name, or %NULL + + + + + Gets the child of @file for a given @display_name (i.e. a UTF8 +version of the name). If this function fails, it returns %NULL and @error will be +set. This is very useful when constructing a GFile for a new file +and the user entered the filename in the user interface, for instance +when you select a directory and type a filename in the file selector. +This call does no blocking i/o. +%NULL if the display name couldn't be converted. +Free the returned object with g_object_unref(). + + a #GFile to the specified child, or + + + + + string to a possible child. + + + + + + Gets the parent directory for the @file. +If the @file represents the root directory of the +file system, then %NULL will be returned. +This call does no blocking i/o. +#GFile or %NULL if there is no parent. +Free the returned object with g_object_unref(). + + a #GFile structure to the parent of the given + + + + + Gets the parse name of the @file. +A parse name is a UTF-8 string that describes the +file such that one can get the #GFile back using +g_file_parse_name(). +This is generally used to show the #GFile as a nice +full-pathname kind of string in a user interface, +like in a location entry. +For local files with names that can safely be converted +to UTF8 the pathname is used, otherwise the IRI is used +(a form of URI that allows UTF8 characters unescaped). +This call does no blocking i/o. +string should be freed with g_free() when no longer needed. + + a string containing the #GFile's parse name. The returned + + + + + Gets the local pathname for #GFile, if one exists. +This call does no blocking i/o. +no such path exists. The returned string should be +freed with g_free() when no longer needed. + + string containing the #GFile's path, or %NULL if + + + + + Gets the path for @descendant relative to @parent. +This call does no blocking i/o. +to @parent, or %NULL if @descendant doesn't have @parent as prefix. +The returned string should be freed with g_free() when no longer needed. + + string with the relative path from @descendant + + + + + input #GFile. + + + + + + Gets the URI for the @file. +This call does no blocking i/o. +The returned string should be freed with g_free() when no longer needed. + + a string containing the #GFile's URI. + + + + + Gets the URI scheme for a #GFile. +RFC 3986 decodes the scheme as: +<programlisting> +URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ] +</programlisting> +Common schemes include "file", "http", "ftp", etc. +This call does no blocking i/o. +#GFile. The returned string should be freed with g_free() +when no longer needed. + + a string containing the URI scheme for the given + + + + + Checks to see if a #GFile has a given URI scheme. +This call does no blocking i/o. +given URI scheme, %FALSE if URI scheme is %NULL, +not supported, or #GFile is invalid. + + %TRUE if #GFile's backend supports the + + + + + a string containing a URI scheme. + + + + + + + + + + + Checks to see if a file is native to the platform. +A native file s one expressed in the platform-native filename format, +e.g. "C:\Windows" or "/usr/bin/". This does not mean the file is local, +as it might be on a locally mounted remote filesystem. +On some systems non-native files may be available using +the native filesystem via a userspace filesystem (FUSE), in +these cases this call will return %FALSE, but g_file_get_path() +will still return a native path. +This call does no blocking i/o. + + %TRUE if file is native. + + + - + + Creates a symbolic link named @file which contains the string +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. - + %TRUE on the creation of a new symlink, %FALSE otherwise. + + a string with the path for the target of the new symlink + optional #GCancellable object, %NULL to ignore. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + Obtains a directory monitor for the given file. +This may fail if directory monitoring is not supported. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +Free the returned object with g_object_unref(). - - - - - - - - - - - + a #GFileMonitor for the given @file, or %NULL on error. + - + a set of #GFileMonitorFlags. + + optional #GCancellable object, %NULL to ignore. - - - - - - - - - - - - - - - - - - - + + Obtains a file monitor for the given file. If no file notification +mechanism exists, then regular polling of the file is used. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +Free the returned object with g_object_unref(). + + a #GFileMonitor for the given @file, or %NULL on error. + - + a set of #GFileMonitorFlags. + + optional #GCancellable object, %NULL to ignore. - - - - - - - - - - - - - - - - + Starts a @mount_operation, mounting the volume that contains the file @location. +When this operation has completed, @callback will be called with +g_file_mount_enclosing_volume_finish(). +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. + flags affecting the operation + a #GMountOperation or %NULL to avoid user interaction. + optional #GCancellable object, %NULL to ignore. - + + a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. - - + + the data to pass to callback function + + Finishes a mount operation started by g_file_mount_enclosing_volume(). +has occurred, this function will return %FALSE and set @error +appropriately if present. - + %TRUE if successful. If an error + + a #GAsyncResult. - - - + + Mounts a file of type G_FILE_TYPE_MOUNTABLE. +Using @mount_operation, you can request callbacks when, for instance, +passwords are needed during authentication. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +When the operation is finished, @callback will be called. You can then call +g_file_mount_mountable_finish() to get the result of the operation. + + - + flags affecting the operation + + + + a #GMountOperation, or %NULL to avoid user interaction. + + optional #GCancellable object, %NULL to ignore. + + a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. + + + + the data to pass to callback function + + - + + Finishes a mount operation. See g_file_mount_mountable() for details. +Finish an asynchronous mount operation that was started +with g_file_mount_mountable(). +Free the returned object with g_object_unref(). - + a #GFile or %NULL on error. + + + a #GAsyncResult. + + + + + + Tries to move the file or directory @source to the location specified by @destination. +If native move operations are supported then this is used, otherwise a copy + delete +fallback is used. The native implementation may support moving directories (for instance +on moves inside the same filesystem), but the fallback code does not. +If the flag #G_FILE_COPY_OVERWRITE is specified an already +existing @destination file is overwritten. +If the flag #G_FILE_COPY_NOFOLLOW_SYMLINKS is specified then symlinks +will be copied as symlinks, otherwise the target of the +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +If @progress_callback is not %NULL, then the operation can be monitored by +setting this to a #GFileProgressCallback function. @progress_callback_data +will be passed to this function. It is guaranteed that this callback will +be called after all data has been transferred with the total number of bytes +copied during the operation. +If the @source file does not exist then the G_IO_ERROR_NOT_FOUND +error is returned, independent on the status of the @destination. +If #G_FILE_COPY_OVERWRITE is not specified and the target exists, then the +error G_IO_ERROR_EXISTS is returned. +If trying to overwrite a file over a directory the G_IO_ERROR_IS_DIRECTORY +error is returned. If trying to overwrite a directory with a directory the +G_IO_ERROR_WOULD_MERGE error is returned. +If the source is a directory and the target does not exist, or #G_FILE_COPY_OVERWRITE is +specified and the target is a file, then the G_IO_ERROR_WOULD_RECURSE error +may be returned (if the native move operation isn't available). + + %TRUE on successful move, %FALSE otherwise. + + + + + #GFile pointing to the destination location. + + - + set of #GFileCopyFlags. + + optional #GCancellable object, %NULL to ignore. + + #GFileProgressCallback function for updates. + + + + gpointer to user data for the callback function. + + + Opens an existing file for reading and writing. The result is +a #GFileIOStream that can be used to read and write the contents of the file. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +If the file does not exist, the G_IO_ERROR_NOT_FOUND error will be returned. +If the file is a directory, the G_IO_ERROR_IS_DIRECTORY error will be returned. +Other errors are possible too, and depend on what kind of filesystem the file is on. +Note that in many non-local file cases read and write streams are not supported, +so make sure you really need to do read and write streaming, rather than +just opening for reading or writing. +Free the returned object with g_object_unref(). + #GFileIOStream or %NULL on error. + a #GCancellable + invoker="open_readwrite_async" + version="2.22"> + Asynchronously opens @file for reading and writing. +For more details, see g_file_open_readwrite() which is +the synchronous version of this call. +When the operation is finished, @callback will be called. You can then call +g_file_open_readwrite_finish() to get the result of the operation. - + the <link linkend="io-priority">I/O priority</link> of the request. + + optional #GCancellable object, %NULL to ignore. - + + a #GAsyncReadyCallback to call when the request is satisfied - - + + the data to pass to callback function + + Finishes an asynchronous file read operation started with +g_file_open_readwrite_async(). +Free the returned object with g_object_unref(). + a #GFileIOStream or %NULL on error. + a #GAsyncResult. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + Polls a file of type G_FILE_TYPE_MOUNTABLE. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +When the operation is finished, @callback will be called. You can then call +g_file_mount_mountable_finish() to get the result of the operation. @@ -5623,739 +13789,1679 @@ necessarily represent files or directories that currently exist." + optional #GCancellable object, %NULL to ignore. - + + a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. - - + + the data to pass to callback function + + Finishes a poll operation. See g_file_poll_mountable() for details. +Finish an asynchronous poll operation that was polled +with g_file_poll_mountable(). +otherwise. - + %TRUE if the operation finished successfully. %FALSE + + a #GAsyncResult. - - - - - - + + Checks whether @file has the prefix specified by @prefix. In other word, +if the names of inital elements of @file<!-- -->s pathname match @prefix. +Only full pathname elements are matched, so a path like /foo is not +considered a prefix of /foobar, only of /foo/bar. +This call does no i/o, as it works purely on names. As such it can +sometimes return %FALSE even if @file is inside a @prefix (from a +filesystem point of view), because the prefix of @file is an alias +of @prefix. +%FALSE otherwise. - + %TRUE if the @files's parent, grandparent, etc is @prefix. + - + + input #GFile. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + Similar to g_file_query_info(), but obtains information +about the filesystem the @file is on, rather than the file itself. +For instance the amount of space available and the type of +the filesystem. +The @attributes value is a string that specifies the file attributes that +should be gathered. It is not an error if it's not possible to read a particular +requested attribute from a file - it just won't be set. @attributes should +be a comma-separated list of attributes or attribute wildcards. The wildcard "*" +means all attributes, and a wildcard like "fs:*" means all attributes in the fs +namespace. The standard namespace for filesystem attributes is "fs". +Common attributes of interest are #G_FILE_ATTRIBUTE_FILESYSTEM_SIZE +(the total size of the filesystem in bytes), #G_FILE_ATTRIBUTE_FILESYSTEM_FREE (number of +bytes available), and #G_FILE_ATTRIBUTE_FILESYSTEM_TYPE (type of the filesystem). +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +If the file does not exist, the G_IO_ERROR_NOT_FOUND error will be returned. +Other errors are possible too, and depend on what kind of filesystem the file is on. +Free the returned object with g_object_unref(). + a #GFileInfo or %NULL if there was an error. + an attribute query string. - - - + optional #GCancellable object, %NULL to ignore. - - + + + Asynchronously gets the requested information about the filesystem +that the specified @file is on. The result is a #GFileInfo object +that contains key-value attributes (such as type or size for the +file). +For more details, see g_file_query_filesystem_info() which is the +synchronous version of this call. +When the operation is finished, @callback will be called. You can +then call g_file_query_info_finish() to get the result of the +operation. + an attribute query string. - - - - + the <link linkend="io-priority">I/O priority</link> of the request. + + optional #GCancellable object, %NULL to ignore. + + + + a #GAsyncReadyCallback to call when the request is satisfied + + + + the data to pass to callback function + + + + + + Finishes an asynchronous filesystem info query. See +g_file_query_filesystem_info_async(). +Free the returned object with g_object_unref(). + + #GFileInfo for given @file or %NULL on error. + + + + + a #GAsyncResult. + + + + + + Gets the requested information about specified @file. The result +is a #GFileInfo object that contains key-value attributes (such as +the type or size of the file). +The @attributes value is a string that specifies the file attributes that +should be gathered. It is not an error if it's not possible to read a particular +requested attribute from a file - it just won't be set. @attributes should +be a comma-separated list of attributes or attribute wildcards. The wildcard "*" +means all attributes, and a wildcard like "standard::*" means all attributes in the standard +namespace. An example attribute query be "standard::*,owner::user". +The standard attributes are available as defines, like #G_FILE_ATTRIBUTE_STANDARD_NAME. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +For symlinks, normally the information about the target of the +symlink is returned, rather than information about the symlink itself. +However if you pass #G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS in @flags the +information about the symlink itself will be returned. Also, for symlinks +that point to non-existing files the information about the symlink itself +will be returned. +If the file does not exist, the G_IO_ERROR_NOT_FOUND error will be returned. +Other errors are possible too, and depend on what kind of filesystem the file is on. +Free the returned object with g_object_unref(). + + a #GFileInfo for the given @file, or %NULL on error. + + + + + an attribute query string. + + + + a set of #GFileQueryInfoFlags. + + + + optional #GCancellable object, %NULL to ignore. + + + + + + Asynchronously gets the requested information about specified @file. The result +is a #GFileInfo object that contains key-value attributes (such as type or size +for the file). +For more details, see g_file_query_info() which is +the synchronous version of this call. +When the operation is finished, @callback will be called. You can then call +g_file_query_info_finish() to get the result of the operation. + + + + + + an attribute query string. + + + + a set of #GFileQueryInfoFlags. + + + + the <link linkend="io-priority">I/O priority</link> of the request. + + + + optional #GCancellable object, %NULL to ignore. + + + + a #GAsyncReadyCallback to call when the request is satisfied + + + + the data to pass to callback function + + + + + + Finishes an asynchronous file info query. +See g_file_query_info_async(). +Free the returned object with g_object_unref(). + + #GFileInfo for given @file or %NULL on error. + + + + + a #GAsyncResult. + + + + + + Obtain the list of settable attributes for the file. +Returns the type and full attribute name of all the attributes +that can be set on this file. This doesn't mean setting it will always +succeed though, you might get an access failure, or some specific +file may not support a specific attribute. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +When you are done with it, release it with g_file_attribute_info_list_unref() + + a #GFileAttributeInfoList describing the settable attributes. + + + + + optional #GCancellable object, %NULL to ignore. + + + + + + Obtain the list of attribute namespaces where new attributes +can be created by a user. An example of this is extended +attributes (in the "xattr" namespace). +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +When you are done with it, release it with g_file_attribute_info_list_unref() + + a #GFileAttributeInfoList describing the writable namespaces. + + + + + optional #GCancellable object, %NULL to ignore. + + + + + + Asynchronously opens @file for reading. +For more details, see g_file_read() which is +the synchronous version of this call. +When the operation is finished, @callback will be called. You can then call +g_file_read_finish() to get the result of the operation. + + + + + + the <link linkend="io-priority">I/O priority</link> of the request. + + + + optional #GCancellable object, %NULL to ignore. + + + + a #GAsyncReadyCallback to call when the request is satisfied + + + + the data to pass to callback function + + + + + + Finishes an asynchronous file read operation started with +g_file_read_async(). +Free the returned object with g_object_unref(). + + a #GFileInputStream or %NULL on error. + + + + + a #GAsyncResult. + + + + + + Opens a file for reading. The result is a #GFileInputStream that +can be used to read the contents of the file. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +If the file does not exist, the G_IO_ERROR_NOT_FOUND error will be returned. +If the file is a directory, the G_IO_ERROR_IS_DIRECTORY error will be returned. +Other errors are possible too, and depend on what kind of filesystem the file is on. +Free the returned object with g_object_unref(). + + #GFileInputStream or %NULL on error. + + + + + a #GCancellable + + + + + + Returns an output stream for overwriting the file, possibly +creating a backup copy of the file first. If the file doesn't exist, +it will be created. +This will try to replace the file in the safest way possible so +that any errors during the writing will not affect an already +existing copy of the file. For instance, for local files it +may write to a temporary file and then atomically rename over +the destination when the stream is closed. +By default files created are generally readable by everyone, +but if you pass #G_FILE_CREATE_PRIVATE in @flags the file +will be made readable only to the current user, to the level that +is supported on the target filesystem. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +If you pass in a non-#NULL @etag value, then this value is +compared to the current entity tag of the file, and if they differ +an G_IO_ERROR_WRONG_ETAG error is returned. This generally means +that the file has been changed since you last read it. You can get +the new etag from g_file_output_stream_get_etag() after you've +finished writing and closed the #GFileOutputStream. When you load +a new file you can use g_file_input_stream_query_info() to get +the etag of the file. +If @make_backup is %TRUE, this function will attempt to make a backup +of the current file before overwriting it. If this fails a G_IO_ERROR_CANT_CREATE_BACKUP +error will be returned. If you want to replace anyway, try again with +If the file is a directory the G_IO_ERROR_IS_DIRECTORY error will be returned, +and if the file is some other form of non-regular file then a +G_IO_ERROR_NOT_REGULAR_FILE error will be returned. +Some file systems don't allow all file names, and may +return an G_IO_ERROR_INVALID_FILENAME error, and if the name +is to long G_IO_ERROR_FILENAME_TOO_LONG will be returned. +Other errors are possible too, and depend on what kind of +filesystem the file is on. +Free the returned object with g_object_unref(). + + a #GFileOutputStream or %NULL on error. + + + + + an optional <link linkend="gfile-etag">entity tag</link> for the current #GFile, or #NULL to ignore. + + + + %TRUE if a backup should be created. + + + + a set of #GFileCreateFlags. + + + + optional #GCancellable object, %NULL to ignore. + + + + + + Asynchronously overwrites the file, replacing the contents, possibly +creating a backup copy of the file first. +For more details, see g_file_replace() which is +the synchronous version of this call. +When the operation is finished, @callback will be called. You can then call +g_file_replace_finish() to get the result of the operation. + + + + + + an <link linkend="gfile-etag">entity tag</link> for the current #GFile, or NULL to ignore. + + + + %TRUE if a backup should be created. + + + + a set of #GFileCreateFlags. + + + + the <link linkend="io-priority">I/O priority</link> of the request. + + + + optional #GCancellable object, %NULL to ignore. + a #GAsyncReadyCallback to call when the request is satisfied - - + + the data to pass to callback function + - - + + + Finishes an asynchronous file replace operation started with +g_file_replace_async(). +Free the returned object with g_object_unref(). - + a #GFileOutputStream, or %NULL on error. + + a #GAsyncResult. - - + + + Returns an output stream for overwriting the file in readwrite mode, +possibly creating a backup copy of the file first. If the file doesn't +exist, it will be created. +For details about the behaviour, see g_file_replace() which does the same +thing but returns an output stream only. +Note that in many non-local file cases read and write streams are not +supported, so make sure you really need to do read and write streaming, +rather than just opening for reading or writing. +Free the returned object with g_object_unref(). - + a #GFileIOStream or %NULL on error. + - + + an optional <link linkend="gfile-etag">entity tag</link> for the current #GFile, or #NULL to ignore + + %TRUE if a backup should be created + + + + a set of #GFileCreateFlags + + + optional #GCancellable object, %NULL to ignore - - + + + Asynchronously overwrites the file in read-write mode, replacing the +contents, possibly creating a backup copy of the file first. +For more details, see g_file_replace_readwrite() which is +the synchronous version of this call. +When the operation is finished, @callback will be called. You can then +call g_file_replace_readwrite_finish() to get the result of the operation. - + + an <link linkend="gfile-etag">entity tag</link> for the current #GFile, or NULL to ignore. + + %TRUE if a backup should be created. + + + + a set of #GFileCreateFlags. + + - + the <link linkend="io-priority">I/O priority</link> of the request. + + optional #GCancellable object, %NULL to ignore. + + + + a #GAsyncReadyCallback to call when the request is satisfied + + + + the data to pass to callback function + + + + + + Finishes an asynchronous file replace operation started with +g_file_replace_readwrite_async(). +Free the returned object with g_object_unref(). + + a #GFileIOStream, or %NULL on error. + + + + + a #GAsyncResult. + + + + + + Resolves a relative path for @file to an absolute path. +This call does no blocking i/o. +is %NULL or if @file is invalid. +Free the returned object with g_object_unref(). + + #GFile to the resolved path. %NULL if @relative_path + + + + + a given relative path string. + + + + + + Sets an attribute in the file with attribute name @attribute to @value. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. + + %TRUE if the attribute was set, %FALSE otherwise. + + + + + a string containing the attribute's name. + + + + The type of the attribute + + + + a pointer to the value (or the pointer itself if the type is a pointer type) + + + + a set of #GFileQueryInfoFlags. + + + + optional #GCancellable object, %NULL to ignore. + + + + + + Asynchronously sets the attributes of @file with @info. +For more details, see g_file_set_attributes_from_info() which is +the synchronous version of this call. +When the operation is finished, @callback will be called. You can then call +g_file_set_attributes_finish() to get the result of the operation. + + + + + + a #GFileInfo. + + + + a #GFileQueryInfoFlags. + + + + the <link linkend="io-priority">I/O priority</link> of the request. + + + + optional #GCancellable object, %NULL to ignore. + a #GAsyncReadyCallback. - - + + a #gpointer. + - - - - + + + Finishes setting an attribute started in g_file_set_attributes_async(). + + %TRUE if the attributes were set correctly, %FALSE otherwise. + - + + a #GAsyncResult. + + a #GFileInfo. + + - - - - + + + Tries to set all attributes in the #GFileInfo on the target values, +not stopping on the first error. +If there is any error during this operation then @error will be set to +the first error. Error on particular fields are flagged by setting +the "status" field in the attribute value to +%G_FILE_ATTRIBUTE_STATUS_ERROR_SETTING, which means you can also detect +further errors. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. + + %TRUE if there was any error, %FALSE otherwise. + + + a #GFileInfo. + + + + #GFileQueryInfoFlags + + + optional #GCancellable object, %NULL to ignore. - - + + + Renames @file to the specified display name. +The display name is converted from UTF8 to the correct encoding for the target +filesystem if possible and the @file is renamed to this. +If you want to implement a rename operation in the user interface the edit name +(#G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME) should be used as the initial value in the rename +widget, and then the result after editing should be passed to g_file_set_display_name(). +On success the resulting converted filename is returned. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +if there was an error. +Free the returned object with g_object_unref(). + + a #GFile specifying what @file was renamed to, or %NULL + + + + + a string. + + + + optional #GCancellable object, %NULL to ignore. + + + + + + Asynchronously sets the display name for a given #GFile. +For more details, see g_file_set_display_name() which is +the synchronous version of this call. +When the operation is finished, @callback will be called. You can then call +g_file_set_display_name_finish() to get the result of the operation. + + a string. + + - + the <link linkend="io-priority">I/O priority</link> of the request. + + optional #GCancellable object, %NULL to ignore. + a #GAsyncReadyCallback to call when the request is satisfied - - + + the data to pass to callback function + - - + + + Finishes setting a display name started with +g_file_set_display_name_async(). +Free the returned object with g_object_unref(). - + a #GFile or %NULL on error. + + a #GAsyncResult. + + + + + + Starts a file of type G_FILE_TYPE_MOUNTABLE. +Using @start_operation, you can request callbacks when, for instance, +passwords are needed during authentication. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +When the operation is finished, @callback will be called. You can then call +g_file_mount_mountable_finish() to get the result of the operation. + + + + + + flags affecting the operation + + + + a #GMountOperation, or %NULL to avoid user interaction. + + + + optional #GCancellable object, %NULL to ignore. + + + + a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. + + + + the data to pass to callback function + + + + + + Finishes a start operation. See g_file_start_mountable() for details. +Finish an asynchronous start operation that was started +with g_file_start_mountable(). +otherwise. + + %TRUE if the operation finished successfully. %FALSE + + + + + a #GAsyncResult. + + + + + + Stops a file of type G_FILE_TYPE_MOUNTABLE. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +When the operation is finished, @callback will be called. You can then call +g_file_stop_mountable_finish() to get the result of the operation. + + + + + + flags affecting the operation + + + + a #GMountOperation, or %NULL to avoid user interaction. + + + + optional #GCancellable object, %NULL to ignore. + + + + a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. + + + + the data to pass to callback function + + + + + + Finishes an stop operation, see g_file_stop_mountable() for details. +Finish an asynchronous stop operation that was started +with g_file_stop_mountable(). +otherwise. + + %TRUE if the operation finished successfully. %FALSE + + + + + a #GAsyncResult. + + + + + + Sends @file to the "Trashcan", if possible. This is similar to +deleting it, but the user can recover it before emptying the trashcan. +Not all file systems support trashing, so this call can return the +%G_IO_ERROR_NOT_SUPPORTED error. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. + + %TRUE on successful trash, %FALSE otherwise. + + + + + optional #GCancellable object, %NULL to ignore. + + + + + + Unmounts a file of type G_FILE_TYPE_MOUNTABLE. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +When the operation is finished, @callback will be called. You can then call +g_file_unmount_mountable_finish() to get the result of the operation. + + + + + + flags affecting the operation + + + + optional #GCancellable object, %NULL to ignore. + + + + a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. + + + + the data to pass to callback function + + + + + + Finishes an unmount operation, see g_file_unmount_mountable() for details. +Finish an asynchronous unmount operation that was started +with g_file_unmount_mountable(). +otherwise. + + %TRUE if the operation finished successfully. %FALSE + + + + + a #GAsyncResult. + + + + + + Unmounts a file of type G_FILE_TYPE_MOUNTABLE. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +When the operation is finished, @callback will be called. You can then call +g_file_unmount_mountable_finish() to get the result of the operation. + + + + + + flags affecting the operation + + + + a #GMountOperation, or %NULL to avoid user interaction. + + + + optional #GCancellable object, %NULL to ignore. + + + + a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. + + + + the data to pass to callback function + + + + + + Finishes an unmount operation, see g_file_unmount_mountable_with_operation() for details. +Finish an asynchronous unmount operation that was started +with g_file_unmount_mountable_with_operation(). +otherwise. + + %TRUE if the operation finished successfully. %FALSE + + + + + a #GAsyncResult. + + + + + + Gets an output stream for appending data to the file. If +the file doesn't already exist it is created. +By default files created are generally readable by everyone, +but if you pass #G_FILE_CREATE_PRIVATE in @flags the file +will be made readable only to the current user, to the level that +is supported on the target filesystem. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +Some file systems don't allow all file names, and may +return an %G_IO_ERROR_INVALID_FILENAME error. +If the file is a directory the %G_IO_ERROR_IS_DIRECTORY error will be +returned. Other errors are possible too, and depend on what kind of +filesystem the file is on. +Free the returned object with g_object_unref(). + + a #GFileOutputStream, or %NULL on error. + + + + + a set of #GFileCreateFlags. + + + + optional #GCancellable object, %NULL to ignore. + + + + + + Asynchronously opens @file for appending. +For more details, see g_file_append_to() which is +the synchronous version of this call. +When the operation is finished, @callback will be called. You can then call +g_file_append_to_finish() to get the result of the operation. + + + + + + a set of #GFileCreateFlags. + + + + the <link linkend="io-priority">I/O priority</link> of the request. + + + + optional #GCancellable object, %NULL to ignore. + + + + a #GAsyncReadyCallback to call when the request is satisfied + + + + the data to pass to callback function + + + + + + Finishes an asynchronous file append operation started with +g_file_append_to_async(). +Free the returned object with g_object_unref(). + + a valid #GFileOutputStream or %NULL on error. + + + + + #GAsyncResult + + + + + + Copies the file @source to the location specified by @destination. +Can not handle recursive copies of directories. +If the flag #G_FILE_COPY_OVERWRITE is specified an already +existing @destination file is overwritten. +If the flag #G_FILE_COPY_NOFOLLOW_SYMLINKS is specified then symlinks +will be copied as symlinks, otherwise the target of the +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +If @progress_callback is not %NULL, then the operation can be monitored by +setting this to a #GFileProgressCallback function. @progress_callback_data +will be passed to this function. It is guaranteed that this callback will +be called after all data has been transferred with the total number of bytes +copied during the operation. +If the @source file does not exist then the G_IO_ERROR_NOT_FOUND +error is returned, independent on the status of the @destination. +If #G_FILE_COPY_OVERWRITE is not specified and the target exists, then the +error G_IO_ERROR_EXISTS is returned. +If trying to overwrite a file over a directory the G_IO_ERROR_IS_DIRECTORY +error is returned. If trying to overwrite a directory with a directory the +G_IO_ERROR_WOULD_MERGE error is returned. +If the source is a directory and the target does not exist, or #G_FILE_COPY_OVERWRITE is +specified and the target is a file, then the G_IO_ERROR_WOULD_RECURSE error +is returned. +If you are interested in copying the #GFile object itself (not the on-disk +file), see g_file_dup(). + + %TRUE on success, %FALSE otherwise. + + + + + destination #GFile + + + + set of #GFileCopyFlags + + + + optional #GCancellable object, %NULL to ignore. + + + + function to callback with progress information + + + + user data to pass to @progress_callback + + + + + + Copies the file @source to the location specified by @destination +asynchronously. For details of the behaviour, see g_file_copy(). +If @progress_callback is not %NULL, then that function that will be called +just like in g_file_copy(), however the callback will run in the main loop, +not in the thread that is doing the I/O operation. +When the operation is finished, @callback will be called. You can then call +g_file_copy_finish() to get the result of the operation. + + + + + + destination #GFile + + + + set of #GFileCopyFlags + + + + the <link linkend="io-priority">I/O priority</link> of the request. + + + + optional #GCancellable object, %NULL to ignore. + + + + function to callback with progress information + + + + user data to pass to @progress_callback + + + + a #GAsyncReadyCallback to call when the request is satisfied + + + + the data to pass to callback function + + + + + + Copies the file attributes from @source to @destination. +Normally only a subset of the file attributes are copied, +those that are copies in a normal file copy operation +(which for instance does not include e.g. owner). However +if #G_FILE_COPY_ALL_METADATA is specified in @flags, then +all the metadata that is possible to copy is copied. This +is useful when implementing move by copy + delete source. + + %TRUE if the attributes were copied successfully, %FALSE otherwise. + + + + + a #GFile to copy attributes to. + + + + a set of #GFileCopyFlags. + + + + optional #GCancellable object, %NULL to ignore. + + + + + + Finishes copying the file started with +g_file_copy_async(). + + a %TRUE on success, %FALSE on error. + + + + + a #GAsyncResult. + + + + + + Creates a new file and returns an output stream for writing to it. +The file must not already exist. +By default files created are generally readable by everyone, +but if you pass #G_FILE_CREATE_PRIVATE in @flags the file +will be made readable only to the current user, to the level that +is supported on the target filesystem. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +If a file or directory with this name already exists the G_IO_ERROR_EXISTS +error will be returned. +Some file systems don't allow all file names, and may +return an G_IO_ERROR_INVALID_FILENAME error, and if the name +is to long G_IO_ERROR_FILENAME_TOO_LONG will be returned. +Other errors are possible too, and depend on what kind of +filesystem the file is on. +%NULL on error. +Free the returned object with g_object_unref(). + + a #GFileOutputStream for the newly created file, or + + + + + a set of #GFileCreateFlags. + + + + optional #GCancellable object, %NULL to ignore. + + + + + + Asynchronously creates a new file and returns an output stream for writing to it. +The file must not already exist. +For more details, see g_file_create() which is +the synchronous version of this call. +When the operation is finished, @callback will be called. You can then call +g_file_create_finish() to get the result of the operation. + + + + + + a set of #GFileCreateFlags. + + + + the <link linkend="io-priority">I/O priority</link> of the request. + + + + optional #GCancellable object, %NULL to ignore. + + + + a #GAsyncReadyCallback to call when the request is satisfied + + + + the data to pass to callback function + + + + + + Finishes an asynchronous file create operation started with +g_file_create_async(). +Free the returned object with g_object_unref(). + + a #GFileOutputStream or %NULL on error. + + + + + a #GAsyncResult. + + + + + + Creates a new file and returns a stream for reading and writing to it. +The file must not already exist. +By default files created are generally readable by everyone, +but if you pass #G_FILE_CREATE_PRIVATE in @flags the file +will be made readable only to the current user, to the level that +is supported on the target filesystem. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +If a file or directory with this name already exists the %G_IO_ERROR_EXISTS +error will be returned. Some file systems don't allow all file names, +and may return an %G_IO_ERROR_INVALID_FILENAME error, and if the name +is too long, %G_IO_ERROR_FILENAME_TOO_LONG will be returned. Other errors +are possible too, and depend on what kind of filesystem the file is on. +Note that in many non-local file cases read and write streams are not +supported, so make sure you really need to do read and write streaming, +rather than just opening for reading or writing. +Free the returned object with g_object_unref(). + + a #GFileIOStream for the newly created file, or %NULL on error. + + + + + a set of #GFileCreateFlags + + + + optional #GCancellable object, %NULL to ignore + + + + + + Asynchronously creates a new file and returns a stream for reading and +writing to it. The file must not already exist. +For more details, see g_file_create_readwrite() which is +the synchronous version of this call. +When the operation is finished, @callback will be called. You can then +call g_file_create_readwrite_finish() to get the result of the operation. + + + + + + a set of #GFileCreateFlags + + + + the <link linkend="io-priority">I/O priority</link> of the request + + + + optional #GCancellable object, %NULL to ignore + + + + a #GAsyncReadyCallback to call when the request is satisfied + + + + the data to pass to callback function + + + + + + Finishes an asynchronous file create operation started with +g_file_create_readwrite_async(). +Free the returned object with g_object_unref(). + + a #GFileIOStream or %NULL on error. + + + + + a #GAsyncResult + + + + + + Deletes a file. If the @file is a directory, it will only be deleted if it +is empty. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. + + %TRUE if the file was deleted. %FALSE otherwise. + + + + + optional #GCancellable object, %NULL to ignore. + + + + + + Duplicates a #GFile handle. This operation does not duplicate +the actual file or directory represented by the #GFile; see +g_file_copy() if attempting to copy a file. +This call does no blocking i/o. + + a new #GFile that is a duplicate of the given #GFile. + + + + + Starts an asynchronous eject on a mountable. +When this operation has completed, @callback will be called with +g_file_eject_mountable_finish(). +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. + + + + + + flags affecting the operation + + + + optional #GCancellable object, %NULL to ignore. + + + + a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. + + + + the data to pass to callback function + + + + + + Finishes an asynchronous eject operation started by +g_file_eject_mountable(). +otherwise. + + %TRUE if the @file was ejected successfully. %FALSE + + + + + a #GAsyncResult. + + + + + + Starts an asynchronous eject on a mountable. +When this operation has completed, @callback will be called with +g_file_eject_mountable_with_operation_finish(). +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. + + + + + + flags affecting the operation + + + + a #GMountOperation, or %NULL to avoid user interaction. + + + + optional #GCancellable object, %NULL to ignore. + + + + a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. + + + + the data to pass to callback function + + + + + + Finishes an asynchronous eject operation started by +g_file_eject_mountable_with_operation(). +otherwise. + + %TRUE if the @file was ejected successfully. %FALSE + + + + + a #GAsyncResult. @@ -6363,247 +15469,618 @@ necessarily represent files or directories that currently exist." + Gets the requested information about the files in a directory. The result +is a #GFileEnumerator object that will give out #GFileInfo objects for +all the files in the directory. +The @attributes value is a string that specifies the file attributes that +should be gathered. It is not an error if it's not possible to read a particular +requested attribute from a file - it just won't be set. @attributes should +be a comma-separated list of attributes or attribute wildcards. The wildcard "*" +means all attributes, and a wildcard like "standard::*" means all attributes in the standard +namespace. An example attribute query be "standard::*,owner::user". +The standard attributes are available as defines, like #G_FILE_ATTRIBUTE_STANDARD_NAME. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +If the file does not exist, the G_IO_ERROR_NOT_FOUND error will be returned. +If the file is not a directory, the G_FILE_ERROR_NOTDIR error will be returned. +Other errors are possible too. +Free the returned object with g_object_unref(). + A #GFileEnumerator if successful, %NULL on error. + an attribute query string. + a set of #GFileQueryInfoFlags. + optional #GCancellable object, %NULL to ignore. + Asynchronously gets the requested information about the files in a directory. The result +is a #GFileEnumerator object that will give out #GFileInfo objects for +all the files in the directory. +For more details, see g_file_enumerate_children() which is +the synchronous version of this call. +When the operation is finished, @callback will be called. You can then call +g_file_enumerate_children_finish() to get the result of the operation. + an attribute query string. + a set of #GFileQueryInfoFlags. - + the <link linkend="io-priority">I/O priority</link> of the request. + + optional #GCancellable object, %NULL to ignore. + closure="5"> + a #GAsyncReadyCallback to call when the request is satisfied - + the data to pass to callback function + + Finishes an async enumerate children operation. +See g_file_enumerate_children_async(). +Free the returned object with g_object_unref(). + a #GFileEnumerator or %NULL if an error occurred. + a #GAsyncResult. - - - + + Checks equality of two given #GFile<!-- -->s. Note that two +#GFile<!-- -->s that differ can still refer to the same +file on the filesystem due to various forms of filename +aliasing. +This call does no blocking i/o. +%FALSE if either is not a #GFile. + + %TRUE if @file1 and @file2 are equal. + - - + + the second #GFile. + + + + + Gets a #GMount for the #GFile. +If the #GFileIface for @file does not have a mount (e.g. possibly a +remote share), @error will be set to %G_IO_ERROR_NOT_FOUND and %NULL +will be returned. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +Free the returned object with g_object_unref(). + + a #GMount where the @file is located or %NULL on error. + + + + optional #GCancellable object, %NULL to ignore. - + + Asynchronously gets the mount for the file. +For more details, see g_file_find_enclosing_mount() which is +the synchronous version of this call. +When the operation is finished, @callback will be called. You can then call +g_file_find_enclosing_mount_finish() to get the result of the operation. - - - - + the <link linkend="io-priority">I/O priority</link> of the request. + + optional #GCancellable object, %NULL to ignore. + closure="3"> + a #GAsyncReadyCallback to call when the request is satisfied - + the data to pass to callback function + - + Finishes an asynchronous find mount request. +See g_file_find_enclosing_mount_async(). +Free the returned object with g_object_unref(). - + #GMount for given @file or %NULL on error. + + a #GAsyncResult - - - + + Gets the base name (the last component of the path) for a given #GFile. +If called for the top level of a system (such as the filesystem root +or a uri like sftp://host/) it will return a single directory separator +(and on Windows, possibly a drive letter). +The base name is a byte string (*not* UTF-8). It has no defined encoding +or rules other than it may not contain zero bytes. If you want to use +filenames in a user interface you should use the display name that you +can get by requesting the %G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME +attribute with g_file_query_info(). +This call does no blocking i/o. +if given #GFile is invalid. The returned string should be +freed with g_free() when no longer needed. + + string containing the #GFile's base name, or %NULL + + + + + Gets a child of @file with basename equal to @name. +Note that the file with that specific name might not exist, but +you can still have a #GFile that points to it. You can use this +for instance to create that file. +This call does no blocking i/o. +Free the returned object with g_object_unref(). + + a #GFile to a child specified by @name. + - - + + string containing the child's basename. + - - - + + Gets the child of @file for a given @display_name (i.e. a UTF8 +version of the name). If this function fails, it returns %NULL and @error will be +set. This is very useful when constructing a GFile for a new file +and the user entered the filename in the user interface, for instance +when you select a directory and type a filename in the file selector. +This call does no blocking i/o. +%NULL if the display name couldn't be converted. +Free the returned object with g_object_unref(). + + a #GFile to the specified child, or + - - + + string to a possible child. + - - - + + Gets the parent directory for the @file. +If the @file represents the root directory of the +file system, then %NULL will be returned. +This call does no blocking i/o. +#GFile or %NULL if there is no parent. +Free the returned object with g_object_unref(). + + a #GFile structure to the parent of the given + + + + + Gets the parse name of the @file. +A parse name is a UTF-8 string that describes the +file such that one can get the #GFile back using +g_file_parse_name(). +This is generally used to show the #GFile as a nice +full-pathname kind of string in a user interface, +like in a location entry. +For local files with names that can safely be converted +to UTF8 the pathname is used, otherwise the IRI is used +(a form of URI that allows UTF8 characters unescaped). +This call does no blocking i/o. +string should be freed with g_free() when no longer needed. + + a string containing the #GFile's parse name. The returned + + + + + Gets the local pathname for #GFile, if one exists. +This call does no blocking i/o. +no such path exists. The returned string should be +freed with g_free() when no longer needed. + + string containing the #GFile's path, or %NULL if + + + + + Gets the path for @descendant relative to @parent. +This call does no blocking i/o. +to @parent, or %NULL if @descendant doesn't have @parent as prefix. +The returned string should be freed with g_free() when no longer needed. + + string with the relative path from @descendant + - + + input #GFile. - - - - - - - - - - - + + + + Gets the URI for the @file. +This call does no blocking i/o. +The returned string should be freed with g_free() when no longer needed. + + a string containing the #GFile's URI. + + + + + Gets the URI scheme for a #GFile. +RFC 3986 decodes the scheme as: +<programlisting> +URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ] +</programlisting> +Common schemes include "file", "http", "ftp", etc. +This call does no blocking i/o. +#GFile. The returned string should be freed with g_free() +when no longer needed. + + a string containing the URI scheme for the given + + + + + Checks if @file has a parent, and optionally, if it is @parent. +If @parent is %NULL then this function returns %TRUE if @file has any +parent at all. If @parent is non-%NULL then %TRUE is only returned +if @file is a child of @parent. +case that @parent is %NULL). + + %TRUE if @file is a child of @parent (or any parent in the + + + + + the parent to check for, or %NULL + - + + Checks whether @file has the prefix specified by @prefix. In other word, +if the names of inital elements of @file<!-- -->s pathname match @prefix. +Only full pathname elements are matched, so a path like /foo is not +considered a prefix of /foobar, only of /foo/bar. +This call does no i/o, as it works purely on names. As such it can +sometimes return %FALSE even if @file is inside a @prefix (from a +filesystem point of view), because the prefix of @file is an alias +of @prefix. +%FALSE otherwise. + + %TRUE if the @files's parent, grandparent, etc is @prefix. + + + + + input #GFile. + + + + + + Checks to see if a #GFile has a given URI scheme. +This call does no blocking i/o. +given URI scheme, %FALSE if URI scheme is %NULL, +not supported, or #GFile is invalid. + + %TRUE if #GFile's backend supports the + + + + + a string containing a URI scheme. + + + + + + Creates a new icon for a file. + + a #GIcon for the given @file, or %NULL on error. + + + + + Checks to see if a file is native to the platform. +A native file s one expressed in the platform-native filename format, +e.g. "C:\Windows" or "/usr/bin/". This does not mean the file is local, +as it might be on a locally mounted remote filesystem. +On some systems non-native files may be available using +the native filesystem via a userspace filesystem (FUSE), in +these cases this call will return %FALSE, but g_file_get_path() +will still return a native path. +This call does no blocking i/o. + + %TRUE if file is native. + + + + + Loads the content of the file into memory. The data is always +zero-terminated, but this is not included in the resultant @length. +The returned @content should be freed with g_free() when no longer +needed. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +%FALSE if there were errors. + + %TRUE if the @file's contents were successfully loaded. + + + + + optional #GCancellable object, %NULL to ignore. + + + + a location to place the contents of the file. + + + + a location to place the length of the contents of the file, or %NULL if the length is not needed + + + + a location to place the current entity tag for the file, or %NULL if the entity tag is not needed + + + + + + Starts an asynchronous load of the @file's contents. +For more details, see g_file_load_contents() which is +the synchronous version of this call. +When the load operation has completed, @callback will be called +with @user data. To finish the operation, call +g_file_load_contents_finish() with the #GAsyncResult returned by +the @callback. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. - - - - - - - - - + optional #GCancellable object, %NULL to ignore. - - - - - - + closure="2"> + a #GAsyncReadyCallback to call when the request is satisfied - + the data to pass to callback function + - + + Finishes an asynchronous load of the @file's contents. +The contents are placed in @contents, and @length is set to the +size of the @contents string. The @content should be freed with +g_free() when no longer needed. If @etag_out is present, it will be +set to the new entity tag for the @file. +present, it will be set appropriately. - + %TRUE if the load was successful. If %FALSE and @error is + + a #GAsyncResult. + + a location to place the contents of the file. + + + + a location to place the length of the contents of the file, or %NULL if the length is not needed + + + + a location to place the current entity tag for the file, or %NULL if the entity tag is not needed + + - + + Reads the partial contents of a file. A #GFileReadMoreCallback should be +used to stop reading from the file when appropriate, else this function +will behave exactly as g_file_load_contents_async(). This operation +can be finished by g_file_load_partial_contents_finish(). +Users of this function should be aware that @user_data is passed to +both the @read_more_callback and the @callback. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. - + - - - - - - + optional #GCancellable object, %NULL to ignore. - - + + a #GFileReadMoreCallback to receive partial data and to specify whether further data should be read. + - - + + a #GAsyncReadyCallback to call when the request is satisfied + + + + the data to pass to the callback functions. + + + + + + Finishes an asynchronous partial load operation that was started +with g_file_load_partial_contents_async(). The data is always +zero-terminated, but this is not included in the resultant @length. +The returned @content should be freed with g_free() when no longer +needed. +present, it will be set appropriately. + + %TRUE if the load was successful. If %FALSE and @error is + + + + + a #GAsyncResult. + + + + a location to place the contents of the file. + + + + a location to place the length of the contents of the file, or %NULL if the length is not needed + + + + a location to place the current entity tag for the file, or %NULL if the entity tag is not needed + @@ -6611,7 +16088,7 @@ necessarily represent files or directories that currently exist." c:identifier="g_file_make_directory" throws="1"> - + + Creates a directory and any parent directories that may not exist similar to +'mkdir -p'. If the file system does not support creating directories, this +function will fail, setting @error to %G_IO_ERROR_NOT_SUPPORTED. +For a local #GFile the newly created directories will have the default +(current) ownership and permissions of the current process. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +otherwise. - + %TRUE if all directories have been successfully created, %FALSE + + optional #GCancellable object, %NULL to ignore. @@ -6638,525 +16127,50 @@ necessarily represent files or directories that currently exist." + Creates a symbolic link named @file which contains the string +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. - + %TRUE on the creation of a new symlink, %FALSE otherwise. + + a string with the path for the target of the new symlink + optional #GCancellable object, %NULL to ignore. - + Obtains a file or directory monitor for the given file, depending +on the type of the file. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +Free the returned object with g_object_unref(). - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + a #GFileMonitor for the given @file, or %NULL on error. + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + a set of #GFileMonitorFlags + + optional #GCancellable object, %NULL to ignore @@ -7164,16 +16178,25 @@ necessarily represent files or directories that currently exist." + Obtains a directory monitor for the given file. +This may fail if directory monitoring is not supported. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +Free the returned object with g_object_unref(). + a #GFileMonitor for the given @file, or %NULL on error. + a set of #GFileMonitorFlags. + optional #GCancellable object, %NULL to ignore. @@ -7181,142 +16204,333 @@ necessarily represent files or directories that currently exist." + Obtains a file monitor for the given file. If no file notification +mechanism exists, then regular polling of the file is used. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +Free the returned object with g_object_unref(). + a #GFileMonitor for the given @file, or %NULL on error. + a set of #GFileMonitorFlags. + optional #GCancellable object, %NULL to ignore. - - - - - - - - - - - - - - + + Starts a @mount_operation, mounting the volume that contains the file @location. +When this operation has completed, @callback will be called with +g_file_mount_enclosing_volume_finish(). +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + flags affecting the operation + + a #GMountOperation or %NULL to avoid user interaction. + optional #GCancellable object, %NULL to ignore. + closure="4"> + a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. - + the data to pass to callback function + - + Finishes a mount operation started by g_file_mount_enclosing_volume(). +has occurred, this function will return %FALSE and set @error +appropriately if present. - + %TRUE if successful. If an error + + a #GAsyncResult. - + + Mounts a file of type G_FILE_TYPE_MOUNTABLE. +Using @mount_operation, you can request callbacks when, for instance, +passwords are needed during authentication. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +When the operation is finished, @callback will be called. You can then call +g_file_mount_mountable_finish() to get the result of the operation. + + + flags affecting the operation + + + + a #GMountOperation, or %NULL to avoid user interaction. + + + + optional #GCancellable object, %NULL to ignore. + + + + a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. + + + + the data to pass to callback function + + + + + + Finishes a mount operation. See g_file_mount_mountable() for details. +Finish an asynchronous mount operation that was started +with g_file_mount_mountable(). +Free the returned object with g_object_unref(). + + a #GFile or %NULL on error. + + + + + a #GAsyncResult. + + + + + + Tries to move the file or directory @source to the location specified by @destination. +If native move operations are supported then this is used, otherwise a copy + delete +fallback is used. The native implementation may support moving directories (for instance +on moves inside the same filesystem), but the fallback code does not. +If the flag #G_FILE_COPY_OVERWRITE is specified an already +existing @destination file is overwritten. +If the flag #G_FILE_COPY_NOFOLLOW_SYMLINKS is specified then symlinks +will be copied as symlinks, otherwise the target of the +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +If @progress_callback is not %NULL, then the operation can be monitored by +setting this to a #GFileProgressCallback function. @progress_callback_data +will be passed to this function. It is guaranteed that this callback will +be called after all data has been transferred with the total number of bytes +copied during the operation. +If the @source file does not exist then the G_IO_ERROR_NOT_FOUND +error is returned, independent on the status of the @destination. +If #G_FILE_COPY_OVERWRITE is not specified and the target exists, then the +error G_IO_ERROR_EXISTS is returned. +If trying to overwrite a file over a directory the G_IO_ERROR_IS_DIRECTORY +error is returned. If trying to overwrite a directory with a directory the +G_IO_ERROR_WOULD_MERGE error is returned. +If the source is a directory and the target does not exist, or #G_FILE_COPY_OVERWRITE is +specified and the target is a file, then the G_IO_ERROR_WOULD_RECURSE error +may be returned (if the native move operation isn't available). + + %TRUE on successful move, %FALSE otherwise. + + + + + #GFile pointing to the destination location. + + + + set of #GFileCopyFlags. + + + + optional #GCancellable object, %NULL to ignore. + + + + #GFileProgressCallback function for updates. + + + + gpointer to user data for the callback function. + + + + + + Opens an existing file for reading and writing. The result is +a #GFileIOStream that can be used to read and write the contents of the file. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +If the file does not exist, the G_IO_ERROR_NOT_FOUND error will be returned. +If the file is a directory, the G_IO_ERROR_IS_DIRECTORY error will be returned. +Other errors are possible too, and depend on what kind of filesystem the file is on. +Note that in many non-local file cases read and write streams are not supported, +so make sure you really need to do read and write streaming, rather than +just opening for reading or writing. +Free the returned object with g_object_unref(). + + #GFileIOStream or %NULL on error. + + + a #GCancellable + + + + + + Asynchronously opens @file for reading and writing. +For more details, see g_file_open_readwrite() which is +the synchronous version of this call. +When the operation is finished, @callback will be called. You can then call +g_file_open_readwrite_finish() to get the result of the operation. + + + + + + the <link linkend="io-priority">I/O priority</link> of the request. + + + + optional #GCancellable object, %NULL to ignore. + a #GAsyncReadyCallback to call when the request is satisfied - + the data to pass to callback function + + + + + + Finishes an asynchronous file read operation started with +g_file_open_readwrite_async(). +Free the returned object with g_object_unref(). + + a #GFileIOStream or %NULL on error. + + + + + a #GAsyncResult. + + + + + + Polls a file of type G_FILE_TYPE_MOUNTABLE. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +When the operation is finished, @callback will be called. You can then call +g_file_mount_mountable_finish() to get the result of the operation. + + + + + + optional #GCancellable object, %NULL to ignore. + + + + a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. + + + + the data to pass to callback function + + Finishes a poll operation. See g_file_poll_mountable() for details. +Finish an asynchronous poll operation that was polled +with g_file_poll_mountable(). +otherwise. - + %TRUE if the operation finished successfully. %FALSE + + a #GAsyncResult. @@ -7324,249 +16538,1478 @@ necessarily represent files or directories that currently exist." + Returns the #GAppInfo that is registered as the default +application to handle the file specified by @file. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +When you are done with it, release it with g_object_unref() + a #GAppInfo if the handle was found, %NULL if there were errors. + optional #GCancellable object, %NULL to ignore. - + + Utility function to check if a particular file exists. This is +implemented using g_file_query_info() and as such does blocking I/O. +Note that in many cases it is racy to first check for file existence +and then execute something based on the outcome of that, because the +file might have been created or removed in between the operations. The +general approach to handling that is to not check, but just do the +operation and handle the errors as they come. +As an example of race-free checking, take the case of reading a file, and +can both result in two processes creating the file (with perhaps a partially +written file as the result). The correct approach is to always try to create +the file with g_file_create() which will either atomically create the file +or fail with a G_IO_ERROR_EXISTS error. +However, in many cases an existence check is useful in a user +interface, for instance to make a menu item sensitive/insensitive, so that +you don't have to fool users that something is possible and then just show +and error dialog. If you do this, you should make sure to also handle the +errors that can happen due to races when you execute the operation. - + %TRUE if the file exists (and can be detected without error), %FALSE otherwise (or if cancelled). + + optional #GCancellable object, %NULL to ignore. - - - - - - - - - - + + Utility function to inspect the #GFileType of a file. This is +implemented using g_file_query_info() and as such does blocking I/O. +The primary use case of this method is to check if a file is a regular file, +directory, or symlink. +does not exist + + The #GFileType of the file and #G_FILE_TYPE_UNKNOWN if the file + + + + + a set of #GFileQueryInfoFlags passed to g_file_query_info(). + + + + optional #GCancellable object, %NULL to ignore. + + + + + + Similar to g_file_query_info(), but obtains information +about the filesystem the @file is on, rather than the file itself. +For instance the amount of space available and the type of +the filesystem. +The @attributes value is a string that specifies the file attributes that +should be gathered. It is not an error if it's not possible to read a particular +requested attribute from a file - it just won't be set. @attributes should +be a comma-separated list of attributes or attribute wildcards. The wildcard "*" +means all attributes, and a wildcard like "fs:*" means all attributes in the fs +namespace. The standard namespace for filesystem attributes is "fs". +Common attributes of interest are #G_FILE_ATTRIBUTE_FILESYSTEM_SIZE +(the total size of the filesystem in bytes), #G_FILE_ATTRIBUTE_FILESYSTEM_FREE (number of +bytes available), and #G_FILE_ATTRIBUTE_FILESYSTEM_TYPE (type of the filesystem). +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +If the file does not exist, the G_IO_ERROR_NOT_FOUND error will be returned. +Other errors are possible too, and depend on what kind of filesystem the file is on. +Free the returned object with g_object_unref(). + + a #GFileInfo or %NULL if there was an error. + + + + + an attribute query string. + + + + optional #GCancellable object, %NULL to ignore. + + + + + + Asynchronously gets the requested information about the filesystem +that the specified @file is on. The result is a #GFileInfo object +that contains key-value attributes (such as type or size for the +file). +For more details, see g_file_query_filesystem_info() which is the +synchronous version of this call. +When the operation is finished, @callback will be called. You can +then call g_file_query_info_finish() to get the result of the +operation. + + an attribute query string. + + + + the <link linkend="io-priority">I/O priority</link> of the request. + + + optional #GCancellable object, %NULL to ignore. + + + + a #GAsyncReadyCallback to call when the request is satisfied + + + + the data to pass to callback function + + + + + + Finishes an asynchronous filesystem info query. See +g_file_query_filesystem_info_async(). +Free the returned object with g_object_unref(). + + #GFileInfo for given @file or %NULL on error. + + + + + a #GAsyncResult. + + + + + + Gets the requested information about specified @file. The result +is a #GFileInfo object that contains key-value attributes (such as +the type or size of the file). +The @attributes value is a string that specifies the file attributes that +should be gathered. It is not an error if it's not possible to read a particular +requested attribute from a file - it just won't be set. @attributes should +be a comma-separated list of attributes or attribute wildcards. The wildcard "*" +means all attributes, and a wildcard like "standard::*" means all attributes in the standard +namespace. An example attribute query be "standard::*,owner::user". +The standard attributes are available as defines, like #G_FILE_ATTRIBUTE_STANDARD_NAME. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +For symlinks, normally the information about the target of the +symlink is returned, rather than information about the symlink itself. +However if you pass #G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS in @flags the +information about the symlink itself will be returned. Also, for symlinks +that point to non-existing files the information about the symlink itself +will be returned. +If the file does not exist, the G_IO_ERROR_NOT_FOUND error will be returned. +Other errors are possible too, and depend on what kind of filesystem the file is on. +Free the returned object with g_object_unref(). + + a #GFileInfo for the given @file, or %NULL on error. + + + + + an attribute query string. + + + + a set of #GFileQueryInfoFlags. + + + + optional #GCancellable object, %NULL to ignore. + + + + + + Asynchronously gets the requested information about specified @file. The result +is a #GFileInfo object that contains key-value attributes (such as type or size +for the file). +For more details, see g_file_query_info() which is +the synchronous version of this call. +When the operation is finished, @callback will be called. You can then call +g_file_query_info_finish() to get the result of the operation. + + + + + + an attribute query string. + + + + a set of #GFileQueryInfoFlags. + + + + the <link linkend="io-priority">I/O priority</link> of the request. + + + + optional #GCancellable object, %NULL to ignore. + + + + a #GAsyncReadyCallback to call when the request is satisfied + + + + the data to pass to callback function + + + + + + Finishes an asynchronous file info query. +See g_file_query_info_async(). +Free the returned object with g_object_unref(). + + #GFileInfo for given @file or %NULL on error. + + + + + a #GAsyncResult. + + + + + + Obtain the list of settable attributes for the file. +Returns the type and full attribute name of all the attributes +that can be set on this file. This doesn't mean setting it will always +succeed though, you might get an access failure, or some specific +file may not support a specific attribute. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +When you are done with it, release it with g_file_attribute_info_list_unref() + + a #GFileAttributeInfoList describing the settable attributes. + + + + + optional #GCancellable object, %NULL to ignore. + + + + + + Obtain the list of attribute namespaces where new attributes +can be created by a user. An example of this is extended +attributes (in the "xattr" namespace). +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +When you are done with it, release it with g_file_attribute_info_list_unref() + + a #GFileAttributeInfoList describing the writable namespaces. + + + + + optional #GCancellable object, %NULL to ignore. + + + + + + Opens a file for reading. The result is a #GFileInputStream that +can be used to read the contents of the file. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +If the file does not exist, the G_IO_ERROR_NOT_FOUND error will be returned. +If the file is a directory, the G_IO_ERROR_IS_DIRECTORY error will be returned. +Other errors are possible too, and depend on what kind of filesystem the file is on. +Free the returned object with g_object_unref(). + + #GFileInputStream or %NULL on error. + + + + + a #GCancellable + + + + + + Asynchronously opens @file for reading. +For more details, see g_file_read() which is +the synchronous version of this call. +When the operation is finished, @callback will be called. You can then call +g_file_read_finish() to get the result of the operation. + + + + + + the <link linkend="io-priority">I/O priority</link> of the request. + + + + optional #GCancellable object, %NULL to ignore. + a #GAsyncReadyCallback to call when the request is satisfied - + the data to pass to callback function + - - - + + Finishes an asynchronous file read operation started with +g_file_read_async(). +Free the returned object with g_object_unref(). + + a #GFileInputStream or %NULL on error. + + a #GAsyncResult. - - - - - - - - - - + + Returns an output stream for overwriting the file, possibly +creating a backup copy of the file first. If the file doesn't exist, +it will be created. +This will try to replace the file in the safest way possible so +that any errors during the writing will not affect an already +existing copy of the file. For instance, for local files it +may write to a temporary file and then atomically rename over +the destination when the stream is closed. +By default files created are generally readable by everyone, +but if you pass #G_FILE_CREATE_PRIVATE in @flags the file +will be made readable only to the current user, to the level that +is supported on the target filesystem. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +If you pass in a non-#NULL @etag value, then this value is +compared to the current entity tag of the file, and if they differ +an G_IO_ERROR_WRONG_ETAG error is returned. This generally means +that the file has been changed since you last read it. You can get +the new etag from g_file_output_stream_get_etag() after you've +finished writing and closed the #GFileOutputStream. When you load +a new file you can use g_file_input_stream_query_info() to get +the etag of the file. +If @make_backup is %TRUE, this function will attempt to make a backup +of the current file before overwriting it. If this fails a G_IO_ERROR_CANT_CREATE_BACKUP +error will be returned. If you want to replace anyway, try again with +If the file is a directory the G_IO_ERROR_IS_DIRECTORY error will be returned, +and if the file is some other form of non-regular file then a +G_IO_ERROR_NOT_REGULAR_FILE error will be returned. +Some file systems don't allow all file names, and may +return an G_IO_ERROR_INVALID_FILENAME error, and if the name +is to long G_IO_ERROR_FILENAME_TOO_LONG will be returned. +Other errors are possible too, and depend on what kind of +filesystem the file is on. +Free the returned object with g_object_unref(). + + a #GFileOutputStream or %NULL on error. + + + + + an optional <link linkend="gfile-etag">entity tag</link> for the current #GFile, or #NULL to ignore. + + + + %TRUE if a backup should be created. + + + + a set of #GFileCreateFlags. + + + + optional #GCancellable object, %NULL to ignore. + + + + + + Asynchronously overwrites the file, replacing the contents, possibly +creating a backup copy of the file first. +For more details, see g_file_replace() which is +the synchronous version of this call. +When the operation is finished, @callback will be called. You can then call +g_file_replace_finish() to get the result of the operation. + + an <link linkend="gfile-etag">entity tag</link> for the current #GFile, or NULL to ignore. + + + + %TRUE if a backup should be created. + + + + a set of #GFileCreateFlags. + + + + the <link linkend="io-priority">I/O priority</link> of the request. + + + optional #GCancellable object, %NULL to ignore. - - - + closure="6"> + a #GAsyncReadyCallback to call when the request is satisfied - - - - - - - - - - - - - - - - - - - - + the data to pass to callback function + + Replaces the contents of @file with @contents of @length bytes. +If @etag is specified (not %NULL) any existing file must have that etag, or +the error %G_IO_ERROR_WRONG_ETAG will be returned. +If @make_backup is %TRUE, this function will attempt to make a backup of @file. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +The returned @new_etag can be used to verify that the file hasn't changed the +next time it is saved over. +has occurred, this function will return %FALSE and set @error +appropriately if present. - + %TRUE if successful. If an error + + a string containing the new contents for @file. - + the length of @contents in bytes. + + the old <link linkend="gfile-etag">entity tag</link> for the document, or %NULL - + %TRUE if a backup should be created. + + a set of #GFileCreateFlags. + a location to a new <link linkend="gfile-etag">entity tag</link> for the document. This should be freed with g_free() when no longer needed, or %NULL + optional #GCancellable object, %NULL to ignore. + Starts an asynchronous replacement of @file with the given +current entity tag. +When this operation has completed, @callback will be called with +g_file_replace_contents_finish(). +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +If @make_backup is %TRUE, this function will attempt to +make a backup of @file. + string of contents to replace the file with. - + the length of @contents in bytes. + + a new <link linkend="gfile-etag">entity tag</link> for the @file, or %NULL - + %TRUE if a backup should be created. + + a set of #GFileCreateFlags. + optional #GCancellable object, %NULL to ignore. + closure="7"> + a #GAsyncReadyCallback to call when the request is satisfied - + the data to pass to callback function + + Finishes an asynchronous replace of the given @file. See +g_file_replace_contents_async(). Sets @new_etag to the new entity +tag for the document, if present. - + %TRUE on success, %FALSE on failure. + + a #GAsyncResult. + a location of a new <link linkend="gfile-etag">entity tag</link> for the document. This should be freed with g_free() when it is no longer needed, or %NULL - + + Finishes an asynchronous file replace operation started with +g_file_replace_async(). +Free the returned object with g_object_unref(). + + a #GFileOutputStream, or %NULL on error. + + + + + a #GAsyncResult. + + + + + + Returns an output stream for overwriting the file in readwrite mode, +possibly creating a backup copy of the file first. If the file doesn't +exist, it will be created. +For details about the behaviour, see g_file_replace() which does the same +thing but returns an output stream only. +Note that in many non-local file cases read and write streams are not +supported, so make sure you really need to do read and write streaming, +rather than just opening for reading or writing. +Free the returned object with g_object_unref(). + + a #GFileIOStream or %NULL on error. + + + + + an optional <link linkend="gfile-etag">entity tag</link> for the current #GFile, or #NULL to ignore + + + + %TRUE if a backup should be created + + + + a set of #GFileCreateFlags + + + + optional #GCancellable object, %NULL to ignore + + + + + + Asynchronously overwrites the file in read-write mode, replacing the +contents, possibly creating a backup copy of the file first. +For more details, see g_file_replace_readwrite() which is +the synchronous version of this call. +When the operation is finished, @callback will be called. You can then +call g_file_replace_readwrite_finish() to get the result of the operation. - + + + + + an <link linkend="gfile-etag">entity tag</link> for the current #GFile, or NULL to ignore. + + + + %TRUE if a backup should be created. + + + + a set of #GFileCreateFlags. + + + + the <link linkend="io-priority">I/O priority</link> of the request. + + + + optional #GCancellable object, %NULL to ignore. + + + + a #GAsyncReadyCallback to call when the request is satisfied + + + + the data to pass to callback function + + + + + + Finishes an asynchronous file replace operation started with +g_file_replace_readwrite_async(). +Free the returned object with g_object_unref(). + + a #GFileIOStream, or %NULL on error. + + + + + a #GAsyncResult. + + + + + + Resolves a relative path for @file to an absolute path. +This call does no blocking i/o. +is %NULL or if @file is invalid. +Free the returned object with g_object_unref(). + + #GFile to the resolved path. %NULL if @relative_path + + + + + a given relative path string. + + + + + + Sets an attribute in the file with attribute name @attribute to @value. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. + + %TRUE if the attribute was set, %FALSE otherwise. + + + + + a string containing the attribute's name. + + + + The type of the attribute + + + + a pointer to the value (or the pointer itself if the type is a pointer type) + + + + a set of #GFileQueryInfoFlags. + + + + optional #GCancellable object, %NULL to ignore. + + + + + + Sets @attribute of type %G_FILE_ATTRIBUTE_TYPE_BYTE_STRING to @value. +If @attribute is of a different type, this operation will fail, +returning %FALSE. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +in the @file, %FALSE otherwise. + + %TRUE if the @attribute was successfully set to @value + + + + + a string containing the attribute's name. + + + + a string containing the attribute's new value. + + + + a #GFileQueryInfoFlags. + + + + optional #GCancellable object, %NULL to ignore. + + + + + + Sets @attribute of type %G_FILE_ATTRIBUTE_TYPE_INT32 to @value. +If @attribute is of a different type, this operation will fail. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +in the @file, %FALSE otherwise. + + %TRUE if the @attribute was successfully set to @value + + + + + a string containing the attribute's name. + + + + a #gint32 containing the attribute's new value. + + + + a #GFileQueryInfoFlags. + + + + optional #GCancellable object, %NULL to ignore. + + + + + + Sets @attribute of type %G_FILE_ATTRIBUTE_TYPE_INT64 to @value. +If @attribute is of a different type, this operation will fail. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. + + %TRUE if the @attribute was successfully set, %FALSE otherwise. + + + + + a string containing the attribute's name. + + + + a #guint64 containing the attribute's new value. + + + + a #GFileQueryInfoFlags. + + + + optional #GCancellable object, %NULL to ignore. + + + + + + Sets @attribute of type %G_FILE_ATTRIBUTE_TYPE_STRING to @value. +If @attribute is of a different type, this operation will fail. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. + + %TRUE if the @attribute was successfully set, %FALSE otherwise. + + + + + a string containing the attribute's name. + + + + a string containing the attribute's value. + + + + #GFileQueryInfoFlags. + + + + optional #GCancellable object, %NULL to ignore. + + + + + + Sets @attribute of type %G_FILE_ATTRIBUTE_TYPE_UINT32 to @value. +If @attribute is of a different type, this operation will fail. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +in the @file, %FALSE otherwise. + + %TRUE if the @attribute was successfully set to @value + + + + + a string containing the attribute's name. + + + + a #guint32 containing the attribute's new value. + + + + a #GFileQueryInfoFlags. + + + + optional #GCancellable object, %NULL to ignore. + + + + + + Sets @attribute of type %G_FILE_ATTRIBUTE_TYPE_UINT64 to @value. +If @attribute is of a different type, this operation will fail. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +in the @file, %FALSE otherwise. + + %TRUE if the @attribute was successfully set to @value + + + + + a string containing the attribute's name. + + + + a #guint64 containing the attribute's new value. + + + + a #GFileQueryInfoFlags. + + + + optional #GCancellable object, %NULL to ignore. + + + + + + Asynchronously sets the attributes of @file with @info. +For more details, see g_file_set_attributes_from_info() which is +the synchronous version of this call. +When the operation is finished, @callback will be called. You can then call +g_file_set_attributes_finish() to get the result of the operation. + + + + + + a #GFileInfo. + + + + a #GFileQueryInfoFlags. + + + + the <link linkend="io-priority">I/O priority</link> of the request. + + + + optional #GCancellable object, %NULL to ignore. + + + + a #GAsyncReadyCallback. + + + + a #gpointer. + + + + + + Finishes setting an attribute started in g_file_set_attributes_async(). + + %TRUE if the attributes were set correctly, %FALSE otherwise. + + + + + a #GAsyncResult. + + + + a #GFileInfo. + + + + + + Tries to set all attributes in the #GFileInfo on the target values, +not stopping on the first error. +If there is any error during this operation then @error will be set to +the first error. Error on particular fields are flagged by setting +the "status" field in the attribute value to +%G_FILE_ATTRIBUTE_STATUS_ERROR_SETTING, which means you can also detect +further errors. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. + + %TRUE if there was any error, %FALSE otherwise. + + + + + a #GFileInfo. + + + + #GFileQueryInfoFlags + + + + optional #GCancellable object, %NULL to ignore. + + + + + + Renames @file to the specified display name. +The display name is converted from UTF8 to the correct encoding for the target +filesystem if possible and the @file is renamed to this. +If you want to implement a rename operation in the user interface the edit name +(#G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME) should be used as the initial value in the rename +widget, and then the result after editing should be passed to g_file_set_display_name(). +On success the resulting converted filename is returned. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +if there was an error. +Free the returned object with g_object_unref(). + + a #GFile specifying what @file was renamed to, or %NULL + + + + + a string. + + + + optional #GCancellable object, %NULL to ignore. + + + + + + Asynchronously sets the display name for a given #GFile. +For more details, see g_file_set_display_name() which is +the synchronous version of this call. +When the operation is finished, @callback will be called. You can then call +g_file_set_display_name_finish() to get the result of the operation. + + + + + + a string. + + + + the <link linkend="io-priority">I/O priority</link> of the request. + + + + optional #GCancellable object, %NULL to ignore. + + + + a #GAsyncReadyCallback to call when the request is satisfied + + + + the data to pass to callback function + + + + + + Finishes setting a display name started with +g_file_set_display_name_async(). +Free the returned object with g_object_unref(). + + a #GFile or %NULL on error. + + + + + a #GAsyncResult. + + + + + + Starts a file of type G_FILE_TYPE_MOUNTABLE. +Using @start_operation, you can request callbacks when, for instance, +passwords are needed during authentication. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +When the operation is finished, @callback will be called. You can then call +g_file_mount_mountable_finish() to get the result of the operation. + + + + + + flags affecting the operation + + + + a #GMountOperation, or %NULL to avoid user interaction. + + + + optional #GCancellable object, %NULL to ignore. + + + + a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. + + + + the data to pass to callback function + + + + + + Finishes a start operation. See g_file_start_mountable() for details. +Finish an asynchronous start operation that was started +with g_file_start_mountable(). +otherwise. + + %TRUE if the operation finished successfully. %FALSE + + + + + a #GAsyncResult. + + + + + + Stops a file of type G_FILE_TYPE_MOUNTABLE. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +When the operation is finished, @callback will be called. You can then call +g_file_stop_mountable_finish() to get the result of the operation. + + + + + + flags affecting the operation + + + + a #GMountOperation, or %NULL to avoid user interaction. + + + + optional #GCancellable object, %NULL to ignore. + + + + a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. + + + + the data to pass to callback function + + + + + + Finishes an stop operation, see g_file_stop_mountable() for details. +Finish an asynchronous stop operation that was started +with g_file_stop_mountable(). +otherwise. + + %TRUE if the operation finished successfully. %FALSE + + + + + a #GAsyncResult. + + + + + + Checks if @file supports <link +linkend="g-main-context-push-thread-default-context">thread-default +contexts</link>. If this returns %FALSE, you cannot perform +asynchronous operations on @file in a thread that has a +thread-default context. + + Whether or not @file supports thread-default contexts. + + + Sends @file to the "Trashcan", if possible. This is similar to +deleting it, but the user can recover it before emptying the trashcan. +Not all file systems support trashing, so this call can return the +%G_IO_ERROR_NOT_SUPPORTED error. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. + + %TRUE on successful trash, %FALSE otherwise. + + + + + optional #GCancellable object, %NULL to ignore. + + + + + + Unmounts a file of type G_FILE_TYPE_MOUNTABLE. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +When the operation is finished, @callback will be called. You can then call +g_file_unmount_mountable_finish() to get the result of the operation. + + + + + + flags affecting the operation + + + + optional #GCancellable object, %NULL to ignore. + + + + a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. + + + + the data to pass to callback function + + + + + + Finishes an unmount operation, see g_file_unmount_mountable() for details. +Finish an asynchronous unmount operation that was started +with g_file_unmount_mountable(). +otherwise. + + %TRUE if the operation finished successfully. %FALSE + + + + + a #GAsyncResult. + + + + + + Unmounts a file of type G_FILE_TYPE_MOUNTABLE. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +When the operation is finished, @callback will be called. You can then call +g_file_unmount_mountable_finish() to get the result of the operation. + + + + + + flags affecting the operation + + + + a #GMountOperation, or %NULL to avoid user interaction. + + + + optional #GCancellable object, %NULL to ignore. + + + + a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. + + + + the data to pass to callback function + + + + + + Finishes an unmount operation, see g_file_unmount_mountable_with_operation() for details. +Finish an asynchronous unmount operation that was started +with g_file_unmount_mountable_with_operation(). +otherwise. + + %TRUE if the operation finished successfully. %FALSE + + + + + a #GAsyncResult. + + + + - + + Information about a specific attribute. @@ -7578,10 +18021,10 @@ necessarily represent files or directories that currently exist." + Flags specifying the behaviour of an attribute. + glib:get-type="g_file_attribute_info_list_get_type" + c:symbol-prefix="file_attribute_info_list"> + Acts as a lightweight registry for possible valid file attributes. +The registry stores Key-Value pair formats as #GFileAttributeInfo<!-- -->s. - + + Creates a new file attribute info list. + a #GFileAttributeInfoList. - - - - - - - - - - - - - - - - - - - - - - - - - + Adds a new attribute with @name to the @list, setting +its @type and @flags. + the name of the attribute to add. + the #GFileAttributeType for the attribute. + #GFileAttributeInfoFlags for the attribute. - - - + + Makes a duplicate of a file attribute info list. - + a copy of the given @list. + + + + + Gets the file attribute with the name @name from @list. +attribute isn't found. + + a #GFileAttributeInfo for the @name, or %NULL if an + - + + the name of the attribute to lookup. - - + + + References a file attribute info list. - + #GFileAttributeInfoList or %NULL on error. + - + + Removes a reference from the given @list. If the reference count +falls to zero, the @list is deleted. - - - + + + Determines if a string matches a file attribute. + + Creates a new file attribute matcher, which matches attributes +against a given string. #GFileAttributeMatcher<!-- -->s are reference +counted structures, and are created with a reference count of 1. If +the number of references falls to 0, the #GFileAttributeMatcher is +automatically destroyed. +The @attribute string should be formatted with specific keys separated +from namespaces with a double colon. Several "namespace::key" strings may be +concatenated with a single comma (e.g. "standard::type,standard::is-hidden"). +The wildcard "*" may be used to match all keys and namespaces, or +"namespace::*" will match all keys in a given namespace. +Examples of strings to use: +<table> +<title>File Attribute Matcher strings and results</title> +<tgroup cols='2' align='left'><thead> +<row><entry> Matcher String </entry><entry> Matches </entry></row></thead> +<tbody> +<row><entry>"*"</entry><entry>matches all attributes.</entry></row> +<row><entry>"standard::is-hidden"</entry><entry>matches only the key is-hidden in the standard namespace.</entry></row> +<row><entry>"standard::type,unix::*"</entry><entry>matches the type key in the standard namespace and +all keys in the unix namespace.</entry></row> +</tbody></tgroup> +</table> + + a #GFileAttributeMatcher. + - + + an attribute string to match. - - - - - - - - - - - + + Checks if the matcher will match all of the keys in a given namespace. +This will always return %TRUE if a wildcard character is in use (e.g. if +matcher was created with "standard::*" and @ns is "standard", or if matcher was created +using "*" and namespace is anything.) +in the given @ns, %FALSE otherwise. - + %TRUE if the matcher matches all of the entries + + a string containing a file attribute namespace. + Gets the next matched attribute from a #GFileAttributeMatcher. +no more attribute exist. + a string containing the next attribute or %NULL if + + Checks if an attribute will be matched by an attribute matcher. If +the matcher was created with the "*" matching string, this function +will always return %TRUE. + + %TRUE if @attribute matches @matcher. %FALSE otherwise. + + + + + a file attribute key. + + + + + + Checks if a attribute matcher only matches a given attribute. Always +returns %FALSE if "*" was used when creating the matcher. + + %TRUE if the matcher only matches @attribute. %FALSE otherwise. + + + + + a file attribute key. + + + + + + References a file attribute matcher. + + a #GFileAttributeMatcher. + + + + + Unreferences @matcher. If the reference count falls below 1, +the @matcher is automatically freed. + + + + + Used by g_file_set_attributes_from_info() when setting file attributes. + The data types for file attributes. + Flags used when copying or moving files. + Flags used when an operation may create a file. - + An interface for file descriptor based io objects. + + Gets the underlying file descriptor. - + The file descriptor + - + + Gets the underlying file descriptor. - + The file descriptor + @@ -7865,9 +18375,10 @@ Flags used when an operation may create a file." - + - + The file descriptor + @@ -7878,233 +18389,366 @@ Flags used when an operation may create a file." - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + A per matched file iterator. + Asynchronously closes the file enumerator. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned in +g_file_enumerator_close_finish(). - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + the <link linkend="io-priority">I/O priority</link> of the request. + + optional #GCancellable object, %NULL to ignore. + closure="3"> + a #GAsyncReadyCallback to call when the request is satisfied - - + + the data to pass to callback function + - - - - - - + + + Finishes closing a file enumerator, started from g_file_enumerator_close_async(). +If the file enumerator was already closed when g_file_enumerator_close_async() +was called, then this function will report %G_IO_ERROR_CLOSED in @error, and +return %FALSE. If the file enumerator had pending operation when the close +operation was started, then this function will report %G_IO_ERROR_PENDING, and +return %FALSE. If @cancellable was not %NULL, then the operation may have been +cancelled by triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be set, and %FALSE will be +returned. + + %TRUE if the close operation has finished successfully. + - + - - + + + + + + + + + + + + + Returns information for the next file in the enumerated object. +Will block until the information is available. The #GFileInfo +returned from this function will contain attributes that match the +attribute string that was passed when the #GFileEnumerator was created. +On error, returns %NULL and sets @error to the error. If the +enumerator is at the end, %NULL will be returned and @error will +be unset. +Free the returned object with g_object_unref() when no longer needed. + + A #GFileInfo or %NULL on error or end of enumerator. + + + + + optional #GCancellable object, %NULL to ignore. + + + + + + Request information for a number of files from the enumerator asynchronously. +When all i/o for the operation is finished the @callback will be called with +the requested information. +The callback can be called with less than @num_files files in case of error +or at the end of the enumerator. In case of a partial error the callback will +be called with any succeeding items and no error, and on the next request the +error will be reported. If a request is cancelled the callback will be called +with %G_IO_ERROR_CANCELLED. +During an async request no other sync and async calls are allowed, and will +result in %G_IO_ERROR_PENDING errors. +Any outstanding i/o request with higher priority (lower numerical value) will +be executed before an outstanding request with lower priority. Default +priority is %G_PRIORITY_DEFAULT. + + the number of file info objects to request + + - + the <link linkend="gioscheduler">io priority</link> of the request. + + optional #GCancellable object, %NULL to ignore. + a #GAsyncReadyCallback to call when the request is satisfied + + + + the data to pass to callback function + + + + + + Finishes the asynchronous operation started with g_file_enumerator_next_files_async(). +g_list_free() and unref the infos with g_object_unref() when you're +done with them. + + a #GList of #GFileInfo<!---->s. You must free the list with + + + + + + + + + + + + Releases all resources used by this enumerator, making the +enumerator return %G_IO_ERROR_CLOSED on all calls. +This will be automatically called when the last reference +is dropped, but you might want to call this function to make +sure resources are released as early as possible. + + #TRUE on success or #FALSE on error. + + + + + optional #GCancellable object, %NULL to ignore. + + + + + + Asynchronously closes the file enumerator. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned in +g_file_enumerator_close_finish(). + + + + + + the <link linkend="io-priority">I/O priority</link> of the request. + + + + optional #GCancellable object, %NULL to ignore. + + + + a #GAsyncReadyCallback to call when the request is satisfied - + the data to pass to callback function + + Finishes closing a file enumerator, started from g_file_enumerator_close_async(). +If the file enumerator was already closed when g_file_enumerator_close_async() +was called, then this function will report %G_IO_ERROR_CLOSED in @error, and +return %FALSE. If the file enumerator had pending operation when the close +operation was started, then this function will report %G_IO_ERROR_PENDING, and +return %FALSE. If @cancellable was not %NULL, then the operation may have been +cancelled by triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be set, and %FALSE will be +returned. - + %TRUE if the close operation has finished successfully. + + a #GAsyncResult. - - - + + Get the #GFile container which is being enumerated. + + the #GFile which is being enumerated. + + Checks if the file enumerator has pending operations. - + %TRUE if the @enumerator has pending operations. + + + Checks if the file enumerator has been closed. + + %TRUE if the @enumerator is closed. + + + + + Returns information for the next file in the enumerated object. +Will block until the information is available. The #GFileInfo +returned from this function will contain attributes that match the +attribute string that was passed when the #GFileEnumerator was created. +On error, returns %NULL and sets @error to the error. If the +enumerator is at the end, %NULL will be returned and @error will +be unset. +Free the returned object with g_object_unref() when no longer needed. + + A #GFileInfo or %NULL on error or end of enumerator. + + + + + optional #GCancellable object, %NULL to ignore. + + + + + + Request information for a number of files from the enumerator asynchronously. +When all i/o for the operation is finished the @callback will be called with +the requested information. +The callback can be called with less than @num_files files in case of error +or at the end of the enumerator. In case of a partial error the callback will +be called with any succeeding items and no error, and on the next request the +error will be reported. If a request is cancelled the callback will be called +with %G_IO_ERROR_CANCELLED. +During an async request no other sync and async calls are allowed, and will +result in %G_IO_ERROR_PENDING errors. +Any outstanding i/o request with higher priority (lower numerical value) will +be executed before an outstanding request with lower priority. Default +priority is %G_PRIORITY_DEFAULT. + + + + + + the number of file info objects to request + + + + the <link linkend="gioscheduler">io priority</link> of the request. + + + + optional #GCancellable object, %NULL to ignore. + + + + a #GAsyncReadyCallback to call when the request is satisfied + + + + the data to pass to callback function + + + + + + Finishes the asynchronous operation started with g_file_enumerator_next_files_async(). +g_list_free() and unref the infos with g_object_unref() when you're +done with them. + + a #GList of #GFileInfo<!---->s. You must free the list with + + + + + + + a #GAsyncResult. + + + + + Sets the file enumerator as having pending operations. - + a boolean value. + - - - - - - - + + @@ -8120,8 +18764,9 @@ Flags used when an operation may create a file." - + + A #GFileInfo or %NULL on error or end of enumerator. @@ -8131,30 +18776,29 @@ Flags used when an operation may create a file." + optional #GCancellable object, %NULL to ignore. - + - + - + - + @@ -8163,31 +18807,40 @@ Flags used when an operation may create a file." - + the number of file info objects to request + - + the <link linkend="gioscheduler">io priority</link> of the request. + + optional #GCancellable object, %NULL to ignore. - + + a #GAsyncReadyCallback to call when the request is satisfied - + the data to pass to callback function + - + - + a #GList of #GFileInfo<!---->s. You must free the list with + + + @@ -8200,7 +18853,7 @@ Flags used when an operation may create a file." - + @@ -8209,26 +18862,34 @@ Flags used when an operation may create a file." - + the <link linkend="io-priority">I/O priority</link> of the request. + + optional #GCancellable object, %NULL to ignore. - + + a #GAsyncReadyCallback to call when the request is satisfied - + the data to pass to callback function + - + - + %TRUE if the close operation has finished successfully. + @@ -8240,157 +18901,172 @@ Flags used when an operation may create a file." - - + + - - + + - - + + - - + + - - + + - - + + - - + + - + + A subclass of GIOStream for opened files. This adds +a few file-specific operations and seeking and truncating. +#GFileIOStream implements GSeekable. - - - - - - + - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - + + Gets the entity tag for the file when it has been written. +This must be called after the stream has been written +and closed, as the etag can change while writing. + the entity tag for the stream. + + + + + Queries a file io stream for the given @attributes. +This function blocks while querying the stream. For the asynchronous +version of this function, see g_file_io_stream_query_info_async(). +While the stream is blocked, the stream will set the pending flag +internally, and any other operations on the stream will fail with +%G_IO_ERROR_PENDING. +Can fail if the stream was already closed (with @error being set to +%G_IO_ERROR_CLOSED), the stream has pending operations (with @error being +set to %G_IO_ERROR_PENDING), or if querying info is not supported for +the stream's interface (with @error being set to %G_IO_ERROR_NOT_SUPPORTED). I +all cases of failure, %NULL will be returned. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be set, and %NULL will +be returned. + + a #GFileInfo for the @stream, or %NULL on error. + a file attribute query string. + optional #GCancellable object, %NULL to ignore. - + + Asynchronously queries the @stream for a #GFileInfo. When completed, +finish the operation with g_file_io_stream_query_info_finish(). +For the synchronous version of this function, see +g_file_io_stream_query_info(). + a file attribute query string. - + the <link linkend="gio-GIOScheduler">I/O priority</link> of the request. + + optional #GCancellable object, %NULL to ignore. - + + callback to call when the request is satisfied - - + + the data to pass to callback function + - + + Finalizes the asynchronous query started +by g_file_io_stream_query_info_async(). + A #GFileInfo for the finished query. @@ -8399,73 +19075,142 @@ a few file-specific operations and seeking and truncating. - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets the entity tag for the file when it has been written. +This must be called after the stream has been written +and closed, as the etag can change while writing. + + the entity tag for the stream. + + + + Queries a file io stream for the given @attributes. +This function blocks while querying the stream. For the asynchronous +version of this function, see g_file_io_stream_query_info_async(). +While the stream is blocked, the stream will set the pending flag +internally, and any other operations on the stream will fail with +%G_IO_ERROR_PENDING. +Can fail if the stream was already closed (with @error being set to +%G_IO_ERROR_CLOSED), the stream has pending operations (with @error being +set to %G_IO_ERROR_PENDING), or if querying info is not supported for +the stream's interface (with @error being set to %G_IO_ERROR_NOT_SUPPORTED). I +all cases of failure, %NULL will be returned. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be set, and %NULL will +be returned. + a #GFileInfo for the @stream, or %NULL on error. + a file attribute query string. + optional #GCancellable object, %NULL to ignore. + c:identifier="g_file_io_stream_query_info_async" + version="2.22"> + Asynchronously queries the @stream for a #GFileInfo. When completed, +finish the operation with g_file_io_stream_query_info_finish(). +For the synchronous version of this function, see +g_file_io_stream_query_info(). + a file attribute query string. - + the <link linkend="gio-GIOScheduler">I/O priority</link> of the request. + + optional #GCancellable object, %NULL to ignore. + closure="4"> + callback to call when the request is satisfied - + the data to pass to callback function + + Finalizes the asynchronous query started +by g_file_io_stream_query_info_async(). + A #GFileInfo for the finished query. + a #GAsyncResult. - - - - - @@ -8480,9 +19225,9 @@ a few file-specific operations and seeking and truncating. - - - + + + @@ -8492,9 +19237,9 @@ a few file-specific operations and seeking and truncating. - + - + @@ -8504,32 +19249,30 @@ a few file-specific operations and seeking and truncating. - + - + - + - + - + - + @@ -8539,28 +19282,27 @@ a few file-specific operations and seeking and truncating. - + - + - + - + - + + a #GFileInfo for the @stream, or %NULL on error. @@ -8568,18 +19310,20 @@ a few file-specific operations and seeking and truncating. + a file attribute query string. + optional #GCancellable object, %NULL to ignore. - + @@ -8588,30 +19332,37 @@ a few file-specific operations and seeking and truncating. + a file attribute query string. - + the <link linkend="gio-GIOScheduler">I/O priority</link> of the request. + + optional #GCancellable object, %NULL to ignore. - + + callback to call when the request is satisfied - + the data to pass to callback function + - + + A #GFileInfo for the finished query. @@ -8625,8 +19376,9 @@ a few file-specific operations and seeking and truncating. - + + the entity tag for the stream. @@ -8636,86 +19388,87 @@ a few file-specific operations and seeking and truncating. - - + + - - + + - - + + - - + + - - + + - + + Gets an icon for a #GFile. Implements #GLoadableIcon. - - - - - - - - - - - + Gets the #GFile associated with the given @icon. + + a #GFile, or %NULL. - - + + The file containing the icon. + + glib:is-gtype-struct-for="File"> + An interface for writing VFS file handles. - + + a new #GFile that is a duplicate of the given #GFile. @@ -8726,9 +19479,9 @@ a few file-specific operations and seeking and truncating. - + - + @@ -8738,24 +19491,27 @@ a few file-specific operations and seeking and truncating. - + - + %TRUE if @file1 and @file2 are equal. + + the second #GFile. - + - + %TRUE if file is native. + @@ -8765,23 +19521,26 @@ a few file-specific operations and seeking and truncating. - + - + %TRUE if #GFile's backend supports the + + a string containing a URI scheme. - + + a string containing the URI scheme for the given @@ -8792,8 +19551,9 @@ a few file-specific operations and seeking and truncating. - + + string containing the #GFile's base name, or %NULL @@ -8804,8 +19564,9 @@ a few file-specific operations and seeking and truncating. - + + string containing the #GFile's path, or %NULL if @@ -8816,8 +19577,9 @@ a few file-specific operations and seeking and truncating. - + + a string containing the #GFile's URI. @@ -8828,8 +19590,9 @@ a few file-specific operations and seeking and truncating. - + + a string containing the #GFile's parse name. The returned @@ -8840,8 +19603,9 @@ a few file-specific operations and seeking and truncating. - + + a #GFile structure to the parent of the given @@ -8852,23 +19616,26 @@ a few file-specific operations and seeking and truncating. - + - + %TRUE if the @files's parent, grandparent, etc is @prefix. + + input #GFile. - + + string with the relative path from @descendant @@ -8876,14 +19643,16 @@ a few file-specific operations and seeking and truncating. + input #GFile. - + + #GFile to the resolved path. %NULL if @relative_path @@ -8891,16 +19660,16 @@ a few file-specific operations and seeking and truncating. + a given relative path string. - + + a #GFile to the specified child, or @@ -8908,16 +19677,16 @@ a few file-specific operations and seeking and truncating. + string to a possible child. - + + A #GFileEnumerator if successful, %NULL on error. @@ -8925,22 +19694,24 @@ a few file-specific operations and seeking and truncating. + an attribute query string. + a set of #GFileQueryInfoFlags. + optional #GCancellable object, %NULL to ignore. - + @@ -8949,33 +19720,41 @@ a few file-specific operations and seeking and truncating. + an attribute query string. + a set of #GFileQueryInfoFlags. - + the <link linkend="io-priority">I/O priority</link> of the request. + + optional #GCancellable object, %NULL to ignore. - + + a #GAsyncReadyCallback to call when the request is satisfied - + the data to pass to callback function + - + + a #GFileEnumerator or %NULL if an error occurred. @@ -8983,14 +19762,16 @@ a few file-specific operations and seeking and truncating. + a #GAsyncResult. - + + a #GFileInfo for the given @file, or %NULL on error. @@ -8998,21 +19779,24 @@ a few file-specific operations and seeking and truncating. + an attribute query string. + a set of #GFileQueryInfoFlags. + optional #GCancellable object, %NULL to ignore. - + @@ -9021,33 +19805,41 @@ a few file-specific operations and seeking and truncating. + an attribute query string. + a set of #GFileQueryInfoFlags. - + the <link linkend="io-priority">I/O priority</link> of the request. + + optional #GCancellable object, %NULL to ignore. - + + a #GAsyncReadyCallback to call when the request is satisfied - + the data to pass to callback function + - + + #GFileInfo for given @file or %NULL on error. @@ -9055,16 +19847,16 @@ a few file-specific operations and seeking and truncating. + a #GAsyncResult. - + + a #GFileInfo or %NULL if there was an error. @@ -9072,19 +19864,20 @@ a few file-specific operations and seeking and truncating. + an attribute query string. + optional #GCancellable object, %NULL to ignore. - + @@ -9093,30 +19886,37 @@ a few file-specific operations and seeking and truncating. + an attribute query string. - + the <link linkend="io-priority">I/O priority</link> of the request. + + optional #GCancellable object, %NULL to ignore. - + + a #GAsyncReadyCallback to call when the request is satisfied - + the data to pass to callback function + - + + #GFileInfo for given @file or %NULL on error. @@ -9124,16 +19924,16 @@ a few file-specific operations and seeking and truncating. + a #GAsyncResult. - + + a #GMount where the @file is located or %NULL on error. @@ -9143,14 +19943,14 @@ a few file-specific operations and seeking and truncating. + optional #GCancellable object, %NULL to ignore. - + @@ -9159,27 +19959,33 @@ a few file-specific operations and seeking and truncating. - + the <link linkend="io-priority">I/O priority</link> of the request. + + optional #GCancellable object, %NULL to ignore. - + + a #GAsyncReadyCallback to call when the request is satisfied - + the data to pass to callback function + - + + #GMount for given @file or %NULL on error. @@ -9187,14 +19993,16 @@ a few file-specific operations and seeking and truncating. + a #GAsyncResult - + + a #GFile specifying what @file was renamed to, or %NULL @@ -9202,19 +20010,20 @@ a few file-specific operations and seeking and truncating. + a string. + optional #GCancellable object, %NULL to ignore. - + @@ -9223,30 +20032,37 @@ a few file-specific operations and seeking and truncating. + a string. - + the <link linkend="io-priority">I/O priority</link> of the request. + + optional #GCancellable object, %NULL to ignore. - + + a #GAsyncReadyCallback to call when the request is satisfied - + the data to pass to callback function + - + + a #GFile or %NULL on error. @@ -9254,16 +20070,16 @@ a few file-specific operations and seeking and truncating. + a #GAsyncResult. - + + a #GFileAttributeInfoList describing the settable attributes. @@ -9274,32 +20090,30 @@ a few file-specific operations and seeking and truncating. + optional #GCancellable object, %NULL to ignore. - - + + - - + + - + + a #GFileAttributeInfoList describing the writable namespaces. @@ -9310,83 +20124,90 @@ a few file-specific operations and seeking and truncating. + optional #GCancellable object, %NULL to ignore. - - + + - - + + - + - + %TRUE if the attribute was set, %FALSE otherwise. + + a string containing the attribute's name. + The type of the attribute - + a pointer to the value (or the pointer itself if the type is a pointer type) + + a set of #GFileQueryInfoFlags. + optional #GCancellable object, %NULL to ignore. - + - + %TRUE if there was any error, %FALSE otherwise. + + a #GFileInfo. + #GFileQueryInfoFlags + optional #GCancellable object, %NULL to ignore. - + @@ -9395,51 +20216,65 @@ a few file-specific operations and seeking and truncating. + a #GFileInfo. + a #GFileQueryInfoFlags. - + the <link linkend="io-priority">I/O priority</link> of the request. + + optional #GCancellable object, %NULL to ignore. - + + a #GAsyncReadyCallback. - + a #gpointer. + - + - + %TRUE if the attributes were set correctly, %FALSE otherwise. + + a #GAsyncResult. - + + a #GFileInfo. - + + #GFileInputStream or %NULL on error. @@ -9449,13 +20284,14 @@ a few file-specific operations and seeking and truncating. + a #GCancellable - + @@ -9464,25 +20300,33 @@ a few file-specific operations and seeking and truncating. - + the <link linkend="io-priority">I/O priority</link> of the request. + + optional #GCancellable object, %NULL to ignore. - + + a #GAsyncReadyCallback to call when the request is satisfied - + the data to pass to callback function + - + + a #GFileInputStream or %NULL on error. @@ -9490,14 +20334,16 @@ a few file-specific operations and seeking and truncating. + a #GAsyncResult. - + + a #GFileOutputStream, or %NULL on error. @@ -9505,18 +20351,20 @@ a few file-specific operations and seeking and truncating. + a set of #GFileCreateFlags. + optional #GCancellable object, %NULL to ignore. - + @@ -9525,28 +20373,37 @@ a few file-specific operations and seeking and truncating. + a set of #GFileCreateFlags. - + the <link linkend="io-priority">I/O priority</link> of the request. + + optional #GCancellable object, %NULL to ignore. - + + a #GAsyncReadyCallback to call when the request is satisfied - + the data to pass to callback function + - + + a valid #GFileOutputStream or %NULL on error. @@ -9554,14 +20411,16 @@ a few file-specific operations and seeking and truncating. + #GAsyncResult - + + a #GFileOutputStream for the newly created file, or @@ -9569,18 +20428,20 @@ a few file-specific operations and seeking and truncating. + a set of #GFileCreateFlags. + optional #GCancellable object, %NULL to ignore. - + @@ -9589,28 +20450,37 @@ a few file-specific operations and seeking and truncating. + a set of #GFileCreateFlags. - + the <link linkend="io-priority">I/O priority</link> of the request. + + optional #GCancellable object, %NULL to ignore. - + + a #GAsyncReadyCallback to call when the request is satisfied - + the data to pass to callback function + - + + a #GFileOutputStream or %NULL on error. @@ -9618,39 +20488,45 @@ a few file-specific operations and seeking and truncating. + a #GAsyncResult. - + + a #GFileOutputStream or %NULL on error. - + + an optional <link linkend="gfile-etag">entity tag</link> for the current #GFile, or #NULL to ignore. - + %TRUE if a backup should be created. + + a set of #GFileCreateFlags. + optional #GCancellable object, %NULL to ignore. - + @@ -9658,35 +20534,46 @@ a few file-specific operations and seeking and truncating. - + + an <link linkend="gfile-etag">entity tag</link> for the current #GFile, or NULL to ignore. - + %TRUE if a backup should be created. + + a set of #GFileCreateFlags. - + the <link linkend="io-priority">I/O priority</link> of the request. + + optional #GCancellable object, %NULL to ignore. - + + a #GAsyncReadyCallback to call when the request is satisfied - + the data to pass to callback function + - + + a #GFileOutputStream, or %NULL on error. @@ -9694,15 +20581,17 @@ a few file-specific operations and seeking and truncating. + a #GAsyncResult. - + - + %TRUE if the file was deleted. %FALSE otherwise. + @@ -9711,29 +20600,31 @@ a few file-specific operations and seeking and truncating. + optional #GCancellable object, %NULL to ignore. - - + + - - + + - + - + %TRUE on successful trash, %FALSE otherwise. + @@ -9742,29 +20633,30 @@ a few file-specific operations and seeking and truncating. + optional #GCancellable object, %NULL to ignore. - - + + - - + + - + - + @@ -9778,90 +20670,97 @@ a few file-specific operations and seeking and truncating. - - + + - - + + - + - + %TRUE on the creation of a new symlink, %FALSE otherwise. + + a string with the path for the target of the new symlink + optional #GCancellable object, %NULL to ignore. - - + + - - + + - - + + - + %TRUE on success, %FALSE otherwise. + + destination #GFile + set of #GFileCopyFlags + optional #GCancellable object, %NULL to ignore. - + + function to callback with progress information - + user data to pass to @progress_callback + - - + + @@ -9870,96 +20769,119 @@ a few file-specific operations and seeking and truncating. + destination #GFile + set of #GFileCopyFlags - + the <link linkend="io-priority">I/O priority</link> of the request. + + optional #GCancellable object, %NULL to ignore. - + + function to callback with progress information - + user data to pass to @progress_callback + - + + a #GAsyncReadyCallback to call when the request is satisfied - + the data to pass to callback function + - + - + a %TRUE on success, %FALSE on error. + + a #GAsyncResult. - - + + - + %TRUE on successful move, %FALSE otherwise. + + #GFile pointing to the destination location. + set of #GFileCopyFlags. + optional #GCancellable object, %NULL to ignore. - + + #GFileProgressCallback function for updates. - + gpointer to user data for the callback function. + - - + + - - + + - + @@ -9968,30 +20890,37 @@ a few file-specific operations and seeking and truncating. + flags affecting the operation + a #GMountOperation, or %NULL to avoid user interaction. + optional #GCancellable object, %NULL to ignore. - + + a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. - + the data to pass to callback function + - + + a #GFile or %NULL on error. @@ -9999,13 +20928,14 @@ a few file-specific operations and seeking and truncating. + a #GAsyncResult. - + @@ -10014,41 +20944,48 @@ a few file-specific operations and seeking and truncating. + flags affecting the operation + optional #GCancellable object, %NULL to ignore. - + + a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. - + the data to pass to callback function + - + - + %TRUE if the operation finished successfully. %FALSE + + a #GAsyncResult. - + @@ -10057,42 +20994,48 @@ a few file-specific operations and seeking and truncating. + flags affecting the operation + optional #GCancellable object, %NULL to ignore. - + + a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. - + the data to pass to callback function + - + - + %TRUE if the @file was ejected successfully. %FALSE + + a #GAsyncResult. - + @@ -10101,45 +21044,54 @@ a few file-specific operations and seeking and truncating. + flags affecting the operation + a #GMountOperation or %NULL to avoid user interaction. + optional #GCancellable object, %NULL to ignore. - + + a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. - + the data to pass to callback function + - + - + %TRUE if successful. If an error + + a #GAsyncResult. - + + a #GFileMonitor for the given @file, or %NULL on error. @@ -10147,19 +21099,22 @@ a few file-specific operations and seeking and truncating. + a set of #GFileMonitorFlags. + optional #GCancellable object, %NULL to ignore. - + + a #GFileMonitor for the given @file, or %NULL on error. @@ -10167,19 +21122,22 @@ a few file-specific operations and seeking and truncating. + a set of #GFileMonitorFlags. + optional #GCancellable object, %NULL to ignore. - + + #GFileIOStream or %NULL on error. @@ -10189,13 +21147,14 @@ a few file-specific operations and seeking and truncating. + a #GCancellable - + @@ -10204,27 +21163,33 @@ a few file-specific operations and seeking and truncating. - + the <link linkend="io-priority">I/O priority</link> of the request. + + optional #GCancellable object, %NULL to ignore. - + + a #GAsyncReadyCallback to call when the request is satisfied - + the data to pass to callback function + - + + a #GFileIOStream or %NULL on error. @@ -10232,14 +21197,16 @@ a few file-specific operations and seeking and truncating. + a #GAsyncResult. - + + a #GFileIOStream for the newly created file, or %NULL on error. @@ -10247,19 +21214,20 @@ a few file-specific operations and seeking and truncating. + a set of #GFileCreateFlags + optional #GCancellable object, %NULL to ignore - + @@ -10268,30 +21236,37 @@ a few file-specific operations and seeking and truncating. + a set of #GFileCreateFlags - + the <link linkend="io-priority">I/O priority</link> of the request + + optional #GCancellable object, %NULL to ignore - + + a #GAsyncReadyCallback to call when the request is satisfied - + the data to pass to callback function + - + + a #GFileIOStream or %NULL on error. @@ -10299,42 +21274,45 @@ a few file-specific operations and seeking and truncating. + a #GAsyncResult - + + a #GFileIOStream or %NULL on error. - + + an optional <link linkend="gfile-etag">entity tag</link> for the current #GFile, or #NULL to ignore - + %TRUE if a backup should be created + + a set of #GFileCreateFlags + optional #GCancellable object, %NULL to ignore - + @@ -10342,37 +21320,46 @@ a few file-specific operations and seeking and truncating. - + + an <link linkend="gfile-etag">entity tag</link> for the current #GFile, or NULL to ignore. - + %TRUE if a backup should be created. + + a set of #GFileCreateFlags. - + the <link linkend="io-priority">I/O priority</link> of the request. + + optional #GCancellable object, %NULL to ignore. - + + a #GAsyncReadyCallback to call when the request is satisfied - + the data to pass to callback function + - + + a #GFileIOStream, or %NULL on error. @@ -10380,13 +21367,14 @@ a few file-specific operations and seeking and truncating. + a #GAsyncResult. - + @@ -10395,44 +21383,52 @@ a few file-specific operations and seeking and truncating. + flags affecting the operation + a #GMountOperation, or %NULL to avoid user interaction. + optional #GCancellable object, %NULL to ignore. - + + a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. - + the data to pass to callback function + - + - + %TRUE if the operation finished successfully. %FALSE + + a #GAsyncResult. - + @@ -10441,48 +21437,55 @@ a few file-specific operations and seeking and truncating. + flags affecting the operation + a #GMountOperation, or %NULL to avoid user interaction. + optional #GCancellable object, %NULL to ignore. - + + a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. - + the data to pass to callback function + - + - + %TRUE if the operation finished successfully. %FALSE + + a #GAsyncResult. - + - + @@ -10491,45 +21494,52 @@ a few file-specific operations and seeking and truncating. + flags affecting the operation + a #GMountOperation, or %NULL to avoid user interaction. + optional #GCancellable object, %NULL to ignore. - + + a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. - + the data to pass to callback function + - + - + %TRUE if the operation finished successfully. %FALSE + + a #GAsyncResult. - + @@ -10538,44 +21548,52 @@ a few file-specific operations and seeking and truncating. + flags affecting the operation + a #GMountOperation, or %NULL to avoid user interaction. + optional #GCancellable object, %NULL to ignore. - + + a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. - + the data to pass to callback function + - + - + %TRUE if the @file was ejected successfully. %FALSE + + a #GAsyncResult. - + @@ -10586,29 +21604,35 @@ a few file-specific operations and seeking and truncating. + optional #GCancellable object, %NULL to ignore. - + + a #GAsyncReadyCallback to call when the request is satisfied, or %NULL. - + the data to pass to callback function + - + - + %TRUE if the operation finished successfully. %FALSE + + a #GAsyncResult. @@ -10616,136 +21640,184 @@ a few file-specific operations and seeking and truncating. + Stores information about a file system object referenced by a #GFile. + Creates a new file info structure. + a #GFileInfo. - - - + + Clears the status information from @info. + + + Copies all of the #GFileAttribute<!-- -->s from @src_info to @dest_info. + destination to copy attributes to. - - - + + Duplicates a file info structure. + + a duplicate #GFileInfo of @other. + + + + + Gets the value of a attribute, formated as a string. +This escapes things as needed to make the string valid +utf8. +When you're done with the string it must be freed with g_free(). + + a UTF-8 string associated with the given @attribute. + + a file attribute key. - + + Gets the value of a boolean attribute. If the attribute does not +contain a boolean value, %FALSE will be returned. - + the boolean value contained within the attribute. + - + + a file attribute key. - - - - - + + Gets the value of a byte string attribute. If the attribute does +not contain a byte string, %NULL will be returned. +%NULL otherwise. + + the contents of the @attribute value as a byte string, or + - + + a file attribute key. + Gets the attribute type, value and status for an attribute key. +%FALSE otherwise. - + %TRUE if @info has an attribute named @attribute, + + a file attribute key - + + return location for the attribute type, or %NULL - - + + return location for the attribute value, or %NULL + - + + return location for the attribute status, or %NULL - - - + + Gets a signed 32-bit integer contained within the attribute. If the +attribute does not contain a signed 32-bit integer, or is invalid, +0 will be returned. + + a signed 32-bit integer from the attribute. + + a file attribute key. - + + Gets a signed 64-bit integer contained within the attribute. If the +attribute does not contain an signed 64-bit integer, or is invalid, +0 will be returned. - + a signed 64-bit integer from the attribute. + + a file attribute key. + + + + + + Gets the value of a #GObject attribute. If the attribute does +not contain a #GObject, %NULL will be returned. +%NULL otherwise. + + a #GObject associated with the given @attribute, or + + + + + a file attribute key. - - - - - - - - - - - - - - - - - - - - - - - - + @@ -10755,439 +21827,567 @@ a few file-specific operations and seeking and truncating. + Gets the value of a string attribute. If the attribute does +not contain a string, %NULL will be returned. +%NULL otherwise. + the contents of the @attribute value as a string, or - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + a file attribute key. - + c:identifier="g_file_info_get_attribute_stringv" + version="2.22"> + Gets the value of a stringv attribute. If the attribute does +not contain a stringv, %NULL will be returned. +%NULL otherwise. Do not free. + + the contents of the @attribute value as a stringv, or + a file attribute key. - + + Gets the attribute type for an attribute key. +%G_FILE_ATTRIBUTE_TYPE_INVALID if the key is not set. - + a #GFileAttributeType for the given @attribute, or + + a file attribute key. - - - - - - - + + Gets an unsigned 32-bit integer contained within the attribute. If the +attribute does not contain an unsigned 32-bit integer, or is invalid, +0 will be returned. - + an unsigned 32-bit integer from the attribute. + - - - + a file attribute key. - + + Gets a unsigned 64-bit integer contained within the attribute. If the +attribute does not contain an unsigned 64-bit integer, or is invalid, +0 will be returned. - + a unsigned 64-bit integer from the attribute. + - - - + a file attribute key. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + Gets the file's content type. + a string containing the file's content type. + Gets a display name for a file. + a string containing the display name. + Gets the edit name for a file. + a string containing the edit name. + + Gets the <link linkend="gfile-etag">entity tag</link> for a given +#GFileInfo. See %G_FILE_ATTRIBUTE_ETAG_VALUE. + + a string containing the value of the "etag:value" attribute. + + + + + Gets a file's type (whether it is a regular file, symlink, etc). +This is different from the file's content type, see g_file_info_get_content_type(). + + a #GFileType for the given file. + + + + Gets the icon for a file. + #GIcon for the given @info. - + + Checks if a file is a backup file. - + %TRUE if file is a backup file, %FALSE otherwise. + - - - + + Checks if a file is hidden. + + %TRUE if the file is a hidden file, %FALSE otherwise. + + + + + Checks if a file is a symlink. + + %TRUE if the given @info is a symlink. + + Gets the modification time of the current @info and sets it +in @result. + a #GTimeVal. - + + Gets the name for a file. + a string containing the file name. - + + Gets the file's size. - + a #goffset containing the file's size. + + Gets the value of the sort_order attribute from the #GFileInfo. +See %G_FILE_ATTRIBUTE_STANDARD_SORT_ORDER. - + a #gint32 containing the value of the "standard::sort_order" attribute. + + + Gets the symlink target for a given #GFileInfo. + + a string containing the symlink target. + + + + + Checks if a file info structure has an attribute named @attribute. +%FALSE otherwise. + + %TRUE if @Ginfo has an attribute named @attribute, + + + + + a file attribute key. + + + + + + Checks if a file info structure has an attribute in the +specified @name_space. +%FALSE otherwise. + + %TRUE if @Ginfo has an attribute in @name_space, + + + + + a file attribute namespace. + + + + + + Lists the file info structure's attributes. +possible attribute types for the given @name_space, or +%NULL on error. + + a null-terminated array of strings of all of the + + + + + + + a file attribute key's namespace. + + + + + + Removes all cases of @attribute from @info if it exists. + + + + + + a file attribute key. + + + + + + Sets the @attribute to contain the given value, if possible. + + + + + + a file attribute key. + + + + a #GFileAttributeType + + + + pointer to the value + + + + + + Sets the @attribute to contain the given @attr_value, +if possible. + + + + + + a file attribute key. + + + + a boolean value. + + + + + + Sets the @attribute to contain the given @attr_value, +if possible. + + + + + + a file attribute key. + + + + a byte string. + + + + + + Sets the @attribute to contain the given @attr_value, +if possible. + + + + + + a file attribute key. + + + + a signed 32-bit integer + + + + + + Sets the @attribute to contain the given @attr_value, +if possible. + + + + + + attribute name to set. + + + + int64 value to set attribute to. + + + + + Sets @mask on @info to match specific attribute types. + a #GFileAttributeMatcher. - - - - - - + + Sets the @attribute to contain the given @attr_value, +if possible. - - + + a file attribute key. + + + + a #GObject. + - + + Sets the attribute status for an attribute key. This is only +needed by external code that implement g_file_set_attributes_from_info() +or similar functions. +The attribute must exist in @info for this to work. Otherwise %FALSE +is returned and @info is unchanged. - + %TRUE if the status was changed, %FALSE if the key was not set. + - - + + a file attribute key + + + + a #GFileAttributeStatus + - + + Sets the @attribute to contain the given @attr_value, +if possible. - - + + a file attribute key. + + + + a string. + - + + Sets the @attribute to contain the given @attr_value, +if possible. - + + a file attribute key. + + + + a %NULL terminated string array + + + + + + Sets the @attribute to contain the given @attr_value, +if possible. + + + + + + a file attribute key. + + + + an unsigned 32-bit integer. + + + + + + Sets the @attribute to contain the given @attr_value, +if possible. + + + + + + a file attribute key. + + + + an unsigned 64-bit integer. + + + + + + Sets the content type attribute for a given #GFileInfo. +See %G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE. + + + + + + a content type. See #GContentType. + Sets the display name for the current #GFileInfo. +See %G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME. + a string containing a display name. + Sets the edit name for the current file. +See %G_FILE_ATTRIBUTE_STANDARD_EDIT_NAME. + a string containing an edit name. + + Sets the file type in a #GFileInfo to @type. +See %G_FILE_ATTRIBUTE_STANDARD_TYPE. + + + + + + a #GFileType. + + + + + Sets the icon for a given #GFileInfo. +See %G_FILE_ATTRIBUTE_STANDARD_ICON. + a #GIcon. - + + Sets the "is_hidden" attribute in a #GFileInfo according to @is_symlink. +See %G_FILE_ATTRIBUTE_STANDARD_IS_HIDDEN. - - + + a #gboolean. + - + + Sets the "is_symlink" attribute in a #GFileInfo according to @is_symlink. +See %G_FILE_ATTRIBUTE_STANDARD_IS_SYMLINK. - - + + a #gboolean. + @@ -11202,111 +22402,159 @@ a few file-specific operations and seeking and truncating. - + + Sets the name attribute for the current #GFileInfo. +See %G_FILE_ATTRIBUTE_STANDARD_NAME. - + + a string containing a name. + + Sets the %G_FILE_ATTRIBUTE_STANDARD_SIZE attribute in the file info +to the given size. + + + + + + a #goffset containing the file's size. + + + + + Sets the sort order attribute in the file info structure. See +%G_FILE_ATTRIBUTE_STANDARD_SORT_ORDER. - + a sort order integer. + + + Sets the %G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET attribute in the file info +to the given symlink target. + + + + + + a static string containing a path to a symlink target. + + + + + + Unsets a mask set by g_file_info_set_attribute_mask(), if one +is set. + + + + + A subclass of GInputStream for opened files. This adds +a few file-specific operations and seeking. +#GFileInputStream implements #GSeekable. - - - - - - + - - - - - - - - - - - - - - - - + Queries a file input stream the given @attributes. This function blocks +while querying the stream. For the asynchronous (non-blocking) version +of this function, see g_file_input_stream_query_info_async(). While the +stream is blocked, the stream will set the pending flag internally, and +any other operations on the stream will fail with %G_IO_ERROR_PENDING. + a #GFileInfo, or %NULL on error. + a file attribute query string. + optional #GCancellable object, %NULL to ignore. + Queries the stream information asynchronously. +When the operation is finished @callback will be called. +You can then call g_file_input_stream_query_info_finish() +to get the result of the operation. +For the synchronous version of this function, +see g_file_input_stream_query_info(). +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be set + a file attribute query string. - + the <link linkend="io-priority">I/O priority</link> of the request. + + optional #GCancellable object, %NULL to ignore. - + + callback to call when the request is satisfied - - + + the data to pass to callback function + - + + Finishes an asynchronous info query operation. + #GFileInfo. @@ -11315,59 +22563,105 @@ a few file-specific operations and seeking. + + + + + + + + + + + + + + + + + + + + + + Queries a file input stream the given @attributes. This function blocks +while querying the stream. For the asynchronous (non-blocking) version +of this function, see g_file_input_stream_query_info_async(). While the +stream is blocked, the stream will set the pending flag internally, and +any other operations on the stream will fail with %G_IO_ERROR_PENDING. + a #GFileInfo, or %NULL on error. + a file attribute query string. + optional #GCancellable object, %NULL to ignore. + Queries the stream information asynchronously. +When the operation is finished @callback will be called. +You can then call g_file_input_stream_query_info_finish() +to get the result of the operation. +For the synchronous version of this function, +see g_file_input_stream_query_info(). +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be set + a file attribute query string. - + the <link linkend="io-priority">I/O priority</link> of the request. + + optional #GCancellable object, %NULL to ignore. + closure="4"> + callback to call when the request is satisfied - + the data to pass to callback function + + Finishes an asynchronous info query operation. + #GFileInfo. + a #GAsyncResult. @@ -11386,9 +22680,9 @@ a few file-specific operations and seeking. - - - + + + @@ -11398,9 +22692,9 @@ a few file-specific operations and seeking. - + - + @@ -11410,31 +22704,30 @@ a few file-specific operations and seeking. - + - + - + - + - + + a #GFileInfo, or %NULL on error. @@ -11442,18 +22735,20 @@ a few file-specific operations and seeking. + a file attribute query string. + optional #GCancellable object, %NULL to ignore. - + @@ -11462,30 +22757,37 @@ a few file-specific operations and seeking. + a file attribute query string. - + the <link linkend="io-priority">I/O priority</link> of the request. + + optional #GCancellable object, %NULL to ignore. - + + callback to call when the request is satisfied - + the data to pass to callback function + - + + #GFileInfo. @@ -11498,99 +22800,120 @@ a few file-specific operations and seeking. - - + + - - + + - - + + - - + + - - + + - + + Watches for changes to a file. + Cancels a file monitor. - + %TRUE if monitor was cancelled. + + Cancels a file monitor. - + %TRUE if monitor was cancelled. + - - - - - - - - - - - - - - - + Emits the #GFileMonitor::changed signal if a change +has taken place. Should be called from file monitor +implementations only. +The signal will be emitted from an idle handler (in the <link +linkend="g-main-context-push-thread-default">thread-default main +context</link>). + a #GFile. + a #GFile. + a set of #GFileMonitorEvent flags. - - + + Returns whether the monitor is canceled. + + %TRUE if monitor is canceled. %FALSE otherwise. + + + + + Sets the rate limit to which the @monitor will report +consecutive change events to the same file. + + + + + + a integer with the limit in milliseconds to poll for changes. + + + + + + - - + + @@ -11599,18 +22922,22 @@ a few file-specific operations and seeking. - - + Emitted when a file has been changed. + + - + a #GFile. + - + a #GFile. + - + a #GFileMonitorEvent. + @@ -11622,7 +22949,7 @@ a few file-specific operations and seeking. - + @@ -11643,9 +22970,10 @@ a few file-specific operations and seeking. - + - + %TRUE if monitor was cancelled. + @@ -11654,36 +22982,36 @@ a few file-specific operations and seeking. - - + + - - + + - - + + - - + + - - + + @@ -11691,10 +23019,10 @@ a few file-specific operations and seeking. + Specifies what type of event a monitor event is. + Flags used to set what a #GFileMonitor will watch for. - + + A subclass of GOutputStream for opened files. This adds +a few file-specific operations and seeking and truncating. +#GFileOutputStream implements GSeekable. - - - - - - + - - - - - - - - - - - - - - - - - + - - - + + Gets the entity tag for the file when it has been written. +This must be called after the stream has been written +and closed, as the etag can change while writing. + + the entity tag for the stream. + - - - - - - - - + Queries a file output stream for the given @attributes. +This function blocks while querying the stream. For the asynchronous +version of this function, see g_file_output_stream_query_info_async(). +While the stream is blocked, the stream will set the pending flag +internally, and any other operations on the stream will fail with +%G_IO_ERROR_PENDING. +Can fail if the stream was already closed (with @error being set to +%G_IO_ERROR_CLOSED), the stream has pending operations (with @error being +set to %G_IO_ERROR_PENDING), or if querying info is not supported for +the stream's interface (with @error being set to %G_IO_ERROR_NOT_SUPPORTED). In +all cases of failure, %NULL will be returned. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be set, and %NULL will +be returned. + a #GFileInfo for the @stream, or %NULL on error. + a file attribute query string. + optional #GCancellable object, %NULL to ignore. + Asynchronously queries the @stream for a #GFileInfo. When completed, +finish the operation with g_file_output_stream_query_info_finish(). +For the synchronous version of this function, see +g_file_output_stream_query_info(). + a file attribute query string. - + the <link linkend="gio-GIOScheduler">I/O priority</link> of the request. + + optional #GCancellable object, %NULL to ignore. - + + callback to call when the request is satisfied - - + + the data to pass to callback function + - + + Finalizes the asynchronous query started +by g_file_output_stream_query_info_async(). + A #GFileInfo for the finished query. @@ -11858,73 +23192,137 @@ a few file-specific operations and seeking and truncating. - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gets the entity tag for the file when it has been written. +This must be called after the stream has been written +and closed, as the etag can change while writing. + + the entity tag for the stream. + + + + Queries a file output stream for the given @attributes. +This function blocks while querying the stream. For the asynchronous +version of this function, see g_file_output_stream_query_info_async(). +While the stream is blocked, the stream will set the pending flag +internally, and any other operations on the stream will fail with +%G_IO_ERROR_PENDING. +Can fail if the stream was already closed (with @error being set to +%G_IO_ERROR_CLOSED), the stream has pending operations (with @error being +set to %G_IO_ERROR_PENDING), or if querying info is not supported for +the stream's interface (with @error being set to %G_IO_ERROR_NOT_SUPPORTED). In +all cases of failure, %NULL will be returned. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be set, and %NULL will +be returned. + a #GFileInfo for the @stream, or %NULL on error. + a file attribute query string. + optional #GCancellable object, %NULL to ignore. + Asynchronously queries the @stream for a #GFileInfo. When completed, +finish the operation with g_file_output_stream_query_info_finish(). +For the synchronous version of this function, see +g_file_output_stream_query_info(). + a file attribute query string. - + the <link linkend="gio-GIOScheduler">I/O priority</link> of the request. + + optional #GCancellable object, %NULL to ignore. + closure="4"> + callback to call when the request is satisfied - + the data to pass to callback function + + Finalizes the asynchronous query started +by g_file_output_stream_query_info_async(). + A #GFileInfo for the finished query. + a #GAsyncResult. - - - - - @@ -11940,9 +23338,9 @@ a few file-specific operations and seeking and truncating. - - - + + + @@ -11952,9 +23350,9 @@ a few file-specific operations and seeking and truncating. - + - + @@ -11964,32 +23362,30 @@ a few file-specific operations and seeking and truncating. - + - + - + - + - + - + @@ -11999,28 +23395,27 @@ a few file-specific operations and seeking and truncating. - + - + - + - + - + + a #GFileInfo for the @stream, or %NULL on error. @@ -12028,18 +23423,20 @@ a few file-specific operations and seeking and truncating. + a file attribute query string. + optional #GCancellable object, %NULL to ignore. - + @@ -12048,30 +23445,37 @@ a few file-specific operations and seeking and truncating. + a file attribute query string. - + the <link linkend="gio-GIOScheduler">I/O priority</link> of the request. + + optional #GCancellable object, %NULL to ignore. - + + callback to call when the request is satisfied - + the data to pass to callback function + - + + A #GFileInfo for the finished query. @@ -12085,8 +23489,9 @@ a few file-specific operations and seeking and truncating. - + + the entity tag for the stream. @@ -12096,69 +23501,73 @@ a few file-specific operations and seeking and truncating. - - + + - - + + - - + + - - + + - - + + - + - + When doing file operations that may take a while, such as moving a file or copying a file, a progress callback is used to pass how -far along that operation is to the application."> +far along that operation is to the application. - + the current number of bytes in the operation. + - + the total number of bytes in the operation. + - + user data passed to the callback. + + Flags used when querying a #GFileInfo. c:identifier="G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS" glib:nick="nofollow-symlinks"/> - + When loading the partial contents of a file with g_file_load_partial_contents_async(), it may become necessary to determine if any more data from the file should be loaded. A #GFileReadMoreCallback function facilitates this by returning %TRUE if more data -should be read, or %FALSE otherwise."> +should be read, or %FALSE otherwise. - + %TRUE if more data should be read back. %FALSE otherwise. + + the data as currently read. - + the size of the data currently read. + - + data passed to the callback. + + Indicates the file's on-disk type. + Completes filenames based on files that exist within the file system. + Creates a new filename completer. + a #GFilenameCompleter. + Obtains a completion for @initial_text from @completer. +This string is not owned by GIO, so remember to g_free() it +when finished. + a completed string, or %NULL if no completion exists. + text to be completed. + Gets an array of completion strings for a given initial text. +This array must be freed by g_strfreev() when finished. + array of strings with possible completions for @initial_text. + text to be completed. + If @dirs_only is %TRUE, @completer will only +complete directory names, and not file names. - + a #gboolean. + - - + Emitted when the file name completion information comes available. + + @@ -12285,7 +23711,7 @@ Indicates the file's on-disk type." - + @@ -12296,22 +23722,22 @@ Indicates the file's on-disk type." - - + + - - + + - - + + @@ -12319,12 +23745,12 @@ Indicates the file's on-disk type." + Indicates a hint from the file system whether files should be +previewed in a file manager. Returned as the value of the key +#G_FILE_ATTRIBUTE_FILESYSTEM_USE_PREVIEW. + A base class for all input streams that work on an underlying stream. - + Gets the base stream for the filter stream. + + a #GInputStream. + Returns whether the base stream will be closed when @stream is +closed. - + %TRUE if the base stream will be closed. + + Sets whether the base stream will be closed when @stream is closed. - + %TRUE to close the base stream. + - - + + - - + + @@ -12387,22 +23828,22 @@ previewed in a file manager. Returned as the value of the key - - + + - - + + - - + + @@ -12410,40 +23851,55 @@ previewed in a file manager. Returned as the value of the key + A base class for all output streams that work on an underlying stream. - + Gets the base stream for the filter stream. + + a #GOutputStream. + Returns whether the base stream will be closed when @stream is +closed. - + %TRUE if the base stream will be closed. + + Sets whether the base stream will be closed when @stream is closed. - + %TRUE to close the base stream. + - - + + - - + + @@ -12458,22 +23914,22 @@ previewed in a file manager. Returned as the value of the key - - + + - - + + - - + + @@ -12481,14 +23937,11 @@ previewed in a file manager. Returned as the value of the key + Error codes returned by GIO functions. + + + + + + + + - + + Gets the name under which @extension was registered. +Note that the same type may be registered as extension +for multiple extension points, under different names. + the name of @extension. + Gets the priority with which @extension was registered. - + the priority of @extension + - + + Gets a reference to the class for the type that is +associated with @extension. + the #GTypeClass for the type of @extension - + + + Finds a #GIOExtension for an extension point by name. +given name, or %NULL if there is no extension with that name + + the #GIOExtension for @extension_point that has the + + + + + the name of the extension to get + + + + + + Gets a list of all extensions that implement this extension point. +The list is sorted by priority, beginning with the highest priority. +#GIOExtension<!-- -->s. The list is owned by GIO and should not be +modified. + + a #GList of + + + + + + + Gets the required type for @extension_point. +or #G_TYPE_INVALID if the extension point has no required type + + the #GType that all implementations must have, + + + + Sets the required type for @extension_point to @type. +All implementations must henceforth have this type. + the #GType to require - - - - - - - - - - - - - - - - - - - - + Opaque module base class for extending GIO. + Creates a new GIOModule that will load the specific +shared library when in use. +or %NULL on error. + a #GIOModule from given @filename, + filename of the shared library module. + Optional API for GIO modules to implement. Should return a list of all the extension points that may be implemented in this module. This method will not be called in normal use, however it may be called when probing existing modules and recording which extension -points that this modle is used for. This means we won't have to +points that this modle is used for. This means we won't have to load and initialze this module unless its needed. If this function is not implemented by the module the module will always be loaded, initialized and then unloaded on application startup @@ -12725,28 +24246,26 @@ When installing a module that implements g_io_module_query you must run gio-querymodules in order to build the cache files required for lazy loading. extension points of the module. The array must be suitable for -freeing with g_strfreev()." - version="2.24"> - +freeing with g_strfreev(). + + A %NULL-terminated array of strings, listing the supported - + Required API for GIO modules to implement. This function is ran after the module has been loaded into GIO, -to initialize the module."> +to initialize the module. - + Required API for GIO modules to implement. This function is ran when the module is being unloaded from GIO, -to finalize the module."> +to finalize the module. @@ -12754,34 +24273,48 @@ to finalize the module."> - + + Opaque class for definining and scheduling IO jobs. + Used from an I/O job to send a callback to be run in the thread +that the job was started from, waiting for the result (and thus +blocking the I/O job). - + The return value of @func + + closure="1" + destroy="2"> + a #GSourceFunc callback that will be called in the original thread - + data to pass to @func + - + + a #GDestroyNotify for @user_data, or %NULL + Used from an I/O job to send a callback to be run asynchronously in +the thread that the job was started from. The callback will be run +when the main loop is available, but at that time the I/O job might +have finished. The return value from the callback is ignored. +Note that if you are passing the @user_data from g_io_scheduler_push_job() +on to this function you have to ensure that it is not freed before +g_io_scheduler_push_job() or by using refcounting for @user_data. @@ -12789,193 +24322,306 @@ to finalize the module."> + closure="1" + destroy="2"> + a #GSourceFunc callback that will be called in the original thread - + data to pass to @func + - + + a #GDestroyNotify for @user_data, or %NULL - + I/O Job function. Note that depending on whether threads are available, the #GIOScheduler may run jobs in separate threads or in an idle in the mainloop. Long-running jobs should periodically check the @cancellable to see if they have been cancelled. -complete the job, %FALSE if the job is complete (or cancelled)"> +complete the job, %FALSE if the job is complete (or cancelled) - + %TRUE if this function should be called again to + + a #GIOSchedulerJob. + optional #GCancellable object, %NULL to ignore. - + the data to pass to callback function + - - - - - - - - - - - - - - - - - - - - - + Base class for read-write streams. + + Requests an asynchronous close of the stream, releasing resources +related to it. When the operation is finished @callback will be +called. You can then call g_io_stream_close_finish() to get +the result of the operation. +For behaviour details see g_io_stream_close(). +The asynchronous methods have a default fallback that uses threads +to implement asynchronicity, so they are optional for inheriting +classes. However, if you override one you must override all. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + the io priority of the request + + optional cancellable object + closure="3"> + callback to call when the request is satisfied + + + + the data to pass to callback function + + + + + + Closes a stream. + + %TRUE if stream was successfully closed, %FALSE otherwise. + + + + + a #GAsyncResult + + + + + + + + + + + + + + + + Gets the input stream for this object. This is used +for reading. +Do not free. + + a #GInputStream, owned by the #GIOStream. + + + + + Gets the output stream for this object. This is used for +writing. +Do not free. + + a #GOutputStream, owned by the #GIOStream. + + + + + Clears the pending flag on @stream. + + + + + + Closes the stream, releasing resources related to it. This will also +closes the individual input and output streams, if they are not already +closed. +Once the stream is closed, all other operations will return +%G_IO_ERROR_CLOSED. Closing a stream multiple times will not +return an error. +Closing a stream will automatically flush any outstanding buffers +in the stream. +Streams will be automatically closed when the last reference +is dropped, but you might want to call this function to make sure +resources are released as early as possible. +Some streams might keep the backing store of the stream (e.g. a file +descriptor) open after the stream is closed. See the documentation for +the individual stream for details. +On failure the first error that happened will be reported, but the +close operation will finish as much as possible. A stream that failed +to close will still return %G_IO_ERROR_CLOSED for all operations. +Still, it is important to check and report the error to the user, +otherwise there might be a loss of data as all data might not be written. +If @cancellable is not NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +Cancelling a close will still leave the stream closed, but some streams +can use a faster close that doesn't block to e.g. check errors. +The default implementation of this method just calls close on the +individual input/output streams. + + %TRUE on success, %FALSE on failure + + + + + optional #GCancellable object, %NULL to ignore + + + + + + Requests an asynchronous close of the stream, releasing resources +related to it. When the operation is finished @callback will be +called. You can then call g_io_stream_close_finish() to get +the result of the operation. +For behaviour details see g_io_stream_close(). +The asynchronous methods have a default fallback that uses threads +to implement asynchronicity, so they are optional for inheriting +classes. However, if you override one you must override all. + + + + + + the io priority of the request + + + + optional cancellable object + + + + callback to call when the request is satisfied - + the data to pass to callback function + + Closes a stream. - + %TRUE if stream was successfully closed, %FALSE otherwise. + + a #GAsyncResult - + + Gets the input stream for this object. This is used +for reading. +Do not free. - + a #GInputStream, owned by the #GIOStream. + - + + Gets the output stream for this object. This is used for +writing. +Do not free. - + a #GOutputStream, owned by the #GIOStream. + + + + + Checks if a stream has pending actions. + + %TRUE if @stream has pending actions. + + + + + Checks if a stream is closed. + + %TRUE if the stream is closed. + + Sets @stream to have actions pending. If the pending flag is +already set or @stream is closed, it will return %FALSE and set - + %TRUE if pending was previously unset and is now set. + - - - - - - - + + - - + + - - + + @@ -12991,8 +24637,9 @@ complete the job, %FALSE if the job is complete (or cancelled)"> - - + + + a #GInputStream, owned by the #GIOStream. @@ -13003,8 +24650,9 @@ complete the job, %FALSE if the job is complete (or cancelled)"> - - + + + a #GOutputStream, owned by the #GIOStream. @@ -13015,24 +24663,22 @@ complete the job, %FALSE if the job is complete (or cancelled)"> - + - + - + - + @@ -13041,179 +24687,233 @@ complete the job, %FALSE if the job is complete (or cancelled)"> - + the io priority of the request + + optional cancellable object - + + callback to call when the request is satisfied - + the data to pass to callback function + - + - + %TRUE if stream was successfully closed, %FALSE otherwise. + + a #GAsyncResult - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - + - - - - - + An abstract type that specifies an icon. + Checks if two icons are equal. - + %TRUE if @icon1 is equal to @icon2. %FALSE otherwise. + + pointer to the second #GIcon. - + - + + + + + Generates a textual representation of @icon that can be used for +serialization such as when passing @icon to a different process or +saving it to persistent storage. Use g_icon_new_for_string() to +get @icon back from the returned string. +The encoding of the returned string is proprietary to #GIcon except +in the following two cases +<itemizedlist> +<listitem><para> +If @icon is a #GFileIcon, the returned string is a native path +(such as <literal>/path/to/my icon.png</literal>) without escaping +if the #GFile for @icon is a native file. If the file is not +native, the returned string is the result of g_file_get_uri() +(such as <literal>sftp://path/to/my%%20icon.png</literal>). +</para></listitem> +<listitem><para> +If @icon is a #GThemedIcon with exactly one name, the encoding is +simply the name (such as <literal>network-server</literal>). +</para></listitem> +</itemizedlist> +be serialized. Use g_free() to free. + + An allocated NUL-terminated UTF8 string or %NULL if @icon can't + - + + + - - + + + Checks if two icons are equal. - + %TRUE if @icon1 is equal to @icon2. %FALSE otherwise. + + pointer to the second #GIcon. - + + Generates a textual representation of @icon that can be used for +serialization such as when passing @icon to a different process or +saving it to persistent storage. Use g_icon_new_for_string() to +get @icon back from the returned string. +The encoding of the returned string is proprietary to #GIcon except +in the following two cases +<itemizedlist> +<listitem><para> +If @icon is a #GFileIcon, the returned string is a native path +(such as <literal>/path/to/my icon.png</literal>) without escaping +if the #GFile for @icon is a native file. If the file is not +native, the returned string is the result of g_file_get_uri() +(such as <literal>sftp://path/to/my%%20icon.png</literal>). +</para></listitem> +<listitem><para> +If @icon is a #GThemedIcon with exactly one name, the encoding is +simply the name (such as <literal>network-server</literal>). +</para></listitem> +</itemizedlist> +be serialized. Use g_free() to free. + An allocated NUL-terminated UTF8 string or %NULL if @icon can't + GIconIface is used to implement GIcon types for various different systems. See #GThemedIcon and #GLoadableIcon for -examples of how to implement this interface."> +examples of how to implement this interface. - + - + @@ -13223,244 +24923,359 @@ examples of how to implement this interface."> - + - + %TRUE if @icon1 is equal to @icon2. %FALSE otherwise. + + pointer to the second #GIcon. - + - + An allocated NUL-terminated UTF8 string or %NULL if @icon can't + - + + + - - + + - - - + + + - - - + - + - + - + An IPv4 or IPv6 internet address. + + Creates a #GInetAddress for the "any" address (unassigned/"don't +care") for @family. +for @family. + a new #GInetAddress corresponding to the "any" address - - + + the address family + + c:identifier="g_inet_address_new_from_bytes" + version="2.22"> + Creates a new #GInetAddress from the given @family and @bytes. +%G_INET_ADDRESS_IPV6. + a new #GInetAddress corresponding to @family and @bytes. - - - + raw address data + + the address family of @bytes + + Parses @string as an IP address and creates a new #GInetAddress. + + a new #GInetAddress corresponding to @string, or %NULL if + + + + + a string representation of an IP address + + + + + c:identifier="g_inet_address_new_loopback" + version="2.22"> + Creates a #GInetAddress for the loopback address for @family. +for @family. + a new #GInetAddress corresponding to the loopback address + the address family - - - + + Gets the raw binary address data from @address. +which should not be modified, stored, or freed. The size of this +array can be gotten with g_inet_address_get_native_size(). + + a pointer to an internal array of the bytes in @address, + - - - - - - - + + + Converts @address to string form. +freed after use. + a representation of @address as a string, which should be - + + Gets @address's family - - - - - - - - - - - - - - - - - - - - - - - - + @address's family - + + Tests whether @address is the "any" address for its family. - - - - - - + %TRUE if @address is the "any" address for its family. + + c:identifier="g_inet_address_get_is_link_local" + version="2.22"> + Tests whether @address is a link-local address (that is, if it +identifies a host on a local network that is not connected to the +Internet). - + %TRUE if @address is a link-local address. + - + + Tests whether @address is the loopback address for its family. - - - - - - + %TRUE if @address is the loopback address for its family. + + c:identifier="g_inet_address_get_is_mc_global" + version="2.22"> + Tests whether @address is a global multicast address. - + %TRUE if @address is a global multicast address. + + c:identifier="g_inet_address_get_is_mc_link_local" + version="2.22"> + Tests whether @address is a link-local multicast address. - + %TRUE if @address is a link-local multicast address. + + c:identifier="g_inet_address_get_is_mc_node_local" + version="2.22"> + Tests whether @address is a node-local multicast address. - + %TRUE if @address is a node-local multicast address. + + c:identifier="g_inet_address_get_is_mc_org_local" + version="2.22"> + Tests whether @address is an organization-local multicast address. - + %TRUE if @address is an organization-local multicast address. + + c:identifier="g_inet_address_get_is_mc_site_local" + version="2.22"> + Tests whether @address is a site-local multicast address. - + %TRUE if @address is a site-local multicast address. + - - + + Tests whether @address is a multicast address. + + %TRUE if @address is a multicast address. + + + + + Tests whether @address is a site-local address such as 10.0.0.1 +(that is, the address identifies a host on a local network that can +not be reached directly from the Internet, but which may have +outgoing Internet connectivity via a NAT or firewall). + + %TRUE if @address is a site-local address. + + + + + Gets the size of the native raw binary address for @address. This +is the size of the data that you get from g_inet_address_to_bytes(). + + the number of bytes used for the native version of @address. + + + + + Gets the raw binary address data from @address. +which should not be modified, stored, or freed. The size of this +array can be gotten with g_inet_address_get_native_size(). + + a pointer to an internal array of the bytes in @address, + + + + + Converts @address to string form. +freed after use. + + a representation of @address as a string, which should be + + + + + - - + + - - + + Whether this is the "any" address for its family. +See g_inet_address_get_is_any(). + - - + + Whether this is a link-local address. +See g_inet_address_get_is_link_local(). + - - + + Whether this is the loopback address for its family. +See g_inet_address_get_is_loopback(). + - - + + Whether this is a global multicast address. +See g_inet_address_get_is_mc_global(). + - - + + Whether this is a link-local multicast address. +See g_inet_address_get_is_mc_link_local(). + - - + + Whether this is a node-local multicast address. +See g_inet_address_get_is_mc_node_local(). + - - + + Whether this is an organization-local multicast address. +See g_inet_address_get_is_mc_org_local(). + - - + + Whether this is a site-local multicast address. +See g_inet_address_get_is_mc_site_local(). + - - + + Whether this is a multicast address. +See g_inet_address_get_is_multicast(). + - - + + Whether this is a site-local address. +See g_inet_address_get_is_loopback(). + @@ -13476,8 +25291,9 @@ examples of how to implement this interface."> - + + a representation of @address as a string, which should be @@ -13488,11 +25304,10 @@ examples of how to implement this interface."> - + - - - + a pointer to an internal array of the bytes in @address, + @@ -13502,44 +25317,69 @@ examples of how to implement this interface."> - + + An IPv4 or IPv6 socket address, corresponding to a <type>struct +sockaddr_in</type> or <type>struct sockaddr_in6</type>. - + + Creates a new #GInetSocketAddress for @address and @port. - + a new #GInetSocketAddress + + a #GInetAddress - + a port number + + c:identifier="g_inet_socket_address_get_address" + version="2.22"> + Gets @address's #GInetAddress. +g_object_ref()'d if it will be stored + the #GInetAddress for @address, which must be - + + Gets @address's port. - + the port for @address + - - + + - - + + @@ -13556,35 +25396,79 @@ examples of how to implement this interface."> - + - + Interface for initializable objects. + + Initializes the object implementing the interface. This must be +done before any real use of the object after initial construction. +Implementations may also support cancellation. If @cancellable is not %NULL, +then initialization can be cancelled by triggering the cancellable object +from another thread. If the operation was cancelled, the error +%G_IO_ERROR_CANCELLED will be returned. If @cancellable is not %NULL and +the object doesn't support cancellable initialization the error +%G_IO_ERROR_NOT_SUPPORTED will be returned. +If this function is not called, or returns with an error then all +operations on the object should fail, generally returning the +error %G_IO_ERROR_NOT_INITIALIZED. +Implementations of this method must be idempotent, i.e. multiple calls +to this function with the same argument should return the same results. +Only the first call initializes the object, further calls return the result +of the first call. This is so that its safe to implement the singleton +pattern in the GObject constructor function. +return %FALSE and set @error appropriately if present. - + %TRUE if successful. If an error has occurred, this function will + + optional #GCancellable object, %NULL to ignore. - + + Initializes the object implementing the interface. This must be +done before any real use of the object after initial construction. +Implementations may also support cancellation. If @cancellable is not %NULL, +then initialization can be cancelled by triggering the cancellable object +from another thread. If the operation was cancelled, the error +%G_IO_ERROR_CANCELLED will be returned. If @cancellable is not %NULL and +the object doesn't support cancellable initialization the error +%G_IO_ERROR_NOT_SUPPORTED will be returned. +If this function is not called, or returns with an error then all +operations on the object should fail, generally returning the +error %G_IO_ERROR_NOT_INITIALIZED. +Implementations of this method must be idempotent, i.e. multiple calls +to this function with the same argument should return the same results. +Only the first call initializes the object, further calls return the result +of the first call. This is so that its safe to implement the singleton +pattern in the GObject constructor function. +return %FALSE and set @error appropriately if present. - + %TRUE if successful. If an error has occurred, this function will + + optional #GCancellable object, %NULL to ignore. @@ -13593,16 +25477,17 @@ examples of how to implement this interface."> + Provides an interface for initializing object such that initialization +may fail. - + - + %TRUE if successful. If an error has occurred, this function will + @@ -13611,6 +25496,7 @@ may fail." + optional #GCancellable object, %NULL to ignore. @@ -13618,173 +25504,382 @@ may fail." - + Base class for streaming input operations. + + Requests an asynchronous closes of the stream, releasing resources related to it. +When the operation is finished @callback will be called. +You can then call g_input_stream_close_finish() to get the result of the +operation. +For behaviour details see g_input_stream_close(). +The asyncronous methods have a default fallback that uses threads to implement +asynchronicity, so they are optional for inheriting classes. However, if you +override one you must override all. - + - - - - - + + the <link linkend="io-priority">I/O priority</link> of the request. + + optional cancellable object + + callback to call when the request is satisfied + + + + the data to pass to callback function + + - + + Finishes closing a stream asynchronously, started from g_input_stream_close_async(). - + %TRUE if the stream was closed successfully. + - - - - - + + a #GAsyncResult. + - + - + + Request an asynchronous read of @count bytes from the stream into the buffer +starting at @buffer. When the operation is finished @callback will be called. +You can then call g_input_stream_read_finish() to get the result of the +operation. +During an async request no other sync and async calls are allowed on @stream, and will +result in %G_IO_ERROR_PENDING errors. +A value of @count larger than %G_MAXSSIZE will cause a %G_IO_ERROR_INVALID_ARGUMENT error. +On success, the number of bytes read into the buffer will be passed to the +callback. It is not an error if this is not the same as the requested size, as it +can happen e.g. near the end of a file, but generally we try to read +as many bytes as requested. Zero is returned on end of file +(or if @count is zero), but never otherwise. +Any outstanding i/o request with higher priority (lower numerical value) will +be executed before an outstanding request with lower priority. Default +priority is %G_PRIORITY_DEFAULT. +The asyncronous methods have a default fallback that uses threads to implement +asynchronicity, so they are optional for inheriting classes. However, if you +override one you must override all. - + a buffer to read data into (which should be at least count bytes long). + - + the number of bytes that will be read from the stream + - + the <link linkend="io-priority">I/O priority</link> of the request. + + optional #GCancellable object, %NULL to ignore. - + + callback to call when the request is satisfied - - + + the data to pass to callback function + + Finishes an asynchronous stream read operation. - + number of bytes read in, or -1 on error. + + a #GAsyncResult. + + + + + + + + + + + + + + + + + + Tries to skip @count bytes from the stream. Will block during the operation. +This is identical to g_input_stream_read(), from a behaviour standpoint, +but the bytes that are skipped are not returned to the user. Some +streams have an implementation that is more efficient than reading the data. +This function is optional for inherited classes, as the default implementation +emulates it using read. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If an +operation was partially finished when the operation was cancelled the +partial result will be returned, without an error. + + Number of bytes skipped, or -1 on error + + + + + the number of bytes that will be skipped from the stream + + + + optional #GCancellable object, %NULL to ignore. + + + + + Request an asynchronous skip of @count bytes from the stream. +When the operation is finished @callback will be called. +You can then call g_input_stream_skip_finish() to get the result +of the operation. +During an async request no other sync and async calls are allowed, +and will result in %G_IO_ERROR_PENDING errors. +A value of @count larger than %G_MAXSSIZE will cause a %G_IO_ERROR_INVALID_ARGUMENT error. +On success, the number of bytes skipped will be passed to the callback. +It is not an error if this is not the same as the requested size, as it +can happen e.g. near the end of a file, but generally we try to skip +as many bytes as requested. Zero is returned on end of file +(or if @count is zero), but never otherwise. +Any outstanding i/o request with higher priority (lower numerical value) +will be executed before an outstanding request with lower priority. +Default priority is %G_PRIORITY_DEFAULT. +The asynchronous methods have a default fallback that uses threads to +implement asynchronicity, so they are optional for inheriting classes. +However, if you override one, you must override all. - + the number of bytes that will be skipped from the stream + - + the <link linkend="io-priority">I/O priority</link> of the request. + + optional #GCancellable object, %NULL to ignore. - + + callback to call when the request is satisfied - - + + the data to pass to callback function + + Finishes a stream skip operation. - + the size of the bytes skipped, or %-1 on error. + + a #GAsyncResult. - + + Clears the pending flag on @stream. + + + + + + Closes the stream, releasing resources related to it. +Once the stream is closed, all other operations will return %G_IO_ERROR_CLOSED. +Closing a stream multiple times will not return an error. +Streams will be automatically closed when the last reference +is dropped, but you might want to call this function to make sure +resources are released as early as possible. +Some streams might keep the backing store of the stream (e.g. a file descriptor) +open after the stream is closed. See the documentation for the individual +stream for details. +On failure the first error that happened will be reported, but the close +operation will finish as much as possible. A stream that failed to +close will still return %G_IO_ERROR_CLOSED for all operations. Still, it +is important to check and report the error to the user. +If @cancellable is not NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +Cancelling a close will still leave the stream closed, but some streams +can use a faster close that doesn't block to e.g. check errors. + + %TRUE on success, %FALSE on failure + + + + + optional #GCancellable object, %NULL to ignore. + + + + + + Requests an asynchronous closes of the stream, releasing resources related to it. +When the operation is finished @callback will be called. +You can then call g_input_stream_close_finish() to get the result of the +operation. +For behaviour details see g_input_stream_close(). +The asyncronous methods have a default fallback that uses threads to implement +asynchronicity, so they are optional for inheriting classes. However, if you +override one you must override all. - + the <link linkend="io-priority">I/O priority</link> of the request. + + optional cancellable object - + + callback to call when the request is satisfied - - + + the data to pass to callback function + - - + + + Finishes closing a stream asynchronously, started from g_input_stream_close_async(). - + %TRUE if the stream was closed successfully. + + a #GAsyncResult. - - + + + Checks if an input stream has pending actions. - + %TRUE if @stream has pending actions. + + + + + Checks if an input stream is closed. + + %TRUE if the stream is closed. + + + + + Tries to read @count bytes from the stream into the buffer starting at +If count is zero returns zero and does nothing. A value of @count +larger than %G_MAXSSIZE will cause a %G_IO_ERROR_INVALID_ARGUMENT error. +On success, the number of bytes read into the buffer is returned. +It is not an error if this is not the same as the requested size, as it +can happen e.g. near the end of a file. Zero is returned on end of file +(or if @count is zero), but never otherwise. +If @cancellable is not NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error G_IO_ERROR_CANCELLED will be returned. If an +operation was partially finished when the operation was cancelled the +partial result will be returned, without an error. +On error -1 is returned and @error is set accordingly. + + Number of bytes read, or -1 on error + - + a buffer to read data into (which should be at least count bytes long). + - + the number of bytes that will be read from the stream + + optional #GCancellable object, %NULL to ignore. @@ -13792,194 +25887,213 @@ may fail." + Tries to read @count bytes from the stream into the buffer starting at +This function is similar to g_input_stream_read(), except it tries to +read as many bytes as requested, only stopping on an error or end of stream. +On a successful read of @count bytes, or if we reached the end of the +stream, %TRUE is returned, and @bytes_read is set to the number of bytes +read into @buffer. +If there is an error during the operation %FALSE is returned and @error +is set to indicate the error status, @bytes_read is updated to contain +the number of bytes read into @buffer before the error occurred. - + %TRUE on success, %FALSE if there was an error + - + a buffer to read data into (which should be at least count bytes long). + - + the number of bytes that will be read from the stream + - - + + location to store the number of bytes that was read from the stream + - - - - - - - - - - - - - - - - - - - - - - - + optional #GCancellable object, %NULL to ignore. + Request an asynchronous read of @count bytes from the stream into the buffer +starting at @buffer. When the operation is finished @callback will be called. +You can then call g_input_stream_read_finish() to get the result of the +operation. +During an async request no other sync and async calls are allowed on @stream, and will +result in %G_IO_ERROR_PENDING errors. +A value of @count larger than %G_MAXSSIZE will cause a %G_IO_ERROR_INVALID_ARGUMENT error. +On success, the number of bytes read into the buffer will be passed to the +callback. It is not an error if this is not the same as the requested size, as it +can happen e.g. near the end of a file, but generally we try to read +as many bytes as requested. Zero is returned on end of file +(or if @count is zero), but never otherwise. +Any outstanding i/o request with higher priority (lower numerical value) will +be executed before an outstanding request with lower priority. Default +priority is %G_PRIORITY_DEFAULT. +The asyncronous methods have a default fallback that uses threads to implement +asynchronicity, so they are optional for inheriting classes. However, if you +override one you must override all. - + a buffer to read data into (which should be at least count bytes long). + - + the number of bytes that will be read from the stream + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + the <link linkend="io-priority">I/O priority</link> of the request. + + optional #GCancellable object, %NULL to ignore. + callback to call when the request is satisfied - + the data to pass to callback function + - + Finishes an asynchronous stream read operation. - + number of bytes read in, or -1 on error. + + a #GAsyncResult. - + + Sets @stream to have actions pending. If the pending flag is +already set or @stream is closed, it will return %FALSE and set - + %TRUE if pending was previously unset and is now set. + + + + + Tries to skip @count bytes from the stream. Will block during the operation. +This is identical to g_input_stream_read(), from a behaviour standpoint, +but the bytes that are skipped are not returned to the user. Some +streams have an implementation that is more efficient than reading the data. +This function is optional for inherited classes, as the default implementation +emulates it using read. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If an +operation was partially finished when the operation was cancelled the +partial result will be returned, without an error. + + Number of bytes skipped, or -1 on error + - - + + the number of bytes that will be skipped from the stream + + optional #GCancellable object, %NULL to ignore. + + + + + + Request an asynchronous skip of @count bytes from the stream. +When the operation is finished @callback will be called. +You can then call g_input_stream_skip_finish() to get the result +of the operation. +During an async request no other sync and async calls are allowed, +and will result in %G_IO_ERROR_PENDING errors. +A value of @count larger than %G_MAXSSIZE will cause a %G_IO_ERROR_INVALID_ARGUMENT error. +On success, the number of bytes skipped will be passed to the callback. +It is not an error if this is not the same as the requested size, as it +can happen e.g. near the end of a file, but generally we try to skip +as many bytes as requested. Zero is returned on end of file +(or if @count is zero), but never otherwise. +Any outstanding i/o request with higher priority (lower numerical value) +will be executed before an outstanding request with lower priority. +Default priority is %G_PRIORITY_DEFAULT. +The asynchronous methods have a default fallback that uses threads to +implement asynchronicity, so they are optional for inheriting classes. +However, if you override one, you must override all. + + + + + + the number of bytes that will be skipped from the stream + + + + the <link linkend="io-priority">I/O priority</link> of the request. + + + + optional #GCancellable object, %NULL to ignore. + callback to call when the request is satisfied - + the data to pass to callback function + - + Finishes a stream skip operation. - + the size of the bytes skipped, or %-1 on error. + + a #GAsyncResult. - - - - - - - - - - - - - - - - - - - - @@ -13994,67 +26108,66 @@ may fail." - + - + - + - + - + - + - + Number of bytes skipped, or -1 on error + - + the number of bytes that will be skipped from the stream + + optional #GCancellable object, %NULL to ignore. - + - + - + - + @@ -14063,45 +26176,56 @@ may fail." - + a buffer to read data into (which should be at least count bytes long). + - + the number of bytes that will be read from the stream + - + the <link linkend="io-priority">I/O priority</link> of the request. + + optional #GCancellable object, %NULL to ignore. - + + callback to call when the request is satisfied - + the data to pass to callback function + - + - + number of bytes read in, or -1 on error. + + a #GAsyncResult. - + @@ -14110,42 +26234,52 @@ may fail." - + the number of bytes that will be skipped from the stream + - + the <link linkend="io-priority">I/O priority</link> of the request. + + optional #GCancellable object, %NULL to ignore. - + + callback to call when the request is satisfied - + the data to pass to callback function + - + - + the size of the bytes skipped, or %-1 on error. + + a #GAsyncResult. - + @@ -14154,225 +26288,265 @@ may fail." - + the <link linkend="io-priority">I/O priority</link> of the request. + + optional cancellable object - + + callback to call when the request is satisfied - + the data to pass to callback function + - + - + %TRUE if the stream was closed successfully. + + a #GAsyncResult. - - + + - - + + - - + + - - + + - - + + - + - + Structure used for scatter/gather data input. You generally pass in an array of #GInputVector<!-- -->s and the operation will store the read data starting in the -first buffer, switching to the next as needed." - version="2.22"> +first buffer, switching to the next as needed. - + - + + Generic type for all kinds of icons that can be loaded +as a stream. + Loads a loadable icon. For the asynchronous version of this function, +see g_loadable_icon_load_async(). + a #GInputStream to read the icon from. - + an integer. + - - - + a location to store the type of the loaded icon, %NULL to ignore. + + optional #GCancellable object, %NULL to ignore. + Loads an icon asynchronously. To finish this function, see +g_loadable_icon_load_finish(). For the synchronous, blocking +version of this function, see g_loadable_icon_load(). - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + an integer. + + optional #GCancellable object, %NULL to ignore. + closure="3"> + a #GAsyncReadyCallback to call when the request is satisfied + + + + the data to pass to callback function + + + + + + Finishes an asynchronous icon load started in g_loadable_icon_load_async(). + + a #GInputStream to read the icon from. + + + + + a #GAsyncResult. + + + + a location to store the type of the loaded icon, %NULL to ignore. + + + + + + Loads a loadable icon. For the asynchronous version of this function, +see g_loadable_icon_load_async(). + + a #GInputStream to read the icon from. + + + + + an integer. + + + + a location to store the type of the loaded icon, %NULL to ignore. + + + + optional #GCancellable object, %NULL to ignore. + + + + + + Loads an icon asynchronously. To finish this function, see +g_loadable_icon_load_finish(). For the synchronous, blocking +version of this function, see g_loadable_icon_load(). + + + + + + an integer. + + + + optional #GCancellable object, %NULL to ignore. + + + + a #GAsyncReadyCallback to call when the request is satisfied - + the data to pass to callback function + + Finishes an asynchronous icon load started in g_loadable_icon_load_async(). + a #GInputStream to read the icon from. + a #GAsyncResult. - - - + a location to store the type of the loaded icon, %NULL to ignore. + + glib:is-gtype-struct-for="LoadableIcon"> + Interface for icons that can be loaded as a stream. - + + a #GInputStream to read the icon from. @@ -14380,23 +26554,24 @@ as a stream." - + an integer. + - - - + a location to store the type of the loaded icon, %NULL to ignore. + + optional #GCancellable object, %NULL to ignore. - + @@ -14405,25 +26580,33 @@ as a stream." - + an integer. + + optional #GCancellable object, %NULL to ignore. - + + a #GAsyncReadyCallback to call when the request is satisfied - + the data to pass to callback function + - + + a #GInputStream to read the icon from. @@ -14431,59 +26614,71 @@ as a stream." + a #GAsyncResult. - - - + a location to store the type of the loaded icon, %NULL to ignore. + + Implements #GInputStream for arbitrary memory chunks. + Creates a new empty #GMemoryInputStream. - + a new #GInputStream + + Creates a new #GMemoryInputStream with data in memory of a given size. - + new #GInputStream read from @data of @len bytes. + - + input data + - + length of the data, may be -1 if @data is a nul-terminated string + - + + function that is called to free @data, or %NULL + Appends @data to data that can be read from the input stream - + input data + - + length of the data, may be -1 if @data is a nul-terminated string + - + + function that is called to free @data, or %NULL @@ -14502,106 +26697,184 @@ as a stream." - - + + - - + + - - + + - - + + - - + + - + + Implements #GOutputStream for arbitrary memory chunks. - + + Creates a new #GMemoryOutputStream. +If @data is non-%NULL, the stream will use that for its internal storage. +If @realloc_fn is non-%NULL, it will be used for resizing the internal +storage when necessary. To construct a fixed-size output stream, +pass %NULL as @realloc_fn. +|[ +/&ast; a stream that can grow &ast;/ +stream = g_memory_output_stream_new (NULL, 0, realloc, free); +/&ast; another stream that can grow &ast;/ +stream2 = g_memory_output_stream_new (NULL, 0, g_realloc, g_free); +/&ast; a fixed-size stream &ast;/ +data = malloc (200); +stream3 = g_memory_output_stream_new (data, 200, NULL, free); +]| - + A newly created #GMemoryOutputStream object. + - + pointer to a chunk of memory to use, or %NULL + - + the size of @data + + a function with realloc() semantics (like g_realloc()) to be called when @data needs to be grown, or %NULL + scope="async"> + a function to be called on @data when the stream is finalized, or %NULL - - - - - - - - + + Gets any loaded data from the @ostream. +Note that the returned pointer may become invalid on the next +write or truncate operation on the stream. + + pointer to the stream's data + + c:identifier="g_memory_output_stream_get_data_size" + version="2.18"> + Returns the number of bytes from the start up +to including the last byte written in the stream +that has not been truncated away. - + the number of bytes written to the stream + - - + + Gets the size of the currently allocated data area (availible from +g_memory_output_stream_get_data()). If the stream isn't +growable (no realloc was passed to g_memory_output_stream_new()) then +this is the maximum size of the stream and further writes +will return %G_IO_ERROR_NO_SPACE. +Note that for growable streams the returned size may become invalid on +the next write or truncate operation on the stream. +If you want the number of bytes currently written to the stream, use +g_memory_output_stream_get_data_size(). + + the number of bytes allocated for the data buffer + + + + + Gets any loaded data from the @ostream. Ownership of the data +is transferred to the caller; when no longer needed it must be +freed using the free function set in @ostream's +#GMemoryOutputStream:destroy-function property. + + the stream's data + + + + + Pointer to buffer where data will be written. + - - + + Size of data written to the buffer. + - - + + Function called with the buffer as argument when the stream is destroyed. + - - + + Function with realloc semantics called to enlarge the buffer. + - - + + Current size of the data buffer. + @@ -14617,36 +26890,36 @@ as a stream." - - + + - - + + - - + + - - + + - - + + @@ -14654,625 +26927,970 @@ as a stream." + c:type="GMemoryOutputStreamPrivate" + disguised="1"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - + A handle to an object implementing the #GMountIface interface. + + Checks if @mount can be eject. + + %TRUE if the @mount can be ejected. + + Checks if @mount can be mounted. - + %TRUE if the @mount can be unmounted. + - - - - - - + + Ejects a mount. This is an asynchronous operation, and is +finished by calling g_mount_eject_finish() with the @mount +and #GAsyncResult data returned in the @callback. + flags affecting the unmount if required for eject + optional #GCancellable object, %NULL to ignore. - + + a #GAsyncReadyCallback, or %NULL. - - + + user data passed to @callback. + - + Finishes ejecting a mount. If any errors occurred during the operation, - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + %TRUE if the mount was successfully ejected. %FALSE otherwise. + + a #GAsyncResult. + invoker="eject_with_operation" + version="2.22"> + Ejects a mount. This is an asynchronous operation, and is +finished by calling g_mount_eject_with_operation_finish() with the @mount +and #GAsyncResult data returned in the @callback. + flags affecting the unmount if required for eject + a #GMountOperation or %NULL to avoid user interaction. + optional #GCancellable object, %NULL to ignore. - + + a #GAsyncReadyCallback, or %NULL. - - + + user data passed to @callback. + + Finishes ejecting a mount. If any errors occurred during the operation, - + %TRUE if the mount was successfully ejected. %FALSE otherwise. + + a #GAsyncResult. + Gets the default location of @mount. The default location of the given +the home directory, or the root of the volume). +The returned object should be unreffed with +g_object_unref() when no longer needed. + a #GFile. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + Gets the drive for the @mount. +This is a convenience method for getting the #GVolume and then +using that object to get the #GDrive. +The returned object should be unreffed with +g_object_unref() when no longer needed. + a #GDrive or %NULL if @mount is not associated with a volume or a drive. - - - - + + + Gets the icon for @mount. +The returned object should be unreffed with +g_object_unref() when no longer needed. + + a #GIcon. + - - - - + + + Gets the name of @mount. +The returned string should be freed with g_free() +when no longer needed. + + the name for the given @mount. + - - - - + + + Gets the root directory on @mount. +The returned object should be unreffed with +g_object_unref() when no longer needed. + + a #GFile. + - - - - - - - - - - - - - - - - - - + + + Gets the UUID for the @mount. The reference is typically based on +the file system UUID for the mount in question and should be +considered an opaque string. Returns %NULL if there is no UUID +available. +The returned string should be freed with g_free() +when no longer needed. + + the UUID for @mount or %NULL if no UUID can be computed. + - - - - - - - - - + + + Gets the volume for the @mount. +The returned object should be unreffed with +g_object_unref() when no longer needed. + + a #GVolume or %NULL if @mount is not associated with a volume. + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + Tries to guess the type of content stored on @mount. Returns one or +more textual identifiers of well-known content types (typically +prefixed with "x-content/"), e.g. x-content/image-dcf for camera +memory cards. See the <ulink url="http://www.freedesktop.org/wiki/Specifications/shared-mime-info-spec">shared-mime-info</ulink> +specification for more on x-content types. +This is an asynchronous operation (see +g_mount_guess_content_type_sync() for the synchronous version), and +is finished by calling g_mount_guess_content_type_finish() with the - + Whether to force a rescan of the content. Otherwise a cached result will be used if available + + optional #GCancellable object, %NULL to ignore + closure="3"> + a #GAsyncReadyCallback - - + + user data passed to @callback + - - + + + Finishes guessing content types of @mount. If any errors occured +during the operation, @error will be set to contain the errors and +%FALSE will be returned. In particular, you may get an +%G_IO_ERROR_NOT_SUPPORTED if the mount does not support content +guessing. +Caller should free this array with g_strfreev() when done with it. + a %NULL-terminated array of content types or %NULL on error. + a #GAsyncResult + + + + + + Tries to guess the type of content stored on @mount. Returns one or +more textual identifiers of well-known content types (typically +prefixed with "x-content/"), e.g. x-content/image-dcf for camera +memory cards. See the <ulink url="http://www.freedesktop.org/wiki/Specifications/shared-mime-info-spec">shared-mime-info</ulink> +specification for more on x-content types. +This is an synchronous operation and as such may block doing IO; +see g_mount_guess_content_type() for the asynchronous version. +Caller should free this array with g_strfreev() when done with it. + + a %NULL-terminated array of content types or %NULL on error. + + + + + + + Whether to force a rescan of the content. Otherwise a cached result will be used if available + + + + optional #GCancellable object, %NULL to ignore + + + + + + Remounts a mount. This is an asynchronous operation, and is +finished by calling g_mount_remount_finish() with the @mount +and #GAsyncResults data returned in the @callback. +Remounting is useful when some setting affecting the operation +of the volume has been changed, as these may need a remount to +take affect. While this is semantically equivalent with unmounting +and then remounting not all backends might need to actually be +unmounted. + + + + + + flags affecting the operation + + + + a #GMountOperation or %NULL to avoid user interaction. + + + + optional #GCancellable object, %NULL to ignore. + + + + a #GAsyncReadyCallback, or %NULL. + + + + user data passed to @callback. + + + + + + Finishes remounting a mount. If any errors occurred during the operation, + + %TRUE if the mount was successfully remounted. %FALSE otherwise. + + + + + a #GAsyncResult. + + + + + + Unmounts a mount. This is an asynchronous operation, and is +finished by calling g_mount_unmount_finish() with the @mount +and #GAsyncResult data returned in the @callback. + + + + + + flags affecting the operation + + + + optional #GCancellable object, %NULL to ignore. + + + + a #GAsyncReadyCallback, or %NULL. + + + + user data passed to @callback. + + + + + + Finishes unmounting a mount. If any errors occurred during the operation, + + %TRUE if the mount was successfully unmounted. %FALSE otherwise. + + + + + a #GAsyncResult. + + + + + + Unmounts a mount. This is an asynchronous operation, and is +finished by calling g_mount_unmount_with_operation_finish() with the @mount +and #GAsyncResult data returned in the @callback. + + + + + + flags affecting the operation + + + + a #GMountOperation or %NULL to avoid user interaction. + + + + optional #GCancellable object, %NULL to ignore. + + + + a #GAsyncReadyCallback, or %NULL. + + + + user data passed to @callback. + + + + + + Finishes unmounting a mount. If any errors occurred during the operation, + + %TRUE if the mount was successfully unmounted. %FALSE otherwise. + + + + + a #GAsyncResult. + + + + + + Checks if @mount can be eject. + + %TRUE if the @mount can be ejected. + + + + + Checks if @mount can be mounted. + + %TRUE if the @mount can be unmounted. + + + + + Ejects a mount. This is an asynchronous operation, and is +finished by calling g_mount_eject_finish() with the @mount +and #GAsyncResult data returned in the @callback. + + + + + + flags affecting the unmount if required for eject + + + + optional #GCancellable object, %NULL to ignore. + + + + a #GAsyncReadyCallback, or %NULL. + + + + user data passed to @callback. + + + + + + Finishes ejecting a mount. If any errors occurred during the operation, + + %TRUE if the mount was successfully ejected. %FALSE otherwise. + + + + + a #GAsyncResult. + + + + + + Ejects a mount. This is an asynchronous operation, and is +finished by calling g_mount_eject_with_operation_finish() with the @mount +and #GAsyncResult data returned in the @callback. + + + + + + flags affecting the unmount if required for eject + + + + a #GMountOperation or %NULL to avoid user interaction. + + + + optional #GCancellable object, %NULL to ignore. + + + + a #GAsyncReadyCallback, or %NULL. + + + + user data passed to @callback. + + + + + + Finishes ejecting a mount. If any errors occurred during the operation, + + %TRUE if the mount was successfully ejected. %FALSE otherwise. + + + + + a #GAsyncResult. + + + + + + Gets the default location of @mount. The default location of the given +the home directory, or the root of the volume). +The returned object should be unreffed with +g_object_unref() when no longer needed. + + a #GFile. + + + + + Gets the drive for the @mount. +This is a convenience method for getting the #GVolume and then +using that object to get the #GDrive. +The returned object should be unreffed with +g_object_unref() when no longer needed. + + a #GDrive or %NULL if @mount is not associated with a volume or a drive. + + + + + Gets the icon for @mount. +The returned object should be unreffed with +g_object_unref() when no longer needed. + + a #GIcon. + + + + + Gets the name of @mount. +The returned string should be freed with g_free() +when no longer needed. + + the name for the given @mount. + + + + + Gets the root directory on @mount. +The returned object should be unreffed with +g_object_unref() when no longer needed. + + a #GFile. + + + + + Gets the UUID for the @mount. The reference is typically based on +the file system UUID for the mount in question and should be +considered an opaque string. Returns %NULL if there is no UUID +available. +The returned string should be freed with g_free() +when no longer needed. + + the UUID for @mount or %NULL if no UUID can be computed. + + + + + Gets the volume for the @mount. +The returned object should be unreffed with +g_object_unref() when no longer needed. + + a #GVolume or %NULL if @mount is not associated with a volume. + + + + + Tries to guess the type of content stored on @mount. Returns one or +more textual identifiers of well-known content types (typically +prefixed with "x-content/"), e.g. x-content/image-dcf for camera +memory cards. See the <ulink url="http://www.freedesktop.org/wiki/Specifications/shared-mime-info-spec">shared-mime-info</ulink> +specification for more on x-content types. +This is an asynchronous operation (see +g_mount_guess_content_type_sync() for the synchronous version), and +is finished by calling g_mount_guess_content_type_finish() with the + + + + + + Whether to force a rescan of the content. Otherwise a cached result will be used if available + + + + optional #GCancellable object, %NULL to ignore + + + + a #GAsyncReadyCallback + + + + user data passed to @callback + + + + + + Finishes guessing content types of @mount. If any errors occured +during the operation, @error will be set to contain the errors and +%FALSE will be returned. In particular, you may get an +%G_IO_ERROR_NOT_SUPPORTED if the mount does not support content +guessing. +Caller should free this array with g_strfreev() when done with it. + + a %NULL-terminated array of content types or %NULL on error. + + + + + + + a #GAsyncResult + Tries to guess the type of content stored on @mount. Returns one or +more textual identifiers of well-known content types (typically +prefixed with "x-content/"), e.g. x-content/image-dcf for camera +memory cards. See the <ulink url="http://www.freedesktop.org/wiki/Specifications/shared-mime-info-spec">shared-mime-info</ulink> +specification for more on x-content types. +This is an synchronous operation and as such may block doing IO; +see g_mount_guess_content_type() for the asynchronous version. +Caller should free this array with g_strfreev() when done with it. + a %NULL-terminated array of content types or %NULL on error. - + Whether to force a rescan of the content. Otherwise a cached result will be used if available + + optional #GCancellable object, %NULL to ignore - + + Determines if @mount is shadowed. Applications or libraries should +avoid displaying @mount in the user interface if it is shadowed. +A mount is said to be shadowed if there exists one or more user +visible objects (currently #GMount objects) with a root that is +inside the root of @mount. +One application of shadow mounts is when exposing a single file +system that is used to address several logical volumes. In this +situation, a #GVolumeMonitor implementation would create two +#GVolume objects (for example, one for the camera functionality of +the device and one for a SD card reader on the device) with +activation URIs <literal>gphoto2://[usb:001,002]/store1/</literal> +and <literal>gphoto2://[usb:001,002]/store2/</literal>. When the +underlying mount (with root +<literal>gphoto2://[usb:001,002]/</literal>) is mounted, said +#GVolumeMonitor implementation would create two #GMount objects +(each with their root matching the corresponding volume activation +root) that would shadow the original mount. +The proxy monitor in GVfs 2.26 and later, automatically creates and +manage shadow mounts (and shadows the underlying mount) if the +activation root on a #GVolume is set. - + %TRUE if @mount is shadowed. + - - - - - - - - - - - + + Remounts a mount. This is an asynchronous operation, and is +finished by calling g_mount_remount_finish() with the @mount +and #GAsyncResults data returned in the @callback. +Remounting is useful when some setting affecting the operation +of the volume has been changed, as these may need a remount to +take affect. While this is semantically equivalent with unmounting +and then remounting not all backends might need to actually be +unmounted. - + flags affecting the operation + + a #GMountOperation or %NULL to avoid user interaction. + optional #GCancellable object, %NULL to ignore. + closure="4"> + a #GAsyncReadyCallback, or %NULL. - + user data passed to @callback. + + + + + + Finishes remounting a mount. If any errors occurred during the operation, + + %TRUE if the mount was successfully remounted. %FALSE otherwise. + + + + + a #GAsyncResult. + + + + + + Increments the shadow count on @mount. Usually used by +#GVolumeMonitor implementations when creating a shadow mount for +will need to emit the #GMount::changed signal on @mount manually. + + + + + + Unmounts a mount. This is an asynchronous operation, and is +finished by calling g_mount_unmount_finish() with the @mount +and #GAsyncResult data returned in the @callback. + + + + + + flags affecting the operation + + + + optional #GCancellable object, %NULL to ignore. + + + + a #GAsyncReadyCallback, or %NULL. + + + + user data passed to @callback. + + + + + + Finishes unmounting a mount. If any errors occurred during the operation, + + %TRUE if the mount was successfully unmounted. %FALSE otherwise. + + + + + a #GAsyncResult. + + + + + + Unmounts a mount. This is an asynchronous operation, and is +finished by calling g_mount_unmount_with_operation_finish() with the @mount +and #GAsyncResult data returned in the @callback. + + + + + + flags affecting the operation + + + + a #GMountOperation or %NULL to avoid user interaction. + + + + optional #GCancellable object, %NULL to ignore. + + + + a #GAsyncReadyCallback, or %NULL. + + + + user data passed to @callback. + + Finishes unmounting a mount. If any errors occurred during the operation, - + %TRUE if the mount was successfully unmounted. %FALSE otherwise. + + a #GAsyncResult. - + + Decrements the shadow count on @mount. Usually used by +#GVolumeMonitor implementations when destroying a shadow mount for +will need to emit the #GMount::changed signal on @mount manually. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + Emitted when the mount has been changed. + + - - - + + This signal is emitted when the #GMount is about to be +unmounted. + + - - + This signal is emitted when the #GMount have been +unmounted. If the recipient is holding references to the +object they should release them so the object can be +finalized. + + + glib:is-gtype-struct-for="Mount"> + Interface for implementing operations for mounts. - + @@ -15284,7 +27902,7 @@ Interface for implementing operations for mounts."> - + @@ -15296,8 +27914,9 @@ Interface for implementing operations for mounts."> - + + a #GFile. @@ -15308,8 +27927,9 @@ Interface for implementing operations for mounts."> - + + the name for the given @mount. @@ -15320,8 +27940,9 @@ Interface for implementing operations for mounts."> - + + a #GIcon. @@ -15332,8 +27953,9 @@ Interface for implementing operations for mounts."> - + + the UUID for @mount or %NULL if no UUID can be computed. @@ -15344,8 +27966,9 @@ Interface for implementing operations for mounts."> - + + a #GVolume or %NULL if @mount is not associated with a volume. @@ -15356,8 +27979,9 @@ Interface for implementing operations for mounts."> - + + a #GDrive or %NULL if @mount is not associated with a volume or a drive. @@ -15368,9 +27992,10 @@ Interface for implementing operations for mounts."> - + - + %TRUE if the @mount can be unmounted. + @@ -15380,9 +28005,10 @@ Interface for implementing operations for mounts."> - + - + %TRUE if the @mount can be ejected. + @@ -15392,7 +28018,7 @@ Interface for implementing operations for mounts."> - + @@ -15401,39 +28027,48 @@ Interface for implementing operations for mounts."> + flags affecting the operation + optional #GCancellable object, %NULL to ignore. - + + a #GAsyncReadyCallback, or %NULL. - + user data passed to @callback. + - + - + %TRUE if the mount was successfully unmounted. %FALSE otherwise. + + a #GAsyncResult. - + @@ -15442,39 +28077,48 @@ Interface for implementing operations for mounts."> + flags affecting the unmount if required for eject + optional #GCancellable object, %NULL to ignore. - + + a #GAsyncReadyCallback, or %NULL. - + user data passed to @callback. + - + - + %TRUE if the mount was successfully ejected. %FALSE otherwise. + + a #GAsyncResult. - + @@ -15483,42 +28127,52 @@ Interface for implementing operations for mounts."> + flags affecting the operation + a #GMountOperation or %NULL to avoid user interaction. + optional #GCancellable object, %NULL to ignore. - + + a #GAsyncReadyCallback, or %NULL. - + user data passed to @callback. + - + - + %TRUE if the mount was successfully remounted. %FALSE otherwise. + + a #GAsyncResult. - + @@ -15527,27 +28181,33 @@ Interface for implementing operations for mounts."> - + Whether to force a rescan of the content. Otherwise a cached result will be used if available + + optional #GCancellable object, %NULL to ignore - + + a #GAsyncReadyCallback - + user data passed to @callback + - + + a %NULL-terminated array of content types or %NULL on error. @@ -15557,16 +28217,16 @@ Interface for implementing operations for mounts."> + a #GAsyncResult - + + a %NULL-terminated array of content types or %NULL on error. @@ -15576,18 +28236,20 @@ Interface for implementing operations for mounts."> - + Whether to force a rescan of the content. Otherwise a cached result will be used if available + + optional #GCancellable object, %NULL to ignore - + @@ -15599,8 +28261,7 @@ Interface for implementing operations for mounts."> - + @@ -15609,44 +28270,52 @@ Interface for implementing operations for mounts."> + flags affecting the operation + a #GMountOperation or %NULL to avoid user interaction. + optional #GCancellable object, %NULL to ignore. - + + a #GAsyncReadyCallback, or %NULL. - + user data passed to @callback. + - + - + %TRUE if the mount was successfully unmounted. %FALSE otherwise. + + a #GAsyncResult. - + @@ -15655,45 +28324,54 @@ Interface for implementing operations for mounts."> + flags affecting the unmount if required for eject + a #GMountOperation or %NULL to avoid user interaction. + optional #GCancellable object, %NULL to ignore. - + + a #GAsyncReadyCallback, or %NULL. - + user data passed to @callback. + - + - + %TRUE if the mount was successfully ejected. %FALSE otherwise. + + a #GAsyncResult. - + + a #GFile. @@ -15705,153 +28383,191 @@ Interface for implementing operations for mounts."> + Flags used when mounting a mount. + Class for providing authentication methods for mounting operations, +such as mounting a file locally, or authenticating with a server. + Creates a new mount operation. + a #GMountOperation. + + Check to see whether the mount operation is being used +for an anonymous user. + + %TRUE if mount operation is anonymous. + + + + + Gets a choice from the mount operation. +the choice's list, or %0. + + an integer containing an index of the user's choice from + + + + + Gets the domain of the mount operation. + + a string set to the domain. + + + + + Gets a password from the mount operation. + + a string containing the password within @op. + + + + + Gets the state of saving passwords for the mount operation. + + a #GPasswordSave flag. + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + Emits the #GMountOperation::reply signal. + a #GMountOperationResult - - + + Sets the mount operation to use an anonymous user if @anonymous is %TRUE. + + + + + + boolean value. + + + + + + Sets a default choice for the mount operation. + + + + + + an integer. + + + + + + Sets the mount operation's domain. + + + + + + the domain to set. + + + + + + Sets the mount operation's password to @password. + + + + + + password to set. + + + + + + Sets the state of saving passwords for the mount operation. + + + + + + a set of #GPasswordSave flags. + + + + + + Sets the user name within @op to @username. + + + + + + input username. + + + + + + Whether to use an anonymous user when authenticating. + - - + + The index of the user's choice when a question is asked during the +mount operation. See the #GMountOperation::ask-question signal. + - - + + The domain to use for the mount operation. + - - + + The password that is used for authentication when carrying out +the mount operation. + - - + + Determines if and how the password information should be saved. + - - + + The user name that is used for authentication when carrying out +the mount operation. + @@ -15859,66 +28575,102 @@ such as mounting a file locally, or authenticating with a server." - - - + + Emitted by the backend when e.g. a device becomes unavailable +while a mount operation is in progress. +Implementations of GMountOperation should handle this signal +by dismissing open password dialogs. + + - - + Emitted when a mount operation asks the user for a password. +If the message contains a line break, the first line should be +presented as a heading. For example, it may be used as the +primary text in a #GtkMessageDialog. + + - + string containing a message to display to the user. + - + string containing the default user name. + - + string containing the default domain. + - + a set of #GAskPasswordFlags. + - - - + + Emitted when asking the user a question and gives a list of +choices for the user to choose from. +If the message contains a line break, the first line should be +presented as a heading. For example, it may be used as the +primary text in a #GtkMessageDialog. + + - + string containing a message to display to the user. + - + an array of strings for each possible choice. + - - + Emitted when the user has replied to the mount operation. + + - + a #GMountOperationResult indicating how the request was handled + - - - + + Emitted when one or more processes are blocking an operation +e.g. unmounting/ejecting a #GMount or stopping a #GDrive. +Note that this signal may be emitted several times to update the +list of blocking processes as processes close files. The +application should only respond with g_mount_operation_reply() to +the latest signal (setting #GMountOperation:choice to the choice +the user made). +If the message contains a line break, the first line should be +presented as a heading. For example, it may be used as the +primary text in a #GtkMessageDialog. + + - + string containing a message to display to the user. + - + an array of #GPid for processes blocking the operation. + + + - + an array of strings for each possible choice. + @@ -15930,7 +28682,7 @@ such as mounting a file locally, or authenticating with a server." - + @@ -15954,7 +28706,7 @@ such as mounting a file locally, or authenticating with a server." - + @@ -15965,14 +28717,14 @@ such as mounting a file locally, or authenticating with a server." - + - + @@ -15988,7 +28740,7 @@ such as mounting a file locally, or authenticating with a server." - + @@ -16000,7 +28752,7 @@ such as mounting a file locally, or authenticating with a server." - + @@ -16012,96 +28764,97 @@ such as mounting a file locally, or authenticating with a server." - + + + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - + + #GMountOperationResult is returned as a result when a request for +information is send by the mounting operation. + Flags used when an unmounting a mount. - + - - - + + + - + @@ -16171,54 +28921,131 @@ Flags used when an unmounting a mount." + A #GSocketConnectable for resolving a hostname and connecting to +that host. - + + Creates a new #GSocketConnectable for connecting to the given - + the new #GNetworkAddress + + the hostname - + the port + - - + + + Creates a new #GSocketConnectable for connecting to the given +parsing @host_and_port fails. +address, an IPv4 address, or a domain name (in which case a DNS +lookup is performed). Quoting with [] is supported for all address +types. A port override may be specified in the usual way with a +colon. Ports may be given as decimal numbers or symbolic names (in +which case an /etc/services lookup is performed). +If no port is specified in @host_and_port then @default_port will be +used as the port number to connect to. +In general, @host_and_port is expected to be provided by the user +(allowing them to give the hostname, and a port overide if necessary) +and @default_port is expected to be provided by the application. + the new #GNetworkAddress, or %NULL on error + the hostname and optionally a port - + the default port if not in @host_and_port + + + + + + Creates a new #GSocketConnectable for connecting to the given +Using this rather than g_network_address_new() or +g_network_address_parse_host() allows #GSocketClient to determine +when to use application-specific proxy protocols. + + the new #GNetworkAddress, or %NULL on error + + + + + the hostname and optionally a port + + + + The default port if none is found in the URI + + c:identifier="g_network_address_get_hostname" + version="2.22"> + Gets @addr's hostname. This might be either UTF-8 or ASCII-encoded, +depending on what @addr was created with. + @addr's hostname - + + Gets @addr's port number - + @addr's port (which may be 0) + - - + + Gets @addr's scheme + + @addr's scheme (%NULL if not built from URI) + + + + + - - + + + + + @@ -16234,55 +29061,115 @@ Flags used when an unmounting a mount." - + + A #GSocketConnectable for resolving a SRV record and connecting to +that service. - + + Creates a new #GNetworkService representing the given @service, +#GSocketConnectable interface to resolve it. - + a new #GNetworkService + + the service type to look up (eg, "ldap") + the networking protocol to use for @service (eg, "tcp") + the DNS domain to look up the service in - - + + + Gets the domain that @srv serves. This might be either UTF-8 or +ASCII-encoded, depending on what @srv was created with. + @srv's domain name + c:identifier="g_network_service_get_protocol" + version="2.22"> + Gets @srv's protocol name (eg, "tcp"). + @srv's protocol name - + + Get's the URI scheme used to resolve proxies. By default, the service name +is used as scheme. + @srv's scheme name - - + + Gets @srv's service name (eg, "ldap"). + + @srv's service name + + + + + Set's the URI scheme used to resolve proxies. By default, the service name +is used as scheme. + + + + + + a URI scheme + + + + + + - - + + - - + + + + + @@ -16298,230 +29185,633 @@ Flags used when an unmounting a mount." - + - + Base class for writing output. +All classes derived from GOutputStream should implement synchronous +writing, splicing, flushing and closing streams, but may implement +asynchronous versions. + + Requests an asynchronous close of the stream, releasing resources +related to it. When the operation is finished @callback will be +called. You can then call g_output_stream_close_finish() to get +the result of the operation. +For behaviour details see g_output_stream_close(). +The asyncronous methods have a default fallback that uses threads +to implement asynchronicity, so they are optional for inheriting +classes. However, if you override one you must override all. - + - - - - - + + the io priority of the request. + + optional cancellable object + + callback to call when the request is satisfied + + + + the data to pass to callback function + + - + + Closes an output stream. - + %TRUE if stream was successfully closed, %FALSE otherwise. + - - - - - - - - - - - - - - - - - - + + a #GAsyncResult. + - + + + + + + + + + + Flushed any outstanding buffers in the stream. Will block during +the operation. Closing the stream will implicitly cause a flush. +This function is optional for inherited classes. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. + + %TRUE on success, %FALSE on error + + optional cancellable object - + + Flushes a stream asynchronously. +For behaviour details see g_output_stream_flush(). +When the operation is finished @callback will be +called. You can then call g_output_stream_flush_finish() to get the +result of the operation. - - - - - - - + the io priority of the request. + + optional #GCancellable object, %NULL to ignore. - + + a #GAsyncReadyCallback to call when the request is satisfied - - + + the data to pass to callback function + - + + Finishes flushing an output stream. - + %TRUE if flush operation suceeded, %FALSE otherwise. + + a GAsyncResult. - + + Splices an input stream into an output stream. +-1 if an error occurred. + + a #gssize containing the size of the data spliced, or + + + + + a #GInputStream. + + + + a set of #GOutputStreamSpliceFlags. + + + + optional #GCancellable object, %NULL to ignore. + + + + + + Splices a stream asynchronously. +When the operation is finished @callback will be called. +You can then call g_output_stream_splice_finish() to get the +result of the operation. +For the synchronous, blocking version of this function, see +g_output_stream_splice(). + a #GInputStream. + a set of #GOutputStreamSpliceFlags. - + the io priority of the request. + + optional #GCancellable object, %NULL to ignore. - + + a #GAsyncReadyCallback. - + + Finishes an asynchronous stream splice operation. - + a #gssize of the number of bytes spliced. + + a #GAsyncResult. - + + Request an asynchronous write of @count bytes from @buffer into +the stream. When the operation is finished @callback will be called. +You can then call g_output_stream_write_finish() to get the result of the +operation. +During an async request no other sync and async calls are allowed, +and will result in %G_IO_ERROR_PENDING errors. +A value of @count larger than %G_MAXSSIZE will cause a +%G_IO_ERROR_INVALID_ARGUMENT error. +On success, the number of bytes written will be passed to the +requested size, as it can happen e.g. on a partial I/O error, +but generally we try to write as many bytes as requested. +You are guaranteed that this method will never fail with +%G_IO_ERROR_WOULD_BLOCK - if @stream can't accept more data, the +method will just wait until this changes. +Any outstanding I/O request with higher priority (lower numerical +value) will be executed before an outstanding request with lower +priority. Default priority is %G_PRIORITY_DEFAULT. +The asyncronous methods have a default fallback that uses threads +to implement asynchronicity, so they are optional for inheriting +classes. However, if you override one you must override all. +For the synchronous, blocking version of this function, see +g_output_stream_write(). - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + the buffer containing the data to write. + + + - + the number of bytes to write + + + + the io priority of the request. + + optional #GCancellable object, %NULL to ignore. + + + + callback to call when the request is satisfied + + + + the data to pass to callback function + + + + + + Finishes a stream write operation. + + a #gssize containing the number of bytes written to the stream. + + + + + a #GAsyncResult. + + + + + + + + + + + + + + + + + + + + + + Clears the pending flag on @stream. + + + + + + Closes the stream, releasing resources related to it. +Once the stream is closed, all other operations will return %G_IO_ERROR_CLOSED. +Closing a stream multiple times will not return an error. +Closing a stream will automatically flush any outstanding buffers in the +stream. +Streams will be automatically closed when the last reference +is dropped, but you might want to call this function to make sure +resources are released as early as possible. +Some streams might keep the backing store of the stream (e.g. a file descriptor) +open after the stream is closed. See the documentation for the individual +stream for details. +On failure the first error that happened will be reported, but the close +operation will finish as much as possible. A stream that failed to +close will still return %G_IO_ERROR_CLOSED for all operations. Still, it +is important to check and report the error to the user, otherwise +there might be a loss of data as all data might not be written. +If @cancellable is not NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +Cancelling a close will still leave the stream closed, but there some streams +can use a faster close that doesn't block to e.g. check errors. On +cancellation (as with any error) there is no guarantee that all written +data will reach the target. + + %TRUE on success, %FALSE on failure + + + + + optional cancellable object + + + + + + Requests an asynchronous close of the stream, releasing resources +related to it. When the operation is finished @callback will be +called. You can then call g_output_stream_close_finish() to get +the result of the operation. +For behaviour details see g_output_stream_close(). +The asyncronous methods have a default fallback that uses threads +to implement asynchronicity, so they are optional for inheriting +classes. However, if you override one you must override all. + + + + + + the io priority of the request. + + + + optional cancellable object + + + + callback to call when the request is satisfied + + + + the data to pass to callback function + + + + + + Closes an output stream. + + %TRUE if stream was successfully closed, %FALSE otherwise. + + + + + a #GAsyncResult. + + + + + + Flushed any outstanding buffers in the stream. Will block during +the operation. Closing the stream will implicitly cause a flush. +This function is optional for inherited classes. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. + + %TRUE on success, %FALSE on error + + + + + optional cancellable object + + + + + + Flushes a stream asynchronously. +For behaviour details see g_output_stream_flush(). +When the operation is finished @callback will be +called. You can then call g_output_stream_flush_finish() to get the +result of the operation. + + + + + + the io priority of the request. + + + + optional #GCancellable object, %NULL to ignore. + + + + a #GAsyncReadyCallback to call when the request is satisfied + + + + the data to pass to callback function + + + + + + Finishes flushing an output stream. + + %TRUE if flush operation suceeded, %FALSE otherwise. + + + + + a GAsyncResult. + + + + + + Checks if an ouput stream has pending actions. + + %TRUE if @stream has pending actions. + + + + + Checks if an output stream has already been closed. + + %TRUE if @stream is closed. %FALSE otherwise. + + + + + Checks if an output stream is being closed. This can be +used inside e.g. a flush implementation to see if the +flush (or other i/o operation) is called from within +the closing operation. + + %TRUE if @stream is being closed. %FALSE otherwise. + + + + + Sets @stream to have actions pending. If the pending flag is +already set or @stream is closed, it will return %FALSE and set + + %TRUE if pending was previously unset and is now set. + + + + + Splices an input stream into an output stream. +-1 if an error occurred. + + a #gssize containing the size of the data spliced, or + + + + + a #GInputStream. + + + + a set of #GOutputStreamSpliceFlags. + + + + optional #GCancellable object, %NULL to ignore. + + + + + + Splices a stream asynchronously. +When the operation is finished @callback will be called. +You can then call g_output_stream_splice_finish() to get the +result of the operation. +For the synchronous, blocking version of this function, see +g_output_stream_splice(). + + + + + + a #GInputStream. + + + + a set of #GOutputStreamSpliceFlags. + + + + the io priority of the request. + + + + optional #GCancellable object, %NULL to ignore. + + + + a #GAsyncReadyCallback. + + + + user data passed to @callback. + + + + + + Finishes an asynchronous stream splice operation. + + a #gssize of the number of bytes spliced. + + + + + a #GAsyncResult. + + + + + + Tries to write @count bytes from @buffer into the stream. Will block +during the operation. +If count is 0, returns 0 and does nothing. A value of @count +larger than %G_MAXSSIZE will cause a %G_IO_ERROR_INVALID_ARGUMENT error. +On success, the number of bytes written to the stream is returned. +It is not an error if this is not the same as the requested size, as it +can happen e.g. on a partial I/O error, or if there is not enough +storage in the stream. All writes block until at least one byte +is written or an error occurs; 0 is never returned (unless +If @cancellable is not NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If an +operation was partially finished when the operation was cancelled the +partial result will be returned, without an error. +On error -1 is returned and @error is set accordingly. + + Number of bytes written, or -1 on error + + + + + the buffer containing the data to write. + + + + + + the number of bytes to write + + + + optional cancellable object @@ -16529,256 +29819,117 @@ asynchronous versions." + Tries to write @count bytes from @buffer into the stream. Will block +during the operation. +This function is similar to g_output_stream_write(), except it tries to +write as many bytes as requested, only stopping on an error. +On a successful write of @count bytes, %TRUE is returned, and @bytes_written +is set to @count. +If there is an error during the operation FALSE is returned and @error +is set to indicate the error status, @bytes_written is updated to contain +the number of bytes written into the stream before the error occurred. - + %TRUE on success, %FALSE if there was an error + - + the buffer containing the data to write. + + + - + the number of bytes to write + - - + + location to store the number of bytes that was written to the stream + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + optional #GCancellable object, %NULL to ignore. + Request an asynchronous write of @count bytes from @buffer into +the stream. When the operation is finished @callback will be called. +You can then call g_output_stream_write_finish() to get the result of the +operation. +During an async request no other sync and async calls are allowed, +and will result in %G_IO_ERROR_PENDING errors. +A value of @count larger than %G_MAXSSIZE will cause a +%G_IO_ERROR_INVALID_ARGUMENT error. +On success, the number of bytes written will be passed to the +requested size, as it can happen e.g. on a partial I/O error, +but generally we try to write as many bytes as requested. +You are guaranteed that this method will never fail with +%G_IO_ERROR_WOULD_BLOCK - if @stream can't accept more data, the +method will just wait until this changes. +Any outstanding I/O request with higher priority (lower numerical +value) will be executed before an outstanding request with lower +priority. Default priority is %G_PRIORITY_DEFAULT. +The asyncronous methods have a default fallback that uses threads +to implement asynchronicity, so they are optional for inheriting +classes. However, if you override one you must override all. +For the synchronous, blocking version of this function, see +g_output_stream_write(). - + the buffer containing the data to write. + + + - + the number of bytes to write + - + the io priority of the request. + + optional #GCancellable object, %NULL to ignore. + closure="5"> + callback to call when the request is satisfied - + the data to pass to callback function + + Finishes a stream write operation. - + a #gssize containing the number of bytes written to the stream. + + a #GAsyncResult. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -16793,56 +29944,59 @@ asynchronous versions." - + - + - + - + - + - + - + a #gssize containing the size of the data spliced, or + + a #GInputStream. + a set of #GOutputStreamSpliceFlags. + optional #GCancellable object, %NULL to ignore. - + - + %TRUE on success, %FALSE on error + @@ -16851,30 +30005,29 @@ asynchronous versions." + optional cancellable object - + - + - + - + @@ -16883,45 +30036,58 @@ asynchronous versions." - + the buffer containing the data to write. + + + - + the number of bytes to write + - + the io priority of the request. + + optional #GCancellable object, %NULL to ignore. - + + callback to call when the request is satisfied - + the data to pass to callback function + - + - + a #gssize containing the number of bytes written to the stream. + + a #GAsyncResult. - + @@ -16930,46 +30096,56 @@ asynchronous versions." + a #GInputStream. + a set of #GOutputStreamSpliceFlags. - + the io priority of the request. + + optional #GCancellable object, %NULL to ignore. - + + a #GAsyncReadyCallback. - + - + - + a #gssize of the number of bytes spliced. + + a #GAsyncResult. - + @@ -16978,39 +30154,48 @@ asynchronous versions." - + the io priority of the request. + + optional #GCancellable object, %NULL to ignore. - + + a #GAsyncReadyCallback to call when the request is satisfied - + the data to pass to callback function + - + - + %TRUE if flush operation suceeded, %FALSE otherwise. + + a GAsyncResult. - + @@ -17019,103 +30204,112 @@ asynchronous versions." - + the io priority of the request. + + optional cancellable object - + + callback to call when the request is satisfied - + the data to pass to callback function + - + - + %TRUE if stream was successfully closed, %FALSE otherwise. + + a #GAsyncResult. - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - + + GOutputStreamSpliceFlags determine how streams should be spliced. - + Structure used for scatter/gather data output. You generally pass in an array of #GOutputVector<!-- -->s and the operation will use all the buffers as if they were -one buffer." - version="2.22"> +one buffer. - + - + + + + + + + + #GPasswordSave is used to indicate the lifespan of a saved password. +#Gvfs stores passwords in the Gnome keyring when this flag allows it +to, and later retrieves it again from there. - - - + + #GPermission is an opaque data structure and can only be accessed +using the following functions. + + Attempts to acquire the permission represented by @permission. +The precise method by which this happens depends on the permission +and the underlying authentication mechanism. A simple example is +that a dialog may appear asking the user to enter their password. +You should check with g_permission_get_can_acquire() before calling +this function. +If the permission is acquired then %TRUE is returned. Otherwise, +%FALSE is returned and @error is set appropriately. +This call is blocking, likely for a very long time (in the case that +user interaction is required). See g_permission_acquire_async() for +the non-blocking version. + + %TRUE if the permission was successfully acquired + + + + + a #GCancellable, or %NULL + + + + + + Attempts to acquire the permission represented by @permission. +This is the first half of the asynchronous version of +g_permission_acquire(). + + + + + + a #GCancellable, or %NULL + + + + the #GAsyncReadyCallback to call when done + + + + the user data to pass to @callback + + + + + + Collects the result of attempting to acquire the permission +represented by @permission. +This is the second half of the asynchronous version of +g_permission_acquire(). + + %TRUE if the permission was successfully acquired + + + + + the #GAsyncResult given to the #GAsyncReadyCallback + + + + + + Attempts to release the permission represented by @permission. +The precise method by which this happens depends on the permission +and the underlying authentication mechanism. In most cases the +permission will be dropped immediately without further action. +You should check with g_permission_get_can_release() before calling +this function. +If the permission is released then %TRUE is returned. Otherwise, +%FALSE is returned and @error is set appropriately. +This call is blocking, likely for a very long time (in the case that +user interaction is required). See g_permission_release_async() for +the non-blocking version. + + %TRUE if the permission was successfully released + + + + + a #GCancellable, or %NULL + + + + + + Attempts to release the permission represented by @permission. +This is the first half of the asynchronous version of +g_permission_release(). + + + + + + a #GCancellable, or %NULL + + + + the #GAsyncReadyCallback to call when done + + + + the user data to pass to @callback + + + + + + Collects the result of attempting to release the permission +represented by @permission. +This is the second half of the asynchronous version of +g_permission_release(). + + %TRUE if the permission was successfully released + + + + + the #GAsyncResult given to the #GAsyncReadyCallback + + + + + + Attempts to acquire the permission represented by @permission. +The precise method by which this happens depends on the permission +and the underlying authentication mechanism. A simple example is +that a dialog may appear asking the user to enter their password. +You should check with g_permission_get_can_acquire() before calling +this function. +If the permission is acquired then %TRUE is returned. Otherwise, +%FALSE is returned and @error is set appropriately. +This call is blocking, likely for a very long time (in the case that +user interaction is required). See g_permission_acquire_async() for +the non-blocking version. + + %TRUE if the permission was successfully acquired + + + + + a #GCancellable, or %NULL + + + + + + Attempts to acquire the permission represented by @permission. +This is the first half of the asynchronous version of +g_permission_acquire(). + + + + + + a #GCancellable, or %NULL + + + + the #GAsyncReadyCallback to call when done + + + + the user data to pass to @callback + + + + + + Collects the result of attempting to acquire the permission +represented by @permission. +This is the second half of the asynchronous version of +g_permission_acquire(). + + %TRUE if the permission was successfully acquired + + + + + the #GAsyncResult given to the #GAsyncReadyCallback + + + + + + Gets the value of the 'allowed' property. This property is %TRUE if +the caller currently has permission to perform the action that + + the value of the 'allowed' property + + + + + Gets the value of the 'can-acquire' property. This property is %TRUE +if it is generally possible to acquire the permission by calling +g_permission_acquire(). + + the value of the 'can-acquire' property + + + + + Gets the value of the 'can-release' property. This property is %TRUE +if it is generally possible to release the permission by calling +g_permission_release(). + + the value of the 'can-release' property + + + + + This function is called by the #GPermission implementation to update +the properties of the permission. You should never call this +function except from a #GPermission implementation. +GObject notify signals are generated, as appropriate. + + + + + + the new value for the 'allowed' property + + + + the new value for the 'can-acquire' property + + + + the new value for the 'can-release' property + + + + + + Attempts to release the permission represented by @permission. +The precise method by which this happens depends on the permission +and the underlying authentication mechanism. In most cases the +permission will be dropped immediately without further action. +You should check with g_permission_get_can_release() before calling +this function. +If the permission is released then %TRUE is returned. Otherwise, +%FALSE is returned and @error is set appropriately. +This call is blocking, likely for a very long time (in the case that +user interaction is required). See g_permission_release_async() for +the non-blocking version. + + %TRUE if the permission was successfully released + + + + + a #GCancellable, or %NULL + + + + + + Attempts to release the permission represented by @permission. +This is the first half of the asynchronous version of +g_permission_release(). + + + + + + a #GCancellable, or %NULL + + + + the #GAsyncReadyCallback to call when done + + + + the user data to pass to @callback + + + + + + Collects the result of attempting to release the permission +represented by @permission. +This is the second half of the asynchronous version of +g_permission_release(). + + %TRUE if the permission was successfully released + + + + + the #GAsyncResult given to the #GAsyncReadyCallback + + + + + + %TRUE if the caller currently has permission to perform the action that + + + + %TRUE if it is generally possible to acquire the permission by calling +g_permission_acquire(). + + + + %TRUE if it is generally possible to release the permission by calling +g_permission_release(). + + + + + + + + + + + + + + + + + %TRUE if the permission was successfully acquired + + + + + + + + a #GCancellable, or %NULL + + + + + + + + + + + + + + + + a #GCancellable, or %NULL + + + + the #GAsyncReadyCallback to call when done + + + + the user data to pass to @callback + + + + + + + + + %TRUE if the permission was successfully acquired + + + + + + + + the #GAsyncResult given to the #GAsyncReadyCallback + + + + + + + + + %TRUE if the permission was successfully released + + + + + + + + a #GCancellable, or %NULL + + + + + + + + + + + + + + + + a #GCancellable, or %NULL + + + + the #GAsyncReadyCallback to call when done + + + + the user data to pass to @callback + + + + + + + + + %TRUE if the permission was successfully released + + + + + + + + the #GAsyncResult given to the #GAsyncReadyCallback + + + + + + + + + + + + + + + Interface that handles proxy connection and payload. + + Given @connection to communicate with a proxy (eg, a +#GSocketConnection that is connected to the proxy server), this +does the necessary handshake to connect to @proxy_address, and if +required, wraps the #GIOStream to handle proxy payload. +be the same as @connection, in which case a reference +will be added. + + a #GIOStream that will replace @connection. This might + + + + + a #GIOStream + + + + a #GProxyAddress + + + + a #GCancellable + + + + + + Asynchronous version of g_proxy_connect(). + + + + + + a #GIOStream + + + + a #GProxyAddress + + + + a #GCancellable + + + + a #GAsyncReadyCallback + + + + callback data + + + + + + See g_proxy_connect(). + + a #GIOStream. + + + + + a #GAsyncRetult + + + + + + Some proxy protocols expect to be passed a hostname, which they +will resolve to an IP address themselves. Others, like SOCKS4, do +not allow this. This function will return %FALSE if @proxy is +implementing such a protocol. When %FALSE is returned, the caller +should resolve the destination hostname first, and then pass a +#GProxyAddress containing the stringified IP address to +g_proxy_connect() or g_proxy_connect_async(). + + %TRUE if hostname resolution is supported. + + + + + Given @connection to communicate with a proxy (eg, a +#GSocketConnection that is connected to the proxy server), this +does the necessary handshake to connect to @proxy_address, and if +required, wraps the #GIOStream to handle proxy payload. +be the same as @connection, in which case a reference +will be added. + + a #GIOStream that will replace @connection. This might + + + + + a #GIOStream + + + + a #GProxyAddress + + + + a #GCancellable + + + + + + Asynchronous version of g_proxy_connect(). + + + + + + a #GIOStream + + + + a #GProxyAddress + + + + a #GCancellable + + + + a #GAsyncReadyCallback + + + + callback data + + + + + + See g_proxy_connect(). + + a #GIOStream. + + + + + a #GAsyncRetult + + + + + + Some proxy protocols expect to be passed a hostname, which they +will resolve to an IP address themselves. Others, like SOCKS4, do +not allow this. This function will return %FALSE if @proxy is +implementing such a protocol. When %FALSE is returned, the caller +should resolve the destination hostname first, and then pass a +#GProxyAddress containing the stringified IP address to +g_proxy_connect() or g_proxy_connect_async(). + + %TRUE if hostname resolution is supported. + + + + + + A #GInetSocketAddress representing a connection via a proxy server + + + Creates a new #GProxyAddress for @inetaddr with @protocol that should +tunnel through @dest_hostname and @dest_port. + + a new #GProxyAddress + + + + + The proxy server #GInetAddress. + + + + The proxy server port. + + + + The proxy protocol to support, in lower case (e.g. socks, http). + + + + The destination hostname the the proxy should tunnel to. + + + + The destination port to tunnel to. + + + + The username to authenticate to the proxy server (or %NULL). + + + + The password to authenticate to the proxy server (or %NULL). + + + + + + + + + + + + + + + + + + + + + Gets @proxy's protocol. + + the @proxy's protocol + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A subclass of #GSocketAddressEnumerator that takes another address +enumerator and wraps its results in #GProxyAddress<!-- -->es as +directed by the default #GProxyResolver. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Provides an interface for handling proxy connection and payload. + + + + + + + a #GIOStream that will replace @connection. This might + + + + + + + + a #GIOStream + + + + a #GProxyAddress + + + + a #GCancellable + + + + + + + + + + + + + + + + a #GIOStream + + + + a #GProxyAddress + + + + a #GCancellable + + + + a #GAsyncReadyCallback + + + + callback data + + + + + + + + + a #GIOStream. + + + + + + + + a #GAsyncRetult + + + + + + + + + %TRUE if hostname resolution is supported. + + + + + + + + + + + + Interface that can be used to resolve proxy address. + + Checks if @resolver can be used on this system. (This is used +internally; g_proxy_resolver_get_default() will only return a proxy +resolver that returns %TRUE for this method.) + + %TRUE if @resolver is supported. + + + + + Looks into the system proxy configuration to determine what proxy, +if any, to use to connect to @uri. The returned proxy URIs are of the +form <literal>&lt;protocol&gt;://[user[:password]@]host:port</literal> +or <literal>direct://</literal>, where &lt;protocol&gt; could be +http, rtsp, socks or other proxying protocol. +If you don't know what network protocol is being used on the +socket, you should use <literal>none</literal> as the URI protocol. +In this case, the resolver might still return a generic proxy type +(such as SOCKS), but would not return protocol-specific proxy types +(such as http). +<literal>direct://</literal> is used when no proxy is needed. +Direct connection should not be attempted unless it is part of the +returned array of proxies. +g_strfreev(). + + A NULL-terminated array of proxy URIs. Must be freed with + + + + + + + a URI representing the destination to connect to + + + + a #GCancellable, or %NULL + + + + + + Asynchronous lookup of proxy. See g_proxy_resolver_lookup() for more +details. + + + + + + a URI representing the destination to connect to + + + + a #GCancellable, or %NULL + + + + callback to call after resolution completes + + + + data for @callback + + + + + + Call this function to obtain the array of proxy URIs when +g_proxy_resolver_lookup_async() is complete. See +g_proxy_resolver_lookup() for more details. +g_strfreev(). + + A NULL-terminated array of proxy URIs. Must be freed with + + + + + + + the result passed to your #GAsyncReadyCallback + + + + + + Checks if @resolver can be used on this system. (This is used +internally; g_proxy_resolver_get_default() will only return a proxy +resolver that returns %TRUE for this method.) + + %TRUE if @resolver is supported. + + + + + Looks into the system proxy configuration to determine what proxy, +if any, to use to connect to @uri. The returned proxy URIs are of the +form <literal>&lt;protocol&gt;://[user[:password]@]host:port</literal> +or <literal>direct://</literal>, where &lt;protocol&gt; could be +http, rtsp, socks or other proxying protocol. +If you don't know what network protocol is being used on the +socket, you should use <literal>none</literal> as the URI protocol. +In this case, the resolver might still return a generic proxy type +(such as SOCKS), but would not return protocol-specific proxy types +(such as http). +<literal>direct://</literal> is used when no proxy is needed. +Direct connection should not be attempted unless it is part of the +returned array of proxies. +g_strfreev(). + + A NULL-terminated array of proxy URIs. Must be freed with + + + + + + + a URI representing the destination to connect to + + + + a #GCancellable, or %NULL + + + + + + Asynchronous lookup of proxy. See g_proxy_resolver_lookup() for more +details. + + + + + + a URI representing the destination to connect to + + + + a #GCancellable, or %NULL + + + + callback to call after resolution completes + + + + data for @callback + + + + + + Call this function to obtain the array of proxy URIs when +g_proxy_resolver_lookup_async() is complete. See +g_proxy_resolver_lookup() for more details. +g_strfreev(). + + A NULL-terminated array of proxy URIs. Must be freed with + + + + + + + the result passed to your #GAsyncReadyCallback + + + + + + + + + + + + + %TRUE if @resolver is supported. + + + + + + + + + + + + + A NULL-terminated array of proxy URIs. Must be freed with + + + + + + + + + + a URI representing the destination to connect to + + + + a #GCancellable, or %NULL + + + + + + + + + + + + + + + + a URI representing the destination to connect to + + + + a #GCancellable, or %NULL + + + + callback to call after resolution completes + + + + data for @callback + + + + + + + + + A NULL-terminated array of proxy URIs. Must be freed with + + + + + + + + + + the result passed to your #GAsyncReadyCallback + + + + + + + + Changes the size of the memory block pointed to by @data to +The function should have the same semantics as realloc(). + + a pointer to the reallocated memory + - + memory block to reallocate + - + size to reallocate @data to + - - - - - - + The object that handles DNS resolution. Use g_resolver_get_default() +to get the default resolver. + + Frees @addresses (which should be the return value from +g_resolver_lookup_by_name() or g_resolver_lookup_by_name_finish()). +(This is a convenience method; you can also simply free the results +by hand.) - + a #GList of #GInetAddress + + + - + + Frees @targets (which should be the return value from +g_resolver_lookup_service() or g_resolver_lookup_service_finish()). +(This is a convenience method; you can also simply free the +results by hand.) - + a #GList of #GSrvTarget + + + - + + Gets the default #GResolver. You should unref it when you are done +with it. #GResolver may use its reference count as a hint about how +many threads/processes, etc it should allocate for concurrent DNS +resolutions. - + the default #GResolver. + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + Synchronously reverse-resolves @address to determine its +associated hostname. +If the DNS resolution fails, @error (if non-%NULL) will be set to +a value from #GResolverError. +If @cancellable is non-%NULL, it can be used to cancel the +operation, in which case @error (if non-%NULL) will be set to +%G_IO_ERROR_CANCELLED. +form), or %NULL on error. + a hostname (either ASCII-only, or in ASCII-encoded + the address to reverse-resolve + a #GCancellable, or %NULL + invoker="lookup_by_address_async" + version="2.22"> + Begins asynchronously reverse-resolving @address to determine its +associated hostname, and eventually calls @callback, which must +call g_resolver_lookup_by_address_finish() to get the final result. + the address to reverse-resolve + a #GCancellable, or %NULL - + + callback to call after resolution completes - - + + data for @callback + + Retrieves the result of a previous call to +g_resolver_lookup_by_address_async(). +If the DNS resolution failed, @error (if non-%NULL) will be set to +a value from #GResolverError. If the operation was cancelled, +form), or %NULL on error. + a hostname (either ASCII-only, or in ASCII-encoded + the result passed to your #GAsyncReadyCallback - + + Synchronously resolves @hostname to determine its associated IP +address(es). @hostname may be an ASCII-only or UTF-8 hostname, or +the textual form of an IP address (in which case this just becomes +a wrapper around g_inet_address_new_from_string()). +On success, g_resolver_lookup_by_name() will return a #GList of +#GInetAddress, sorted in order of preference. (That is, you should +attempt to connect to the first address first, then the second if +the first fails, etc.) +If the DNS resolution fails, @error (if non-%NULL) will be set to a +value from #GResolverError. +If @cancellable is non-%NULL, it can be used to cancel the +operation, in which case @error (if non-%NULL) will be set to +%G_IO_ERROR_CANCELLED. +If you are planning to connect to a socket on the resolved IP +address, it may be easier to create a #GNetworkAddress and use its +#GSocketConnectable interface. +of #GInetAddress, or %NULL on error. You +must unref each of the addresses and free the list when you are +done with it. (You can use g_resolver_free_addresses() to do this.) - + a #GList + + + - + + the hostname to look up + a #GCancellable, or %NULL + + + + + + Begins asynchronously resolving @hostname to determine its +associated IP address(es), and eventually calls @callback, which +must call g_resolver_lookup_by_name_finish() to get the result. +See g_resolver_lookup_by_name() for more details. + + + + + + the hostname to look up the address of + + + + a #GCancellable, or %NULL + + + + callback to call after resolution completes + + + + data for @callback + + + + + + Retrieves the result of a call to +g_resolver_lookup_by_name_async(). +If the DNS resolution failed, @error (if non-%NULL) will be set to +a value from #GResolverError. If the operation was cancelled, +of #GInetAddress, or %NULL on error. See g_resolver_lookup_by_name() +for more details. + + a #GList + + + + + + + the result passed to your #GAsyncReadyCallback + + + + + + + + + + + + + + + @@ -17335,210 +32010,348 @@ The function should have the same semantics as realloc()."> - + - + - - + + + Retrieves the result of a previous call to +g_resolver_lookup_service_async(). +If the DNS resolution failed, @error (if non-%NULL) will be set to +a value from #GResolverError. If the operation was cancelled, +or %NULL on error. See g_resolver_lookup_service() for more details. - + a #GList of #GSrvTarget, + + + + the result passed to your #GAsyncReadyCallback - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + Synchronously reverse-resolves @address to determine its +associated hostname. +If the DNS resolution fails, @error (if non-%NULL) will be set to +a value from #GResolverError. +If @cancellable is non-%NULL, it can be used to cancel the +operation, in which case @error (if non-%NULL) will be set to +%G_IO_ERROR_CANCELLED. +form), or %NULL on error. + a hostname (either ASCII-only, or in ASCII-encoded + the address to reverse-resolve + a #GCancellable, or %NULL + c:identifier="g_resolver_lookup_by_address_async" + version="2.22"> + Begins asynchronously reverse-resolving @address to determine its +associated hostname, and eventually calls @callback, which must +call g_resolver_lookup_by_address_finish() to get the final result. + the address to reverse-resolve + a #GCancellable, or %NULL + closure="3"> + callback to call after resolution completes - + data for @callback + + Retrieves the result of a previous call to +g_resolver_lookup_by_address_async(). +If the DNS resolution failed, @error (if non-%NULL) will be set to +a value from #GResolverError. If the operation was cancelled, +form), or %NULL on error. + a hostname (either ASCII-only, or in ASCII-encoded + the result passed to your #GAsyncReadyCallback + + + + + + Synchronously resolves @hostname to determine its associated IP +address(es). @hostname may be an ASCII-only or UTF-8 hostname, or +the textual form of an IP address (in which case this just becomes +a wrapper around g_inet_address_new_from_string()). +On success, g_resolver_lookup_by_name() will return a #GList of +#GInetAddress, sorted in order of preference. (That is, you should +attempt to connect to the first address first, then the second if +the first fails, etc.) +If the DNS resolution fails, @error (if non-%NULL) will be set to a +value from #GResolverError. +If @cancellable is non-%NULL, it can be used to cancel the +operation, in which case @error (if non-%NULL) will be set to +%G_IO_ERROR_CANCELLED. +If you are planning to connect to a socket on the resolved IP +address, it may be easier to create a #GNetworkAddress and use its +#GSocketConnectable interface. +of #GInetAddress, or %NULL on error. You +must unref each of the addresses and free the list when you are +done with it. (You can use g_resolver_free_addresses() to do this.) + + a #GList + + + + + + + the hostname to look up + + + + a #GCancellable, or %NULL + + + + + + Begins asynchronously resolving @hostname to determine its +associated IP address(es), and eventually calls @callback, which +must call g_resolver_lookup_by_name_finish() to get the result. +See g_resolver_lookup_by_name() for more details. + + + + + + the hostname to look up the address of + + + + a #GCancellable, or %NULL + + + + callback to call after resolution completes + + + + data for @callback + + + + + + Retrieves the result of a call to +g_resolver_lookup_by_name_async(). +If the DNS resolution failed, @error (if non-%NULL) will be set to +a value from #GResolverError. If the operation was cancelled, +of #GInetAddress, or %NULL on error. See g_resolver_lookup_by_name() +for more details. + + a #GList + + + + + + + the result passed to your #GAsyncReadyCallback + Synchronously performs a DNS SRV lookup for the given @service and +include the leading underscore that appears in the actual DNS +entry. +On success, g_resolver_lookup_service() will return a #GList of +#GSrvTarget, sorted in order of preference. (That is, you should +attempt to connect to the first target first, then the second if +the first fails, etc.) +If the DNS resolution fails, @error (if non-%NULL) will be set to +a value from #GResolverError. +If @cancellable is non-%NULL, it can be used to cancel the +operation, in which case @error (if non-%NULL) will be set to +%G_IO_ERROR_CANCELLED. +If you are planning to connect to the service, it is usually easier +to create a #GNetworkService and use its #GSocketConnectable +interface. +or %NULL on error. You must free each of the targets and the list when you are +done with it. (You can use g_resolver_free_targets() to do this.) - + a #GList of #GSrvTarget, + + + + the service type to look up (eg, "ldap") + the networking protocol to use for @service (eg, "tcp") + the DNS domain to look up the service in + a #GCancellable, or %NULL + c:identifier="g_resolver_lookup_service_async" + version="2.22"> + Begins asynchronously performing a DNS SRV lookup for the given +get the final result. See g_resolver_lookup_service() for more +details. + the service type to look up (eg, "ldap") + the networking protocol to use for @service (eg, "tcp") + the DNS domain to look up the service in + a #GCancellable, or %NULL + closure="5"> + callback to call after resolution completes - + data for @callback + + Retrieves the result of a previous call to +g_resolver_lookup_service_async(). +If the DNS resolution failed, @error (if non-%NULL) will be set to +a value from #GResolverError. If the operation was cancelled, +or %NULL on error. See g_resolver_lookup_service() for more details. - + a #GList of #GSrvTarget, + + + + the result passed to your #GAsyncReadyCallback + + Sets @resolver to be the application's default resolver (reffing +Future calls to g_resolver_get_default() will return this resolver. +This can be used if an application wants to perform any sort of DNS +caching or "pinning"; it can implement its own #GResolver that +calls the original default resolver for DNS operations, and +implements its own cache policies on top of that, and then set +itself as the default resolver for all later code to use. + + + + @@ -17546,8 +32359,10 @@ The function should have the same semantics as realloc()."> - - + Emitted when the resolver notices that the system resolver +configuration has changed. + + @@ -17558,7 +32373,7 @@ The function should have the same semantics as realloc()."> - + @@ -17570,27 +32385,32 @@ The function should have the same semantics as realloc()."> - + - + a #GList + + + + the hostname to look up + a #GCancellable, or %NULL - + @@ -17599,44 +32419,52 @@ The function should have the same semantics as realloc()."> + the hostname to look up the address of + a #GCancellable, or %NULL - + + callback to call after resolution completes - + data for @callback + - + - + a #GList + + + + the result passed to your #GAsyncReadyCallback - + + a hostname (either ASCII-only, or in ASCII-encoded @@ -17644,19 +32472,20 @@ The function should have the same semantics as realloc()."> + the address to reverse-resolve + a #GCancellable, or %NULL - + @@ -17665,27 +32494,33 @@ The function should have the same semantics as realloc()."> + the address to reverse-resolve + a #GCancellable, or %NULL - + + callback to call after resolution completes - + data for @callback + - + + a hostname (either ASCII-only, or in ASCII-encoded @@ -17693,15 +32528,18 @@ The function should have the same semantics as realloc()."> + the result passed to your #GAsyncReadyCallback - - - - + + + + + + @@ -17710,16 +32548,14 @@ The function should have the same semantics as realloc()."> - + - + @@ -17730,74 +32566,77 @@ The function should have the same semantics as realloc()."> - + - + - + - + - + a #GList of #GSrvTarget, + + + + the result passed to your #GAsyncReadyCallback - - + + - - + + - - + + - - + + - - + + - - + + @@ -17805,15 +32644,13 @@ The function should have the same semantics as realloc()."> + An error code used with %G_RESOLVER_ERROR in a #GError returned +from a #GResolver routine. - + + + + - - - + Seek object for streaming operations. + + Tests if the stream supports the #GSeekableIface. + + %TRUE if @seekable can be seeked. %FALSE otherwise. + - + + Tests if the stream can be truncated. - + %TRUE if the stream can be truncated, %FALSE otherwise. + + Seeks in the stream by the given @offset, modified by @type. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +has occurred, this function will return %FALSE and set @error +appropriately if present. - + %TRUE if successful. If an error + - + a #goffset. + + a #GSeekType. + optional #GCancellable object, %NULL to ignore. - + + Tells the current position within the stream. - + the offset from the beginning of the buffer. + - + + Truncates a stream with a given #offset. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If an +operation was partially finished when the operation was cancelled the +partial result will be returned, without an error. +has occurred, this function will return %FALSE and set @error +appropriately if present. - + %TRUE if successful. If an error + - + a #goffset. + + optional #GCancellable object, %NULL to ignore. - - - + + Tests if the stream supports the #GSeekableIface. + + %TRUE if @seekable can be seeked. %FALSE otherwise. + - + + Tests if the stream can be truncated. - + %TRUE if the stream can be truncated, %FALSE otherwise. + + Seeks in the stream by the given @offset, modified by @type. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. +has occurred, this function will return %FALSE and set @error +appropriately if present. - + %TRUE if successful. If an error + - + a #goffset. + + a #GSeekType. + optional #GCancellable object, %NULL to ignore. - + + Tells the current position within the stream. - + the offset from the beginning of the buffer. + + Truncates a stream with a given #offset. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. If an +operation was partially finished when the operation was cancelled the +partial result will be returned, without an error. +has occurred, this function will return %FALSE and set @error +appropriately if present. - + %TRUE if successful. If an error + - + a #goffset. + + optional #GCancellable object, %NULL to ignore. @@ -17934,15 +32830,16 @@ from a #GResolver routine." + glib:is-gtype-struct-for="Seekable"> + Provides an interface for implementing seekable functionality on I/O Streams. - - - + + + the offset from the beginning of the buffer. + @@ -17952,9 +32849,10 @@ from a #GResolver routine." - + - + %TRUE if @seekable can be seeked. %FALSE otherwise. + @@ -17964,32 +32862,37 @@ from a #GResolver routine." - + - + %TRUE if successful. If an error + - + a #goffset. + + a #GSeekType. + optional #GCancellable object, %NULL to ignore. - + - + %TRUE if the stream can be truncated, %FALSE otherwise. + @@ -17999,81 +32902,1961 @@ from a #GResolver routine." - + - + %TRUE if successful. If an error + - + a #goffset. + + optional #GCancellable object, %NULL to ignore. + + + Creates a new #GSettings object with a given schema. +Signals on the newly created #GSettings object will be dispatched +via the thread-default #GMainContext in effect at the time of the +call to g_settings_new(). The new #GSettings will hold a reference +on the context. See g_main_context_push_thread_default(). + + a new #GSettings object + + + + + the name of the schema + + + + + + Creates a new #GSettings object with a given schema and backend. +Creating settings objects with an different backend allows accessing settings +from a database other than the usual one. For example, it may make +sense to pass a backend corresponding to the "defaults" settings database on +the system to get a settings object that modifies the system default +settings instead of the settings for this user. + + a new #GSettings object + + + + + the name of the schema + + + + the #GSettingsBackend to use + + + + + + Creates a new #GSettings object with a given schema, backend and +path. +This is a mix of g_settings_new_with_backend() and +g_settings_new_with_path(). + + a new #GSettings object + + + + + the name of the schema + + + + the #GSettingsBackend to use + + + + the path to use + + + + + + Creates a new #GSettings object with a given schema and path. +You only need to do this if you want to directly create a settings +object with a schema that doesn't have a specified path of its own. +That's quite rare. +It is a programmer error to call this function for a schema that +has an explicitly specified path. + + a new #GSettings object + + + + + the name of the schema + + + + the path to use + + + + + + must not be modified or freed. + + a list of GSettings schemas that are available. The list + + + + + + + Ensures that all pending operations for the given are complete for +the default backend. +Writes made to a #GSettings are handled asynchronously. For this +reason, it is very unlikely that the changes have it to disk by the +time g_settings_set() returns. +This call will block until all of the writes have made it to the +backend. Since the mainloop is not running, no change notifications +will be dispatched during this call (but some may be queued by the +time the call is done). + + + + + + Removes an existing binding for @property on @object. +Note that bindings are automatically removed when the +object is finalized, so it is rarely necessary to call this +function. + + + + + + the object + + + + the property whose binding is removed + + + + + + Applies any changes that have been made to the settings. This +function does nothing unless @settings is in 'delay-apply' mode; +see g_settings_delay(). In the normal case settings are always +applied immediately. + + + + + + Create a binding between the @key in the @settings object +and the property @property of @object. +The binding uses the default GIO mapping functions to map +between the settings and property values. These functions +handle booleans, numeric types and string types in a +straightforward way. Use g_settings_bind_with_mapping() if +you need a custom mapping, or map between types that are not +supported by the default mapping functions. +Unless the @flags include %G_SETTINGS_BIND_NO_SENSITIVITY, this +function also establishes a binding between the writability of +a boolean property by that name). See g_settings_bind_writable() +for more details about writable bindings. +Note that the lifecycle of the binding is tied to the object, +and that you can have only one binding per object property. +If you bind the same property twice on the same object, the second +binding overrides the first one. + + + + + + the key to bind + + + + a #GObject + + + + the name of the property to bind + + + + flags for the binding + + + + + + Create a binding between the @key in the @settings object +and the property @property of @object. +The binding uses the provided mapping functions to map between +settings and property values. +Note that the lifecycle of the binding is tied to the object, +and that you can have only one binding per object property. +If you bind the same property twice on the same object, the second +binding overrides the first one. + + + + + + the key to bind + + + + a #GObject + + + + the name of the property to bind + + + + flags for the binding + + + + a function that gets called to convert values from @settings to @object, or %NULL to use the default GIO mapping + + + + a function that gets called to convert values from @object to @settings, or %NULL to use the default GIO mapping + + + + data that gets passed to @get_mapping and @set_mapping + + + + #GDestroyNotify function for @user_data + + + + + + Create a binding between the writability of @key in the +The property must be boolean; "sensitive" or "visible" +properties of widgets are the most likely candidates. +Writable bindings are always uni-directional; changes of the +writability of the setting will be propagated to the object +property, not the other way. +When the @inverted argument is %TRUE, the binding inverts the +value as it passes from the setting to the object, i.e. @property +will be set to %TRUE if the key is <emphasis>not</emphasis> +writable. +Note that the lifecycle of the binding is tied to the object, +and that you can have only one binding per object property. +If you bind the same property twice on the same object, the second +binding overrides the first one. + + + + + + the key to bind + + + + a #GObject + + + + the name of a boolean property to bind + + + + whether to 'invert' the value + + + + + + Changes the #GSettings object into 'delay-apply' mode. In this +mode, changes to @settings are not immediately propagated to the +backend, but kept locally until g_settings_apply() is called. + + + + + + Gets the value that is stored at @key in @settings. +A convenience function that combines g_settings_get_value() with +g_variant_get(). +It is a programmer error to give a @key that isn't contained in the +schema for @settings or for the #GVariantType of @format to mismatch +the type given in the schema. + + + + + + the key to get the value for + + + + a #GVariant format string + + + + + + + + + + Gets the value that is stored at @key in @settings. +A convenience variant of g_settings_get() for booleans. +It is a programmer error to give a @key that isn't specified as +having a boolean type in the schema for @settings. + + a boolean + + + + + the key to get the value for + + + + + + Creates a 'child' settings object which has a base path of +<replaceable>base-path</replaceable>/@name", where +<replaceable>base-path</replaceable> is the base path of @settings. +The schema for the child settings object must have been declared +in the schema of @settings using a <tag class="starttag">child</tag> element. + + a 'child' settings object + + + + + the name of the 'child' schema + + + + + + Gets the value that is stored at @key in @settings. +A convenience variant of g_settings_get() for doubles. +It is a programmer error to give a @key that isn't specified as +having a 'double' type in the schema for @settings. + + a double + + + + + the key to get the value for + + + + + + Gets the value that is stored in @settings for @key and converts it +to the enum value that it represents. +In order to use this function the type of the value must be a string +and it must be marked in the schema file as an enumerated type. +It is a programmer error to give a @key that isn't contained in the +schema for @settings or is not marked as an enumerated type. +If the value stored in the configuration database is not a valid +value for the enumerated type then this function will return the +default value. + + the enum value + + + + + the key to get the value for + + + + + + Gets the value that is stored in @settings for @key and converts it +to the flags value that it represents. +In order to use this function the type of the value must be an array +of strings and it must be marked in the schema file as an flags type. +It is a programmer error to give a @key that isn't contained in the +schema for @settings or is not marked as a flags type. +If the value stored in the configuration database is not a valid +value for the flags type then this function will return the default +value. + + the flags value + + + + + the key to get the value for + + + + + + Returns whether the #GSettings object has any unapplied +changes. This can only be the case if it is in 'delayed-apply' mode. + + %TRUE if @settings has unapplied changes + + + + + Gets the value that is stored at @key in @settings. +A convenience variant of g_settings_get() for 32-bit integers. +It is a programmer error to give a @key that isn't specified as +having a int32 type in the schema for @settings. + + an integer + + + + + the key to get the value for + + + + + + Gets the value that is stored at @key in @settings, subject to +application-level validation/mapping. +You should use this function when the application needs to perform +some processing on the value of the key (for example, parsing). The +indicates that the processing was unsuccessful (due to a parse error, +for example) then the mapping is tried again with another value. +This allows a robust 'fall back to defaults' behaviour to be +implemented somewhat automatically. +The first value that is tried is the user's setting for the key. If +the mapping function fails to map this value, other values may be +tried in an unspecified order (system or site defaults, translated +schema default values, untranslated schema default values, etc). +If the mapping function fails for all possible values, one additional +If the mapping function still indicates failure at this point then +the application will be aborted. +The result parameter for the @mapping function is pointed to a +#gpointer which is initially set to %NULL. The same pointer is given +to each invocation of @mapping. The final value of that #gpointer is +what is returned by this function. %NULL is valid; it is returned +just as any other value would be. + + the result, which may be %NULL + + + + + the key to get the value for + + + + the function to map the value in the settings database to the value used by the application + + + + user data for @mapping + + + + + + Gets the value that is stored at @key in @settings. +A convenience variant of g_settings_get() for strings. +It is a programmer error to give a @key that isn't specified as +having a string type in the schema for @settings. + + a newly-allocated string + + + + + the key to get the value for + + + + + + A convenience variant of g_settings_get() for string arrays. +It is a programmer error to give a @key that isn't specified as +having an array of strings type in the schema for @settings. +stored at @key in @settings. + + the value that is + + + + + + + the key to get the value for + + + + + + Gets the value that is stored in @settings for @key. +It is a programmer error to give a @key that isn't contained in the +schema for @settings. + + a new #GVariant + + + + + the key to get the value for + + + + + + Finds out if a key can be written or not + + %TRUE if the key @name is writable + + + + + the name of a key + + + + + + Gets the list of children on @settings. +The list is exactly the list of strings for which it is not an error +to call g_settings_get_child(). +For GSettings objects that are lists, this value can change at any +time and you should connect to the "children-changed" signal to watch +request a child after listing it only for it to have been destroyed +in the meantime. For this reason, g_settings_get_chuld() may return +%NULL even for a child that was listed by this function. +For GSettings objects that are not lists, you should probably not be +calling this function from "normal" code (since you should already +know what children are in your schema). This function may still be +useful there for introspection reasons, however. +You should free the return value with g_strfreev() when you are done +with it. + + a list of the children on @settings + + + + + + + Introspects the list of keys on @settings. +You should probably not be calling this function from "normal" code +(since you should already know what keys are in your schema). This +function is intended for introspection reasons. +You should free the return value with g_strfreev() when you are done +with it. + + a list of the keys on @settings + + + + + + + Resets @key to its default value. +This call resets the key, as much as possible, to its default value. +That might the value specified in the schema or the one set by the +administrator. + + + + + + the name of a key + + + + + + Reverts all non-applied changes to the settings. This function +does nothing unless @settings is in 'delay-apply' mode; see +g_settings_delay(). In the normal case settings are always applied +immediately. +Change notifications will be emitted for affected keys. + + + + + + Sets @key in @settings to @value. +A convenience function that combines g_settings_set_value() with +g_variant_new(). +It is a programmer error to give a @key that isn't contained in the +schema for @settings or for the #GVariantType of @format to mismatch +the type given in the schema. + + %TRUE if setting the key succeeded, %FALSE if the key was not writable + + + + + the name of the key to set + + + + a #GVariant format string + + + + + + + + + + Sets @key in @settings to @value. +A convenience variant of g_settings_set() for booleans. +It is a programmer error to give a @key that isn't specified as +having a boolean type in the schema for @settings. + + %TRUE if setting the key succeeded, %FALSE if the key was not writable + + + + + the name of the key to set + + + + the value to set it to + + + + + + Sets @key in @settings to @value. +A convenience variant of g_settings_set() for doubles. +It is a programmer error to give a @key that isn't specified as +having a 'double' type in the schema for @settings. + + %TRUE if setting the key succeeded, %FALSE if the key was not writable + + + + + the name of the key to set + + + + the value to set it to + + + + + + Looks up the enumerated type nick for @value and writes it to @key, +within @settings. +It is a programmer error to give a @key that isn't contained in the +schema for @settings or is not marked as an enumerated type, or for +After performing the write, accessing @key directly with +g_settings_get_string() will return the 'nick' associated with + + %TRUE, if the set succeeds + + + + + a key, within @settings + + + + an enumerated value + + + + + + Looks up the flags type nicks for the bits specified by @value, puts +them in an array of strings and writes the array to @key, withing +It is a programmer error to give a @key that isn't contained in the +schema for @settings or is not marked as a flags type, or for @value +to contain any bits that are not value for the named type. +After performing the write, accessing @key directly with +g_settings_get_strv() will return an array of 'nicks'; one for each +bit in @value. + + %TRUE, if the set succeeds + + + + + a key, within @settings + + + + a flags value + + + + + + Sets @key in @settings to @value. +A convenience variant of g_settings_set() for 32-bit integers. +It is a programmer error to give a @key that isn't specified as +having a int32 type in the schema for @settings. + + %TRUE if setting the key succeeded, %FALSE if the key was not writable + + + + + the name of the key to set + + + + the value to set it to + + + + + + Sets @key in @settings to @value. +A convenience variant of g_settings_set() for strings. +It is a programmer error to give a @key that isn't specified as +having a string type in the schema for @settings. + + %TRUE if setting the key succeeded, %FALSE if the key was not writable + + + + + the name of the key to set + + + + the value to set it to + + + + + + Sets @key in @settings to @value. +A convenience variant of g_settings_set() for string arrays. If +It is a programmer error to give a @key that isn't specified as +having an array of strings type in the schema for @settings. + + %TRUE if setting the key succeeded, %FALSE if the key was not writable + + + + + the name of the key to set + + + + the value to set it to, or %NULL + + + + + + + + Sets @key in @settings to @value. +It is a programmer error to give a @key that isn't contained in the +schema for @settings or for @value to have the incorrect type, per +the schema. +If @value is floating then this function consumes the reference. + + %TRUE if setting the key succeeded, %FALSE if the key was not writable + + + + + the name of the key to set + + + + a #GVariant of the correct type + + + + + + + + + If this property is %TRUE, the #GSettings object has outstanding +changes that will be applied when g_settings_apply() is called. + + + + The path within the backend where the settings are stored. + + + + The name of the schema that describes the types of keys +for this #GSettings object. + + + + + + + + + + The "change-event" signal is emitted once per change event that +affects this settings object. You should connect to this signal +only if you are interested in viewing groups of changes before they +are split out into multiple emissions of the "changed" signal. +For most use cases it is more appropriate to use the "changed" signal. +In the event that the change event applies to one or more specified +keys, @keys will be an array of #GQuark of length @n_keys. In the +event that the change event applies to the #GSettings object as a +be %NULL and @n_keys will be 0. +The default handler for this signal invokes the "changed" signal +for each affected key. If any other connected handler returns +%TRUE then this default functionality will be supressed. + + %TRUE to stop other handlers from being invoked for the event. FALSE to propagate the event further. + + + + + an array of #GQuark<!-- -->s for the changed keys, or %NULL + + + + the length of the @keys array, or 0 + + + + + + The "changed" signal is emitted when a key has potentially changed. +You should call one of the g_settings_get() calls to check the new +value. +This signal supports detailed connections. You can connect to the +detailed signal "changed::x" in order to only receive callbacks +when key "x" changes. + + + + + + the name of the key that changed + + + + + + The "writable-change-event" signal is emitted once per writability +change event that affects this settings object. You should connect +to this signal if you are interested in viewing groups of changes +before they are split out into multiple emissions of the +"writable-changed" signal. For most use cases it is more +appropriate to use the "writable-changed" signal. +In the event that the writability change applies only to a single +key, @key will be set to the #GQuark for that key. In the event +that the writability change affects the entire settings object, +The default handler for this signal invokes the "writable-changed" +and "changed" signals for each affected key. This is done because +changes in writability might also imply changes in value (if for +example, a new mandatory setting is introduced). If any other +connected handler returns %TRUE then this default functionality +will be supressed. + + %TRUE to stop other handlers from being invoked for the event. FALSE to propagate the event further. + + + + + the quark of the key, or 0 + + + + + + The "writable-changed" signal is emitted when the writability of a +key has potentially changed. You should call +g_settings_is_writable() in order to determine the new status. +This signal supports detailed connections. You can connect to the +detailed signal "writable-changed::x" in order to only receive +callbacks when the writability of "x" changes. + + + + + + the key + + + + + + + An implementation of a settings storage repository. + + Calculate the longest common prefix of all keys in a tree and write +out an array of the key names relative to that prefix and, +optionally, the value to store at each of those keys. +You must free the value returned in @path, @keys and @values using +g_free(). You should not attempt to free or unref the contents of + + + + + + a #GTree containing the changes + + + + the location to save the path + + + + the location to save the relative keys + + + + the location to save the values, or %NULL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Signals that a single key has possibly changed. Backend +implementations should call this if a key has possibly changed its +value. +'//', and not ending with a slash). +The implementation must call this function during any call to +g_settings_backend_write(), before the call returns (except in the +case that no keys are actually changed and it cares to detect this +fact). It may not rely on the existence of a mainloop for +dispatching the signal later. +The implementation may call this function at any other time it likes +in response to other events (such as changes occuring outside of the +program). These calls may originate from a mainloop or may originate +in response to any other action (including from calls to +g_settings_backend_write()). +In the case that this call is in response to a call to +g_settings_backend_write() then @origin_tag must be set to the same +value that was passed to that call. + + + + + + the name of the key + + + + the origin tag + + + + + + This call is a convenience wrapper. It gets the list of changes from +g_settings_backend_changed(). + + + + + + a #GTree containing the changes + + + + the origin tag + + + + + + Signals that a list of keys have possibly changed. Backend +implementations should call this if keys have possibly changed their +values. +not containing '//'). Each string in @items must form a valid key +end with '/' and must not contain '//'). +The meaning of this signal is that any of the key names resulting +from the contatenation of @path with each item in @items may have +changed. +The same rules for when notifications must occur apply as per +g_settings_backend_changed(). These two calls can be used +interchangeably if exactly one item has changed (although in that +case g_settings_backend_changed() is definitely preferred). +For efficiency reasons, the implementation should strive for @path to +keys that were changed) but this is not strictly required. + + + + + + the path containing the changes + + + + the %NULL-terminated list of changed keys + + + + the origin tag + + + + + + Signals that all keys below a given path may have possibly changed. +Backend implementations should call this if an entire path of keys +have possibly changed their values. +not containing '//'). +The meaning of this signal is that any of the key which has a name +starting with @path may have changed. +The same rules for when notifications must occur apply as per +g_settings_backend_changed(). This call might be an appropriate +reasponse to a 'reset' call but implementations are also free to +explicitly list the keys that were affected by that call if they can +easily do so. +For efficiency reasons, the implementation should strive for @path to +keys that were changed) but this is not strictly required. As an +example, if this function is called with the path of "/" then every +single key in the application will be notified of a possible change. + + + + + + the path containing the changes + + + + the origin tag + + + + + + Signals that the writability of all keys below a given path may have +changed. +Since GSettings performs no locking operations for itself, this call +will always be made in response to external events. + + + + + + the name of the path + + + + + + Signals that the writability of a single key has possibly changed. +Since GSettings performs no locking operations for itself, this call +will always be made in response to external events. + + + + + + the name of the key + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Flags used when creating a binding. These flags determine in which +direction the binding works. The default is to synchronize in both +directions. + + + + + + + + + The type for the function that is used to convert from #GSettings to +an object property. The @value is already initialized to hold values +of the appropriate type. + + %TRUE if the conversion succeeded, %FALSE in case of an error + + + + + return location for the property value + + + + the #GVariant + + + + user data that was specified when the binding was created + + + + + + The type for the function that is used to convert an object property +value to a #GVariant for storing it in #GSettings. + + a new #GVariant holding the data from @value, or %NULL in case of an error + + + + + a #GValue containing the property value to map + + + + the #GVariantType to create + + + + user data that was specified when the binding was created + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The type of the function that is used to convert from a value stored +in a #GSettings to a value that is useful to the application. +If the value is successfully mapped, the result should be stored at +is not in the right format) then %FALSE should be returned. +If @value is %NULL then it means that the mapping function is being +given a "last chance" to successfully return a valid value. %TRUE +must be returned in this case. + + %TRUE if the conversion succeeded, %FALSE in case of an error + + + + + the #GVariant to map, or %NULL + + + + the result of the mapping + + + + the user data that was passed to g_settings_get_mapped() + + + + + + + + The <structname>GSimpleAction</structname> structure contains private +data and should only be accessed using the provided API + + + Creates a new action. +The created action is stateless. See g_simple_action_new_stateful(). + + a new #GSimpleAction + + + + + the name of the action + + + + the type of parameter to the activate function + + + + + + Creates a new stateful action. +must have the same #GVariantType as the initial state. +If the @state GVariant is floating, it is consumed. + + a new #GSimpleAction + + + + + the name of the action + + + + the type of the parameter to the activate function + + + + the initial state of the action + + + + + + Sets the action as enabled or not. +An action must be enabled in order to be activated or in order to +have its state changed from outside callers. + + + + + + whether the action is enabled + + + + + + If @action is currently enabled. +If the action is disabled then calls to g_simple_action_activate() and +g_simple_action_set_state() have no effect. + + + + The name of the action. This is mostly meaningful for identifying +the action once it has been added to a #GSimpleActionGroup. + + + + The type of the parameter that must be given when activating the +action. + + + + The state of the action, or %NULL if the action is stateless. + + + + The #GVariantType of the state that the action has, or %NULL if the +action is stateless. + + + + + + + + + + Indicates that the action was just activated. +an incorrect type was given, no signal will be emitted. + + + + + + the parameter to the activation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The #GSimpleActionGroup structure contains private data and should only be accessed using the provided API. + + + Creates a new, empty, #GSimpleActionGroup. + + a new #GSimpleActionGroup + + + + + Adds an action to the action group. +If the action group already contains an action with the same name as +The action group takes its own reference on @action. + + + + + + a #GAction + + + + + + Looks up the action with the name @action_name in the group. +If no such action exists, returns %NULL. + + a #GAction, or %NULL + + + + + the name of an action + + + + + + Removes the named action from the action group. +If no action of this name is in the group then nothing happens. + + + + + + the name of the action + + + + + + + + + + + + + + + + + + + + + + + + + + A simple implementation of #GAsyncResult. + Creates a #GSimpleAsyncResult. + a #GSimpleAsyncResult. + a #GObject the asynchronous function was called with, or %NULL. + a #GAsyncReadyCallback. - + user data passed to @callback. + - + the asynchronous function. + + c:identifier="g_simple_async_result_new_error" + introspectable="0"> + Creates a new #GSimpleAsyncResult with a set error. + a #GSimpleAsyncResult. + a #GObject, or %NULL. + a #GAsyncReadyCallback. - + user data passed to @callback. + + a #GQuark. - + an error code. + + a string with format characters. @@ -18082,138 +34865,179 @@ from a #GResolver routine." + + Creates a #GSimpleAsyncResult from an error condition. + + a #GSimpleAsyncResult. + + + + + a #GObject, or %NULL. + + + + a #GAsyncReadyCallback. + + + + user data passed to @callback. + + + + a #GError location. + + + + + Ensures that the data passed to the _finish function of an async +operation is consistent. Three checks are performed. +First, @result is checked to ensure that it is really a +#GSimpleAsyncResult. Second, @source is checked to ensure that it +matches the source object of @result. Third, @source_tag is +checked to ensure that it is either %NULL (as it is when the result was +created by g_simple_async_report_error_in_idle() or +g_simple_async_report_gerror_in_idle()) or equal to the +convention, is a pointer to the _async function corresponding to the +_finish function from which this function is called). - + #TRUE if all checks passed or #FALSE if any failed. + + the #GAsyncResult passed to the _finish function. + the #GObject passed to the _finish function. - + the asynchronous function. + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + Completes an asynchronous I/O job immediately. Must be called in +the thread where the asynchronous result was to be delivered, as it +invokes the callback directly. If you are in a different thread use +g_simple_async_result_complete_in_idle(). +Calling this function takes a reference to @simple for as long as +is needed to complete the call. + Completes an asynchronous function in an idle handler in the <link +linkend="g-main-context-push-thread-default">thread-default main +loop</link> of the thread that @simple was initially created in. +Calling this function takes a reference to @simple for as long as +is needed to complete the call. + + Gets the operation result boolean from within the asynchronous result. +if the operation's result was %FALSE. + + %TRUE if the operation's result was %TRUE, %FALSE + + + + + Gets a pointer result as returned by the asynchronous function. + + a pointer from the result. + + + + + Gets a gssize from the asynchronous result. + + a gssize returned from the asynchronous function. + + + + + Gets the source tag for the #GSimpleAsyncResult. + + a #gpointer to the source object for the #GSimpleAsyncResult. + + + + + Propagates an error from within the simple asynchronous result to +a given destination. + + %TRUE if the error was propagated to @dest. %FALSE otherwise. + + + + c:identifier="g_simple_async_result_run_in_thread" + introspectable="0"> + Runs the asynchronous job in a separate thread and then calls +g_simple_async_result_complete_in_idle() on @simple to return +the result to the appropriate main loop. +Calling this function takes a reference to @simple for as long as +is needed to run the job and report its completion. - + + a #GSimpleAsyncThreadFunc. - + the io priority of the request. + + optional #GCancellable object, %NULL to ignore. - + + Sets an error within the asynchronous result without a #GError. + a #GQuark (usually #G_IO_ERROR). - + an error code. + + a formatted error reporting string. @@ -18222,455 +35046,1165 @@ from a #GResolver routine." + + Sets an error within the asynchronous result without a #GError. +Unless writing a binding, see g_simple_async_result_set_error(). + + + + + + a #GQuark (usually #G_IO_ERROR). + + + + an error code. + + + + a formatted error reporting string. + + + + va_list of arguments. + + + + + + Sets the result from a #GError. + + + + + + #GError. + + + + + + Sets whether to handle cancellation within the asynchronous operation. + + + + + + a #gboolean. + + + + + + Sets the operation result to a boolean within the asynchronous result. + + + + + + a #gboolean. + + + + + + Sets the operation result within the asynchronous result to a pointer. + + + + + + a pointer result from an asynchronous function. + + + + a #GDestroyNotify function. + + + + + + Sets the operation result within the asynchronous result to +the given @op_res. + + + + + + a #gssize. + + + + - + + Simple thread function that runs an asynchronous operation and +checks for cancellation. + a #GSimpleAsyncResult. + a #GObject. + optional #GCancellable object, %NULL to ignore. + + #GSimplePermission is an opaque data structure. There are no methods +except for those defined by #GPermission. + + Creates a new #GPermission instance that represents an action that is +either always or never allowed. + + the #GSimplePermission, as a #GPermission + + + + + %TRUE if the action is allowed + + + + + + A lowlevel network socket object. - + + Creates a new #GSocket with the defined family, type and protocol. +If @protocol is 0 (%G_SOCKET_PROTOCOL_DEFAULT) the default protocol type +for the family and type is used. +The @protocol is a family and type specific int that specifies what +kind of protocol to use. #GSocketProtocol lists several common ones. +Many families only support one protocol, and use 0 for this, others +support several and using 0 means to use the default protocol for +the family and type. +The protocol id is passed directly to the operating +system, so you can use protocols not listed in #GSocketProtocol if you +know the protocol number used for it. +Free the returned object with g_object_unref(). + a #GSocket or %NULL on error. + the socket family to use, e.g. %G_SOCKET_FAMILY_IPV4. + the socket type to use. + the id of the protocol to use, or 0 for default. + Creates a new #GSocket from a native file descriptor +or winsock SOCKET handle. +This reads all the settings from the file descriptor so that +all properties should work. Note that the file descriptor +will be set to non-blocking mode, independent on the blocking +mode of the #GSocket. +Free the returned object with g_object_unref(). + a #GSocket or %NULL on error. - + a native socket file descriptor. + - - - - - - - - - - - - - - - - - - - - - + Accept incoming connections on a connection-based socket. This removes +the first outstanding connection request from the listening socket and +creates a #GSocket object for it. +The @socket must be bound to a local address with g_socket_bind() and +must be listening for incoming connections (g_socket_listen()). +If there are no outstanding connections then the operation will block +or return %G_IO_ERROR_WOULD_BLOCK if non-blocking I/O is enabled. +To be notified of an incoming connection, wait for the %G_IO_IN condition. +Free the returned object with g_object_unref(). - - - - - - - - - - - + a new #GSocket, or %NULL on error. + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + a %GCancellable or %NULL + + When a socket is created it is attached to an address family, but it +doesn't have an address in this family. g_socket_bind() assigns the +address (sometimes called name) of the socket. +It is generally required to bind to a local address before you can +receive connections. (See g_socket_listen() and g_socket_accept() ). +In certain situations, you may also want to bind a socket that will be +used to initiate connections, though this is not normally required. +eventually call g_socket_accept() on), and %FALSE for client sockets. +(Specifically, if it is %TRUE, then g_socket_bind() will set the +%SO_REUSEADDR flag on the socket, allowing it to bind @address even if +that address was previously used by another socket that has not yet been +fully cleaned-up by the kernel. Failing to set this flag on a server +socket may cause the bind call to return %G_IO_ERROR_ADDRESS_IN_USE if +the server program is stopped and then immediately restarted.) + + %TRUE on success, %FALSE on error. + + + + + a #GSocketAddress specifying the local address. + + + + whether to allow reusing this address + + + + + Checks and resets the pending connect error for the socket. +This is used to check for errors when g_socket_connect() is +used in non-blocking mode. - + %TRUE if no error, %FALSE otherwise, setting @error to the error + - - - + + Closes the socket, shutting down any active connection. +Closing a socket does not wait for all outstanding I/O operations +to finish, so the caller should not rely on them to be guaranteed +to complete even if the close returns with no error. +Once the socket is closed, all other operations will return +%G_IO_ERROR_CLOSED. Closing a socket multiple times will not +return an error. +Sockets will be automatically closed when the last reference +is dropped, but you might want to call this function to make sure +resources are released as early as possible. +Beware that due to the way that TCP works, it is possible for +recently-sent data to be lost if either you close a socket while the +%G_IO_IN condition is set, or else if the remote connection tries to +send something to you after you close the socket but before it has +finished reading all of the data you sent. There is no easy generic +way to avoid this problem; the easiest fix is to design the network +protocol such that the client will never send data "out of turn". +Another solution is for the server to half-close the connection by +calling g_socket_shutdown() with only the @shutdown_write flag set, +and then wait for the client to notice this and close its side of the +connection, after which the server can safely call g_socket_close(). +(This is what #GTcpConnection does if you call +g_tcp_connection_set_graceful_disconnect(). But of course, this +only works if the client will close its connection after the server +does.) + + %TRUE on success, %FALSE on error + + + + + Checks on the readiness of @socket to perform operations. +The operations specified in @condition are checked for and masked +against the currently-satisfied conditions on @socket. The result +is returned. +Note that on Windows, it is possible for an operation to return +%G_IO_ERROR_WOULD_BLOCK even immediately after +g_socket_condition_check() has claimed that the socket is ready for +writing. Rather than calling g_socket_condition_check() and then +writing to the socket if it succeeds, it is generally better to +simply try writing to the socket right away, and try again later if +the initial attempt returns %G_IO_ERROR_WOULD_BLOCK. +It is meaningless to specify %G_IO_ERR or %G_IO_HUP in condition; +these conditions will always be set in the output if they are true. +This call never blocks. + + the @GIOCondition mask of the current state + - + a #GIOCondition mask to check + + Waits for @condition to become true on @socket. When the condition +is met, %TRUE is returned. +If @cancellable is cancelled before the condition is met, or if the +socket has a timeout set and it is reached before the condition is +met, then %FALSE is returned and @error, if non-%NULL, is set to +the appropriate value (%G_IO_ERROR_CANCELLED or +%G_IO_ERROR_TIMED_OUT). - + %TRUE if the condition was met, %FALSE otherwise + - + a #GIOCondition mask to wait for + + a #GCancellable, or %NULL - + + Connect the socket to the specified remote address. +For connection oriented socket this generally means we attempt to make +a connection to the @address. For a connection-less socket it sets +the default address for g_socket_send() and discards all incoming datagrams +from other sources. +Generally connection oriented sockets can only connect once, but +connection-less sockets can connect multiple times to change the +default address. +If the connect call needs to do network I/O it will block, unless +non-blocking I/O is enabled. Then %G_IO_ERROR_PENDING is returned +and the user can be notified of the connection finishing by waiting +for the G_IO_OUT condition. The result of the connection can then be +checked with g_socket_check_connect_result(). + + %TRUE if connected, %FALSE on error. + + + + + a #GSocketAddress specifying the remote address. + + + + a %GCancellable or %NULL + + + + + + Creates a #GSocketConnection subclass of the right type for - + a #GSocketConnection + + + + + Creates a %GSource that can be attached to a %GMainContext to monitor +for the availibility of the specified @condition on the socket. +The callback on the source is of the #GSocketSourceFunc type. +It is meaningless to specify %G_IO_ERR or %G_IO_HUP in @condition; +these conditions will always be reported output if they are true. +cause the source to trigger, reporting the current condition (which +is likely 0 unless cancellation happened at the same time as a +condition change). You can check for this in the callback using +g_cancellable_is_cancelled(). +If @socket has a timeout set, and it is reached before @condition +occurs, the source will then trigger anyway, reporting %G_IO_IN or +%G_IO_OUT depending on @condition. However, @socket will have been +marked as having had a timeout, and so the next #GSocket I/O method +you call will then fail with a %G_IO_ERROR_TIMED_OUT. + + a newly allocated %GSource, free with g_source_unref(). + + + a #GIOCondition mask to monitor + + + a %GCancellable or %NULL - + + Gets the blocking mode of the socket. For details on blocking I/O, +see g_socket_set_blocking(). - + %TRUE if blocking I/O is used, %FALSE otherwise. + - + + Returns the credentials of the foreign process connected to this +socket, if any (e.g. it is only supported for %G_SOCKET_FAMILY_UNIX +sockets). +If this operation isn't supported on the OS, the method fails with +the %G_IO_ERROR_NOT_SUPPORTED error. On Linux this is implemented +by reading the %SO_PEERCRED option on the underlying socket. +Other ways to obtain credentials from a foreign peer includes the +#GUnixCredentialsMessage type and +g_unix_connection_send_credentials() / +g_unix_connection_receive_credentials() functions. +that must be freed with g_object_unref(). + + %NULL if @error is set, otherwise a #GCredentials object + + + + + Gets the socket family of the socket. - + a #GSocketFamily + + + + + Returns the underlying OS socket object. On unix this +is a socket file descriptor, and on windows this is +a Winsock2 SOCKET handle. This may be useful for +doing platform specific or otherwise unusual operations +on the socket. + + the file descriptor of the socket. + + + + + Gets the keepalive mode of the socket. For details on this, +see g_socket_set_keepalive(). + + %TRUE if keepalive is active, %FALSE otherwise. + + + + + Gets the listen backlog setting of the socket. For details on this, +see g_socket_set_listen_backlog(). + + the maximum number of pending connections. + + + + + Try to get the local address of a bound socket. This is only +useful if the socket has been bound to a local address, +either explicitly or implicitly when connecting. +Free the returned object with g_object_unref(). + + a #GSocketAddress or %NULL on error. + + + + + Gets the socket protocol id the socket was created with. +In case the protocol is unknown, -1 is returned. + + a protocol id, or -1 if unknown + + + + + Try to get the remove address of a connected socket. This is only +useful for connection oriented sockets that have been connected. +Free the returned object with g_object_unref(). + + a #GSocketAddress or %NULL on error. + + + + + Gets the socket type of the socket. + + a #GSocketType + + + + + Gets the timeout setting of the socket. For details on this, see +g_socket_set_timeout(). + + the timeout in seconds + + + + + Checks whether a socket is closed. + + %TRUE if socket is closed, %FALSE otherwise + + + + + Check whether the socket is connected. This is only useful for +connection-oriented sockets. + + %TRUE if socket is connected, %FALSE otherwise. + + + + + Marks the socket as a server socket, i.e. a socket that is used +to accept incoming requests using g_socket_accept(). +Before calling this the socket must be bound to a local address using +g_socket_bind(). +To set the maximum amount of outstanding clients, use +g_socket_set_listen_backlog(). + + %TRUE on success, %FALSE on error. + + + + + Receive data (up to @size bytes) from a socket. This is mainly used by +connection-oriented sockets; it is identical to g_socket_receive_from() +with @address set to %NULL. +For %G_SOCKET_TYPE_DATAGRAM and %G_SOCKET_TYPE_SEQPACKET sockets, +g_socket_receive() will always read either 0 or 1 complete messages from +the socket. If the received message is too large to fit in @buffer, then +the data beyond @size bytes will be discarded, without any explicit +indication that this has occurred. +For %G_SOCKET_TYPE_STREAM sockets, g_socket_receive() can return any +number of bytes, up to @size. If more than @size bytes have been +received, the additional data will be returned in future calls to +g_socket_receive(). +If the socket is in blocking mode the call will block until there is +some data to receive or there is an error. If there is no data available +and the socket is in non-blocking mode, a %G_IO_ERROR_WOULD_BLOCK error +will be returned. To be notified when data is available, wait for the +%G_IO_IN condition. +On error -1 is returned and @error is set accordingly. + + Number of bytes read, or -1 on error + - + + a buffer to read data into (which should be at least @size bytes long). - + the number of bytes you want to read from the socket + + a %GCancellable or %NULL + Receive data (up to @size bytes) from a socket. +If @address is non-%NULL then @address will be set equal to the +source address of the received packet. +See g_socket_receive() for additional information. - + Number of bytes read, or -1 on error + + a pointer to a #GSocketAddress pointer, or %NULL - - - - - - - - - - - - - - - - + a buffer to read data into (which should be at least @size bytes long). - - - - - - - - - - - - - - - - - - - - + the number of bytes you want to read from the socket + + a %GCancellable or %NULL + Receive data from a socket. This is the most complicated and +fully-featured version of this call. For easier use, see +g_socket_receive() and g_socket_receive_from(). +If @address is non-%NULL then @address will be set equal to the +source address of the received packet. +describe the buffers that received data will be scattered into. +If @num_vectors is -1, then @vectors is assumed to be terminated +by a #GInputVector with a %NULL buffer pointer. +As a special case, if @num_vectors is 0 (in which case, @vectors +may of course be %NULL), then a single byte is received and +discarded. This is to facilitate the common practice of sending a +single '\0' byte for the purposes of transferring ancillary data. +array of #GSocketControlMessage instances or %NULL if no such +messages was received. These correspond to the control messages +received from the kernel, one #GSocketControlMessage per message +from the kernel. This array is %NULL-terminated and must be freed +by the caller using g_free() after calling g_object_unref() on each +element. If @messages is %NULL, any control messages received will +be discarded. +messages received. +If both @messages and @num_messages are non-%NULL, then +for this are available in the #GSocketMsgFlags enum, but the +values there are the same as the system values, and the flags +are passed in as-is, so you can pass in system-specific flags too +(and g_socket_receive_message() may pass system-specific flags out). +As with g_socket_receive(), data may be discarded if @socket is +%G_SOCKET_TYPE_DATAGRAM or %G_SOCKET_TYPE_SEQPACKET and you do not +provide enough buffer space to read a complete message. You can pass +%G_SOCKET_MSG_PEEK in @flags to peek at the current message without +removing it from the receive queue, but there is no portable way to find +out the length of the message other than by reading it into a +sufficiently-large buffer. +If the socket is in blocking mode the call will block until there +is some data to receive or there is an error. If there is no data +available and the socket is in non-blocking mode, a +%G_IO_ERROR_WOULD_BLOCK error will be returned. To be notified when +data is available, wait for the %G_IO_IN condition. +On error -1 is returned and @error is set accordingly. - + Number of bytes read, or -1 on error + + a pointer to a #GSocketAddress pointer, or %NULL + an array of #GInputVector structs - + the number of elements in @vectors, or -1 + + a pointer which may be filled with an array of #GSocketControlMessages, or %NULL - - + + a pointer which will be filled with the number of elements in @messages, or %NULL + - - + + a pointer to an int containing #GSocketMsgFlags flags + + a %GCancellable or %NULL + + + + + + This behaves exactly the same as g_socket_receive(), except that +the choice of blocking or non-blocking behavior is determined by +the @blocking argument rather than by @socket's properties. + + Number of bytes read, or -1 on error + + + + + a buffer to read data into (which should be at least @size bytes long). + + + + the number of bytes you want to read from the socket + + + + whether to do blocking or non-blocking I/O + + + + a %GCancellable or %NULL + + + + + + Tries to send @size bytes from @buffer on the socket. This is +mainly used by connection-oriented sockets; it is identical to +g_socket_send_to() with @address set to %NULL. +If the socket is in blocking mode the call will block until there is +space for the data in the socket queue. If there is no space available +and the socket is in non-blocking mode a %G_IO_ERROR_WOULD_BLOCK error +will be returned. To be notified when space is available, wait for the +%G_IO_OUT condition. Note though that you may still receive +%G_IO_ERROR_WOULD_BLOCK from g_socket_send() even if you were previously +notified of a %G_IO_OUT condition. (On Windows in particular, this is +very common due to the way the underlying APIs work.) +On error -1 is returned and @error is set accordingly. +on error + + Number of bytes written (which may be less than @size), or -1 + + + + + the buffer containing the data to send. + + + + the number of bytes to send + + + + a %GCancellable or %NULL + Send data to @address on @socket. This is the most complicated and +fully-featured version of this call. For easier use, see +g_socket_send() and g_socket_send_to(). +If @address is %NULL then the message is sent to the default receiver +(set by g_socket_connect()). +then @vectors is assumed to be terminated by a #GOutputVector with a +%NULL buffer pointer.) The #GOutputVector structs describe the buffers +that the sent data will be gathered from. Using multiple +#GOutputVector<!-- -->s is more memory-efficient than manually copying +data from multiple sources into a single buffer, and more +network-efficient than making multiple calls to g_socket_send(). +#GSocketControlMessage instances. These correspond to the control +messages to be sent on the socket. +If @num_messages is -1 then @messages is treated as a %NULL-terminated +array. +for this are available in the #GSocketMsgFlags enum, but the +values there are the same as the system values, and the flags +are passed in as-is, so you can pass in system-specific flags too. +If the socket is in blocking mode the call will block until there is +space for the data in the socket queue. If there is no space available +and the socket is in non-blocking mode a %G_IO_ERROR_WOULD_BLOCK error +will be returned. To be notified when space is available, wait for the +%G_IO_OUT condition. Note though that you may still receive +%G_IO_ERROR_WOULD_BLOCK from g_socket_send() even if you were previously +notified of a %G_IO_OUT condition. (On Windows in particular, this is +very common due to the way the underlying APIs work.) +On error -1 is returned and @error is set accordingly. +on error - + Number of bytes written (which may be less than @size), or -1 + + a #GSocketAddress, or %NULL + an array of #GOutputVector structs - + the number of elements in @vectors, or -1 + + a pointer to an array of #GSocketControlMessages, or %NULL. - + number of elements in @messages, or -1. + - + an int containing #GSocketMsgFlags flags + + a %GCancellable or %NULL - + + Tries to send @size bytes from @buffer to @address. If @address is +%NULL then the message is sent to the default receiver (set by +g_socket_connect()). +See g_socket_send() for additional information. +on error - + Number of bytes written (which may be less than @size), or -1 + + + + a #GSocketAddress, or %NULL + + + + the buffer containing the data to send. + + + + the number of bytes to send + + + + a %GCancellable or %NULL + + + - + + This behaves exactly the same as g_socket_send(), except that +the choice of blocking or non-blocking behavior is determined by +the @blocking argument rather than by @socket's properties. +on error - + Number of bytes written (which may be less than @size), or -1 + + + + + the buffer containing the data to send. + + + + the number of bytes to send + + + + whether to do blocking or non-blocking I/O + + + + a %GCancellable or %NULL + + + + + + Sets the blocking mode of the socket. In blocking mode +all operations block until they succeed or there is an error. In +non-blocking mode all functions return results immediately or +with a %G_IO_ERROR_WOULD_BLOCK error. +All sockets are created in blocking mode. However, note that the +platform level socket is always non-blocking, and blocking mode +is a GSocket level feature. + + + + + + Whether to use blocking I/O or not. + + + + + + Sets or unsets the %SO_KEEPALIVE flag on the underlying socket. When +this flag is set on a socket, the system will attempt to verify that the +remote socket endpoint is still present if a sufficiently long period of +time passes with no data being exchanged. If the system is unable to +verify the presence of the remote endpoint, it will automatically close +the connection. +This option is only functional on certain kinds of sockets. (Notably, +%G_SOCKET_PROTOCOL_TCP sockets.) +The exact time between pings is system- and protocol-dependent, but will +normally be at least two hours. Most commonly, you would set this flag +on a server socket if you want to allow clients to remain idle for long +periods of time, but also want to ensure that connections are eventually +garbage-collected if clients crash or become unreachable. + + + + + + Value for the keepalive flag + + + + + + Sets the maximum number of outstanding connections allowed +when listening on this socket. If more clients than this are +connecting to the socket and the application is not handling them +on time then the new connections will be refused. +Note that this must be called before g_socket_listen() and has no +effect if called after that. + + + + + + the maximum number of pending connections. + + + + + + Sets the time in seconds after which I/O operations on @socket will +time out if they have not yet completed. +On a blocking socket, this means that any blocking #GSocket +operation will time out after @timeout seconds of inactivity, +returning %G_IO_ERROR_TIMED_OUT. +On a non-blocking socket, calls to g_socket_condition_wait() will +also fail with %G_IO_ERROR_TIMED_OUT after the given time. Sources +created with g_socket_create_source() will trigger after +set, at which point calling g_socket_receive(), g_socket_send(), +g_socket_check_connect_result(), etc, will fail with +%G_IO_ERROR_TIMED_OUT. +If @timeout is 0 (the default), operations will never time out +on their own. +Note that if an I/O operation is interrupted by a signal, this may +cause the timeout to be reset. + + + + + + the timeout for @socket, in seconds, or 0 for none + + + + + + Shut down part of a full-duplex connection. +If @shutdown_read is %TRUE then the recieving side of the connection +is shut down, and further reading is disallowed. +If @shutdown_write is %TRUE then the sending side of the connection +is shut down, and further writing is disallowed. +It is allowed for both @shutdown_read and @shutdown_write to be %TRUE. +One example where this is used is graceful disconnect for TCP connections +where you close the sending side, then wait for the other side to close +the connection, thus ensuring that the other side saw all sent data. + + %TRUE on success, %FALSE on error + - + whether to shut down the read side + - + whether to shut down the write side + - + + Checks if a socket is capable of speaking IPv4. +IPv4 sockets are capable of speaking IPv4. On some operating systems +and under some combinations of circumstances IPv6 sockets are also +capable of speaking IPv4. See RFC 3493 section 3.7 for more +information. +No other types of sockets are currently considered as being capable +of speaking IPv4. - + %TRUE if this socket can be used with IPv4. + - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + The timeout in seconds on socket I/O + + + + @@ -18680,78 +36214,127 @@ checks for cancellation."> + A socket endpoint address, corresponding to <type>struct sockaddr</type> +or one of its subtypes. + c:identifier="g_socket_address_new_from_native" + version="2.22"> + Creates a #GSocketAddress subclass corresponding to the native +<type>struct sockaddr</type> @native. +otherwise %NULL. + a new #GSocketAddress if @native could successfully be converted, - + a pointer to a <type>struct sockaddr</type> + - + the size of the memory location pointed to by @native + - - + + Gets the socket family type of @address. + + the socket family type of @address. - + + Gets the size of @address's native <type>struct sockaddr</type>. +You can use this to allocate memory to pass to +g_socket_address_to_native(). - + the size of the native <type>struct sockaddr</type> that + - + + Converts a #GSocketAddress to a native <type>struct +sockaddr</type>, which can be passed to low-level functions like +connect() or bind(). +If not enough space is availible, a %G_IO_ERROR_NO_SPACE error is +returned. If the address type is not known on the system +then a %G_IO_ERROR_NOT_SUPPORTED error is returned. - + %TRUE if @dest was filled in, %FALSE on error + - + a pointer to a memory location that will contain the native <type>struct sockaddr</type>. + - + the size of @dest. Must be at least as large as g_socket_address_get_native_size(). + - - + + Gets the socket family type of @address. + + the socket family type of @address. + + Gets the size of @address's native <type>struct sockaddr</type>. +You can use this to allocate memory to pass to +g_socket_address_to_native(). + + the size of the native <type>struct sockaddr</type> that + + + + Converts a #GSocketAddress to a native <type>struct +sockaddr</type>, which can be passed to low-level functions like +connect() or bind(). +If not enough space is availible, a %G_IO_ERROR_NO_SPACE error is +returned. If the address type is not known on the system +then a %G_IO_ERROR_NOT_SUPPORTED error is returned. - + %TRUE if @dest was filled in, %FALSE on error + - + a pointer to a memory location that will contain the native <type>struct sockaddr</type>. + - + the size of @dest. Must be at least as large as g_socket_address_get_native_size(). + - - - - - - - + + @@ -18764,8 +36347,9 @@ checks for cancellation."> - - + + + the socket family type of @address. @@ -18776,9 +36360,10 @@ checks for cancellation."> - + - + the size of the native <type>struct sockaddr</type> that + @@ -18788,46 +36373,69 @@ checks for cancellation."> - + - + %TRUE if @dest was filled in, %FALSE on error + - + a pointer to a memory location that will contain the native <type>struct sockaddr</type>. + - + the size of @dest. Must be at least as large as g_socket_address_get_native_size(). + + Enumerator type for objects that contain or generate +#GSocketAddress<!-- -->es. + Retrieves the next #GSocketAddress from @enumerator. Note that this +may block for some amount of time. (Eg, a #GNetworkAddress may need +to do a DNS lookup before it can return an address.) Use +g_socket_address_enumerator_next_async() if you need to avoid +blocking. +If @enumerator is expected to yield addresses, but for some reason +is unable to (eg, because of a DNS error), then the first call to +g_socket_address_enumerator_next() will return an appropriate error +in *@error. However, if the first call to +g_socket_address_enumerator_next() succeeds, then any further +internal errors (other than @cancellable being triggered) will be +ignored. +error (in which case *@error will be set) or if there are no +more addresses. + a #GSocketAddress (owned by the caller), or %NULL on + optional #GCancellable object, %NULL to ignore. + Asynchronously retrieves the next #GSocketAddress from @enumerator +and then calls @callback, which must call +g_socket_address_enumerator_next_finish() to get the result. @@ -18835,22 +36443,36 @@ checks for cancellation."> + optional #GCancellable object, %NULL to ignore. - + + a #GAsyncReadyCallback to call when the request is satisfied - - + + the data to pass to callback function + + Retrieves the result of a completed call to +g_socket_address_enumerator_next_async(). See +g_socket_address_enumerator_next() for more information about +error handling. +error (in which case *@error will be set) or if there are no +more addresses. + a #GSocketAddress (owned by the caller), or %NULL on + a #GAsyncResult @@ -18858,19 +36480,38 @@ checks for cancellation."> + Retrieves the next #GSocketAddress from @enumerator. Note that this +may block for some amount of time. (Eg, a #GNetworkAddress may need +to do a DNS lookup before it can return an address.) Use +g_socket_address_enumerator_next_async() if you need to avoid +blocking. +If @enumerator is expected to yield addresses, but for some reason +is unable to (eg, because of a DNS error), then the first call to +g_socket_address_enumerator_next() will return an appropriate error +in *@error. However, if the first call to +g_socket_address_enumerator_next() succeeds, then any further +internal errors (other than @cancellable being triggered) will be +ignored. +error (in which case *@error will be set) or if there are no +more addresses. + a #GSocketAddress (owned by the caller), or %NULL on + optional #GCancellable object, %NULL to ignore. + Asynchronously retrieves the next #GSocketAddress from @enumerator +and then calls @callback, which must call +g_socket_address_enumerator_next_finish() to get the result. @@ -18878,27 +36519,38 @@ checks for cancellation."> + optional #GCancellable object, %NULL to ignore. + closure="2"> + a #GAsyncReadyCallback to call when the request is satisfied - + the data to pass to callback function + + Retrieves the result of a completed call to +g_socket_address_enumerator_next_async(). See +g_socket_address_enumerator_next() for more information about +error handling. +error (in which case *@error will be set) or if there are no +more addresses. + a #GSocketAddress (owned by the caller), or %NULL on + a #GAsyncResult @@ -18914,8 +36566,9 @@ checks for cancellation."> - + + a #GSocketAddress (owned by the caller), or %NULL on @@ -18926,13 +36579,14 @@ checks for cancellation."> + optional #GCancellable object, %NULL to ignore. - + @@ -18944,20 +36598,27 @@ checks for cancellation."> + optional #GCancellable object, %NULL to ignore. - + + a #GAsyncReadyCallback to call when the request is satisfied - + the data to pass to callback function + - + + a #GSocketAddress (owned by the caller), or %NULL on @@ -18966,6 +36627,7 @@ checks for cancellation."> c:type="GSocketAddressEnumerator*"/> + a #GAsyncResult @@ -18978,71 +36640,71 @@ checks for cancellation."> - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + @@ -19050,265 +36712,617 @@ checks for cancellation."> - + A helper class for network servers to listen for and accept connections. + + Creates a new #GSocketClient with the default options. +Free the returned object with g_object_unref(). + a #GSocketClient. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + Enable proxy protocols to be handled by the application. When the +indicated proxy protocol is returned by the #GProxyResolver, +#GSocketClient will consider this protocol as supported but will +not try find a #GProxy instance to handle handshaking. The +application must check for this case by calling +g_socket_connection_get_remote_address() on the returned +#GSocketConnection, and seeing if it's a #GProxyAddress of the +appropriate type, to determine whether or not it needs to handle +the proxy handshaking itself. +This should be used for proxy protocols that are dialects of +another protocol such as HTTP proxy. It also allows cohabitation of +proxy protocols that are reused between protocols. A good example +is HTTP. It can be used to proxy HTTP, FTP and Gopher and can also +be use as generic socket proxy through the HTTP CONNECT method. - + The proxy protocol + - - - - - - - - - - - - - - - - + + Tries to resolve the @connectable and make a network connection to it.. +Upon a successful connection, a new #GSocketConnection is constructed +and returned. The caller owns this new object and must drop their +reference to it when finished with it. +The type of the #GSocketConnection object returned depends on the type of +the underlying socket that is used. For instance, for a TCP/IP connection +it will be a #GTcpConnection. +The socket created will be the same family as the the address that the +or indirectly via g_socket_client_set_local_address(). The socket type +defaults to %G_SOCKET_TYPE_STREAM but can be set with +g_socket_client_set_socket_type(). +If a local address is specified with g_socket_client_set_local_address() the +socket will be bound to this address before connecting. + a #GSocketConnection on success, %NULL on error. + a #GSocketConnectable specifying the remote address. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + optional #GCancellable object, %NULL to ignore. + c:identifier="g_socket_client_connect_async" + version="2.22"> + This is the asynchronous version of g_socket_client_connect(). +When the operation is finished @callback will be +called. You can then call g_socket_client_connect_finish() to get +the result of the operation. + a #GSocketConnectable specifying the remote address. + a #GCancellable, or %NULL + + + + a #GAsyncReadyCallback + + + + user data for the callback + + + + + + Finishes an async connect operation. See g_socket_client_connect_async() + + a #GSocketConnection on success, %NULL on error. + + + + + a #GAsyncResult. + + + + + + This is a helper function for g_socket_client_connect(). +Attempts to create a TCP connection to the named host. +address, an IPv4 address, or a domain name (in which case a DNS +lookup is performed). Quoting with [] is supported for all address +types. A port override may be specified in the usual way with a +colon. Ports may be given as decimal numbers or symbolic names (in +which case an /etc/services lookup is performed). +If no port override is given in @host_and_port then @default_port will be +used as the port number to connect to. +In general, @host_and_port is expected to be provided by the user (allowing +them to give the hostname, and a port overide if necessary) and +In the case that an IP address is given, a single connection +attempt is made. In the case that a name is given, multiple +connection attempts may be made, in turn and according to the +number of address records in DNS, until a connection succeeds. +Upon a successful connection, a new #GSocketConnection is constructed +and returned. The caller owns this new object and must drop their +reference to it when finished with it. +In the event of any failure (DNS error, service not found, no hosts +connectable) %NULL is returned and @error (if non-%NULL) is set +accordingly. + + a #GSocketConnection on success, %NULL on error. + + + + + the name and optionally port of the host to connect to + + + + the default port to connect to + + + + a #GCancellable, or %NULL + + + + + + This is the asynchronous version of g_socket_client_connect_to_host(). +When the operation is finished @callback will be +called. You can then call g_socket_client_connect_to_host_finish() to get +the result of the operation. + + + + + + the name and optionally the port of the host to connect to + + + + the default port to connect to + + + + a #GCancellable, or %NULL + a #GAsyncReadyCallback - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + user data for the callback + + Finishes an async connect operation. See g_socket_client_connect_to_host_async() + a #GSocketConnection on success, %NULL on error. + a #GAsyncResult. - - - + + Attempts to create a TCP connection to a service. +This call looks up the SRV record for @service at @domain for the +"tcp" protocol. It then attempts to connect, in turn, to each of +the hosts providing the service until either a connection succeeds +or there are no hosts remaining. +Upon a successful connection, a new #GSocketConnection is constructed +and returned. The caller owns this new object and must drop their +reference to it when finished with it. +In the event of any failure (DNS error, service not found, no hosts +connectable) %NULL is returned and @error (if non-%NULL) is set +accordingly. + + a #GSocketConnection if successful, or %NULL on error + + a domain name + the name of the service to connect to + a #GCancellable, or %NULL + + + + + + This is the asynchronous version of +g_socket_client_connect_to_service(). + + + + + + a domain name + + + + the name of the service to connect to + + + + a #GCancellable, or %NULL + closure="4"> + a #GAsyncReadyCallback - + user data for the callback + + Finishes an async connect operation. See g_socket_client_connect_to_service_async() + a #GSocketConnection on success, %NULL on error. + a #GAsyncResult. - - + + This is a helper function for g_socket_client_connect(). +Attempts to create a TCP connection with a network URI. +component. If a port is not specified in the URI, @default_port +will be used. +Using this rather than g_socket_client_connect() or +g_socket_client_connect_to_host() allows #GSocketClient to +determine when to use application-specific proxy protocols. +Upon a successful connection, a new #GSocketConnection is constructed +and returned. The caller owns this new object and must drop their +reference to it when finished with it. +In the event of any failure (DNS error, service not found, no hosts +connectable) %NULL is returned and @error (if non-%NULL) is set +accordingly. + + a #GSocketConnection on success, %NULL on error. + + + + + A network URI + + + + the default port to connect to + + + + a #GCancellable, or %NULL + + + + + + This is the asynchronous version of g_socket_client_connect_to_uri(). +When the operation is finished @callback will be +called. You can then call g_socket_client_connect_to_uri_finish() to get +the result of the operation. + + + + + + a network uri + + + + the default port to connect to + + + + a #GCancellable, or %NULL + + + + a #GAsyncReadyCallback + + + + user data for the callback + + + + + + Finishes an async connect operation. See g_socket_client_connect_to_uri_async() + + a #GSocketConnection on success, %NULL on error. + + + + + a #GAsyncResult. + + + + + + Gets the proxy enable state; see g_socket_client_set_enable_proxy() + + whether proxying is enabled + + + + + Gets the socket family of the socket client. +See g_socket_client_set_family() for details. + + a #GSocketFamily + + + + + Gets the local address of the socket client. +See g_socket_client_set_local_address() for details. + + a #GSocketAddres or %NULL. don't free + + + + + Gets the protocol name type of the socket client. +See g_socket_client_set_protocol() for details. + + a #GSocketProtocol + + + + + Gets the socket type of the socket client. +See g_socket_client_set_socket_type() for details. + + a #GSocketFamily + + + + + Gets the I/O timeout time for sockets created by @client. +See g_socket_client_set_timeout() for details. + + the timeout in seconds + + + + + Sets whether or not @client attempts to make connections via a +proxy server. When enabled (the default), #GSocketClient will use a +#GProxyResolver to determine if a proxy protocol such as SOCKS is +needed, and automatically do the necessary proxy negotiation. + + + + + + whether to enable proxies + + + + + + Sets the socket family of the socket client. +If this is set to something other than %G_SOCKET_FAMILY_INVALID +then the sockets created by this object will be of the specified +family. +This might be useful for instance if you want to force the local +connection to be an ipv4 socket, even though the address might +be an ipv6 mapped to ipv4 address. + + + + + + a #GSocketFamily + + + + + + Sets the local address of the socket client. +The sockets created by this object will bound to the +specified address (if not %NULL) before connecting. +This is useful if you want to ensure the the local +side of the connection is on a specific port, or on +a specific interface. + + + + + + a #GSocketAddress, or %NULL + + + + + + Sets the protocol of the socket client. +The sockets created by this object will use of the specified +protocol. +If @protocol is %0 that means to use the default +protocol for the socket family and type. + + + + + + a #GSocketProtocol + + + + + + Sets the socket type of the socket client. +The sockets created by this object will be of the specified +type. +It doesn't make sense to specify a type of %G_SOCKET_TYPE_DATAGRAM, +as GSocketClient is used for connection oriented services. + + + + + + a #GSocketType + + + + + + Sets the I/O timeout for sockets created by @client. @timeout is a +time in seconds, or 0 for no timeout (the default). +The timeout value affects the initial connection attempt as well, +so setting this may cause calls to g_socket_client_connect(), etc, +to fail with %G_IO_ERROR_TIMED_OUT. + + + + + + the timeout + + + + + + - - + + - - + + - - + + + + + + + + @@ -19323,58 +37337,97 @@ checks for cancellation."> - - + + - - + + - - + + - - + + - - + + - + - + Interface for objects that contain or generate #GSocketAddress<!-- -->es. + + Creates a #GSocketAddressEnumerator for @connectable. + a new #GSocketAddressEnumerator. - + + Creates a #GSocketAddressEnumerator for @connectable that will +return #GProxyAddress<!-- -->es for addresses that you must connect +to via a proxy. +If @connectable does not implement +g_socket_connectable_proxy_enumerate(), this will fall back to +calling g_socket_connectable_enumerate(). + a new #GSocketAddressEnumerator. + + + + + Creates a #GSocketAddressEnumerator for @connectable. + + a new #GSocketAddressEnumerator. + + + + + Creates a #GSocketAddressEnumerator for @connectable that will +return #GProxyAddress<!-- -->es for addresses that you must connect +to via a proxy. +If @connectable does not implement +g_socket_connectable_proxy_enumerate(), this will fall back to +calling g_socket_connectable_enumerate(). + + a new #GSocketAddressEnumerator. @@ -19382,14 +37435,30 @@ checks for cancellation."> + glib:is-gtype-struct-for="SocketConnectable"> + Provides an interface for returning a #GSocketAddressEnumerator +and #GProxyAddressEnumerator - + + a new #GSocketAddressEnumerator. + + + + + + + + + + + + + a new #GSocketAddressEnumerator. @@ -19402,71 +37471,105 @@ checks for cancellation."> + A socket connection GIOStream object for connection-oriented sockets. + + Looks up the #GType to be used when creating socket connections on +sockets with the specified @family,@type and @protocol_id. +If no type is registered, the #GSocketConnection base type is returned. + + a #GType + + + + + a #GSocketFamily + + + + a #GSocketType + + + + a protocol id + + + + + c:identifier="g_socket_connection_factory_register_type" + version="2.22"> + Looks up the #GType to be used when creating socket connections on +sockets with the specified @family,@type and @protocol. +If no type is registered, the #GSocketConnection base type is returned. + a #GType, inheriting from %G_TYPE_SOCKET_CONNECTION + a #GSocketFamily + a #GSocketType - + a protocol id + - - - - - - - - - - - - - - - - - - - - - + Try to get the local address of a socket connection. +Free the returned object with g_object_unref(). + a #GSocketAddress or %NULL on error. + Try to get the remote address of a socket connection. +Free the returned object with g_object_unref(). + a #GSocketAddress or %NULL on error. - - + + Gets the underlying #GSocket object of the connection. +This can be useful if you want to do something unusual on it +not supported by the #GSocketConnection APIs. + + a #GSocketAddress or %NULL on error. + + + + + @@ -19482,130 +37585,174 @@ checks for cancellation."> - - + + - - + + - - + + - - + + - - + + - - + + - + + Base class for socket-type specific control messages that can be sent and +received over #GSocket. + c:identifier="g_socket_control_message_deserialize" + version="2.22"> + Tries to deserialize a socket control message of a given +of #GSocketControlMessage if they can understand this kind +of message and if so deserialize it into a #GSocketControlMessage. +If there is no implementation for this kind of control message, %NULL +will be returned. + the deserialized message or %NULL - + a socket level + - + a socket control message type for the given @level + - + the size of the data in bytes + - + pointer to the message data + - + + Returns the "level" (i.e. the originating protocol) of the control message. +This is often SOL_SOCKET. - + an integer describing the level + - + + Returns the space required for the control message, not including +headers or alignment. - + The number of bytes required. + - + - + + Converts the data in the message to bytes placed in the +message. +returned by g_socket_control_message_get_size() on this +object. - + A buffer to write data to + - - - - - + c:identifier="g_socket_control_message_get_level" + version="2.22"> + Returns the "level" (i.e. the originating protocol) of the control message. +This is often SOL_SOCKET. - + an integer describing the level + + c:identifier="g_socket_control_message_get_msg_type" + version="2.22"> + Returns the protocol specific type of the control message. +For instance, for UNIX fd passing this would be SCM_RIGHTS. - + an integer describing the type of control message + + + + + Returns the space required for the control message, not including +headers or alignment. + + The number of bytes required. + + c:identifier="g_socket_control_message_serialize" + version="2.22"> + Converts the data in the message to bytes placed in the +message. +returned by g_socket_control_message_get_size() on this +object. - + A buffer to write data to + @@ -19624,9 +37771,10 @@ received over #GSocket." - + - + The number of bytes required. + @@ -19637,9 +37785,10 @@ received over #GSocket." - + - + an integer describing the level + @@ -19650,9 +37799,9 @@ received over #GSocket." - + - + @@ -19663,7 +37812,7 @@ received over #GSocket." - + @@ -19673,62 +37822,63 @@ received over #GSocket." c:type="GSocketControlMessage*"/> - + A buffer to write data to + - - - + + + - + - + - + - + - - + + - - + + - - + + - - + + - - + + @@ -19736,16 +37886,17 @@ received over #GSocket." + c:type="GSocketControlMessagePrivate" + disguised="1"> + The protocol family of a #GSocketAddress. (These values are +identical to the system defines %AF_INET, %AF_INET6 and %AF_UNIX, +if available.) - + + Creates a new #GSocketListener with no sockets to listen for. +New listeners can be added with e.g. g_socket_listener_add_address() +or g_socket_listener_add_inet_port(). + a new #GSocketListener. @@ -19779,153 +37937,47 @@ if available.)" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + Blocks waiting for a client to connect to any of the sockets added +to the listener. Returns a #GSocketConnection for the socket that was +accepted. +If @source_object is not %NULL it will be filled out with the source +object specified when the corresponding socket or address was added +to the listener. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + a #GSocketConnection on success, %NULL on error. - + + location where #GObject pointer will be stored, or %NULL + optional #GCancellable object, %NULL to ignore. + c:identifier="g_socket_listener_accept_async" + version="2.22"> + This is the asynchronous version of g_socket_listener_accept(). +When the operation is finished @callback will be +called. You can then call g_socket_listener_accept_socket() +to get the result of the operation. @@ -19933,41 +37985,277 @@ if available.)" + a #GCancellable, or %NULL + closure="2"> + a #GAsyncReadyCallback - + user data for the callback + + Finishes an async accept operation. See g_socket_listener_accept_async() + a #GSocketConnection on success, %NULL on error. + a #GAsyncResult. + Optional #GObject identifying this source - + + Blocks waiting for a client to connect to any of the sockets added +to the listener. Returns the #GSocket that was accepted. +If you want to accept the high-level #GSocketConnection, not a #GSocket, +which is often the case, then you should use g_socket_listener_accept() +instead. +If @source_object is not %NULL it will be filled out with the source +object specified when the corresponding socket or address was added +to the listener. +If @cancellable is not %NULL, then the operation can be cancelled by +triggering the cancellable object from another thread. If the operation +was cancelled, the error %G_IO_ERROR_CANCELLED will be returned. + + a #GSocket on success, %NULL on error. + + + + + location where #GObject pointer will be stored, or %NULL. + + + + optional #GCancellable object, %NULL to ignore. + + + + + + This is the asynchronous version of g_socket_listener_accept_socket(). +When the operation is finished @callback will be +called. You can then call g_socket_listener_accept_socket_finish() +to get the result of the operation. + + + + + + a #GCancellable, or %NULL + + + + a #GAsyncReadyCallback + + + + user data for the callback + + + + + + Finishes an async accept operation. See g_socket_listener_accept_socket_async() + + a #GSocket on success, %NULL on error. + + + + + a #GAsyncResult. + + + + Optional #GObject identifying this source + + + + + + Creates a socket of type @type and protocol @protocol, binds +it to @address and adds it to the set of sockets we're accepting +sockets from. +Note that adding an IPv6 address, depending on the platform, +may or may not result in a listener that also accepts IPv4 +connections. For more determinstic behaviour, see +g_socket_listener_add_inet_port(). +to accept to identify this particular source, which is +useful if you're listening on multiple addresses and do +different things depending on what address is connected to. +If successful and @effective_address is non-%NULL then it will +be set to the address that the binding actually occured at. This +is helpful for determining the port number that was used for when +requested, belongs to the caller and must be freed. + + %TRUE on success, %FALSE on error. + + + + + a #GSocketAddress + + + + a #GSocketType + + + + a #GSocketProtocol + + + + Optional #GObject identifying this source + + + + location to store the address that was bound to, or %NULL. + + + + + + Listens for TCP connections on any available port number for both +IPv6 and IPv4 (if each are available). +This is useful if you need to have a socket for incoming connections +but don't care about the specific port number. +to accept to identify this particular source, which is +useful if you're listening on multiple addresses and do +different things depending on what address is connected to. + + the port number, or 0 in case of failure. + + + + + Optional #GObject identifying this source + + + + + + Helper function for g_socket_listener_add_address() that +creates a TCP/IP socket listening on IPv4 and IPv6 (if +supported) on the specified port on all interfaces. +to accept to identify this particular source, which is +useful if you're listening on multiple addresses and do +different things depending on what address is connected to. + + %TRUE on success, %FALSE on error. + + + + + an IP port number (non-zero) + + + + Optional #GObject identifying this source + + + + + + Adds @socket to the set of sockets that we try to accept +new clients from. The socket must be bound to a local +address and listened to. +to accept to identify this particular source, which is +useful if you're listening on multiple addresses and do +different things depending on what address is connected to. + + %TRUE on success, %FALSE on error. + + + + + a listening #GSocket + + + + Optional #GObject identifying this source + + + + + + Closes all the sockets in the listener. - - + + Sets the listen backlog on the sockets in the listener. +See g_socket_set_listen_backlog() for details + + + + + + an integer + + + + + + @@ -19983,7 +38271,7 @@ if available.)" - + @@ -19994,63 +38282,63 @@ if available.)" - - + + - - + + - - + + - - + + - - + + - - + + - + + Flags used in g_socket_receive_message() and g_socket_send_message(). +The flags listed in the enum are some commonly available flags, but the +values used for them are the same as on the platform, and any other flags +are passed in/out as is. So to use a platform specific flag, just include +the right system header and pass in the flag. - + + A protocol identifier is specified when creating a #GSocket, which is a +family/type specific identifier, where 0 means the default protocol for +the particular family/type. +This enum contains a set of commonly available and used protocols. You +can also pass any other identifiers handled by the platform in order to +use protocols not listed here. - + A helper class for handling accepting incomming connections in the +glib mainloop. + + Creates a new #GSocketService with no sockets to listen for. +New listeners can be added with e.g. g_socket_listener_add_address() +or g_socket_listener_add_inet_port(). + a new #GSocketService. - + + Check whether the service is active or not. An active +service will accept new clients that connect, while +a non-active service will let connecting clients queue +up until the service is started. + + %TRUE if the service is active, %FALSE otherwise + + + + + Starts the service, i.e. start accepting connections +from the added sockets when the mainloop runs. +This call is threadsafe, so it may be called from a thread +handling an incomming client request. - + + Stops the service, i.e. stops accepting connections +from the added sockets when the mainloop runs. +This call is threadsafe, so it may be called from a thread +handling an incomming client request. - - - - - - - - + + The ::incoming signal is emitted when a new incoming connection +to @service needs to be handled. The handler must initiate the +handling of @connection, but may not block; in essence, +asynchronous operations must be used. + + %TRUE to stop other handlers from being called + - + a new #GSocketConnection object. + - + the source_object passed to g_socket_listener_add_address(). + @@ -20158,9 +38477,9 @@ glib mainloop." - + - + @@ -20175,80 +38494,84 @@ glib mainloop." - - + + - - + + - - + + - - + + - - + + - - + + - + + This is the function type of the callback used for the #GSource +returned by g_socket_create_source(). - + it should return %FALSE if the source should be removed. + + the #GSocket - + the current condition at the source fired. + - + data passed in by the user. + + Flags used when creating a #GSocket. Some protocols may not implement +all the socket types. - + glib:get-type="g_srv_target_get_type" + c:symbol-prefix="srv_target"> + A single target host/port that a network service is running on. + + Creates a new #GSrvTarget with the given parameters. +You should not need to use this; normally #GSrvTarget<!-- -->s are +created by #GResolver. + a new #GSrvTarget. + the host that the service is running on - + the port that the service is running on + - + the target's priority + - + the target's weight + - + + Copies @target + a copy of @target - + + Frees @target - + + Gets @target's hostname (in ASCII form; if you are going to present +this to the user, you should use g_hostname_is_ascii_encoded() to +check if it contains encoded Unicode segments, and use +g_hostname_to_unicode() to convert it if it does.) + @target's hostname - + + Gets @target's port - + @target's port + - + + Gets @target's priority. You should not need to look at this; +#GResolver already sorts the targets according to the algorithm in +RFC 2782. - + @target's priority + - + + Gets @target's weight. You should not need to look at this; +#GResolver already sorts the targets according to the algorithm in +RFC 2782. - + @target's weight + + A #GSocketConnection for UNIX domain socket connections. + + Checks if graceful disconnects are used. See +g_tcp_connection_set_graceful_disconnect(). + + %TRUE if graceful disconnect is used on close, %FALSE otherwise + + + + c:identifier="g_tcp_connection_set_graceful_disconnect" + version="2.22"> + This enabled graceful disconnects on close. A graceful disconnect +means that we signal the recieving end that the connection is terminated +and wait for it to close the connection before closing the connection. +A graceful disconnect means that we can be sure that we successfully sent +all the outstanding data to the other end, or get an error reported. +However, it also means we have to wait for all the data to reach the +other side and for it to acknowledge this by closing the socket, which may +take a while. For this reason it is disabled by default. - + Whether to do graceful disconnects or not + - - - - - - - + + @@ -20362,115 +38738,192 @@ all the socket types." - + + An implementation of #GIcon for themed icons. - + + Creates a new themed icon for @iconname. - + a new #GThemedIcon. + + a string containing an icon name. - - + + + Creates a new themed icon for @iconnames. - - - - - - - - - - - + a new #GThemedIcon + - - - + an array of strings containing icon names. + - + the length of the @iconnames array, or -1 if @iconnames is %NULL-terminated + - - - - + + + Creates a new themed icon for @iconname, and all the names +that can be created by shortening @iconname at '-' characters. +In the following example, @icon1 and @icon2 are equivalent: +|[ +const char *names[] = { +"gnome-dev-cdrom-audio", +"gnome-dev-cdrom", +"gnome-dev", +"gnome" +}; +icon1 = g_themed_icon_new_from_names (names, 4); +icon2 = g_themed_icon_new_with_default_fallbacks ("gnome-dev-cdrom-audio"); +]| + + a new #GThemedIcon. + + a string containing an icon name - + + Append a name to the list of icons from within @icon. +<note><para> +Note that doing so invalidates the hash computed by prior calls +to g_icon_hash(). +</para></note> + name of icon to append to list of icons from within @icon. + Gets the names of icons from within @icon. + a list of icon names. - - + + Prepend a name to the list of icons from within @icon. +<note><para> +Note that doing so invalidates the hash computed by prior calls +to g_icon_hash(). +</para></note> + + + + + + name of icon to prepend to list of icons from within @icon. + + + + + + The icon name. + - - + + A %NULL-terminated array of icon names. + - - + + Whether to use the default fallbacks found by shortening the icon name +at '-' characters. If the "names" array has more than one element, +ignores any past the first. +For example, if the icon name was "gnome-dev-cdrom-audio", the array +would become +|[ +{ +"gnome-dev-cdrom-audio", +"gnome-dev-cdrom", +"gnome-dev", +"gnome", +NULL +}; +]| + - + A helper class for handling accepting incomming connections in the +glib mainloop and handling them in a thread. + + Creates a new #GThreadedSocketService with no listeners. Listeners +must be added with g_socket_service_add_listeners(). - + a new #GSocketService. + - + the maximal number of threads to execute concurrently handling incoming clients, -1 means no limit + - - + + @@ -20480,15 +38933,21 @@ glib mainloop and handling them in a thread." c:type="GThreadedSocketServicePrivate*"/> - - + The ::run signal is emitted in a worker thread in response to an +incoming connection. This thread is dedicated to handling +not return until the connection is closed. + + %TRUE to stope further signal handlers from being called + - + a new #GSocketConnection object. + - + the source_object passed to g_socket_listener_add_address(). + @@ -20500,9 +38959,9 @@ glib mainloop and handling them in a thread." - + - + @@ -20518,36 +38977,36 @@ glib mainloop and handling them in a thread." - - + + - - + + - - + + - - + + - - + + @@ -20555,41 +39014,114 @@ glib mainloop and handling them in a thread." + c:type="GThreadedSocketServicePrivate" + disguised="1"> - - - + Receives credentials from the sending end of the connection. The +sending end has to call g_unix_connection_send_credentials() (or +similar) for this to work. +As well as reading the credentials this also reads (and discards) a +single byte from the stream, as this is required for credentials +passing to work on some implementations. +Other ways to exchange credentials with a foreign peer includes the +#GUnixCredentialsMessage type and g_socket_get_credentials() function. +g_object_unref()), %NULL if @error is set. + + Received credentials on success (free with + - - - + A #GCancellable or %NULL. + Receives a file descriptor from the sending end of the connection. +The sending end has to call g_unix_connection_send_fd() for this +to work. +As well as reading the fd this also reads a single byte from the +stream, as this is required for fd passing to work on some +implementations. - + a file descriptor on success, -1 on error. + + optional #GCancellable object, %NULL to ignore + + + + + + Passes the credentials of the current user the receiving side +of the connection. The recieving end has to call +g_unix_connection_receive_credentials() (or similar) to accept the +credentials. +As well as sending the credentials this also writes a single NUL +byte to the stream, as this is required for credentials passing to +work on some implementations. +Other ways to exchange credentials with a foreign peer includes the +#GUnixCredentialsMessage type and g_socket_get_credentials() function. + + %TRUE on success, %FALSE if @error is set. + + + + + A #GCancellable or %NULL. + + + + + + Passes a file descriptor to the recieving side of the +connection. The recieving end has to call g_unix_connection_receive_fd() +to accept the file descriptor. +As well as sending the fd this also writes a single byte to the +stream, as this is required for fd passing to work on some +implementations. + + a %TRUE on success, %NULL on error. + + + + + a file descriptor + + + + optional #GCancellable object, %NULL to ignore. @@ -20608,75 +39140,248 @@ glib mainloop and handling them in a thread." - + + + + The #GUnixCredentialsMessage structure contains only private data +and should only be accessed using the provided API. + + Creates a new #GUnixCredentialsMessage with credentials matching the current processes. + + a new #GUnixCredentialsMessage + + + + + Creates a new #GUnixCredentialsMessage holding @credentials. + + a new #GUnixCredentialsMessage + + + + + A #GCredentials object. + + + + + + Checks if passing a #GCredential on a #GSocket is supported on this platform. + + %TRUE if supported, %FALSE otherwise + + + + + Gets the credentials stored in @message. + + A #GCredentials instance. Do not free, it is owned by @message. + + + + + The credentials stored in the message. + + + + + + + + + + + Class structure for #GUnixCredentialsMessage. + + + + + + + + + + + + + + + + + + + - + + Creates a new #GUnixFDList containing no file descriptors. + a new #GUnixFDList + c:identifier="g_unix_fd_list_new_from_array" + version="2.24"> + Creates a new #GUnixFDList containing the file descriptors given in +may no longer be used by the caller. The array itself is owned by +the caller. +Each file descriptor in the array should be set to close-on-exec. +If @n_fds is -1 then @fds must be terminated with -1. + a new #GUnixFDList - - + + the initial list of file descriptors + - + the length of #fds, or -1 + - + + Adds a file descriptor to @list. +The file descriptor is duplicated using dup(). You keep your copy +of the descriptor and the copy contained in @list will be closed +when @list is finalized. +A possible cause of failure is exceeding the per-process or +system-wide file descriptor limit. +The index of the file descriptor in the list is returned. If you use +this index with g_unix_fd_list_get() then you will receive back a +duplicated copy of the same file descriptor. +(and @error is set) - + the index of the appended fd in case of success, else -1 + - + a valid open file descriptor + - + + Gets a file descriptor out of @list. +programmer error for @index_ to be out of range; see +g_unix_fd_list_get_length(). +The file descriptor is duplicated using dup() and set as +close-on-exec before being returned. You must call close() on it +when you are done. +A possible cause of failure is exceeding the per-process or +system-wide file descriptor limit. - - - - - - + the file descriptor, or -1 in case of error + - + the index into the list + - + + contained within). - + the length of @list + + + + + Returns the array of file descriptors that is contained in this +object. +After this call, the descriptors remain the property of @list. The +caller must not close them and must not free the array. The array is +valid only until @list is changed in any way. +If @length is non-%NULL then it is set to the number of file +descriptors in the returned array. The returned array is also +terminated with -1. +This function never returns %NULL. In case there are no file +descriptors contained in @list, an empty array is returned. + + an array of file descriptors + - - + + pointer to the length of the returned array, or %NULL + - - - + + Returns the array of file descriptors that is contained in this +object. +After this call, the descriptors are no longer contained in +descriptors have been added). +The return result of this function must be freed with g_free(). +The caller is also responsible for closing all of the file +descriptors. The file descriptors in the array are set to +close-on-exec. +If @length is non-%NULL then it is set to the number of file +descriptors in the returned array. The returned array is also +terminated with -1. +This function never returns %NULL. In case there are no file +descriptors contained in @list, an empty array is returned. + + an array of file descriptors + - - + + pointer to the length of the returned array, or %NULL + @@ -20693,95 +39398,139 @@ glib mainloop and handling them in a thread." - - + + - - + + - - + + - - + + - - + + - + - + + Creates a new #GUnixFDMessage containing an empty file descriptor +list. - + a new #GUnixFDMessage + + + + + Creates a new #GUnixFDMessage containing @list. + + a new #GUnixFDMessage + + a #GUnixFDList - - - - - - - - - - - - - - - - - - - - + Adds a file descriptor to @message. +The file descriptor is duplicated using dup(). You keep your copy +of the descriptor and the copy contained in @message will be closed +when @message is finalized. +A possible cause of failure is exceeding the per-process or +system-wide file descriptor limit. - + %TRUE in case of success, else %FALSE (and @error is set) + - + a valid open file descriptor + - - + + Gets the #GUnixFDList contained in @message. This function does not +return a reference to the caller, but the returned list is valid for +the lifetime of @message. + + the #GUnixFDList from @message + + + + + Returns the array of file descriptors that is contained in this +object. +After this call, the descriptors are no longer contained in +descriptors have been added). +The return result of this function must be freed with g_free(). +The caller is also responsible for closing all of the file +descriptors. +If @length is non-%NULL then it is set to the number of file +descriptors in the returned array. The returned array is also +terminated with -1. +This function never returns %NULL. In case there are no file +descriptors contained in @message, an empty array is returned. + + an array of file descriptors + + + + + pointer to the length of the returned array, or %NULL + + + + + + @@ -20797,70 +39546,100 @@ glib mainloop and handling them in a thread." - - + + - - + + - + + Implements #GInputStream for reading from selectable unix file descriptors + Creates a new #GUnixInputStream for the given @fd. +If @close_fd is %TRUE, the file descriptor will be closed +when the stream is closed. - + a new #GUnixInputStream + - + a UNIX file descriptor + - + %TRUE to close the file descriptor when done + + + Returns whether the file descriptor of @stream will be +closed when the stream is closed. + + %TRUE if the file descriptor is closed when done + + + + + Return the UNIX file descriptor that the stream reads from. + + The file descriptor of @stream + + + + c:identifier="g_unix_input_stream_set_close_fd" + version="2.20"> + Sets whether the file descriptor of @stream shall be closed +when the stream is closed. - + %TRUE to close the file descriptor when done + - - - - - - - - - - - - + + Whether to close the file descriptor when the stream is closed. + - - + + The file descriptor that the stream reads from. + @@ -20875,203 +39654,269 @@ glib mainloop and handling them in a thread." - - + + - - + + - - + + - - + + - - + + - + - + + Defines a Unix mount entry (e.g. <filename>/media/cdrom</filename>). +This corresponds roughly to a mtab entry. + Watches #GUnixMount<!-- -->s for changes. + Gets a new #GUnixMountMonitor. The default rate limit for which the +monitor will report consecutive changes for the mount and mount +point entry files is the default for a #GFileMonitor. Use +g_unix_mount_monitor_set_rate_limit() to change this. + a #GUnixMountMonitor. + c:identifier="g_unix_mount_monitor_set_rate_limit" + version="2.18"> + Sets the rate limit to which the @mount_monitor will report +consecutive change events to the mount and mount point entry files. - + a integer with the limit in milliseconds to poll for changes. + - - + Emitted when the unix mount points have changed. + + - - + Emitted when the unix mounts have changed. + + - - - - - - + + Defines a Unix mount point (e.g. <filename>/dev</filename>). +This corresponds roughly to a fstab entry. + Compares two unix mount points. +or less than @mount2, respectively. - + 1, 0 or -1 if @mount1 is greater than, equal to, + + a #GUnixMount. - + + Frees a unix mount point. - + + Gets the device path for a unix mount point. + a string containing the device path. + Gets the file system type for the mount point. + a string containing the file system type. - + + Gets the mount path for a unix mount point. - - - - - - - - - - - + a string containing the mount path. + + Guesses whether a Unix mount point can be ejected. - - - - - - + %TRUE if @mount_point is deemed to be ejectable. + + Guesses the icon of a Unix mount point. + a #GIcon + + Guesses the name of a Unix mount point. +The result is a translated string. +be freed with g_free() + + A newly allocated string that must + + + + + Checks if a unix mount point is a loopback device. + + %TRUE if the mount point is a loopback. %FALSE otherwise. + + + + + Checks if a unix mount point is read only. + + %TRUE if a mount point is read only. + + + + + Checks if a unix mount point is mountable by the user. + + %TRUE if the mount point is user mountable. + + + + Implements #GOutputStream for outputting to selectable unix file descriptors + Creates a new #GUnixOutputStream for the given @fd. +If @close_fd, is %TRUE, the file descriptor will be closed when +the output stream is destroyed. - + a new #GOutputStream + - + a UNIX file descriptor + - + %TRUE to close the file descriptor when done + + + Returns whether the file descriptor of @stream will be +closed when the stream is closed. + + %TRUE if the file descriptor is closed when done + + + + + Return the UNIX file descriptor that the stream writes to. + + The file descriptor of @stream + + + + c:identifier="g_unix_output_stream_set_close_fd" + version="2.20"> + Sets whether the file descriptor of @stream shall be closed +when the stream is closed. - + %TRUE to close the file descriptor when done + - - - - - - - - - - - - + + Whether to close the file descriptor when the stream is closed. + - - + + The file descriptor that the stream writes to. + @@ -21087,106 +39932,218 @@ This corresponds roughly to a fstab entry."> - - + + - - + + - - + + - - + + - - + + - + + A UNIX-domain (local) socket address, corresponding to a +<type>struct sockaddr_un</type>. - + + Creates a new #GUnixSocketAddress for @path. +To create abstract socket addresses, on systems that support that, +use g_unix_socket_address_new_abstract(). - + a new #GUnixSocketAddress + + the socket path + c:identifier="g_unix_socket_address_new_abstract" + deprecated="Use g_unix_socket_address_new_with_type()."> + Creates a new %G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED +#GUnixSocketAddress for @path. - + a new #GUnixSocketAddress + + the abstract name - + the length of @path, or -1 + + + + + + Creates a new #GUnixSocketAddress of type @type with name @path. +If @type is %G_UNIX_SOCKET_ADDRESS_PATH, this is equivalent to +calling g_unix_socket_address_new(). +If @path_type is %G_UNIX_SOCKET_ADDRESS_ABSTRACT, then @path_len +bytes of @path will be copied to the socket's path, and only those +bytes will be considered part of the name. (If @path_len is -1, +then @path is assumed to be NUL-terminated.) For example, if @path +was "test", then calling g_socket_address_get_native_size() on the +returned socket would return 7 (2 bytes of overhead, 1 byte for the +abstract-socket indicator byte, and 4 bytes for the name "test"). +If @path_type is %G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED, then +rest of the path will be padded with 0 bytes, and the entire +zero-padded buffer will be considered the name. (As above, if +this case, g_socket_address_get_native_size() will always return +the full size of a <literal>struct sockaddr_un</literal>, although +g_unix_socket_address_get_path_len() will still return just the +length of @path. +%G_UNIX_SOCKET_ADDRESS_ABSTRACT is preferred over +%G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED for new programs. Of course, +when connecting to a server created by another process, you must +use the appropriate type corresponding to how that process created +its listening socket. + + a new #GUnixSocketAddress + + + + + the name + + + + the length of @path, or -1 + + + + a #GUnixSocketAddressType + + c:identifier="g_unix_socket_address_abstract_names_supported" + version="2.22"> + Checks if abstract unix domain socket names are supported. - + %TRUE if supported, %FALSE otherwise + - + + Gets @address's type. + a #GUnixSocketAddressType + + + + + Tests if @address is abstract. + + %TRUE if the address is abstract, %FALSE otherwise + + + + + Gets @address's path, or for abstract sockets the "name". +Guaranteed to be zero-terminated, but an abstract socket +may contain embedded zeros, and thus you should use +g_unix_socket_address_get_path_len() to get the true length +of this string. + + the path for @address + c:identifier="g_unix_socket_address_get_path_len" + version="2.22"> + Gets the length of @address's path. +For details, see g_unix_socket_address_get_path(). - + the length of the path + - - - - - - - + + Whether or not this is an abstract address +distinguishes between zero-padded and non-zero-padded +abstract addresses. + - - + + - - + + + + + + + @@ -21203,120 +40160,92 @@ This corresponds roughly to a fstab entry."> - + + + The type of name used by a #GUnixSocketAddress. +%G_UNIX_SOCKET_ADDRESS_PATH indicates a traditional unix domain +socket bound to a filesystem path. %G_UNIX_SOCKET_ADDRESS_ANONYMOUS +indicates a socket not bound to any name (eg, a client-side socket, +or a socket created with socketpair()). +For abstract sockets, there are two incompatible ways of naming +sockaddr_un</literal> as the name, padding the unused parts of the +%sun_path field with zeroes; this corresponds to +%G_UNIX_SOCKET_ADDRESS_ABSTRACT_PADDED. However, many programs +instead just use a portion of %sun_path, and pass an appropriate +smaller length to bind() or connect(). This is +%G_UNIX_SOCKET_ADDRESS_ABSTRACT. + + + + + + - + - + - + - + - + - + - + + Virtual File System object. - + Gets the default #GVfs for the system. + + a #GVfs. - + Gets the local #GVfs for the system. + + a #GVfs. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -21328,28 +40257,57 @@ This corresponds roughly to a fstab entry."> - - - + + Gets a #GFile for @path. +Free the returned object with g_object_unref(). + + a #GFile. + - + + a string containing a VFS path. - - - - - - - - - - + + Gets a #GFile for @uri. +This operation never fails, but the returned object +might not support any I/O operation if the URI +is malformed or if the URI scheme is not supported. +Free the returned object with g_object_unref(). + + a #GFile. + + + + + a string containing a URI + + + + + + Gets a list of URI schemes supported by @vfs. +The returned array belongs to GIO and must +not be freed or modified. + + a %NULL-terminated array of strings. + + + + + + + Checks if the VFS is active. + + %TRUE if construction of the @vfs was successful and it is now active. + + + + @@ -21357,6 +40315,26 @@ This corresponds roughly to a fstab entry."> + + + + + + + + + + + + + + + + + + @@ -21372,45 +40350,113 @@ This corresponds roughly to a fstab entry."> - + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + This operation never fails, but the returned object might +not support any I/O operations if the @parse_name cannot +be parsed by the #GVfs module. +Free the returned object with g_object_unref(). + a #GFile for the given @parse_name. + + + + + a string to be parsed by the VFS module. + + + + + + Gets a #GFile for @path. +Free the returned object with g_object_unref(). + + a #GFile. + a string containing a VFS path. + Gets a #GFile for @uri. +This operation never fails, but the returned object +might not support any I/O operation if the URI +is malformed or if the URI scheme is not supported. +Free the returned object with g_object_unref(). + a #GFile. + a string containing a URI - + Gets a list of URI schemes supported by @vfs. +The returned array belongs to GIO and must +not be freed or modified. + + a %NULL-terminated array of strings. + + Checks if the VFS is active. + + %TRUE if construction of the @vfs was successful and it is now active. + + + + This operation never fails, but the returned object might +not support any I/O operations if the @parse_name cannot +be parsed by the #GVfs module. +Free the returned object with g_object_unref(). + a #GFile for the given @parse_name. + a string to be parsed by the VFS module. @@ -21424,9 +40470,10 @@ This corresponds roughly to a fstab entry."> - + - + %TRUE if construction of the @vfs was successful and it is now active. + @@ -21436,8 +40483,9 @@ This corresponds roughly to a fstab entry."> - + + a #GFile. @@ -21445,14 +40493,16 @@ This corresponds roughly to a fstab entry."> + a string containing a VFS path. - + + a #GFile. @@ -21460,15 +40510,16 @@ This corresponds roughly to a fstab entry."> + a string containing a URI - - + + + a %NULL-terminated array of strings. @@ -21481,8 +40532,9 @@ This corresponds roughly to a fstab entry."> - + + a #GFile for the given @parse_name. @@ -21490,13 +40542,14 @@ This corresponds roughly to a fstab entry."> + a string to be parsed by the VFS module. - + @@ -21508,7 +40561,7 @@ This corresponds roughly to a fstab entry."> - + - + - + - + - + @@ -21549,11 +40601,9 @@ This corresponds roughly to a fstab entry."> - + - + @@ -21568,16 +40618,14 @@ This corresponds roughly to a fstab entry."> - + - + @@ -21592,7 +40640,7 @@ This corresponds roughly to a fstab entry."> - + @@ -21609,50 +40657,50 @@ This corresponds roughly to a fstab entry."> - - + + - - + + - - + + - - + + - - + + - - + + - - + + @@ -21660,383 +40708,612 @@ This corresponds roughly to a fstab entry."> - - - - - - - - - - - - - - - - - - - - - - - + Opaque mountable volume object. + + Checks if a volume can be ejected. + + %TRUE if the @volume can be ejected. %FALSE otherwise. + + Checks if a volume can be mounted. - + %TRUE if the @volume can be mounted. %FALSE otherwise. + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + Ejects a volume. This is an asynchronous operation, and is +finished by calling g_volume_eject_finish() with the @volume +and #GAsyncResult returned in the @callback. + flags affecting the unmount if required for eject - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + optional #GCancellable object, %NULL to ignore. + closure="3"> + a #GAsyncReadyCallback, or %NULL. - - + + user data that gets passed to @callback + - - + + + Finishes ejecting a volume. If any errors occured during the operation, - + %TRUE, %FALSE if operation failed. + + a #GAsyncResult. - - + + + Ejects a volume. This is an asynchronous operation, and is +finished by calling g_volume_eject_with_operation_finish() with the @volume +and #GAsyncResult data returned in the @callback. + flags affecting the unmount if required for eject + + a #GMountOperation or %NULL to avoid user interaction. + + + optional #GCancellable object, %NULL to ignore. + a #GAsyncReadyCallback, or %NULL. + + + + user data passed to @callback. + + + + + + Finishes ejecting a volume. If any errors occurred during the operation, + + %TRUE if the volume was successfully ejected. %FALSE otherwise. + + + + + a #GAsyncResult. + + + + + + Gets the kinds of <link linkend="volume-identifier">identifiers</link> +that @volume has. Use g_volume_get_identifer() to obtain +the identifiers themselves. +of strings containing kinds of identifiers. Use g_strfreev() to free. + + a %NULL-terminated array + + + + + + + Gets the activation root for a #GVolume if it is known ahead of +mount time. Returns %NULL otherwise. If not %NULL and if @volume +is mounted, then the result of g_mount_get_root() on the +#GMount object obtained from g_volume_get_mount() will always +either be equal or a prefix of what this function returns. In +other words, in code +<programlisting> +GMount *mount; +GFile *mount_root +GFile *volume_activation_root; +mount = g_volume_get_mount (volume); /&ast; mounted, so never NULL &ast;/ +mount_root = g_mount_get_root (mount); +volume_activation_root = g_volume_get_activation_root(volume); /&ast; assume not NULL &ast;/ +</programlisting> +then the expression +<programlisting> +(g_file_has_prefix (volume_activation_root, mount_root) || +</programlisting> +will always be %TRUE. +Activation roots are typically used in #GVolumeMonitor +implementations to find the underlying mount to shadow, see +g_mount_is_shadowed() for more details. +g_object_unref() to free. + + the activation root of @volume or %NULL. Use + + + + + Gets the drive for the @volume. +The returned object should be unreffed with g_object_unref() +when no longer needed. + + a #GDrive or %NULL if @volume is not associated with a drive. + + + + + Gets the icon for @volume. +The returned object should be unreffed with g_object_unref() +when no longer needed. + + a #GIcon. + + + + + Gets the identifier of the given kind for @volume. +See the <link linkend="volume-identifier">introduction</link> +for more information about volume identifiers. +requested identfier, or %NULL if the #GVolume +doesn't have this kind of identifier + + a newly allocated string containing the + + + + + the kind of identifier to return + + + + + + Gets the mount for the @volume. +The returned object should be unreffed with g_object_unref() +when no longer needed. + + a #GMount or %NULL if @volume isn't mounted. + + + + + Gets the name of @volume. +be freed with g_free() when no longer needed. + + the name for the given @volume. The returned string should + + + + + Gets the UUID for the @volume. The reference is typically based on +the file system UUID for the volume in question and should be +considered an opaque string. Returns %NULL if there is no UUID +available. +The returned string should be freed with g_free() +when no longer needed. + + the UUID for @volume or %NULL if no UUID can be computed. + + + + + Finishes mounting a volume. If any errors occured during the operation, +If the mount operation succeeded, g_volume_get_mount() on @volume +is guaranteed to return the mount right after calling this +function; there's no need to listen for the 'mount-added' signal on +#GVolumeMonitor. + + %TRUE, %FALSE if operation failed. + + + + + a #GAsyncResult + + + + + + Mounts a volume. This is an asynchronous operation, and is +finished by calling g_volume_mount_finish() with the @volume +and #GAsyncResult returned in the @callback. + + + + + + flags affecting the operation + + + + a #GMountOperation or %NULL to avoid user interaction. + + + + optional #GCancellable object, %NULL to ignore. + + + + a #GAsyncReadyCallback, or %NULL. + + + + user data that gets passed to @callback + + + + + + Returns whether the volume should be automatically mounted. + + %TRUE if the volume should be automatically mounted. + + + + + Checks if a volume can be ejected. + + %TRUE if the @volume can be ejected. %FALSE otherwise. + + + + + Checks if a volume can be mounted. + + %TRUE if the @volume can be mounted. %FALSE otherwise. + + + + + Ejects a volume. This is an asynchronous operation, and is +finished by calling g_volume_eject_finish() with the @volume +and #GAsyncResult returned in the @callback. + + + + + + flags affecting the unmount if required for eject + + + + optional #GCancellable object, %NULL to ignore. + + + + a #GAsyncReadyCallback, or %NULL. - + user data that gets passed to @callback + + Finishes ejecting a volume. If any errors occured during the operation, - + %TRUE, %FALSE if operation failed. + + a #GAsyncResult. - - - + + Ejects a volume. This is an asynchronous operation, and is +finished by calling g_volume_eject_with_operation_finish() with the @volume +and #GAsyncResult data returned in the @callback. + + - - + + flags affecting the unmount if required for eject + + + + a #GMountOperation or %NULL to avoid user interaction. + + + + optional #GCancellable object, %NULL to ignore. + + + + a #GAsyncReadyCallback, or %NULL. + + + + user data passed to @callback. + + + + + + Finishes ejecting a volume. If any errors occurred during the operation, + + %TRUE if the volume was successfully ejected. %FALSE otherwise. + + + + + a #GAsyncResult. + + Gets the kinds of <link linkend="volume-identifier">identifiers</link> +that @volume has. Use g_volume_get_identifer() to obtain +the identifiers themselves. +of strings containing kinds of identifiers. Use g_strfreev() to free. + a %NULL-terminated array + c:identifier="g_volume_get_activation_root" + version="2.18"> + Gets the activation root for a #GVolume if it is known ahead of +mount time. Returns %NULL otherwise. If not %NULL and if @volume +is mounted, then the result of g_mount_get_root() on the +#GMount object obtained from g_volume_get_mount() will always +either be equal or a prefix of what this function returns. In +other words, in code +<programlisting> +GMount *mount; +GFile *mount_root +GFile *volume_activation_root; +mount = g_volume_get_mount (volume); /&ast; mounted, so never NULL &ast;/ +mount_root = g_mount_get_root (mount); +volume_activation_root = g_volume_get_activation_root(volume); /&ast; assume not NULL &ast;/ +</programlisting> +then the expression +<programlisting> +(g_file_has_prefix (volume_activation_root, mount_root) || +</programlisting> +will always be %TRUE. +Activation roots are typically used in #GVolumeMonitor +implementations to find the underlying mount to shadow, see +g_mount_is_shadowed() for more details. +g_object_unref() to free. + the activation root of @volume or %NULL. Use - + + Gets the drive for the @volume. +The returned object should be unreffed with g_object_unref() +when no longer needed. + + a #GDrive or %NULL if @volume is not associated with a drive. + + + + + Gets the icon for @volume. +The returned object should be unreffed with g_object_unref() +when no longer needed. + + a #GIcon. + + + + + Gets the identifier of the given kind for @volume. +See the <link linkend="volume-identifier">introduction</link> +for more information about volume identifiers. +requested identfier, or %NULL if the #GVolume +doesn't have this kind of identifier + + a newly allocated string containing the + + + + + the kind of identifier to return + + + + + + Gets the mount for the @volume. +The returned object should be unreffed with g_object_unref() +when no longer needed. + + a #GMount or %NULL if @volume isn't mounted. + + + + + Gets the name of @volume. +be freed with g_free() when no longer needed. + + the name for the given @volume. The returned string should + + + + + Gets the UUID for the @volume. The reference is typically based on +the file system UUID for the volume in question and should be +considered an opaque string. Returns %NULL if there is no UUID +available. +The returned string should be freed with g_free() +when no longer needed. + + the UUID for @volume or %NULL if no UUID can be computed. + + + + + Mounts a volume. This is an asynchronous operation, and is +finished by calling g_volume_mount_finish() with the @volume +and #GAsyncResult returned in the @callback. - + flags affecting the operation + - + + a #GMountOperation or %NULL to avoid user interaction. + optional #GCancellable object, %NULL to ignore. + closure="4"> + a #GAsyncReadyCallback, or %NULL. - + user data that gets passed to @callback + - + Finishes mounting a volume. If any errors occured during the operation, +If the mount operation succeeded, g_volume_get_mount() on @volume +is guaranteed to return the mount right after calling this +function; there's no need to listen for the 'mount-added' signal on +#GVolumeMonitor. - + %TRUE, %FALSE if operation failed. + + a #GAsyncResult + + Returns whether the volume should be automatically mounted. + + %TRUE if the volume should be automatically mounted. + + + - - + Emitted when the volume has been changed. + + - - + This signal is emitted when the #GVolume have been removed. If +the recipient is holding references to the object they should +release them so the object can be finalized. + + + glib:is-gtype-struct-for="Volume"> + Interface for implementing operations for mountable volumes. - + @@ -22048,7 +41325,7 @@ Interface for implementing operations for mountable volumes."> - + @@ -22060,8 +41337,9 @@ Interface for implementing operations for mountable volumes."> - + + the name for the given @volume. The returned string should @@ -22072,8 +41350,9 @@ Interface for implementing operations for mountable volumes."> - + + a #GIcon. @@ -22084,8 +41363,9 @@ Interface for implementing operations for mountable volumes."> - + + the UUID for @volume or %NULL if no UUID can be computed. @@ -22096,8 +41376,9 @@ Interface for implementing operations for mountable volumes."> - + + a #GDrive or %NULL if @volume is not associated with a drive. @@ -22108,8 +41389,9 @@ Interface for implementing operations for mountable volumes."> - + + a #GMount or %NULL if @volume isn't mounted. @@ -22120,9 +41402,10 @@ Interface for implementing operations for mountable volumes."> - + - + %TRUE if the @volume can be mounted. %FALSE otherwise. + @@ -22132,9 +41415,10 @@ Interface for implementing operations for mountable volumes."> - + - + %TRUE if the @volume can be ejected. %FALSE otherwise. + @@ -22144,7 +41428,7 @@ Interface for implementing operations for mountable volumes."> - + @@ -22153,42 +41437,54 @@ Interface for implementing operations for mountable volumes."> + flags affecting the operation - + + a #GMountOperation or %NULL to avoid user interaction. + optional #GCancellable object, %NULL to ignore. - + + a #GAsyncReadyCallback, or %NULL. - + user data that gets passed to @callback + - + - + %TRUE, %FALSE if operation failed. + + a #GAsyncResult - + @@ -22197,40 +41493,50 @@ Interface for implementing operations for mountable volumes."> + flags affecting the unmount if required for eject + optional #GCancellable object, %NULL to ignore. - + + a #GAsyncReadyCallback, or %NULL. - + user data that gets passed to @callback + - + - + %TRUE, %FALSE if operation failed. + + a #GAsyncResult. - + + a newly allocated string containing the @@ -22238,14 +41544,16 @@ Interface for implementing operations for mountable volumes."> + the kind of identifier to return - + + a %NULL-terminated array @@ -22258,9 +41566,10 @@ Interface for implementing operations for mountable volumes."> - + - + %TRUE if the volume should be automatically mounted. + @@ -22270,8 +41579,9 @@ Interface for implementing operations for mountable volumes."> - + + the activation root of @volume or %NULL. Use @@ -22282,7 +41592,7 @@ Interface for implementing operations for mountable volumes."> - + @@ -22291,37 +41601,45 @@ Interface for implementing operations for mountable volumes."> + flags affecting the unmount if required for eject + a #GMountOperation or %NULL to avoid user interaction. + optional #GCancellable object, %NULL to ignore. - + + a #GAsyncReadyCallback, or %NULL. - + user data passed to @callback. + - + - + %TRUE if the volume was successfully ejected. %FALSE otherwise. + + a #GAsyncResult. @@ -22329,81 +41647,159 @@ Interface for implementing operations for mountable volumes."> - - - - - + A Volume Monitor that watches for volume events. + c:identifier="g_volume_monitor_adopt_orphan_mount" + deprecated="Instead of using this function, #GVolumeMonitor" + deprecated-version="2.20"> + This function should be called by any #GVolumeMonitor +implementation when a new #GMount object is created that is not +associated with a #GVolume object. It must be called just before +emitting the @mount_added signal. +If the return value is not %NULL, the caller must associate the +returned #GVolume object with the #GMount. This involves returning +it in its g_mount_get_volume() implementation. The caller must +also listen for the "removed" signal on the returned object +and give up its reference when handling that signal +Similary, if implementing g_volume_monitor_adopt_orphan_mount(), +the implementor must take a reference to @mount and return it in +its g_volume_get_mount() implemented. Also, the implementor must +listen for the "unmounted" signal on @mount and give up its +reference upon handling that signal. +There are two main use cases for this function. +One is when implementing a user space file system driver that reads +blocks of a block device that is already represented by the native +volume monitor (for example a CD Audio file system driver). Such +a driver will generate its own #GMount object that needs to be +assoicated with the #GVolume object that represents the volume. +The other is for implementing a #GVolumeMonitor whose sole purpose +is to return #GVolume objects representing entries in the users +"favorite servers" list or similar. +if no wants to adopt the #GMount. +implementations should instead create shadow mounts with the URI of +the mount they intend to adopt. See the proxy volume monitor in +gvfs for an example of this. Also see g_mount_is_shadowed(), +g_mount_shadow() and g_mount_unshadow() functions. + the #GVolume object that is the parent for @mount or %NULL + a #GMount object to find a parent for + + Gets the volume monitor used by gio. +g_object_unref() when done with it. + + a reference to the #GVolumeMonitor used by gio. Call + + + + Gets a list of drives connected to the system. +The returned list should be freed with g_list_free(), after +its elements have been unreffed with g_object_unref(). - + a #GList of connected #GDrive objects. + + + - - - - - - - - - - - - - - - - - - - - + Finds a #GMount object by its UUID (see g_mount_get_uuid()) +Free the returned object with g_object_unref(). + a #GMount or %NULL if no such mount is available. + the UUID to look for + + Gets a list of the mounts on the system. +The returned list should be freed with g_list_free(), after +its elements have been unreffed with g_object_unref(). + + a #GList of #GMount objects. + + + + + + + Finds a #GVolume object by its UUID (see g_volume_get_uuid()) +Free the returned object with g_object_unref(). + + a #GVolume or %NULL if no such volume is available. + + + + + the UUID to look for + + + + + + Gets a list of the volumes on the system. +The returned list should be freed with g_list_free(), after +its elements have been unreffed with g_object_unref(). + + a #GList of #GVolume objects. + + + + + + Gets a list of drives connected to the system. +The returned list should be freed with g_list_free(), after +its elements have been unreffed with g_object_unref(). + a #GList of connected #GDrive objects. - + + Finds a #GMount object by its UUID (see g_mount_get_uuid()) +Free the returned object with g_object_unref(). - - - + a #GMount or %NULL if no such mount is available. + + + + the UUID to look for + + + + Gets a list of the mounts on the system. +The returned list should be freed with g_list_free(), after +its elements have been unreffed with g_object_unref(). + a #GList of #GMount objects. @@ -22411,149 +41807,177 @@ Interface for implementing operations for mountable volumes."> + Finds a #GVolume object by its UUID (see g_volume_get_uuid()) +Free the returned object with g_object_unref(). + a #GVolume or %NULL if no such volume is available. + the UUID to look for - + + Gets a list of the volumes on the system. +The returned list should be freed with g_list_free(), after +its elements have been unreffed with g_object_unref(). - + a #GList of #GVolume objects. + + + - - - - - - + - - + Emitted when a drive changes. + + - + the drive that changed + - - + Emitted when a drive is connected to the system. + + - + a #GDrive that was connected. + - - + Emitted when a drive is disconnected from the system. + + - + a #GDrive that was disconnected. + - - - + + Emitted when the eject button is pressed on @drive. + + - + the drive where the eject button was pressed + - - - + + Emitted when the stop button is pressed on @drive. + + - + the drive where the stop button was pressed + - - + Emitted when a mount is added. + + - + a #GMount that was added. + - - + Emitted when a mount changes. + + - + a #GMount that changed. + - - + Emitted when a mount is about to be removed. + + - + a #GMount that is being unmounted. + - - + Emitted when a mount is removed. + + - + a #GMount that was removed. + - - + Emitted when a mountable volume is added to the system. + + - + a #GVolume that was added. + - - + Emitted when mountable volume is changed. + + - + a #GVolume that changed. + - - + Emitted when a mountable volume is removed from the system. + + - + a #GVolume that was removed. + @@ -22565,7 +41989,7 @@ Interface for implementing operations for mountable volumes."> - + @@ -22580,7 +42004,7 @@ Interface for implementing operations for mountable volumes."> - + @@ -22595,7 +42019,7 @@ Interface for implementing operations for mountable volumes."> - + @@ -22610,7 +42034,7 @@ Interface for implementing operations for mountable volumes."> - + @@ -22625,7 +42049,7 @@ Interface for implementing operations for mountable volumes."> - + @@ -22640,7 +42064,7 @@ Interface for implementing operations for mountable volumes."> - + @@ -22655,7 +42079,7 @@ Interface for implementing operations for mountable volumes."> - + @@ -22670,7 +42094,7 @@ Interface for implementing operations for mountable volumes."> - + @@ -22685,7 +42109,7 @@ Interface for implementing operations for mountable volumes."> - + @@ -22700,7 +42124,7 @@ Interface for implementing operations for mountable volumes."> - + @@ -22715,16 +42139,19 @@ Interface for implementing operations for mountable volumes."> - + - + - + - + a #GList of connected #GDrive objects. + + + @@ -22734,9 +42161,12 @@ Interface for implementing operations for mountable volumes."> - + - + a #GList of #GVolume objects. + + + @@ -22746,9 +42176,12 @@ Interface for implementing operations for mountable volumes."> - + - + a #GList of #GMount objects. + + + @@ -22758,8 +42191,9 @@ Interface for implementing operations for mountable volumes."> - + + a #GVolume or %NULL if no such volume is available. @@ -22767,14 +42201,16 @@ Interface for implementing operations for mountable volumes."> + the UUID to look for - + + a #GMount or %NULL if no such mount is available. @@ -22782,14 +42218,15 @@ Interface for implementing operations for mountable volumes."> + the UUID to look for - - - + + + @@ -22803,7 +42240,7 @@ Interface for implementing operations for mountable volumes."> - + @@ -22818,7 +42255,7 @@ Interface for implementing operations for mountable volumes."> - + @@ -22832,43 +42269,43 @@ Interface for implementing operations for mountable volumes."> - - + + - - + + - - + + - - + + - - + + - - + + @@ -22876,30 +42313,81 @@ Interface for implementing operations for mountable volumes."> + Zlib decompression - + + Creates a new #GZlibCompressor. + a new #GZlibCompressor + The format to use for the compressed data - + compression level (0-9), -1 for default + - - + + Returns the #GZlibCompressor:file-info property. + + a #GFileInfo, or %NULL + + + + + Sets @file_info in @compressor. If non-%NULL, and @compressor's +#GZlibCompressor:format property is %G_ZLIB_COMPRESSOR_FORMAT_GZIP, +it will be used to set the file name and modification time in +the GZIP header of the compressed data. +progress; it may only be called immediately after creation of @compressor, +or after resetting it with g_converter_reset(). + + + + + + a #GFileInfo + + + + + + If set to a non-%NULL #GFileInfo object, and #GZlibCompressor:format is +%G_ZLIB_COMPRESSOR_FORMAT_GZIP, the compressor will write the file name +and modification time from the file info to the the GZIP header. + - - + + + + + + Used to select the type of data format to use for #GZlibDecompressor +and #GZlibCompressor. + Zlib decompression - + + Creates a new #GZlibDecompressor. + a new #GZlibDecompressor + The format to use for the compressed data - - + + Retrieves the #GFileInfo constructed from the GZIP header data +of compressed data processed by @compressor, or %NULL if @decompressor's +#GZlibDecompressor:format property is not %G_ZLIB_COMPRESSOR_FORMAT_GZIP, +or the header data was not fully processed yet, or it not present in the +data stream at all. + + a #GFileInfo, or %NULL + + + + + A #GFileInfo containing the information found in the GZIP header +of the data stream processed, or %NULL if the header was not yet +fully processed, is not present at all, or the compressor's +#GZlibDecompressor:format property is not %G_ZLIB_COMPRESSOR_FORMAT_GZIP. + + + + + Creates a new #GAppInfo from the given information. + new #GAppInfo for given command. + the commandline to use + the application name, or %NULL to use @commandline + flags that can specify details of the created #GAppInfo + Gets a list of all of the applications currently registered +on this system. +For desktop files, this includes applications that have +<literal>NoDisplay=true</literal> set or are excluded from +display by means of <literal>OnlyShowIn</literal> or +<literal>NotShowIn</literal>. See g_app_info_should_show(). +The returned list does not include applications which have +the <literal>Hidden</literal> key set. + a newly allocated #GList of references to #GAppInfo<!---->s. @@ -22986,38 +42518,54 @@ and #GZlibCompressor." + Gets a list of all #GAppInfo<!-- -->s for a given content type. +or %NULL on error. + #GList of #GAppInfo<!-- -->s for given @content_type + the content type to find a #GAppInfo for - + c:identifier="g_app_info_get_default_for_type" + introspectable="0"> + Gets the #GAppInfo that corresponds to a given content type. + + #GAppInfo for given @content_type or %NULL on error. + the content type to find a #GAppInfo for - + if %TRUE, the #GAppInfo is expected to support URIs + - + c:identifier="g_app_info_get_default_for_uri_scheme" + introspectable="0"> + Gets the default application for launching applications +using this URI scheme. A URI scheme is the initial part +of the URI, up to but not including the ':', e.g. "http", +"ftp" or "sip". + + #GAppInfo for given @uri_scheme or %NULL on error. + a string containing a URI scheme. @@ -23025,54 +42573,80 @@ and #GZlibCompressor." + Utility function that launches the default application +registered to handle the specified uri. Synchronous I/O +is done on the uri to detect the type of the file if +required. - + %TRUE on success, %FALSE on error. + + the uri to show + an optional #GAppLaunchContext. + c:identifier="g_app_info_reset_type_associations" + version="2.20"> + Removes all changes to the type associations done by +g_app_info_set_as_default_for_type(), +g_app_info_set_as_default_for_extension(), +g_app_info_add_supports_type() or g_app_info_remove_supports_type(). + a content type + c:identifier="g_async_initable_new_async" + version="2.22" + introspectable="0"> + Helper function for constructing #GAsyncInitiable object. This is +similar to g_object_new() but also initializes the object asynchronously. +When the initialization is finished, @callback will be called. You can +then call g_async_initable_new_finish() to get the new object and check +for any errors. + a #GType supporting #GAsyncInitable. - + the <link linkend="io-priority">I/O priority</link> of the operation. + + optional #GCancellable object, %NULL to ignore. + a #GAsyncReadyCallback to call when the initialization is finished - + the data to pass to callback function + + the name of the first property, or %NULL if no properties @@ -23081,260 +42655,1147 @@ and #GZlibCompressor." - + + Helper function for constructing #GAsyncInitiable object. This is +similar to g_object_new_valist() but also initializes the object +asynchronously. +When the initialization is finished, @callback will be called. You can +then call g_async_initable_new_finish() to get the new object and check +for any errors. + a #GType supporting #GAsyncInitable. - - + + the name of the first property, followed by the value, and other property value pairs, and ended by %NULL. + - - + + The var args list generated from @first_property_name. + - + the <link linkend="io-priority">I/O priority</link> of the operation. + + optional #GCancellable object, %NULL to ignore. + a #GAsyncReadyCallback to call when the initialization is finished - + the data to pass to callback function + + + + + + Helper function for constructing #GAsyncInitiable object. This is +similar to g_object_newv() but also initializes the object asynchronously. +When the initialization is finished, @callback will be called. You can +then call g_async_initable_new_finish() to get the new object and check +for any errors. + + + + + + a #GType supporting #GAsyncInitable. + + + + the number of parameters in @parameters + + + + the parameters to use to construct the object + + + + the <link linkend="io-priority">I/O priority</link> of the operation. + + + + optional #GCancellable object, %NULL to ignore. + + + + a #GAsyncReadyCallback to call when the initialization is finished + + + + the data to pass to callback function + + + + + + Asynchronously connects to the message bus specified by @bus_type. +When the operation is finished, @callback will be invoked. You can +then call g_bus_get_finish() to get the result of the operation. +This is a asynchronous failable function. See g_bus_get_sync() for +the synchronous version. + + + + + + A #GBusType. + + + + A #GCancellable or %NULL. + + + + A #GAsyncReadyCallback to call when the request is satisfied. + + + + The data to pass to @callback. + + + + + + Finishes an operation started with g_bus_get(). +The returned object is a singleton, that is, shared with other +callers of g_bus_get() and g_bus_get_sync() for @bus_type. In the +event that you need a private message bus connection, use +g_dbus_address_get_for_bus() and +g_dbus_connection_new_for_address(). +Note that the returned #GDBusConnection object will (usually) have +the #GDBusConnection:exit-on-close property set to %TRUE. + + A #GDBusConnection or %NULL if @error is set. Free with g_object_unref(). + + + + + A #GAsyncResult obtained from the #GAsyncReadyCallback passed to g_bus_get(). + + + + + + Synchronously connects to the message bus specified by @bus_type. +Note that the returned object may shared with other callers, +e.g. if two separate parts of a process calls this function with +the same @bus_type, they will share the same object. +This is a synchronous failable function. See g_bus_get() and +g_bus_get_finish() for the asynchronous version. +The returned object is a singleton, that is, shared with other +callers of g_bus_get() and g_bus_get_sync() for @bus_type. In the +event that you need a private message bus connection, use +g_dbus_address_get_for_bus_sync() and +g_dbus_connection_new_for_address(). +Note that the returned #GDBusConnection object will (usually) have +the #GDBusConnection:exit-on-close property set to %TRUE. + + A #GDBusConnection or %NULL if @error is set. Free with g_object_unref(). + + + + + A #GBusType. + + + + A #GCancellable or %NULL. + + + + + + Starts acquiring @name on the bus specified by @bus_type and calls +acquired respectively lost. Callbacks will be invoked in the <link +linkend="g-main-context-push-thread-default">thread-default main +loop</link> of the thread you are calling this function from. +You are guaranteed that one of the @name_acquired_handler and @name_lost_handler +callbacks will be invoked after calling this function - there are three +possible cases: +<itemizedlist> +<listitem><para> +</para></listitem> +<listitem><para> +</para></listitem> +<listitem><para> +</para></listitem> +</itemizedlist> +When you are done owning the name, just call g_bus_unown_name() +with the owner id this function returns. +If the name is acquired or lost (for example another application +could acquire the name if you allow replacement or the application +currently owning the name exits), the handlers are also invoked. If the +#GDBusConnection that is used for attempting to own the name +closes, then @name_lost_handler is invoked since it is no +longer possible for other processes to access the process. +You cannot use g_bus_own_name() several times for the same name (unless +interleaved with calls to g_bus_unown_name()) - only the first call +will work. +Another guarantee is that invocations of @name_acquired_handler +and @name_lost_handler are guaranteed to alternate; that +is, if @name_acquired_handler is invoked then you are +guaranteed that the next time one of the handlers is invoked, it +will be @name_lost_handler. The reverse is also true. +If you plan on exporting objects (using e.g. +g_dbus_connection_register_object()), note that it is generally too late +to export the objects in @name_acquired_handler. Instead, you can do this +in @bus_acquired_handler since you are guaranteed that this will run +before @name is requested from the bus. +This behavior makes it very simple to write applications that wants +to own names and export objects, see <xref linkend="gdbus-owning-names"/>. +Simply register objects to be exported in @bus_acquired_handler and +unregister the objects (if any) in @name_lost_handler. +g_bus_unown_name() to stop owning the name. + + An identifier (never 0) that an be used with + + + + + The type of bus to own a name on. + + + + The well-known name to own. + + + + A set of flags from the #GBusNameOwnerFlags enumeration. + + + + Handler to invoke when connected to the bus of type @bus_type or %NULL. + + + + Handler to invoke when @name is acquired or %NULL. + + + + Handler to invoke when @name is lost or %NULL. + + + + User data to pass to handlers. + + + + Function for freeing @user_data or %NULL. + + + + + + Like g_bus_own_name() but takes a #GDBusConnection instead of a +#GBusType. +g_bus_unown_name() to stop owning the name. + + An identifier (never 0) that an be used with + + + + + A #GDBusConnection. + + + + The well-known name to own. + + + + A set of flags from the #GBusNameOwnerFlags enumeration. + + + + Handler to invoke when @name is acquired or %NULL. + + + + Handler to invoke when @name is lost or %NULL. + + + + User data to pass to handlers. + + + + Function for freeing @user_data or %NULL. + + + + + + Version of g_bus_own_name_on_connection() using closures instead of callbacks for +easier binding in other languages. +g_bus_unown_name() to stop owning the name. + + An identifier (never 0) that an be used with + + + + + A #GDBusConnection. + + + + The well-known name to own. + + + + A set of flags from the #GBusNameOwnerFlags enumeration. + + + + #GClosure to invoke when @name is acquired or %NULL. + + + + #GClosure to invoke when @name is lost or %NULL. + + + + + + Version of g_bus_own_name() using closures instead of callbacks for +easier binding in other languages. +g_bus_unown_name() to stop owning the name. + + An identifier (never 0) that an be used with + + + + + The type of bus to own a name on. + + + + The well-known name to own. + + + + A set of flags from the #GBusNameOwnerFlags enumeration. + + + + #GClosure to invoke when connected to the bus of type @bus_type or %NULL. + + + + #GClosure to invoke when @name is acquired or %NULL. + + + + #GClosure to invoke when @name is lost or %NULL. + + + + + + Stops owning a name. + + + + + + An identifier obtained from g_bus_own_name() + + + + + + Stops watching a name. + + + + + + An identifier obtained from g_bus_watch_name() + + + + + + Starts watching @name on the bus specified by @bus_type and calls +known to have a owner respectively known to lose its +owner. Callbacks will be invoked in the <link +linkend="g-main-context-push-thread-default">thread-default main +loop</link> of the thread you are calling this function from. +You are guaranteed that one of the handlers will be invoked after +calling this function. When you are done watching the name, just +call g_bus_unwatch_name() with the watcher id this function +returns. +If the name vanishes or appears (for example the application owning +the name could restart), the handlers are also invoked. If the +#GDBusConnection that is used for watching the name disconnects, then +possible to access the name. +Another guarantee is that invocations of @name_appeared_handler +and @name_vanished_handler are guaranteed to alternate; that +is, if @name_appeared_handler is invoked then you are +guaranteed that the next time one of the handlers is invoked, it +will be @name_vanished_handler. The reverse is also true. +This behavior makes it very simple to write applications that wants +to take action when a certain name exists, see <xref +linkend="gdbus-watching-names"/>. Basically, the application +should create object proxies in @name_appeared_handler and destroy +them again (if any) in @name_vanished_handler. +g_bus_unwatch_name() to stop watching the name. + + An identifier (never 0) that an be used with + + + + + The type of bus to watch a name on. + + + + The name (well-known or unique) to watch. + + + + Flags from the #GBusNameWatcherFlags enumeration. + + + + Handler to invoke when @name is known to exist or %NULL. + + + + Handler to invoke when @name is known to not exist or %NULL. + + + + User data to pass to handlers. + + + + Function for freeing @user_data or %NULL. + + + + + + Like g_bus_watch_name() but takes a #GDBusConnection instead of a +#GBusType. +g_bus_unwatch_name() to stop watching the name. + + An identifier (never 0) that an be used with + + + + + A #GDBusConnection. + + + + The name (well-known or unique) to watch. + + + + Flags from the #GBusNameWatcherFlags enumeration. + + + + Handler to invoke when @name is known to exist or %NULL. + + + + Handler to invoke when @name is known to not exist or %NULL. + + + + User data to pass to handlers. + + + + Function for freeing @user_data or %NULL. + + + + + + Version of g_bus_watch_name_on_connection() using closures instead of callbacks for +easier binding in other languages. +g_bus_unwatch_name() to stop watching the name. + + An identifier (never 0) that an be used with + + + + + A #GDBusConnection. + + + + The name (well-known or unique) to watch. + + + + Flags from the #GBusNameWatcherFlags enumeration. + + + + #GClosure to invoke when @name is known to exist or %NULL. + + + + #GClosure to invoke when @name is known to not exist or %NULL. + + + + + + Version of g_bus_watch_name() using closures instead of callbacks for +easier binding in other languages. +g_bus_unwatch_name() to stop watching the name. + + An identifier (never 0) that an be used with + + + + + The type of bus to watch a name on. + + + + The name (well-known or unique) to watch. + + + + Flags from the #GBusNameWatcherFlags enumeration. + + + + #GClosure to invoke when @name is known to exist or %NULL. + + + + #GClosure to invoke when @name is known to not exist or %NULL. + + Checks if a content type can be executable. Note that for instance +things like text files can be executables (i.e. scripts and batch files). +can be executable, %FALSE otherwise. - + %TRUE if the file type corresponds to a type that + - + a content type string + + Compares two content types for equality. +%FALSE otherwise. - + %TRUE if the two strings are identical or equivalent, + - + a content type string + - + a content type string + + c:identifier="g_content_type_from_mime_type" + version="2.18"> + Tries to find a content type based on the mime type name. +or %NULL. Free with g_free() - + Newly allocated string with content type + - + a mime type string + + Gets the human readable description of the content type. +returned string with g_free() - + a short description of the content type @type. Free the + - + a content type string + + Gets the icon for a content type. +object with g_object_unref() + #GIcon corresponding to the content type. Free the returned - + a content type string + + Gets the mime type for the content type, if one is registered. +or %NULL if unknown. - + the registered mime type for the given @type, + - + a content type string + + Guesses the content type based on example data. If the function is +uncertain, @result_uncertain will be set to %TRUE. Either @filename +or @data may be %NULL, in which case the guess will be based solely +on the other argument. +given data. Free with g_free() - + a string indicating a guessed content type for the + - - + + a string, or %NULL + - - - + + a stream of data, or %NULL + + - + the size of @data + - + caller-allocates="0" + transfer-ownership="full" + allow-none="1"> + return location for the certainty of the result, or %NULL + + c:identifier="g_content_type_guess_for_tree" + version="2.18"> + Tries to guess the type of the tree with root @root, by +looking at the files it contains. The result is an array +of content types, with the best guess coming first. +The types returned all have the form x-content/foo, e.g. +x-content/audio-cdda (for audio CDs) or x-content/image-dcf +(for a camera memory card). See the <ulink url="http://www.freedesktop.org/wiki/Specifications/shared-mime-info-spec">shared-mime-info</ulink> +specification for more on x-content types. +This function is useful in the implementation of +g_mount_guess_content_type(). +or %NULL. Free with g_strfreev() - + an %NULL-terminated array of zero or more content types, + + the root of the tree to guess a type for + Determines if @type is a subset of @supertype. +%FALSE otherwise. - + %TRUE if @type is a kind of @supertype, + - + a content type string + - + a content type string + + Checks if the content type is the generic "unknown" type. +On UNIX this is the "application/octet-stream" mimetype, +while on win32 it is "*". - + %TRUE if the type is the unknown type. + - + a content type string + + Gets a list of strings containing all the registered content types +known to the system. The list and its data should be freed using +<programlisting> +g_list_foreach (list, g_free, NULL); +g_list_free (list); +</programlisting> - + #GList of the registered content types + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + Synchronously looks up the D-Bus address for the well-known message +bus instance specified by @bus_type. This may involve using various +platform specific mechanisms. - + A valid D-Bus address string for @bus_type or %NULL if @error is set. + - + + A #GBusType. + + + + A #GCancellable or %NULL. + + + + + + Asynchronously connects to an endpoint specified by @address and +sets up the connection so it is in a state to run the client-side +of the D-Bus authentication conversation. +When the operation is finished, @callback will be invoked. You can +then call g_dbus_address_get_stream_finish() to get the result of +the operation. +This is an asynchronous failable function. See +g_dbus_address_get_stream_sync() for the synchronous version. + + + + + + A valid D-Bus address. + + + + A #GCancellable or %NULL. + + + + A #GAsyncReadyCallback to call when the request is satisfied. + + + + Data to pass to @callback. + + + + + + Finishes an operation started with g_dbus_address_get_stream(). + + A #GIOStream or %NULL if @error is set. + + + + + A #GAsyncResult obtained from the GAsyncReadyCallback passed to g_dbus_address_get_stream(). + + + + %NULL or return location to store the GUID extracted from @address, if any. + + + + + + Synchronously connects to an endpoint specified by @address and +sets up the connection so it is in a state to run the client-side +of the D-Bus authentication conversation. +This is a synchronous failable function. See +g_dbus_address_get_stream() for the asynchronous version. + + A #GIOStream or %NULL if @error is set. + + + + + A valid D-Bus address. + + + + %NULL or return location to store the GUID extracted from @address, if any. + + + + A #GCancellable or %NULL. + + + + + + Looks up the value of an annotation. +This cost of this function is O(n) in number of annotations. + + The value or %NULL if not found. Do not free, it is owned by @annotations. + + + + + A %NULL-terminated array of annotations or %NULL. + + + + The name of the annotation to look up. - - - + + Creates a D-Bus error name to use for @error. If @error matches +a registered error (cf. g_dbus_error_register_error()), the corresponding +D-Bus error name will be returned. +Otherwise the a name of the form +<literal>org.gtk.GDBus.UnmappedGError.Quark._ESCAPED_QUARK_NAME.Code_ERROR_CODE</literal> +will be used. This allows other GDBus applications to map the error +on the wire back to a #GError using g_dbus_error_new_for_dbus_error(). +This function is typically only used in object mappings to put a +#GError on the wire. Regular applications should not use it. + + A D-Bus error name (never %NULL). Free with g_free(). + - - - - - - + A #GError. + + + + + + Gets the D-Bus error name used for @error, if any. +This function is guaranteed to return a D-Bus error name for all +#GError<!-- -->s returned from functions handling remote method +calls (e.g. g_dbus_connection_call_finish()) unless +g_dbus_error_strip_remote_error() has been used on @error. + + An allocated string or %NULL if the D-Bus error name could not be found. Free with g_free(). + + + + + A #GError. + + + + + + Checks if @error represents an error received via D-Bus from a remote peer. If so, +use g_dbus_error_get_remote_error() to get the name of the error. +%FALSE otherwise. + + %TRUE if @error represents an error from a remote peer, + + + + + A #GError. + + + + + + Creates a #GError based on the contents of @dbus_error_name and +Errors registered with g_dbus_error_register_error() will be looked +up using @dbus_error_name and if a match is found, the error domain +and code is used. Applications can use g_dbus_error_get_remote_error() +to recover @dbus_error_name. +If a match against a registered error is not found and the D-Bus +error name is in a form as returned by g_dbus_error_encode_gerror() +the error domain and code encoded in the name is used to +create the #GError. Also, @dbus_error_name is added to the error message +such that it can be recovered with g_dbus_error_get_remote_error(). +Otherwise, a #GError with the error code %G_IO_ERROR_DBUS_ERROR +in the #G_IO_ERROR error domain is returned. Also, @dbus_error_name is +added to the error message such that it can be recovered with +g_dbus_error_get_remote_error(). +In all three cases, @dbus_error_name can always be recovered from the +returned #GError using the g_dbus_error_get_remote_error() function +(unless g_dbus_error_strip_remote_error() hasn't been used on the returned error). +This function is typically only used in object mappings to prepare +#GError instances for applications. Regular applications should not use +it. + + An allocated #GError. Free with g_error_free(). + + + + + D-Bus error name. + + + + D-Bus error message. + + + + + + + + + + + Creates an association to map between @dbus_error_name and +#GError<!-- -->s specified by @error_domain and @error_code. +This is typically done in the routine that returns the #GQuark for +an error domain. +exists. + + %TRUE if the association was created, %FALSE if it already + + + + + A #GQuark for a error domain. + + + + An error code. + + + + A D-Bus error name. + + + + + + Helper function for associating a #GError error domain with D-Bus error names. + + + + + + The error domain name. + + + + A pointer where to store the #GQuark. + + + + A pointer to @num_entries #GDBusErrorEntry struct items. + + + + Number of items to register. + + + + + + Does nothing if @error is %NULL. Otherwise sets *@error to +a new #GError created with g_dbus_error_new_for_dbus_error() +with @dbus_error_message prepend with @format (unless %NULL). + + + + + + A pointer to a #GError or %NULL. - + + D-Bus error name. + + + + D-Bus error message. + + + + printf()-style format to prepend to @dbus_error_message or %NULL. @@ -23343,118 +43804,567 @@ and #GZlibCompressor." - + + Like g_dbus_error_set_dbus_error() but intended for language bindings. - + + + + + A pointer to a #GError or %NULL. + + + + D-Bus error name. + + + + D-Bus error message. + + + + printf()-style format to prepend to @dbus_error_message or %NULL. + + + + Arguments for @format. + + + + + + Looks for extra information in the error message used to recover +the D-Bus error name and strips it if found. If stripped, the +message field in @error will correspond exactly to what was +received on the wire. +This is typically used when presenting errors to the end user. + + %TRUE if information was stripped, %FALSE otherwise. + + + + + A #GError. + + + + + + Destroys an association previously set up with g_dbus_error_register_error(). + + %TRUE if the association was destroyed, %FALSE if it wasn't found. + + + + + A #GQuark for a error domain. + + + + An error code. + + + + A D-Bus error name. + + + + + + Generate a D-Bus GUID that can be used with +e.g. g_dbus_connection_new(). +See the D-Bus specification regarding what strings are valid D-Bus +GUID (for example, D-Bus GUIDs are not RFC-4122 compliant). + + A valid D-Bus GUID. Free with g_free(). + + + + + Checks if @string is a D-Bus address. +This doesn't check if @string is actually supported by #GDBusServer +or #GDBusConnection - use g_dbus_is_supported_address() to do more +checks. + + %TRUE if @string is a valid D-Bus address, %FALSE otherwise. + + + + + A string. + + + + + + Checks if @string is a D-Bus GUID. +See the D-Bus specification regarding what strings are valid D-Bus +GUID (for example, D-Bus GUIDs are not RFC-4122 compliant). + + %TRUE if @string is a guid, %FALSE otherwise. + + + + + The string to check. + + + + + + Checks if @string is a valid D-Bus interface name. + + %TRUE if valid, %FALSE otherwise. + + + + + The string to check. + + + + + + Checks if @string is a valid D-Bus member (e.g. signal or method) name. + + %TRUE if valid, %FALSE otherwise. + + + + + The string to check. + + + + + + Checks if @string is a valid D-Bus bus name (either unique or well-known). + + %TRUE if valid, %FALSE otherwise. + + + + + The string to check. + + + + + + Like g_dbus_is_address() but also checks if the library suppors the +transports in @string and that key/value pairs for each transport +are valid. +supported by this library, %FALSE if @error is set. + + %TRUE if @string is a valid D-Bus address that is + + + + + A string. + + + + + + Checks if @string is a valid D-Bus unique bus name. + + %TRUE if valid, %FALSE otherwise. + + + + + The string to check. + + + + + + Creates a hash value for a #GFile. +This call does no blocking i/o. +integer that can be used as hash value for the #GFile. +This function is intended for easily hashing a #GFile to +add to a #GHashTable or similar data structure. + + 0 if @file is not a valid #GFile, otherwise an + + + + + #gconstpointer to a #GFile. + + + + + + Creates a #GFile with the given argument from the command line. The value of +relative to the current working directory. +This operation never fails, but the returned object might not support any +I/O operation if @arg points to a malformed path. + + a new #GFile. + + + + + a command line string. + + + + + + Constructs a #GFile for a given path. This operation never +fails, but the returned object might not support any I/O +operation if @path is malformed. + + a new #GFile for the given @path. + + + + + a string containing a relative or absolute path. The string must be encoded in the glib filename encoding. + + + + + + Constructs a #GFile for a given URI. This operation never +fails, but the returned object might not support any I/O +operation if @uri is malformed or if the uri type is +not supported. + + a #GFile for the given @uri. + + + + + a UTF8 string containing a URI. + + + + + + Constructs a #GFile with the given @parse_name (i.e. something given by g_file_get_parse_name()). +This operation never fails, but the returned object might not support any I/O +operation if the @parse_name cannot be parsed. + + a new #GFile. + + + + + a file name or path to be parsed. + + + + + + Gets a hash for an icon. +use in a #GHashTable or similar data structure. + + a #guint containing a hash for the @icon, suitable for + + + + + #gconstpointer to an icon object. + + + + + + Generate a #GIcon instance from @str. This function can fail if +If your application or library provides one or more #GIcon +implementations you need to ensure that each #GType is registered +with the type system prior to calling g_icon_new_for_string(). + + An object implementing the #GIcon interface or %NULL if + + + + + A string obtained via g_icon_to_string(). + + + + + + Helper function for constructing #GInitiable object. This is +similar to g_object_new() but also initializes the object +and returns %NULL, setting an error on failure. + + a newly allocated #GObject, or %NULL on error + + a #GType supporting #GInitable. + + + + optional #GCancellable object, %NULL to ignore. + + + + a #GError location to store the error occuring, or %NULL to ignore. + + + + the name of the first property, or %NULL if no properties + + + + + + + + + + Helper function for constructing #GInitiable object. This is +similar to g_object_new_valist() but also initializes the object +and returns %NULL, setting an error on failure. + + a newly allocated #GObject, or %NULL on error + + + + + a #GType supporting #GInitable. + + + + the name of the first property, followed by the value, and other property value pairs, and ended by %NULL. + + + + The var args list generated from @first_property_name. + + + + optional #GCancellable object, %NULL to ignore. + + + + + + Helper function for constructing #GInitiable object. This is +similar to g_object_newv() but also initializes the object +and returns %NULL, setting an error on failure. + + a newly allocated #GObject, or %NULL on error + + + + + a #GType supporting #GInitable. - + the number of parameters in @parameters + + the parameters to use to construct the object + optional #GCancellable object, %NULL to ignore. - + Converts errno.h error codes into GIO error codes. + + #GIOErrorEnum value for the given errno.h error number. - + Error number as defined in errno.h. + + + Gets the GIO Error Quark. + + a #GQuark. + + + + Gets the type associated with @extension. + the type of @extension + a #GIOExtension - + c:identifier="g_io_extension_point_implement" + introspectable="0"> + Registers @type as extension for the extension point with name +If @type has already been registered as an extension for this +extension point, the existing #GIOExtension object is returned. + + a #GIOExtension object for #GType + the name of the extension point + the #GType to register as extension + the name for the extension - + the priority for the extension + - + c:identifier="g_io_extension_point_lookup" + introspectable="0"> + Looks up an existing extension point. +registered extension point with the given name + + the #GIOExtensionPoint, or %NULL if there is no + the name of the extension point - + c:identifier="g_io_extension_point_register" + introspectable="0"> + Registers an extension point. +and should not be freed + + the new #GIOExtensionPoint. This object is owned by GIO + The name of the extension point + Loads all the modules in the specified directory. +If don't require all modules to be initialized (and thus registering +all gtypes) then you can use g_io_modules_scan_all_in_directory() +which allows delayed/lazy loading of modules. +from the directory, +All the modules are loaded into memory, if you want to +unload them (enabling on-demand loading) you must call +g_type_module_unuse() on all the modules. Free the list +with g_list_free(). - + a list of #GIOModules loaded + + + + pathname for a directory containing modules to load. + c:identifier="g_io_modules_scan_all_in_directory" + version="2.24"> + Scans all the modules in the specified directory, ensuring that +any extension point implemented by a module is registered. +This may not actually load and initialize all the types in each +module, some modules may be lazily loaded and initialized when +an extension point it implementes is used with e.g. +g_io_extension_point_get_extensions() or +g_io_extension_point_get_extension_by_name(). +If you need to guarantee that all types are loaded in all the modules, +use g_io_modules_scan_all_in_directory(). + pathname for a directory containing modules to scan. + Cancels all cancellable I/O jobs. +A job is cancellable if a #GCancellable was passed into +g_io_scheduler_push_job(). + Schedules the I/O job to run. +regardless whether the job was cancelled or has run to completion. +If @cancellable is not %NULL, it can be used to cancel the I/O job +by calling g_cancellable_cancel() or by calling +g_io_scheduler_cancel_all_jobs(). @@ -23464,47 +44374,150 @@ and #GZlibCompressor." scope="notified" closure="1" destroy="2"> + a #GIOSchedulerJobFunc. - + data to pass to @job_func + - + + a #GDestroyNotify for @user_data, or %NULL - + the <link linkend="gioscheduler">I/O priority</link> of the request. + + optional #GCancellable object, %NULL to ignore. + + Creates a keyfile-backed #GSettingsBackend. +The filename of the keyfile to use is given by @filename. +All settings read to or written from the backend must fall under the +path given in @root_path (which must start and end with a slash and +not contain two consecutive slashes). @root_path may be "/". +If @root_group is non-%NULL then it specifies the name of the keyfile +group used for keys that are written directly below @root_path. For +example, if @root_path is "/apps/example/" and @root_group is +"toplevel", then settings the key "/apps/example/enabled" to a value +of %TRUE will cause the following to appear in the keyfile: +|[ +[toplevel] +enabled=true +]| +If @root_group is %NULL then it is not permitted to store keys +directly below the @root_path. +the name of the subpath (with the final slash stripped) is used as +the name of the keyfile group. To continue the example, if +"/apps/example/profiles/default/font-size" were set to +12 then the following would appear in the keyfile: +|[ +[profiles/default] +font-size=12 +]| +The backend will refuse writes (and return writability as being +%FALSE) for keys outside of @root_path and, in the event that +Writes will also be refused if the backend detects that it has the +writable). +There is no checking done for your key namespace clashing with the +syntax of the key file format. For example, if you have '[' or ']' +characters in your path names or '=' in your key names you may be in +trouble. + + a keyfile-backed #GSettingsBackend + + + + + the filename of the keyfile + + + + the path under which all settings keys appear + + + + the group name corresponding to + + + + + + Lookup "gio-proxy" extension point for a proxy implementation that supports +specified protocol. + + return a #GProxy or NULL if protocol is not supported. + + + + + the proxy protocol name (e.g. http, socks, etc) + + + + + + Gets the default #GProxyResolver for the system. + + the default #GProxyResolver. + + + + + Gets the #GResolver Error Quark. + + a #GQuark. + + + + c:identifier="g_simple_async_report_error_in_idle" + introspectable="0"> + Reports an error in an asynchronous function in an idle function by +directly setting the contents of the #GAsyncResult with the given error +information. + a #GObject. + a #GAsyncReadyCallback. - + user data passed to @callback. + + a #GQuark containing the error domain (usually #G_IO_ERROR). - + a specific error code. + + a formatted error reporting string. @@ -23515,224 +44528,312 @@ and #GZlibCompressor." + Reports an error in an idle function. Similar to +g_simple_async_report_error_in_idle(), but takes a #GError rather +than building a new one. + a #GObject. + a #GAsyncReadyCallback. - + user data passed to @callback. + + the #GError to report + c:identifier="g_srv_target_list_sort" + version="2.22"> + Sorts @targets in place according to the algorithm in RFC 2782. - + the head of the sorted list. + + + - + a #GList of #GSrvTarget + + + + Determines if @mount_path is considered an implementation of the +OS. This is primarily used for hiding mountable and mounted volumes +that only are used in the OS and has little to no relevance to the +casual user. +of the OS. - + %TRUE if @mount_path is considered an implementation detail + + a mount path, e.g. <filename>/media/disk</filename> or <filename>/usr</filename> - + + Gets a #GUnixMountEntry for a given mount path. If @time_read +is set, it will be filled with a unix timestamp for checking +if the mounts have changed since with g_unix_mounts_changed_since(). + a #GUnixMount. + path for a possible unix mount. - - + + guint64 to contain a timestamp. + + Compares two unix mounts. +or less than @mount2, respectively. - + 1, 0 or -1 if @mount1 is greater than, equal to, + + first #GUnixMountEntry to compare. + second #GUnixMountEntry to compare. + Frees a unix mount. + a #GUnixMount. + Gets the device path for a unix mount. + a string containing the device path. + a #GUnixMount. + Gets the filesystem type for the unix mount. + a string containing the file system type. + a #GUnixMount. + Gets the mount path for a unix mount. + the mount path for @mount_entry. + input #GUnixMountEntry to get the mount path for. + Guesses whether a Unix mount can be ejected. - + %TRUE if @mount_entry is deemed to be ejectable. + + a #GUnixMountEntry + Guesses the icon of a Unix mount. + a #GIcon + a #GUnixMountEntry + Guesses the name of a Unix mount. +The result is a translated string. +be freed with g_free() + A newly allocated string that must + a #GUnixMountEntry + Guesses whether a Unix mount should be displayed in the UI. - + %TRUE if @mount_entry is deemed to be displayable. + + a #GUnixMountEntry + Checks if a unix mount is mounted read only. - + %TRUE if @mount_entry is read only. + + a #GUnixMount. + Checks if a unix mount is a system path. - + %TRUE if the unix mount is for a system path. + + a #GUnixMount. + Checks if the unix mount points have changed since a given unix time. - + %TRUE if the mount points have changed since @time. + - + guint64 to contain a timestamp. + + Gets a #GList of #GUnixMountPoint containing the unix mount points. +If @time_read is set, it will be filled with the mount timestamp, +allowing for checking if the mounts have changed with +g_unix_mounts_points_changed_since(). - + a #GList of the UNIX mountpoints. + + + - - + + guint64 to contain a timestamp. + + Checks if the unix mounts have changed since a given unix time. - + %TRUE if the mounts have changed since @time. + - + guint64 to contain a timestamp. + + Gets a #GList of #GUnixMountEntry containing the unix mounts. +If @time_read is set, it will be filled with the mount +timestamp, allowing for checking if the mounts have changed +with g_unix_mounts_changed_since(). - + a #GList of the UNIX mounts. + + + - - + + guint64 to contain a timestamp, or %NULL + diff --git a/basis/gio/ffi/ffi.factor b/basis/gio/ffi/ffi.factor index e4d9b73fd0..e2247e8a9e 100644 --- a/basis/gio/ffi/ffi.factor +++ b/basis/gio/ffi/ffi.factor @@ -1,10 +1,15 @@ -! Copyright (C) 2009 Anton Gorenko. +! Copyright (C) 2010 Anton Gorenko. ! See http://factorcode.org/license.txt for BSD license. -USING: alien alien.libraries combinators kernel system -gobject-introspection glib.ffi gobject.ffi ; -EXCLUDE: alien.c-types => pointer ; +USING: alien alien.libraries alien.syntax combinators +gobject-introspection kernel system vocabs.loader ; IN: gio.ffi +<< +"gobject.ffi" require +>> + +LIBRARY: gio + << "gio" { { [ os winnt? ] [ "libgio-2.0-0.dll" cdecl add-library ] } @@ -14,4 +19,3 @@ IN: gio.ffi >> GIR: vocab:gio/Gio-2.0.gir - diff --git a/basis/glib/GLib-2.0.gir b/basis/glib/GLib-2.0.gir index dec330b8c8..7d024455cd 100644 --- a/basis/glib/GLib-2.0.gir +++ b/basis/glib/GLib-2.0.gir @@ -2,7 +2,7 @@ - @@ -11,46 +11,64 @@ and/or use gtk-doc annotations. --> - - - - - - - - - - + c:identifier-prefixes="G" + c:symbol-prefixes="g,glib"> + + + + + + + + A type which is used to hold a process identification. +On UNIX, processes are identified by a process id (an integer), +while Windows uses process handles (which are pointers). + + + + + + + + + + A value representing an interval of time, in microseconds. + + - + - + - + - + - + - + - + - + + + + + + - + @@ -66,16 +84,720 @@ and/or use gtk-doc annotations. --> - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + + The <structname>GBookmarkFile</structname> struct contains only +private data and should not be directly accessed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Error codes returned by bookmark file parsing. @@ -101,25 +823,80 @@ and/or use gtk-doc annotations. --> - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -127,96 +904,144 @@ and/or use gtk-doc annotations. --> - + - - - + + + - + - - - + + + - + - + An opaque structure representing a checksumming operation. To create a new GChecksum, use g_checksum_new(). To free -a GChecksum, use g_checksum_free()." - version="2.16"> +a GChecksum, use g_checksum_free(). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + The hashing algorithm to be used by #GChecksum when performing the digest of some data. Note that the #GChecksumType enumeration may be extended at a later -date to include new hashing algorithm types." - version="2.16" - c:type="GChecksumType"> +date to include new hashing algorithm types. + The type of functions to be called when a child exists. + the process id of the child process - + Status information about the child process, see waitpid(2) for more information about this field + - + user data passed to g_child_watch_add() + - + - + - + - + - + - + - + - + + + @@ -225,11 +1050,92 @@ date to include new hashing algorithm types." - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -237,13 +1143,13 @@ date to include new hashing algorithm types." - + - + @@ -253,15 +1159,16 @@ date to include new hashing algorithm types." - + - + + Error codes returned by character set conversion routines. @@ -279,37 +1186,41 @@ date to include new hashing algorithm types." - - + version="2.4" + introspectable="0"> + A function of this signature is used to copy the node data +when doing a deep-copy of a tree. + + A pointer to the copy + - + A pointer to the data which should be copied + - + Additional data + - + - + - + - + - + - + @@ -320,32 +1231,319 @@ when doing a deep-copy of a tree." - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -367,6 +1565,295 @@ when doing a deep-copy of a tree." + + <structname>GDateTime</structname> is an opaque structure whose members +cannot be accessed directly. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -382,7 +1869,7 @@ when doing a deep-copy of a tree." - + @@ -391,44 +1878,59 @@ when doing a deep-copy of a tree." - + - + + + + + + + + + + + + + + + + - + - + - + - + - + - - + + - + - + - + @@ -437,11 +1939,34 @@ when doing a deep-copy of a tree." - + + + + + + + + + + + + + + + + + + + + + + + + @@ -461,9 +1986,6 @@ when doing a deep-copy of a tree." value="7" c:identifier="G_ERR_FLOAT_MALFORMED"/> - - - @@ -510,17 +2032,17 @@ when doing a deep-copy of a tree." - + - + - + - + @@ -530,7 +2052,7 @@ when doing a deep-copy of a tree." - + @@ -540,87 +2062,87 @@ when doing a deep-copy of a tree." - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -628,70 +2150,116 @@ when doing a deep-copy of a tree." - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -700,47 +2268,57 @@ when doing a deep-copy of a tree." - + - + - + - + + + + + + + + + + + - + - + - + - + - + @@ -766,14 +2344,14 @@ when doing a deep-copy of a tree." - + - + @@ -788,34 +2366,105 @@ when doing a deep-copy of a tree." - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -826,21 +2475,21 @@ when doing a deep-copy of a tree." - + - + - + - + @@ -858,10 +2507,10 @@ when doing a deep-copy of a tree." - + - + @@ -874,33 +2523,355 @@ when doing a deep-copy of a tree." - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + @@ -951,7 +2922,7 @@ when doing a deep-copy of a tree." - + @@ -961,34 +2932,136 @@ when doing a deep-copy of a tree." - + - + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + - + + + + + + + + + + - - + + + + + + + + + + + + + + - + + + + + + + + + + - + + + + + + + + + + + + + - + + + + + + + + + + @@ -998,76 +3071,774 @@ when doing a deep-copy of a tree." - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + - - + + - - + + - + - + - + - + + + - + + + @@ -1142,7 +3917,7 @@ when doing a deep-copy of a tree." - + @@ -1166,28 +3941,287 @@ when doing a deep-copy of a tree." - + - - + + - - - - - + + - + - + - + + The <structname>GMainContext</structname> struct is an opaque data +type representing a set of sources to be handled in a main loop. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + The <structname>GMainLoop</structname> struct is an opaque data type +representing the main event loop of a GLib or GTK+ application. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + A set of functions used to perform memory allocation. The same #GMemVTable must +be used for all allocations in the same program; a call to g_mem_set_vtable(), +if it exists, should be prior to any use of GLib. + + + + + + + + + + + - - + + + + + + + + + + + + + + - + + + + + + + + + + - - + + + + + + + + + + + + + + - - + + + + + + + + + + + - - + + + + + + + + + + + + + + - + - - - - + @@ -1301,6 +4724,262 @@ when doing a deep-copy of a tree." + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1311,20 +4990,20 @@ when doing a deep-copy of a tree." - + - + - + @@ -1343,15 +5022,28 @@ when doing a deep-copy of a tree." - + - + + + + + + + + + + + + + + - + The #GOptionArg enum values determine which type of extra argument the options expect to find. If an option expects an extra argument, it -can be specified in several ways; with a short option:" - c:type="GOptionArg"> +can be specified in several ways; with a short option: +<option>-x arg</option>, with a long option: <option>--name arg</option> @@ -1386,107 +5071,234 @@ can be specified in several ways; with a short option:" - + The type of function to be passed as callback for %G_OPTION_ARG_CALLBACK options. -occurred, in which case @error should be set with g_set_error()" - throws="1"> +occurred, in which case @error should be set with g_set_error() - + %TRUE if the option was successfully parsed, %FALSE if an error + + The name of the option being parsed. This will be either a single dash followed by a single letter (for a short name) or two dashes followed by a long option name. + The value to be parsed. - + User data added to the #GOptionGroup containing the option when it was created with g_option_group_new() + - + + A <structname>GOptionContext</structname> struct defines which options +are accepted by the commandline option parser. The struct has only private +fields and should not be directly accessed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + A <structname>GOptionEntry</structname> defines a single option. To have an effect, they must be added to a #GOptionGroup with -g_option_context_add_main_entries() or g_option_group_add_entries()."> +g_option_context_add_main_entries() or g_option_group_add_entries(). - + - + - + @@ -1496,11 +5308,9 @@ g_option_context_add_main_entries() or g_option_group_add_entries()."> + Error codes returned by option parsing. @@ -1509,43 +5319,28 @@ Error codes returned by option parsing." c:identifier="G_OPTION_ERROR_BAD_VALUE"/> - + + The type of function to be used as callback when a parse error occurs. + The active #GOptionContext + The group to which the function belongs - + User data added to the #GOptionGroup containing the option when it was created with g_option_group_new() + - + + Flags which modify individual options. @@ -1558,92 +5353,190 @@ Flags which modify individual options." c:identifier="G_OPTION_FLAG_OPTIONAL_ARG"/> - + A <structname>GOptionGroup</structname> struct defines the options in a single group. The struct has only private fields and should not be directly accessed. All options in a group share the same translation function. Libraries which need to parse commandline options are expected to provide a function for getting a <structname>GOptionGroup</structname> holding their options, which -the application can then add to its #GOptionContext."> +the application can then add to its #GOptionContext. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + The type of function that can be called before and after parsing. +occurred, in which case @error should be set with g_set_error() - + %TRUE if the function completed successfully, %FALSE if an error + + The active #GOptionContext + The group to which the function belongs - + User data added to the #GOptionGroup containing the option when it was created with g_option_group_new() + - + - - + + - - + + - - + + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + - + - + - + + Specifies the type of function passed to g_main_context_set_poll_func(). +The semantics of the function should match those of the poll() system call. +reported, or -1 if an error occurred. - + the number of #GPollFD elements which have events or errors + + an array of #GPollFD elements - + the number of elements in @ufds + - + the maximum time to wait for an event of the file descriptors. A negative value indicates an infinite timeout. + @@ -1657,32 +5550,742 @@ occurred, in which case @error should be set with g_set_error()" - + - + - + - + + + - + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + A GRegex is the "compiled" form of a regular expression pattern. This +structure is opaque and its fields cannot be accessed directly. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + Flags specifying compile-time options. @@ -1709,8 +6312,10 @@ occurred, in which case @error should be set with g_set_error()" c:identifier="G_REGEX_NEWLINE_CRLF"/> + Error codes returned by regular expressions functions. @@ -1828,23 +6433,33 @@ occurred, in which case @error should be set with g_set_error()" value="157" c:identifier="G_REGEX_ERROR_MISSING_BACK_REFERENCE"/> - + + Specifies the type of the function passed to g_regex_replace_eval(). +It is called for each occurance of the pattern in the string passed +to g_regex_replace_eval(), and it should append the replacement to - + %FALSE to continue the replacement process, %TRUE to stop it + + the #GMatchInfo generated by the match. Use g_match_info_get_regex() and g_match_info_get_string() if you need the #GRegex or the matched string. + a #GString containing the new string - + user data passed to g_regex_replace_eval() + - + + Flags specifying match-time options. @@ -1869,61 +6484,156 @@ occurred, in which case @error should be set with g_set_error()" value="4194304" c:identifier="G_REGEX_MATCH_NEWLINE_ANY"/> - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + + + - - + + - + - + - + - + - + - + - + - + - + - + @@ -1941,10 +6651,10 @@ occurred, in which case @error should be set with g_set_error()" - + - + @@ -1953,16 +6663,19 @@ occurred, in which case @error should be set with g_set_error()" - + - + - + + + + - + @@ -1974,11 +6687,221 @@ occurred, in which case @error should be set with g_set_error()" - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1994,73 +6917,73 @@ occurred, in which case @error should be set with g_set_error()" - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -2071,11 +6994,11 @@ occurred, in which case @error should be set with g_set_error()" - + - + @@ -2084,13 +7007,249 @@ occurred, in which case @error should be set with g_set_error()" - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -2100,7 +7259,7 @@ occurred, in which case @error should be set with g_set_error()" - + @@ -2136,8 +7295,10 @@ occurred, in which case @error should be set with g_set_error()" c:identifier="G_SLICE_CONFIG_CONTENTION_COUNTER"/> + The <structname>GSource</structname> struct is an opaque data type +representing an event source. - + @@ -2146,22 +7307,24 @@ occurred, in which case @error should be set with g_set_error()" - + - + - + - + - + + + @@ -2169,22 +7332,221 @@ occurred, in which case @error should be set with g_set_error()" - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The <structname>GSourceCallbackFuncs</structname> struct contains +functions for managing callback objects. - + + + + + + + + + + - + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + @@ -2194,26 +7556,88 @@ occurred, in which case @error should be set with g_set_error()" - + - + + The <structname>GSourceFuncs</structname> struct contains a table of +functions used to handle event sources in a generic manner. +For idle sources, the prepare and check functions always return %TRUE +to indicate that the source is always ready to be processed. The prepare +function also returns a timeout value of 0 to ensure that the poll() call +doesn't block (since that would be time wasted which could have been spent +running the idle function). +For timeout sources, the prepare and check functions both return %TRUE +if the timeout interval has expired. The prepare function also returns +a timeout value to ensure that the poll() call doesn't block too long +and miss the next timeout. +For file descriptor sources, the prepare function typically returns %FALSE, +since it must wait until poll() has been called before it knows whether +any events need to be processed. It sets the returned timeout to -1 to +indicate that it doesn't mind how long the poll() call blocks. In the +check function, it tests the results of the poll() call to see if the +required condition has been met, and returns %TRUE if so. - + + + + + + + + + + + + + - + + + + + + + + + + - - + + + + + + + + + + + + + + + + + - + + + + + + + + + + @@ -2228,7 +7652,7 @@ occurred, in which case @error should be set with g_set_error()" - + @@ -2279,31 +7703,73 @@ occurred, in which case @error should be set with g_set_error()" value="64" c:identifier="G_SPAWN_FILE_AND_ARGV_ZERO"/> + + - + - - + + - + - + - + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2316,104 +7782,659 @@ occurred, in which case @error should be set with g_set_error()" - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + Specifies the prototype of fatal log handler functions. - + %TRUE if the program should abort, %FALSE otherwise + + the log domain of the message + the log level of the message (including the fatal and recursion flags) + the message to process - + user data, set in g_test_log_set_fatal_handler() + @@ -2422,17 +8443,22 @@ occurred, in which case @error should be set with g_set_error()" - + - + - + + + + + + @@ -2454,7 +8480,27 @@ occurred, in which case @error should be set with g_set_error()" c:identifier="G_TEST_LOG_MAX_RESULT"/> - + + + + + + + + + + + + + + + + + + + + + - + - + - + + + + + + + + + + + + + + + + - - - + + + - + - - + + + + + + - + + + + + + + + + + - + + + + + + + + + + - + + + + + + + + + + - + + + + + + + + + + - - + + + + + + - + + + + + + + + + + - + + + + + + + + + + - + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + - + + + + + + + + + + - - + + + + + + + + + + + - - + + + + + + + + + + + - + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + - + + + + + + + + + + - + + + + + - + + + + + + + + + + + + + - + + + + + + + + + + - + + + + + + + + + + + + + @@ -2568,11 +8836,78 @@ occurred, in which case @error should be set with g_set_error()" - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2580,15 +8915,145 @@ occurred, in which case @error should be set with g_set_error()" + + Disambiguates a given time in two ways. +First, specifies if the given time is in universal or local time. +Second, if the time is in local time, specifies if it is local +standard time or local daylight time. This is important for the case +where the same local time occurs twice (during daylight savings time +transitions, for example). + + + + - + - + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2624,28 +9089,28 @@ occurred, in which case @error should be set with g_set_error()" - + - + - + - + - + - + - + @@ -2654,27 +9119,28 @@ occurred, in which case @error should be set with g_set_error()" - + - + - + The type of functions which are used to translate user-visible strings, for <option>--help</option> output. -The returned string is owned by GLib and must not be freed."> +The returned string is owned by GLib and must not be freed. + a translation of the string for the current locale. + the untranslated string - + user data specified when installing the function, e.g. in g_option_group_set_translate_func() + @@ -2695,17 +9161,17 @@ The returned string is owned by GLib and must not be freed."> - + - + - + - + @@ -2715,22 +9181,183 @@ The returned string is owned by GLib and must not be freed."> - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + - + - + - + + + + + + + + + + + + + + + + @@ -3091,15 +9757,13 @@ The returned string is owned by GLib and must not be freed."> value="29" c:identifier="G_UNICODE_SPACE_SEPARATOR"/> - + These are logical ids for special directories which are defined depending on the platform used. You should use g_get_user_special_dir() to retrieve the full path associated to the logical id. The #GUserDirectory enumeration can be extended at later date. Not every platform has a directory for every logical id in this -enumeration." - version="2.14" - c:type="GUserDirectory"> +enumeration. @@ -3129,16 +9793,763 @@ enumeration." c:identifier="G_USER_N_DIRECTORIES"/> - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3168,17 +10579,219 @@ enumeration." - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + A type in the GVariant type system. Two types may not be compared by value; use g_variant_type_equal() or g_variant_type_is_subtype(). May be copied using -g_variant_type_copy() and freed using g_variant_type_free()."> +g_variant_type_copy() and freed using g_variant_type_free(). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3186,33 +10799,25 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + - + - - - - - - - - - - - - + + @@ -3220,23 +10825,29 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - - - + + + + + - + + + - + - + @@ -3246,190 +10857,241 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + + + - + - + - + + + - - - + + + + + - + + + - + - + - + - - - + + + + + - + - + - + - - - + + + + + - + + + - + - + - - - + + + + + - + + + - - - + + + + + - + + + - + - - + c:identifier="g_array_remove_index_fast" + introspectable="0"> + + + + - + + + - + - - - + + + + + - + + + - + - + - - - + + + + + - + + + - + - - - + + + + + - + - + - + - + - + - + + + - + + c:identifier="g_array_sort_with_data" + introspectable="0"> - + + + - + - + @@ -3439,17 +11101,19 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + + + - + - + @@ -3458,14 +11122,14 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + - + @@ -3474,23 +11138,23 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + - + - + @@ -3510,13 +11174,13 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + @@ -3526,58 +11190,52 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + - - - + - + - - - + - + - + - - - + - + @@ -3590,37 +11248,37 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + - + - + - + - + - + @@ -3636,7 +11294,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -3658,7 +11316,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -3669,7 +11327,8 @@ g_variant_type_copy() and freed using g_variant_type_free()."> + c:identifier="g_assertion_message_cmpnum" + introspectable="0"> @@ -3681,7 +11340,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -3699,7 +11358,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -3716,7 +11375,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -3748,7 +11407,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -3763,7 +11422,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -3780,7 +11439,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -3790,295 +11449,33 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + c:identifier="g_async_queue_new_full" + introspectable="0"> + + scope="async"> - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -4088,52 +11485,52 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - + + - + - + - - + + - + - + - + - - + + - + - + - - + + @@ -4142,38 +11539,40 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - + + - + - + - + - + - + - - - + + + - + @@ -4183,65 +11582,59 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + - - - - + + - - + + - - - - + + - + - - + + - + - + - - - + - - + + - - + + @@ -4251,58 +11644,54 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - + - + - + - + - + - - + + - - + + - + - - - + - + - + - + - - + + - - + + @@ -4321,60 +11710,60 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - + + - + - + - + - + - + - + - + - + - + - + - - + + - + @@ -4383,11 +11772,11 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - + + - + @@ -4396,675 +11785,22 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -5084,13 +11820,14 @@ g_variant_type_copy() and freed using g_variant_type_free()."> + Return value: - + @@ -5116,177 +11853,224 @@ g_variant_type_copy() and freed using g_variant_type_free()."> + Return value: - - - - - - - - - - - - - - - - - - - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + - + - - - + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + c:identifier="g_byte_array_remove_index" + introspectable="0"> + + + + - + + + - + - - + c:identifier="g_byte_array_remove_index_fast" + introspectable="0"> + + + + - + + + - + - - + c:identifier="g_byte_array_remove_range" + introspectable="0"> + + + + - + + + - + - + - - - + + + + + - + + + - + - - + c:identifier="g_byte_array_sized_new" + introspectable="0"> + + + + - + - + - + + + - + + c:identifier="g_byte_array_sort_with_data" + introspectable="0"> - + + + - + - + @@ -5296,125 +12080,43 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -5428,66 +12130,20 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -5496,20 +12152,10 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - - - - - - - - - + @@ -5517,31 +12163,34 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + - - + + + + + - - - - - - + - + - + - + @@ -5554,16 +12203,17 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + - + c:identifier="g_child_watch_source_new" + introspectable="0"> + @@ -5577,118 +12227,18 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -5699,12 +12249,10 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - + - + @@ -5721,7 +12269,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -5734,7 +12282,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -5742,16 +12290,25 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - + + - + + + + + + @@ -5763,7 +12320,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -5774,13 +12331,11 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - + + - - + + @@ -5795,18 +12350,16 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - - + + - - + + @@ -5820,7 +12373,9 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -5828,20 +12383,17 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + - + @@ -5850,9 +12402,10 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - + c:identifier="g_datalist_id_get_data" + introspectable="0"> + + @@ -5864,9 +12417,10 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - + c:identifier="g_datalist_id_remove_no_notify" + introspectable="0"> + + @@ -5890,9 +12444,9 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + @@ -5916,7 +12470,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -5930,7 +12484,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -5940,36 +12494,37 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + - + - + - + - - - + + + - + @@ -5977,13 +12532,14 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - + c:identifier="g_dataset_id_remove_no_notify" + introspectable="0"> + + - + @@ -5997,148 +12553,23 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -6149,42 +12580,10 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -6192,31 +12591,10 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - - - - - - - - - - - - - - - - - - - + @@ -6224,51 +12602,9 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -6276,13 +12612,15 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - + + - - + + @@ -6297,162 +12635,28 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + - + @@ -6462,72 +12666,203 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + - - + + - - + + - + - + - - + + - - + + - + - + - - - - - + + - - - + + + - - + + - - + + + + + + + + + + + + + + + + + - - - + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -6537,7 +12872,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -6553,17 +12888,17 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + - + @@ -6573,7 +12908,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -6583,7 +12918,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -6591,6 +12926,22 @@ g_variant_type_copy() and freed using g_variant_type_free()."> + + + + + + + + + + + + + + + + @@ -6604,18 +12955,11 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - - - - - - - - - - + + @@ -6623,50 +12967,30 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - - - - - - - - - - - - - - - - - - - + - + - + - + - + - + @@ -6685,30 +13009,30 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + - + - + - + - + @@ -6724,7 +13048,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -6749,44 +13073,8 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -6794,7 +13082,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -6805,8 +13093,10 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - + + @@ -6814,54 +13104,87 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + + + + + + + + + + + + + + + + + + + + - + - + + + + + + - + - + - + - + - + @@ -6880,23 +13203,25 @@ g_variant_type_copy() and freed using g_variant_type_free()."> c:identifier="g_file_set_contents" throws="1"> - + - + + + - + - + @@ -6940,9 +13265,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - + @@ -6957,15 +13280,13 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - - + + - - + + @@ -6995,15 +13316,13 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - - + + - - + + @@ -7025,7 +13344,24 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + + + + + + + + + + + + + + + + + + @@ -7035,7 +13371,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -7047,13 +13383,11 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - - - + @@ -7075,7 +13409,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -7094,7 +13428,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -7178,106 +13512,128 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + + + + - - - + + + - + + + + - + - + - + - + + + + - + - + + c:identifier="g_hash_table_foreach_remove" + introspectable="0"> - + - + + + + - + - + + c:identifier="g_hash_table_foreach_steal" + introspectable="0"> - + - + + + + - + - + - - - + + + + + - + + + + - - + c:identifier="g_hash_table_get_values" + introspectable="0"> + + + + - + + + + @@ -7287,175 +13643,140 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + + + + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - + + + + - + - + - + + + + - + - + - + - - - + + + + + + - + - + - - - + + + + + + - + + scope="notified" + destroy="3"> + scope="async"> + scope="async"> - - - + + + + + + - + + + + - + - + + + + - + @@ -7466,7 +13787,10 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + + + + @@ -7476,36 +13800,45 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + + + + - + - + - + - + + + + - + - + + + + - + @@ -7516,7 +13849,10 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + + + + @@ -7526,12 +13862,15 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + + + + - - + + @@ -7540,29 +13879,16 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - - - - - - - - - - - - + - + @@ -7579,8 +13905,8 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - + + @@ -7588,21 +13914,20 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + - + - - + + @@ -7610,15 +13935,17 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + - - + + @@ -7626,15 +13953,17 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + - - + + @@ -7642,18 +13971,20 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + - + - - + + @@ -7661,7 +13992,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -7678,8 +14009,8 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - + + @@ -7687,7 +14018,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -7707,7 +14038,9 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -7718,108 +14051,15 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -7830,7 +14070,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -7847,8 +14087,8 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - + + @@ -7876,7 +14116,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -7887,7 +14127,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -7898,7 +14138,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -7928,37 +14168,29 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - - - + - - + + - - - + - - + + - + @@ -7966,8 +14198,8 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - + + @@ -7979,13 +14211,31 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + + + + + + + + + + + + + + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - + @@ -8084,16 +14336,40 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + + + + + + + + + + + + + + + + + + + + - + @@ -8106,140 +14382,35 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + - - - - - - - - - - - + - + - - - - - - - - - - - - - - - - - - - - - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -8251,366 +14422,22 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -8622,881 +14449,171 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + - - - + + + + + - + + + - + - - - + + + + + - + + + - + + + - - - + + + + + - + + + - - - + + + + + - + + + - + + + - - - + + + + + - + + + - + - - - + + + + + - + + + - + - + - - - + + + + + - + + + - + - + + + - + - + @@ -9506,7 +14623,9 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + + + @@ -9516,150 +14635,196 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + + + - + - + + + - + - - - + + + + + - + + + - + - + - - - + + + + + - + + + - + + + - + - - - + + + + + - + + + - + - + - - + c:identifier="g_list_insert_sorted_with_data" + introspectable="0"> + + + + - + + + - + - + - + - - - + + + + + - + + + - + - + + + - - - + + + + + - + + + - + - - - + + + - + + + - + - - - + + + + + - + + + - + @@ -9670,27 +14835,37 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + + + - + + + - - - + + + + + - + + + - + @@ -9700,93 +14875,126 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - - - + + + + + - + + + - + - - - + + + + + - + + + - + - - - + + + + + - + + + - + + + - - - + + + + + - + + + - - - + + + + + - + + + - + - - - + + + + + - + + + - + - + - - + + @@ -9803,15 +15011,13 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - - + + - - + + @@ -9824,19 +15030,17 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - - + + - - + + - + @@ -9871,7 +15075,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -9884,13 +15088,13 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + @@ -9900,24 +15104,22 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + c:identifier="g_log_set_default_handler" + introspectable="0"> + - + - + - + @@ -9929,9 +15131,11 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + @@ -9940,361 +15144,70 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + - - - - - - - - - - - + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - + + - + c:identifier="g_main_context_default" + introspectable="0"> + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + c:identifier="g_main_context_get_thread_default" + introspectable="0"> + - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + - - - - - - - - - - - - - - - - - - - - - - + + @@ -10302,132 +15215,61 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - + - - - + + + - + - - - + + + - + - + - - - + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + @@ -10435,48 +15277,25 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - - - - - - - - - - - - - - - - - - - + + c:identifier="g_markup_collect_attributes" + introspectable="0"> - + - - - + - - - + @@ -10493,6 +15312,11 @@ g_variant_type_copy() and freed using g_variant_type_free()."> + + + + + @@ -10502,90 +15326,14 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + c:identifier="g_markup_parse_context_new" + introspectable="0"> + @@ -10596,63 +15344,18 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + + scope="async"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + c:identifier="g_markup_printf_escaped" + introspectable="0"> @@ -10666,227 +15369,18 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -10895,8 +15389,10 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - + + @@ -10904,40 +15400,20 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + - - - - - - - - - - - - - - - - - - - - - + - + @@ -10955,345 +15431,65 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - + + + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - + @@ -11302,75 +15498,13 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -11380,7 +15514,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -11405,44 +15539,24 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - - - - - - - - - - - - - - - + - - + + - + - - + + @@ -11451,131 +15565,18 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -11584,165 +15585,15 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -11756,91 +15607,16 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -11850,7 +15626,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -11876,7 +15652,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -11896,14 +15672,14 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + @@ -11916,7 +15692,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -11930,7 +15706,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -11941,31 +15717,10 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -11976,21 +15731,23 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + - + - + @@ -12007,7 +15764,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -12021,7 +15778,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -12035,12 +15792,12 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + - + @@ -12049,6 +15806,21 @@ g_variant_type_copy() and freed using g_variant_type_free()."> + + + + + + + + + + + + + @@ -12063,7 +15835,8 @@ g_variant_type_copy() and freed using g_variant_type_free()."> + c:identifier="g_propagate_prefixed_error" + introspectable="0"> @@ -12089,125 +15862,155 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + + + - + - + - + + + - + - + - - - + + + - + + + - + - - - + + + + + - - + c:identifier="g_ptr_array_new_with_free_func" + introspectable="0"> + + + + + scope="async"> - - - + + + + + - + + + - + - + + + - + - + - + + + - + - - + c:identifier="g_ptr_array_remove_index" + introspectable="0"> + + - + + + - + - - + c:identifier="g_ptr_array_remove_index_fast" + introspectable="0"> + + - + + + - + @@ -12218,13 +16021,15 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + + + - + - + @@ -12235,11 +16040,13 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + + + + scope="async"> @@ -12250,53 +16057,63 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + + + - + - - - + + + + + - + - + - + + + - + + c:identifier="g_ptr_array_sort_with_data" + introspectable="0"> - + + + - + - + @@ -12306,38 +16123,39 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + + + - + - + - + - + - + - + - + @@ -12347,7 +16165,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -12367,7 +16185,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -12376,663 +16194,76 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - + - + c:identifier="g_rand_new_with_seed_array" + introspectable="0"> + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + - + - + - + - + - + - + - + @@ -13042,36 +16273,36 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - - - + + + - + - + - - - + + + - + - + - + @@ -13079,19 +16310,22 @@ g_variant_type_copy() and freed using g_variant_type_free()."> c:identifier="g_regex_check_replacement" throws="1"> - + - - + + + + + + + @@ -13101,151 +16335,13 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + @@ -13262,8 +16358,11 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - + + @@ -13278,150 +16377,10 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -13441,140 +16400,15 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -13603,7 +16437,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -13611,140 +16445,10 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -13753,197 +16457,9 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + c:identifier="g_sequence_foreach_range" + introspectable="0"> @@ -13954,30 +16470,19 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + - - - - - - - - - - - - - + + + @@ -13985,55 +16490,10 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + c:identifier="g_sequence_insert_before" + introspectable="0"> + @@ -14041,145 +16501,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -14212,32 +16534,22 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - + + - + - - - - - - - - - - - - - - + c:identifier="g_sequence_range_get_midpoint" + introspectable="0"> + @@ -14273,52 +16585,6 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -14328,31 +16594,13 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - - - - - - - - - - - - - - - + + c:identifier="g_sequence_sort_changed" + introspectable="0"> @@ -14360,19 +16608,17 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + + c:identifier="g_sequence_sort_changed_iter" + introspectable="0"> @@ -14380,35 +16626,12 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - - - - - - - - - - - - - - - - - + @@ -14436,7 +16659,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -14448,7 +16671,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -14471,7 +16694,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -14488,30 +16711,33 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - + + - + - + c:identifier="g_set_printerr_handler" + introspectable="0"> + - + - + @@ -14521,24 +16747,35 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + + + + + + - + - - + + - + @@ -14565,36 +16802,40 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - + + + - + - - - + + + - + - - - + + + - + - + @@ -14604,10 +16845,10 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + @@ -14618,19 +16859,19 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + - + - + @@ -14640,18 +16881,18 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - + + - + - - + + @@ -14664,109 +16905,150 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - - - + + + + + - - - + + + + + - + + + - + - - - + + + + + - + + + - + + + - - - + + + + + - + + + - - - + + + + + - + + + - + + + - - - + + + + + - + + + - + - - - + + + + + - + + + - + - + - + - + + + - + - + @@ -14776,7 +17058,9 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + + + @@ -14786,137 +17070,177 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + + + - + - + + + - + - - - + + + + + - + + + - + - + - - - + + + + + - + + + - + + + - + - - - + + + + + - + + + - + - + - - + c:identifier="g_slist_insert_sorted_with_data" + introspectable="0"> + + + + - + + + - + - + - + - - - + + + + + - + + + - + - + + + - - - + + + + + - + + + - + - - - + + + - + + + - + @@ -14927,27 +17251,37 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + + + - + + + - - - + + + + + - + + + - + @@ -14958,104 +17292,136 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - - - + + + + + - + + + - + - - - + + + + + - + + + - + - - - + + + + + - + + + - + + + - - - + + + + + - + + + - - - + + + + + - + + + - + - - + c:identifier="g_slist_sort_with_data" + introspectable="0"> + + + + - + + + - + - + - + - + - + - + - + @@ -15064,109 +17430,8 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -15174,172 +17439,73 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - - - - - - - - - + - + - + - + - + - + - + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + - + - + - - - + - - - + @@ -15368,9 +17530,12 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + @@ -15379,7 +17544,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> c:identifier="g_spawn_async_with_pipes" throws="1"> - + - - - + - - - + @@ -15408,25 +17569,31 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + - + - + - + @@ -15444,7 +17611,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> c:identifier="g_spawn_command_line_async" throws="1"> - + @@ -15456,7 +17623,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> c:identifier="g_spawn_command_line_sync" throws="1"> - + @@ -15464,24 +17631,32 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + + + + + + - + - - - + - - - + @@ -15510,34 +17681,37 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + - + - + - + - + @@ -15546,19 +17720,10 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - - - - - - - - - + c:identifier="g_static_mutex_get_mutex_impl" + introspectable="0"> + @@ -15567,234 +17732,12 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -15804,20 +17747,20 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + - + - + @@ -15830,7 +17773,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -15843,11 +17786,11 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + @@ -15856,20 +17799,20 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + - + @@ -15885,7 +17828,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -15895,14 +17838,14 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + @@ -15923,7 +17866,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -15942,14 +17885,14 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + @@ -15958,7 +17901,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -15973,7 +17916,9 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -15987,17 +17932,30 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + + + + + + + + + + + + + + - - - + @@ -16007,7 +17965,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -16030,345 +17988,24 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -16377,8 +18014,10 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - + + @@ -16386,162 +18025,19 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - + @@ -16558,7 +18054,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -16581,47 +18077,45 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - + - + - + - + - + - + - + - + @@ -16631,7 +18125,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -16644,7 +18138,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -16654,10 +18148,10 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + @@ -16666,7 +18160,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -16693,7 +18187,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -16706,12 +18200,12 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - - + + @@ -16724,12 +18218,14 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - - + + @@ -16742,7 +18238,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -16755,7 +18251,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -16764,16 +18260,14 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - - - + @@ -16782,24 +18276,24 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + - - - + - + @@ -16808,14 +18302,16 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + - + @@ -16824,11 +18320,13 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + @@ -16837,19 +18335,19 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + - + - + - + @@ -16873,8 +18371,10 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - + + @@ -16882,24 +18382,26 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + - + - + - + - - + + @@ -16908,18 +18410,20 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - + + - + - - + + @@ -16930,75 +18434,25 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + c:identifier="g_test_log_set_fatal_handler" + introspectable="0"> - + - + @@ -17013,13 +18467,14 @@ g_variant_type_copy() and freed using g_variant_type_free()."> + c:identifier="g_test_maximized_result" + introspectable="0"> - + @@ -17030,7 +18485,9 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -17045,13 +18502,14 @@ g_variant_type_copy() and freed using g_variant_type_free()."> + c:identifier="g_test_minimized_result" + introspectable="0"> - + @@ -17067,14 +18525,11 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + @@ -17084,55 +18539,55 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + - + - + - + - + - + - + - + - + - + @@ -17140,41 +18595,14 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + @@ -17195,13 +18623,13 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + @@ -17210,11 +18638,11 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + @@ -17224,75 +18652,77 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + - + - + - + - + - + - + + + + + + - + - + - + - + - + @@ -17316,108 +18746,43 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - + - - - - - - - - - - - + - + - + - + - + - - - - - - - - - - - - - - + @@ -17428,22 +18793,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - - - - - - - - - - - - + @@ -17454,27 +18804,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - - - - - - - - - - - - - - - + @@ -17484,52 +18814,17 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -17540,26 +18835,63 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - + + + - - + + - + + + + + + + + + + + - + + + + + + + + + + + + + + + + + - + - + - + - + + c:identifier="g_timeout_add_seconds" + shadowed-by="timeout_add_seconds_full" + introspectable="0"> - + + + + + + + + + + + + + + + + + - + - + - + - + - - + + - + - + c:identifier="g_timeout_source_new_seconds" + introspectable="0"> + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -17704,9 +18994,11 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - + + + @@ -17714,9 +19006,11 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - + + + @@ -17733,112 +19027,24 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + - - + + @@ -17846,624 +19052,557 @@ g_variant_type_copy() and freed using g_variant_type_free()."> transfer-ownership="none" scope="notified" closure="1" - destroy="2"> + destroy="3"> - + + scope="async"> + scope="async"> - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - + - - - + + + - + - - - + + + - + - + - - - + + + - + - + - - - + + + - + - + - - - + + + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + - - + + - - + + - + - + - + - - + + - - + + - - + + - + + c:identifier="g_unichar_combining_class" + introspectable="0"> - + - + - + - + - + + c:identifier="g_unichar_get_mirror_char" + introspectable="0"> - + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - + + + - + - - - + + + - + - - - + + + - + - - + + - + - + - + - + + c:identifier="g_unichar_xdigit_value" + introspectable="0"> - + - + - - + c:identifier="g_unicode_canonical_decomposition" + introspectable="0"> + + - + - - + + + c:identifier="g_unicode_canonical_ordering" + introspectable="0"> - + - + - + @@ -18493,13 +19632,14 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + c:identifier="g_uri_list_extract_uris" + introspectable="0"> + @@ -18556,28 +19696,29 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - - - + + + - + - + - - + + - - + + @@ -18587,18 +19728,16 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + - - + + - - + + @@ -18611,13 +19750,13 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + @@ -18637,7 +19776,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -18651,7 +19790,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -18681,9 +19820,11 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - + + + @@ -18692,16 +19833,17 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - + c:identifier="g_utf8_get_char_validated" + introspectable="0"> + + - + @@ -18714,7 +19856,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -18731,14 +19873,14 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + @@ -18759,7 +19901,9 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -18768,10 +19912,10 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + @@ -18784,20 +19928,20 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + - + @@ -18806,18 +19950,20 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + - + @@ -18826,10 +19972,10 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + @@ -18842,7 +19988,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -18855,167 +20001,89 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - - - + + + - + - - + + - - + + - - - + + + - + - - + + - - + + - + - - + + - - + + - + - + - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -19024,306 +20092,29 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + - + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -19337,93 +20128,20 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - + - + @@ -19431,23 +20149,10 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - - - - - - - - - - - - + @@ -19455,332 +20160,6 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -19790,47 +20169,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -19849,74 +20188,15 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - - - - - - - - @@ -19929,217 +20209,33 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -20148,45 +20244,10 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + c:identifier="g_variant_type_new_tuple" + introspectable="0"> + @@ -20194,35 +20255,14 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - - - - - - - - - - - - - - - - - - - + - + @@ -20233,7 +20273,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + @@ -20243,29 +20283,87 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - - - + - + - + - - + + + + + + + + - + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -20281,7 +20379,7 @@ g_variant_type_copy() and freed using g_variant_type_free()."> - + diff --git a/basis/glib/ffi/ffi.factor b/basis/glib/ffi/ffi.factor index 405c25025f..0fd972f226 100644 --- a/basis/glib/ffi/ffi.factor +++ b/basis/glib/ffi/ffi.factor @@ -1,11 +1,12 @@ -! Copyright (C) 2009 Anton Gorenko. +! Copyright (C) 2010 Anton Gorenko. ! See http://factorcode.org/license.txt for BSD license. -USING: accessors alien alien.c-types alien.destructors -alien.libraries alien.syntax classes.struct combinators -compiler.units gobject-introspection kernel system vocabs.parser -words ; +USING: alien alien.destructors alien.libraries alien.syntax +combinators gobject-introspection gobject-introspection.standard-types +system ; IN: glib.ffi +LIBRARY: glib + << "glib" { { [ os winnt? ] [ "libglib-2.0-0.dll" cdecl add-library ] } @@ -14,62 +15,6 @@ IN: glib.ffi } cond >> -TYPEDEF: char gchar -TYPEDEF: uchar guchar -TYPEDEF: short gshort -TYPEDEF: ushort gushort -TYPEDEF: long glong -TYPEDEF: ulong gulong -TYPEDEF: int gint -TYPEDEF: uint guint - -<< -int c-type clone - [ >c-bool ] >>unboxer-quot - [ c-bool> ] >>boxer-quot - object >>boxed-class -"gboolean" current-vocab create typedef ->> - -TYPEDEF: char gint8 -TYPEDEF: uchar guint8 -TYPEDEF: short gint16 -TYPEDEF: ushort guint16 -TYPEDEF: int gint32 -TYPEDEF: uint guint32 -TYPEDEF: longlong gint64 -TYPEDEF: ulonglong guint64 - -TYPEDEF: float gfloat -TYPEDEF: double gdouble - -TYPEDEF: long ssize_t -TYPEDEF: long time_t -TYPEDEF: size_t gsize -TYPEDEF: ssize_t gssize -TYPEDEF: size_t GType - -TYPEDEF: void* gpointer -TYPEDEF: void* gconstpointer - -TYPEDEF: guint8 GDateDay -TYPEDEF: guint16 GDateYear -TYPEDEF: gint GPid -TYPEDEF: guint32 GQuark -TYPEDEF: gint32 GTime -TYPEDEF: glong gintptr -TYPEDEF: gint64 goffset -TYPEDEF: gulong guintptr -TYPEDEF: guint32 gunichar -TYPEDEF: guint16 gunichar2 - -TYPEDEF: gpointer pointer - -STRUCT: fake-long-double { data char[10] } ; -REPLACE-C-TYPE: long\sdouble fake-long-double - -REPLACE-C-TYPE: any gpointer - IMPLEMENT-STRUCTS: GPollFD GSource GSourceFuncs ; CONSTANT: G_MININT8 HEX: -80 @@ -93,4 +38,3 @@ DESTRUCTOR: g_free CALLBACK: gboolean GSourceFuncsPrepareFunc ( GSource* source, gint* timeout_ ) ; CALLBACK: gboolean GSourceFuncsCheckFunc ( GSource* source ) ; CALLBACK: gboolean GSourceFuncsDispatchFunc ( GSource* source, GSourceFunc callback, gpointer user_data ) ; - diff --git a/basis/gmodule/GModule-2.0.gir b/basis/gmodule/GModule-2.0.gir index 27a64f081b..d19501a6de 100644 --- a/basis/gmodule/GModule-2.0.gir +++ b/basis/gmodule/GModule-2.0.gir @@ -2,7 +2,7 @@ - @@ -12,11 +12,12 @@ and/or use gtk-doc annotations. --> - + c:identifier-prefixes="G" + c:symbol-prefixes="g"> + - + @@ -24,24 +25,24 @@ and/or use gtk-doc annotations. --> + + + + + - + - + - - - - - @@ -68,7 +69,7 @@ and/or use gtk-doc annotations. --> - + @@ -81,13 +82,15 @@ and/or use gtk-doc annotations. --> - + - - + + @@ -99,9 +102,9 @@ and/or use gtk-doc annotations. --> - + - + diff --git a/basis/gmodule/ffi/ffi.factor b/basis/gmodule/ffi/ffi.factor index 5e3334de68..c90fce8085 100644 --- a/basis/gmodule/ffi/ffi.factor +++ b/basis/gmodule/ffi/ffi.factor @@ -1,9 +1,15 @@ -! Copyright (C) 2009 Anton Gorenko. +! Copyright (C) 2010 Anton Gorenko. ! See http://factorcode.org/license.txt for BSD license. -USING: alien alien.libraries combinators kernel system -gobject-introspection glib.ffi ; +USING: alien alien.libraries alien.syntax combinators +gobject-introspection kernel system vocabs.loader ; IN: gmodule.ffi +<< +"glib.ffi" require +>> + +LIBRARY: gmodule + << "gmodule" { { [ os winnt? ] [ "libgmodule-2.0-0.dll" cdecl add-library ] } @@ -13,4 +19,3 @@ IN: gmodule.ffi >> GIR: vocab:gmodule/GModule-2.0.gir - diff --git a/basis/gobject-introspection/common/common.factor b/basis/gobject-introspection/common/common.factor index 7ffca04bde..4a88268878 100644 --- a/basis/gobject-introspection/common/common.factor +++ b/basis/gobject-introspection/common/common.factor @@ -1,21 +1,9 @@ ! Copyright (C) 2010 Anton Gorenko. ! See http://factorcode.org/license.txt for BSD license. -USING: assocs kernel namespaces ; +USING: namespaces ; IN: gobject-introspection.common -CONSTANT: ffi-vocab "ffi" - -SYMBOL: current-lib - -SYMBOL: type-infos -type-infos [ H{ } ] initialize - -SYMBOL: aliases -aliases [ H{ } ] initialize +SYMBOL: current-namespace-name SYMBOL: implement-structs implement-structs [ V{ } ] initialize - -SYMBOL: replaced-c-types -replaced-c-types [ H{ } ] initialize - diff --git a/basis/gobject-introspection/ffi/ffi.factor b/basis/gobject-introspection/ffi/ffi.factor index 1328bdc787..ff0eb9a85b 100644 --- a/basis/gobject-introspection/ffi/ffi.factor +++ b/basis/gobject-introspection/ffi/ffi.factor @@ -1,240 +1,341 @@ -! Copyright (C) 2009 Anton Gorenko. +! Copyright (C) 2010 Anton Gorenko. ! See http://factorcode.org/license.txt for BSD license. USING: accessors alien alien.c-types alien.parser arrays assocs classes.parser classes.struct combinators combinators.short-circuit definitions effects fry gobject-introspection.common gobject-introspection.types kernel math.parser namespaces parser quotations sequences + +gobject-introspection.standard-types +prettyprint ascii gobject-introspection.repository locals +compiler.units make splitting.monotonic + sequences.generalizations words words.constant ; IN: gobject-introspection.ffi -: string>c-type ( str -- c-type ) - dup CHAR: * swap index [ cut ] [ "" ] if* - [ replaced-c-types get-global ?at drop ] dip - append parse-c-type ; - -: define-each ( nodes quot -- ) - '[ dup @ >>ffi drop ] each ; inline +SYMBOL: constant-prefix -: function-ffi-invoker ( func -- quot ) - { - [ return>> c-type>> string>c-type ] - [ drop current-lib get-global ] - [ identifier>> ] - [ parameters>> [ c-type>> string>c-type ] map ] - [ varargs?>> [ void* suffix ] when ] - } cleave function-quot ; +: def-c-type ( c-type-name base-c-type -- ) + swap (CREATE-C-TYPE) typedef ; -: function-ffi-effect ( func -- effect ) - [ parameters>> [ name>> ] map ] - [ varargs?>> [ "varargs" suffix ] when ] - [ return>> type>> none-type? { } { "result" } ? ] tri - ; +: defer-c-type ( c-type-name -- c-type ) + deferred-type swap (CREATE-C-TYPE) [ typedef ] keep ; +! create-in dup +! [ fake-definition ] [ undefined-def define ] bi ; -: define-ffi-function ( func -- word ) - [ identifier>> create-in dup ] - [ function-ffi-invoker ] [ function-ffi-effect ] tri - define-declared ; +:: defer-types ( types type-info-class -- ) + types [ + [ c-type>> defer-c-type ] + [ name>> qualified-name ] bi + type-info-class new swap register-type + ] each ; -: define-ffi-functions ( functions -- ) - [ define-ffi-function ] define-each ; +: def-alias-c-type ( base-c-type c-type-name -- c-type ) + (CREATE-C-TYPE) [ typedef ] keep ; -: callback-ffi-invoker ( callback -- quot ) - [ return>> c-type>> string>c-type ] - [ parameters>> [ c-type>> string>c-type ] map ] bi - cdecl callback-quot ; +: alias-c-type-name ( alias -- c-type-name ) + ! > ] [ name>> ] bi or ; + ! workaround> + ! c-type>> ; -: callback-ffi-effect ( callback -- effect ) - [ parameters>> [ name>> ] map ] - [ return>> type>> none-type? { } { "result" } ? ] bi - ; +:: def-alias ( alias -- ) + alias type>> get-type-info + [ c-type>> alias alias-c-type-name def-alias-c-type ] + [ clone ] bi alias name>> qualified-name register-type ; -: define-ffi-callback ( callback -- word ) - [ c-type>> create-in [ void* swap typedef ] keep dup ] keep - [ callback-ffi-effect "callback-effect" set-word-prop ] - [ drop current-lib get-global "callback-library" set-word-prop ] - [ callback-ffi-invoker (( quot -- alien )) define-inline ] 2tri ; +: def-aliases ( aliases -- ) + [ def-alias ] each ; -: fix-signal-param-c-type ( param -- ) - dup [ c-type>> ] [ type>> ] bi - { - [ none-type? ] - [ simple-type? ] - [ enum-type? ] - [ bitfield-type? ] - } 1|| [ dup "*" tail? [ CHAR: * suffix ] unless ] unless - >>c-type drop ; +GENERIC: type>c-type ( type -- c-type ) -: define-ffi-signal ( signal -- word ) - [ return>> fix-signal-param-c-type ] - [ parameters>> [ fix-signal-param-c-type ] each ] - [ define-ffi-callback ] tri ; - -: define-ffi-signals ( signals -- ) - [ define-ffi-signal ] define-each ; +M: atomic-type type>c-type get-type-info c-type>> ; +M: enum-type type>c-type get-type-info c-type>> ; +M: bitfield-type type>c-type get-type-info c-type>> ; +M: record-type type>c-type get-type-info c-type>> ; +M: union-type type>c-type get-type-info c-type>> ; +M: boxed-type type>c-type get-type-info c-type>> ; +M: callback-type type>c-type get-type-info c-type>> ; +M: class-type type>c-type get-type-info c-type>> ; +M: interface-type type>c-type get-type-info c-type>> ; -: const-value ( const -- value ) - [ value>> ] [ type>> name>> ] bi { - { "int" [ string>number ] } - { "double" [ string>number ] } - { "utf8" [ ] } +M: boxed-array-type type>c-type + name>> simple-type new swap >>name type>c-type ; + +M: c-array-type type>c-type + element-type>> type>c-type ; + +M: fixed-size-array-type type>c-type + [ element-type>> type>c-type ] [ fixed-size>> ] bi 2array ; + +! (in some signals and properties) +PREDICATE: incorrect-type < simple-type name>> not ; +M: incorrect-type type>c-type drop void* ; +! workaround> + +GENERIC: parse-const-value ( str data-type -- value ) + +M: atomic-type parse-const-value + name>> { + { "gint" [ string>number ] } + { "gdouble" [ string>number ] } } case ; -: define-ffi-enum ( enum -- word ) - [ - members>> [ - [ c-identifier>> create-in ] - [ value>> ] bi define-constant - ] each - ] [ c-type>> (CREATE-C-TYPE) [ int swap typedef ] keep ] bi ; +M: utf8-type parse-const-value drop ; -: define-ffi-enums ( enums -- ) - [ define-ffi-enum ] define-each ; - -: define-ffi-bitfields ( bitfields -- ) - [ define-ffi-enum ] define-each ; +: const-value ( const -- value ) + [ value>> ] [ type>> ] bi parse-const-value ; -: fields>struct-slots ( fields -- slots ) - [ - [ name>> ] +: const-name ( const -- name ) + name>> constant-prefix get swap "_" glue ; + +: def-const ( const -- ) + [ const-name create-in dup reset-generic ] + [ const-value ] bi define-constant ; + +: def-consts ( consts -- ) + [ def-const ] each ; + +: define-enum-member ( member -- ) + [ c-identifier>> create-in dup reset-generic ] + [ value>> ] bi define-constant ; + +: def-enum-type ( enum -- ) + [ members>> [ define-enum-member ] each ] + [ c-type>> int def-c-type ] bi ; + +: def-bitfield-type ( bitfield -- ) + def-enum-type ; + +GENERIC: parameter-type>c-type ( data-type -- c-type ) + +M: data-type parameter-type>c-type type>c-type ; +M: varargs-type parameter-type>c-type drop void* ; + +: parameter-c-type ( parameter -- c-type ) + [ type>> parameter-type>c-type ] keep + direction>> "in" = [ ] unless ; + +GENERIC: return-type>c-type ( data-type -- c-type ) + +M: data-type return-type>c-type type>c-type ; +M: none-type return-type>c-type drop void ; + +: return-c-type ( return -- c-type ) + type>> return-type>c-type ; + +: parameter-name ( parameter -- name ) + dup type>> varargs-type? + [ drop "varargs" ] [ name>> "!incorrect-name!" or ] if ; + +: error-parameter ( -- parameter ) + parameter new + "error" >>name + "in" >>direction + "none" >>transfer-ownership + simple-type new "GLib.Error" >>name >>type ; + +: ?suffix-parameters-with-error ( callable -- parameters ) + [ parameters>> ] [ throws?>> ] bi + [ error-parameter suffix ] when ; + +: parameter-names&types ( callable -- names types ) + [ [ parameter-c-type ] map ] [ [ parameter-name ] map ] bi ; + +: def-function ( function -- ) + { + [ return>> return-c-type ] + [ identifier>> ] + [ drop current-library get ] + [ ?suffix-parameters-with-error parameter-names&types ] + } cleave make-function define-inline ; + +: def-functions ( functions -- ) + [ def-function ] each ; + +GENERIC: type>data-type ( type -- data-type ) + +M: type type>data-type + [ simple-type new ] dip name>> >>name ; + +: word-started? ( word letter -- ? ) + [ letter? ] [ LETTER? ] bi* and ; inline + +: camel-case>underscore-separated ( str -- str' ) + [ word-started? not ] monotonic-split "_" join >lower ; + +: type>parameter-name ( type -- name ) + name>> camel-case>underscore-separated ; + +: type>parameter ( type -- parameter ) + [ parameter new ] dip { + [ type>parameter-name >>name ] + [ type>data-type >>type ] + [ drop "in" >>direction "none" >>transfer-ownership ] + } cleave ; + +:: def-method ( method type -- ) + method { + [ return>> return-c-type ] + [ identifier>> ] + [ drop current-library get ] [ - [ c-type>> string>c-type ] [ array-info>> ] bi - [ fixed-size>> [ 2array ] when* ] when* + ?suffix-parameters-with-error + type type>parameter prefix + parameter-names&types ] - [ drop { } ] tri - ] map ; + } cleave make-function define-inline ; -: define-ffi-record-defer ( record -- word ) - c-type>> create-in void* swap [ typedef ] keep ; +: def-methods ( methods type -- ) + [ def-method ] curry each ; -: define-ffi-records-defer ( records -- ) - [ define-ffi-record-defer ] define-each ; +: def-callback-type ( callback -- ) + { + [ drop current-library get ] + [ return>> return-c-type ] + [ c-type>> ] + [ ?suffix-parameters-with-error parameter-names&types ] + } cleave make-callback-type define-inline ; -: define-ffi-record ( record -- word ) - dup ffi>> forget - dup { - [ fields>> empty? not ] - [ c-type>> implement-structs get-global member? ] - } 1&& +GENERIC: field-type>c-type ( data-type -- c-type ) + +M: simple-type field-type>c-type type>c-type ; +M: inner-callback-type field-type>c-type drop void* ; +M: array-type field-type>c-type type>c-type ; + +: field>struct-slot ( field -- slot ) + [ name>> ] + [ dup bits>> [ drop uint ] [ type>> field-type>c-type ] if ] [ - [ c-type>> create-class-in dup ] - [ fields>> fields>struct-slots ] bi define-struct-class - ] [ - [ disguised?>> void* void ? ] - [ c-type>> create-in ] bi [ typedef ] keep - ] if ; + [ + [ drop ] ! [ writable?>> [ read-only , ] unless ] + [ bits>> [ bits: , , ] when* ] bi + ] V{ } make + ] tri ; -: define-ffi-records ( records -- ) - [ define-ffi-record ] define-each ; +: def-record-type ( record -- ) + dup c-type>> implement-structs get-global member? + [ + [ c-type>> create-class-in ] + [ fields>> [ field>struct-slot ] map ] bi + define-struct-class + ] [ c-type>> void def-c-type ] if ; -: define-ffi-record-content ( record -- ) +: def-record ( record -- ) { - [ constructors>> define-ffi-functions ] - [ functions>> define-ffi-functions ] - [ methods>> define-ffi-functions ] + [ def-record-type ] + [ constructors>> def-functions ] + [ functions>> def-functions ] + [ [ methods>> ] keep def-methods ] } cleave ; -: define-ffi-records-content ( records -- ) - [ define-ffi-record-content ] each ; +: def-union-type ( union -- ) + c-type>> void def-c-type ; -: define-ffi-union ( union -- word ) - c-type>> create-in [ void* swap typedef ] keep ; - -: define-ffi-unions ( unions -- ) - [ define-ffi-union ] define-each ; - -: define-ffi-callbacks ( callbacks -- ) - [ define-ffi-callback ] define-each ; - -: define-ffi-interface ( interface -- word ) - c-type>> create-in [ void swap typedef ] keep ; - -: define-ffi-interfaces ( interfaces -- ) - [ define-ffi-interface ] define-each ; - -: define-ffi-interface-content ( interface -- ) +: def-union ( union -- ) { - [ methods>> define-ffi-functions ] + [ def-union-type ] + [ constructors>> def-functions ] + [ functions>> def-functions ] + [ [ methods>> ] keep def-methods ] } cleave ; -: define-ffi-interfaces-content ( interfaces -- ) - [ define-ffi-interface-content ] each ; +: def-boxed-type ( boxed -- ) + c-type>> void def-c-type ; -: get-type-invoker ( name -- quot ) - ! hack - [ "GType" "glib.ffi" lookup current-lib get-global ] dip - { } \ alien-invoke 5 narray >quotation ; +: signal-name ( signal type -- name ) + swap [ c-type>> ] [ name>> ] bi* ":" glue ; + +: user-data-parameter ( -- parameter ) + parameter new + "user_data" >>name + "in" >>direction + "none" >>transfer-ownership + simple-type new "gpointer" >>name >>type ; + +:: def-signal ( signal type -- ) + signal { + [ drop current-library get ] + [ return>> return-c-type ] + [ type signal-name ] + [ + parameters>> type type>parameter prefix + user-data-parameter suffix parameter-names&types + ] + } cleave make-callback-type define-inline ; -: define-ffi-class ( class -- word ) - c-type>> create-in [ void swap typedef ] keep ; +: def-signals ( signals type -- ) + [ def-signal ] curry each ; -: define-ffi-classes ( class -- ) - [ define-ffi-class ] define-each ; +: def-class-type ( class -- ) + c-type>> void def-c-type ; -: define-ffi-class-content ( class -- ) +: def-class ( class -- ) { - [ constructors>> define-ffi-functions ] - [ functions>> define-ffi-functions ] - [ methods>> define-ffi-functions ] - [ signals>> define-ffi-signals ] + [ def-class-type ] + [ constructors>> def-functions ] + [ functions>> def-functions ] + [ [ methods>> ] keep def-methods ] + [ [ signals>> ] keep def-signals ] } cleave ; -: define-ffi-classes-content ( class -- ) - [ define-ffi-class-content ] each ; +: def-interface-type ( interface -- ) + c-type>> void def-c-type ; -: define-get-type ( node -- word ) - get-type>> dup { "intern" f } member? [ drop f ] - [ - [ create-in dup ] [ get-type-invoker ] bi - { } { "type" } define-declared - ] if ; - -: define-get-types ( namespace -- ) +: def-interface ( class -- ) { - [ enums>> [ define-get-type drop ] each ] - [ bitfields>> [ define-get-type drop ] each ] - [ records>> [ define-get-type drop ] each ] - [ unions>> [ define-get-type drop ] each ] - [ interfaces>> [ define-get-type drop ] each ] - [ classes>> [ define-get-type drop ] each ] + [ def-interface-type ] + [ functions>> def-functions ] + [ [ methods>> ] keep def-methods ] + [ [ signals>> ] keep def-signals ] } cleave ; -: define-ffi-const ( const -- word ) - [ c-identifier>> create-in dup ] [ const-value ] bi - define-constant ; +: defer-enums ( enums -- ) enum-info defer-types ; +: defer-bitfields ( bitfields -- ) bitfield-info defer-types ; +: defer-records ( records -- ) record-info defer-types ; +: defer-unions ( unions -- ) union-info defer-types ; +: defer-boxeds ( boxeds -- ) boxed-info defer-types ; +: defer-callbacks ( callbacks -- ) callback-info defer-types ; +: defer-interfaces ( interfaces -- ) interface-info defer-types ; +: defer-classes ( class -- ) class-info defer-types ; -: define-ffi-consts ( consts -- ) - [ define-ffi-const ] define-each ; +: def-enums ( enums -- ) [ def-enum-type ] each ; +: def-bitfields ( bitfields -- ) [ def-bitfield-type ] each ; +: def-records ( records -- ) [ def-record ] each ; +: def-unions ( unions -- ) [ def-union ] each ; +: def-boxeds ( boxeds -- ) [ def-boxed-type ] each ; +: def-callbacks ( callbacks -- ) [ def-callback-type ] each ; +: def-interfaces ( interfaces -- ) [ def-interface ] each ; +: def-classes ( classes -- ) [ def-class ] each ; -: define-ffi-alias ( alias -- ) - drop ; - -: define-ffi-aliases ( aliases -- ) - [ define-ffi-alias ] each ; - -: define-ffi-namespace ( namespace -- ) +: def-namespace ( namespace -- ) { - [ aliases>> define-ffi-aliases ] - [ consts>> define-ffi-consts ] - [ enums>> define-ffi-enums ] - [ bitfields>> define-ffi-bitfields ] - - [ records>> define-ffi-records-defer ] + [ symbol-prefixes>> first >upper constant-prefix set ] + [ consts>> def-consts ] - [ unions>> define-ffi-unions ] - [ interfaces>> define-ffi-interfaces ] - [ classes>> define-ffi-classes ] - [ callbacks>> define-ffi-callbacks ] - [ records>> define-ffi-records ] - - [ records>> define-ffi-records-content ] - [ classes>> define-ffi-classes-content ] - [ interfaces>> define-ffi-interfaces-content ] - [ functions>> define-ffi-functions ] + [ enums>> defer-enums ] + [ bitfields>> defer-bitfields ] + [ records>> defer-records ] + [ unions>> defer-unions ] + [ boxeds>> defer-boxeds ] + [ callbacks>> defer-callbacks ] + [ interfaces>> defer-interfaces ] + [ classes>> defer-classes ] - [ define-get-types ] + [ aliases>> def-aliases ] + + [ enums>> def-enums ] + [ bitfields>> def-bitfields ] + [ records>> def-records ] + [ unions>> def-unions ] + [ boxeds>> def-boxeds ] + [ callbacks>> def-callbacks ] + [ interfaces>> def-interfaces ] + [ classes>> def-classes ] + + [ functions>> def-functions ] } cleave ; -: define-ffi-repository ( repository -- ) - namespace>> define-ffi-namespace ; +: def-ffi-repository ( repository -- ) + namespace>> def-namespace ; diff --git a/basis/gobject-introspection/gobject-introspection.factor b/basis/gobject-introspection/gobject-introspection.factor index ae934ea76f..5104f757ce 100755 --- a/basis/gobject-introspection/gobject-introspection.factor +++ b/basis/gobject-introspection/gobject-introspection.factor @@ -1,26 +1,22 @@ -! Copyright (C) 2009 Anton Gorenko. +! Copyright (C) 2010 Anton Gorenko. ! See http://factorcode.org/license.txt for BSD license. -USING: accessors assocs combinators gobject-introspection.common -gobject-introspection.ffi gobject-introspection.loader kernel lexer -locals math namespaces sequences strings.parser vocabs.parser xml ; +USING: accessors combinators gobject-introspection.common +gobject-introspection.ffi gobject-introspection.loader +gobject-introspection.types kernel lexer locals namespaces parser +sequences xml ; IN: gobject-introspection -: with-child-vocab ( name quot -- ) - swap current-vocab name>> - [ swap "." glue set-current-vocab call ] keep - set-current-vocab ; inline +xml xml>repository - - current-vocab name>> dup ffi-vocab tail? - [ ffi-vocab length 1 + head* current-lib set-global ] - [ drop ] if ! throw the error { - [ define-ffi-repository ] + [ namespace>> name>> current-namespace-name set-global ] + [ def-ffi-repository ] } cleave - V{ } clone implement-structs set-global - H{ } clone replaced-c-types set-global ; + V{ } clone implement-structs set-global ; + +PRIVATE> SYNTAX: GIR: scan define-gir-vocab ; @@ -28,6 +24,8 @@ SYNTAX: IMPLEMENT-STRUCTS: ";" parse-tokens implement-structs [ swap append! ] change-global ; -SYNTAX: REPLACE-C-TYPE: - scan unescape-string scan swap - replaced-c-types get-global set-at ; +SYNTAX: FOREIGN-ENUM-TYPE: + scan-token scan-object swap register-enum-type ; + +SYNTAX: FOREIGN-RECORD-TYPE: + scan-token scan-object swap register-record-type ; diff --git a/basis/gobject-introspection/loader/loader.factor b/basis/gobject-introspection/loader/loader.factor index 8c79e7a0b8..3bc139e35b 100644 --- a/basis/gobject-introspection/loader/loader.factor +++ b/basis/gobject-introspection/loader/loader.factor @@ -1,225 +1,75 @@ -! Copyright (C) 2009 Anton Gorenko. +! Copyright (C) 2010 Anton Gorenko. ! See http://factorcode.org/license.txt for BSD license. -USING: accessors ascii combinators fry -gobject-introspection.common gobject-introspection.repository -gobject-introspection.types literals kernel math.parser sequences -splitting xml.data xml.traversal ; -FROM: namespaces => set get ; +USING: accessors combinators gobject-introspection.repository kernel +literals math.parser sequences splitting xml.data xml.traversal ; IN: gobject-introspection.loader -SYMBOL: namespace-prefix -SYMBOL: namespace-PREFIX - -: word-started? ( word letter -- ? ) - [ last letter? ] [ LETTER? ] bi* and ; - -: camel>PREFIX ( name -- name' ) - dup 1 head - [ 2dup word-started? [ [ CHAR: _ suffix ] dip ] when suffix ] - reduce rest >upper ; - -: set-prefix ( prefix -- ) - [ namespace-prefix set ] - [ camel>PREFIX namespace-PREFIX set ] bi ; - -: camel>factor ( name -- name' ) - dup 1 head - [ 2dup word-started? [ [ CHAR: - suffix ] dip ] when suffix ] - reduce rest >lower ; - -: underscored>factor ( name -- name' ) - [ [ CHAR: _ = not ] keep CHAR: - ? ] map >lower ; - -: full-type-name>type ( name -- type ) - [ type new ] dip - camel>factor "." split1 dup [ swap ] unless - [ >>namespace ] [ >>name ] bi* absolute-type ; - -: node>type ( xml -- type ) - "name" attr full-type-name>type ; - -: xml>array-info ( xml -- array-info ) - [ array-info new ] dip { - [ "zero-terminated" attr [ "1" = ] [ t ] if* >>zero-terminated? ] - [ "length" attr [ string>number ] [ f ] if* >>length ] - [ "fixed-size" attr [ string>number ] [ f ] if* >>fixed-size ] +: xml>simple-type ( xml -- type ) + [ simple-type new ] dip { + [ "name" attr >>name ] + [ + "type" tags-named + [ xml>simple-type ] map f like >>element-types + ] } cleave ; -: xml>type ( xml -- array-info type ) +: xml>varargs-type ( xml -- type ) + drop varargs-type new ; + +: xml>array-type ( xml -- type ) + [ array-type new ] dip { + [ "name" attr >>name ] + [ "zero-terminated" attr "0" = not >>zero-terminated? ] + [ "length" attr string>number >>length ] + [ "fixed-size" attr string>number >>fixed-size ] + [ "type" tag-named xml>simple-type >>element-type ] + } cleave ; + +: xml>inner-callback-type ( xml -- type ) + [ inner-callback-type new ] dip { + [ "name" attr >>name ] + } cleave ; + +: xml>type ( xml -- type ) dup name>> main>> { - { "array" - [ - [ xml>array-info ] - [ first-child-tag node>type ] bi - ] - } - { "type" [ node>type f swap ] } - { "varargs" [ drop f f ] } - { "callback" [ drop f "any" f type boa ] } + { "type" [ xml>simple-type ] } + { "array"[ xml>array-type ] } + { "callback" [ xml>inner-callback-type ] } + { "varargs" [ xml>varargs-type ] } } case ; -CONSTANT: type-tags { - $[ "array" ] - $[ "type" ] - $[ "varargs" ] - $[ "callback" ] -} +CONSTANT: type-tags + $[ { "array" "type" "callback" "varargs" } [ ] map ] : child-type-tag ( xml -- type-tag ) children-tags [ type-tags [ swap tag-named? ] with any? ] find nip ; - -: load-parameter ( param xml -- param ) - [ "transfer-ownership" attr >>transfer-ownership ] - [ child-type-tag "type" attr >>c-type ] - [ - child-type-tag xml>type - [ [ >>array-info ] [ >>type ] bi* ] [ 2drop f ] if* - ] tri ; +: xml>alias ( xml -- alias ) + [ alias new ] dip { + [ "name" attr >>name ] + [ "type" attr >>c-type ] + [ child-type-tag xml>type >>type ] + } cleave ; + +: xml>const ( xml -- const ) + [ const new ] dip { + [ "name" attr >>name ] + [ "value" attr >>value ] + [ child-type-tag xml>type >>type ] + } cleave ; + : load-type ( type xml -- type ) { - [ "name" attr camel>factor >>name ] - [ node>type >>type ] - [ "type" attr >>c-type ] - [ "type-name" attr >>type-name ] + [ "name" attr >>name ] + [ [ "type" attr ] [ "type-name" attr ] bi or >>c-type ] [ "get-type" attr >>get-type ] } cleave ; -: xml>parameter ( xml -- parameter ) - [ parameter new ] dip { - [ "name" attr >>name ] - [ "direction" attr dup "in" ? >>direction ] - [ "allow-none" attr "1" = >>allow-none? ] - [ load-parameter ] - } cleave ; - -: xml>return ( xml -- return ) - [ return new ] dip { - [ drop "result" >>name ] - [ load-parameter ] - } cleave ; - -: throws-parameter ( -- parameter ) - parameter new - "error" >>name - "in" >>direction - "none" >>transfer-ownership - "GError**" >>c-type - "GLib.Error" full-type-name>type >>type ; - -: extract-parameters ( xml -- parameters ) - "parameters" tag-named "parameter" tags-named - [ xml>parameter ] map ; - -: load-parameters ( callable xml -- callable ) - [ - [ - extract-parameters - dup { f } tail? [ but-last [ t >>varargs? ] dip ] when - ] - [ "throws" attr "1" = [ throws-parameter suffix ] when ] bi - >>parameters - ] - [ "return-value" tag-named xml>return >>return ] bi ; - -: xml>function ( xml -- function ) - [ function new ] dip { - [ "name" attr underscored>factor >>name ] - [ "identifier" attr >>identifier ] - [ load-parameters ] - } cleave ; - -: (type>param) ( type -- param ) - [ parameter new ] dip - [ c-type>> CHAR: * suffix >>c-type ] [ type>> >>type ] bi - "none" >>transfer-ownership - "in" >>direction ; - -: type>self-param ( type -- self ) - (type>param) "self" >>name ; - -: type>sender-param ( type -- sender ) - (type>param) "sender" >>name ; - -: signal-data-param ( -- param ) - parameter new - "user_data" >>name - "gpointer" >>c-type - type new "any" >>name >>type - "none" >>transfer-ownership - "in" >>direction ; - -: xml>property ( xml -- property ) - [ property new ] dip { - [ "name" attr >>name ] - [ "writable" attr "1" = >>writable? ] - [ "readable" attr "0" = not >>readable? ] - [ "construct" attr "1" = >>construct? ] - [ "construct-only" attr "1" = >>construct-only? ] - [ child-type-tag xml>type nip >>type ] - } cleave ; - -: xml>callback ( xml -- callback ) - [ callback new ] dip { - [ load-type ] - [ load-parameters ] - } cleave ; - -: xml>signal ( xml -- signal ) - [ signal new ] dip { - [ "name" attr camel>factor >>name ] - [ node>type >>type ] - [ "type" attr >>c-type ] - [ - load-parameters - [ signal-data-param suffix ] change-parameters - ] - } cleave ; - -: load-functions ( xml tag-name -- functions ) - tags-named [ xml>function ] map ; - -: xml>class ( xml -- class ) - [ class new ] dip { - [ load-type ] - [ "abstract" attr "1" = >>abstract? ] - [ - "parent" attr [ full-type-name>type ] [ f ] if* - >>parent - ] - [ "type-struct" attr >>type-struct ] - [ "constructor" load-functions >>constructors ] - [ "function" load-functions >>functions ] - [ - "method" load-functions over type>self-param - '[ [ _ prefix ] change-parameters ] map - >>methods - ] - [ - "signal" tags-named [ xml>signal ] map - over type>sender-param - '[ [ _ prefix ] change-parameters ] map - over c-type>> CHAR: : suffix - '[ dup name>> _ prepend >>c-type ] map - >>signals - ] - } cleave ; - -: xml>interface ( xml -- interface ) - [ interface new ] dip { - [ load-type ] - [ - "method" load-functions over type>self-param - '[ [ _ prefix ] change-parameters ] map - >>methods - ] - } cleave ; - : xml>member ( xml -- member ) [ enum-member new ] dip { - [ "name" attr underscored>factor >>name ] + [ "name" attr >>name ] [ "identifier" attr >>c-identifier ] [ "value" attr string>number >>value ] } cleave ; @@ -230,78 +80,135 @@ CONSTANT: type-tags { [ "member" tags-named [ xml>member ] map >>members ] } cleave ; +: load-parameter ( param xml -- param ) + [ child-type-tag xml>type >>type ] + [ "transfer-ownership" attr >>transfer-ownership ] bi ; + +: xml>parameter ( xml -- parameter ) + [ parameter new ] dip { + [ "name" attr >>name ] + [ "direction" attr dup "in" ? >>direction ] + [ "allow-none" attr "1" = >>allow-none? ] + [ child-type-tag xml>type >>type ] + [ "transfer-ownership" attr >>transfer-ownership ] + } cleave ; + +: xml>return ( xml -- return ) + [ return new ] dip { + [ child-type-tag xml>type >>type ] + [ "transfer-ownership" attr >>transfer-ownership ] + } cleave ; + +: load-callable ( callable xml -- callable ) + [ "return-value" tag-named xml>return >>return ] + [ + "parameters" tag-named "parameter" tags-named + [ xml>parameter ] map >>parameters + ] bi ; + +: xml>function ( xml -- function ) + [ function new ] dip { + [ "name" attr >>name ] + [ "identifier" attr >>identifier ] + [ load-callable ] + [ "throws" attr "1" = >>throws? ] + } cleave ; + +: load-functions ( xml tag-name -- functions ) + tags-named [ xml>function ] map ; + : xml>field ( xml -- field ) [ field new ] dip { [ "name" attr >>name ] [ "writable" attr "1" = >>writable? ] - [ - child-type-tag dup name>> main>> "callback" = - [ drop "gpointer" ] [ "type" attr ] if - >>c-type - ] - [ - child-type-tag xml>type - [ [ >>array-info ] [ >>type ] bi* ] [ 2drop f ] if* - ] + [ "bits" attr string>number >>bits ] + [ child-type-tag xml>type >>type ] } cleave ; : xml>record ( xml -- record ) [ record new ] dip { [ load-type ] - [ "disguised" attr "1" = >>disguised? ] [ "field" tags-named [ xml>field ] map >>fields ] [ "constructor" load-functions >>constructors ] + [ "method" load-functions >>methods ] [ "function" load-functions >>functions ] - [ - "method" load-functions over type>self-param - '[ [ _ prefix ] change-parameters ] map - >>methods - ] + [ "disguised" attr "1" = >>disguised? ] } cleave ; : xml>union ( xml -- union ) - [ union new ] dip load-type ; - -: xml>alias ( xml -- alias ) - [ alias new ] dip { - [ node>type >>name ] - [ "target" attr full-type-name>type >>target ] + [ union new ] dip { + [ load-type ] + [ "field" tags-named [ xml>field ] map >>fields ] + [ "constructor" load-functions >>constructors ] + [ "method" load-functions >>methods ] + [ "function" load-functions >>functions ] } cleave ; -: xml>const ( xml -- const ) - [ const new ] dip { +: xml>callback ( xml -- callback ) + [ callback new ] dip { + [ load-type ] + [ load-callable ] + [ "throws" attr "1" = >>throws? ] + } cleave ; + +: xml>signal ( xml -- signal ) + [ signal new ] dip { [ "name" attr >>name ] - [ - "name" attr namespace-PREFIX get swap "_" glue - >>c-identifier - ] - [ "value" attr >>value ] - [ child-type-tag "type" attr >>c-type ] - [ child-type-tag xml>type nip >>type ] + [ load-callable ] } cleave ; +: xml>property ( xml -- property ) + [ property new ] dip { + [ "name" attr >>name ] + [ "writable" attr "1" = >>writable? ] + [ "readable" attr "0" = not >>readable? ] + [ "construct" attr "1" = >>construct? ] + [ "construct-only" attr "1" = >>construct-only? ] + [ child-type-tag xml>type >>type ] + } cleave ; + +: xml>class ( xml -- class ) + [ class new ] dip { + [ load-type ] + [ "abstract" attr "1" = >>abstract? ] + [ "parent" attr >>parent ] + [ "type-struct" attr >>type-struct ] + [ "constructor" load-functions >>constructors ] + [ "method" load-functions >>methods ] + [ "function" load-functions >>functions ] + [ "signal" tags-named [ xml>signal ] map >>signals ] + } cleave ; + +: xml>interface ( xml -- interface ) + [ interface new ] dip { + [ load-type ] + [ "method" load-functions >>methods ] + [ "function" load-functions >>functions ] + [ "signal" tags-named [ xml>signal ] map >>signals ] + } cleave ; + +: xml>boxed ( xml -- boxed ) + [ boxed new ] dip + load-type ; + : xml>namespace ( xml -- namespace ) [ namespace new ] dip { - [ "name" attr camel>factor >>name ] - [ "prefix" attr [ set-prefix ] keep >>prefix ] + [ "name" attr >>name ] + [ "identifier-prefixes" attr "," split >>identifier-prefixes ] + [ "symbol-prefixes" attr "," split >>symbol-prefixes ] [ "alias" tags-named [ xml>alias ] map >>aliases ] - [ "record" tags-named [ xml>record ] map >>records ] - [ "union" tags-named [ xml>union ] map >>unions ] - [ "callback" tags-named [ xml>callback ] map >>callbacks ] - [ "interface" tags-named [ xml>interface ] map >>interfaces ] - [ "class" tags-named [ xml>class ] map >>classes ] [ "constant" tags-named [ xml>const ] map >>consts ] [ "enumeration" tags-named [ xml>enum ] map >>enums ] [ "bitfield" tags-named [ xml>enum ] map >>bitfields ] + [ "record" tags-named [ xml>record ] map >>records ] + [ "union" tags-named [ xml>union ] map >>unions ] + [ "boxed" tags-named [ xml>boxed ] map >>boxeds ] + [ "callback" tags-named [ xml>callback ] map >>callbacks ] + [ "class" tags-named [ xml>class ] map >>classes ] + [ "interface" tags-named [ xml>interface ] map >>interfaces ] [ "function" load-functions >>functions ] } cleave ; : xml>repository ( xml -- repository ) - [ repository new ] dip { - [ - "" "include" f tags-named - [ "name" attr camel>factor ] map >>includes - ] - [ "namespace" tag-named xml>namespace >>namespace ] - } cleave ; - + [ repository new ] dip + "namespace" tag-named xml>namespace >>namespace ; diff --git a/basis/gobject-introspection/repository/repository.factor b/basis/gobject-introspection/repository/repository.factor index e6b2de7193..4344c99526 100644 --- a/basis/gobject-introspection/repository/repository.factor +++ b/basis/gobject-introspection/repository/repository.factor @@ -1,64 +1,134 @@ -! Copyright (C) 2009 Anton Gorenko. +! Copyright (C) 2010 Anton Gorenko. ! See http://factorcode.org/license.txt for BSD license. USING: ; IN: gobject-introspection.repository -TUPLE: node name ; +TUPLE: repository + namespace ; -TUPLE: repository includes namespace ; +TUPLE: namespace + name + identifier-prefixes + symbol-prefixes + aliases + consts + enums + bitfields + records + unions + boxeds + callbacks + classes + interfaces + functions ; -TUPLE: namespace < node - prefix aliases consts classes interfaces records unions callbacks - enums bitfields functions ; +TUPLE: data-type + name ; -TUPLE: alias < node target ; +TUPLE: simple-type < data-type + element-types ; -TUPLE: typed < node type c-type ; +TUPLE: array-type < data-type + zero-terminated? + fixed-size + length + element-type ; -TUPLE: const < typed - value c-identifier ffi ; +TUPLE: inner-callback-type < data-type ; -TUPLE: type-node < node - type c-type type-name get-type ffi ; +TUPLE: varargs-type < data-type ; -TUPLE: field < typed - writable? length? array-info ; +TUPLE: alias + name + c-type + type ; -TUPLE: record < type-node - fields constructors methods functions disguised? ; +TUPLE: const + name + value + type ; -TUPLE: union < type-node ; +TUPLE: type + name + c-type + get-type ; -TUPLE: class < record - abstract? parent type-struct signals ; +TUPLE: enum-member + name + value + c-identifier ; -TUPLE: interface < type-node - methods ; +TUPLE: enum < type + members ; -TUPLE: property < type-node - readable? writable? construct? construct-only? ; +TUPLE: record < type + fields + constructors + methods + functions + disguised? ; -TUPLE: callable < type-node - return parameters varargs? ; +TUPLE: field + name + writable? + bits + type ; -TUPLE: function < callable identifier ; +TUPLE: union < type + fields + constructors + methods + functions ; -TUPLE: callback < type-node return parameters varargs? ; +TUPLE: return + type + transfer-ownership ; -TUPLE: signal < callback ; +TUPLE: parameter + name + type + direction + allow-none? + transfer-ownership ; -TUPLE: parameter < typed - direction allow-none? length? transfer-ownership array-info - local ; +TUPLE: function + name + identifier + return + parameters + throws? ; -TUPLE: return < typed - transfer-ownership array-info local ; +TUPLE: callback < type + return + parameters + throws? ; -TUPLE: type name namespace ; +TUPLE: class < type + abstract? + parent + type-struct + constructors + methods + functions + signals ; -TUPLE: array-info zero-terminated? fixed-size length ; +TUPLE: interface < type + constructors + methods + functions + signals ; -TUPLE: enum-member < node value c-identifier ; +TUPLE: boxed < type ; -TUPLE: enum < type-node members ; +TUPLE: signal + name + return + parameters ; +TUPLE: property + name + readable? + writable? + construct? + construct-only? + type ; diff --git a/basis/gobject-introspection/standard-types/standard-types.factor b/basis/gobject-introspection/standard-types/standard-types.factor new file mode 100644 index 0000000000..53f1d1f85c --- /dev/null +++ b/basis/gobject-introspection/standard-types/standard-types.factor @@ -0,0 +1,71 @@ +! Copyright (C) 2010 Anton Gorenko. +! See http://factorcode.org/license.txt for BSD license. +USING: accessors alien.c-types alien.syntax +classes.struct gobject-introspection.types kernel parser ; +IN: gobject-introspection.standard-types + +<< +TYPEDEF: char gchar +TYPEDEF: uchar guchar +TYPEDEF: short gshort +TYPEDEF: ushort gushort +TYPEDEF: long glong +TYPEDEF: ulong gulong +TYPEDEF: int gint +TYPEDEF: uint guint + +TYPEDEF: char gint8 +TYPEDEF: uchar guint8 +TYPEDEF: short gint16 +TYPEDEF: ushort guint16 +TYPEDEF: int gint32 +TYPEDEF: uint guint32 +TYPEDEF: longlong gint64 +TYPEDEF: ulonglong guint64 + +TYPEDEF: float gfloat +TYPEDEF: double gdouble + +TYPEDEF: gulong GType +TYPEDEF: void* gpointer +TYPEDEF: guint32 gunichar +TYPEDEF: void* va_list + +int c-type clone + [ >c-bool ] >>unboxer-quot + [ c-bool> ] >>boxer-quot + object >>boxed-class +"gboolean" create-in typedef + +STRUCT: longdouble { data char[10] } ; +>> + +gchar "gchar" register-standard-type +guchar "guchar" register-standard-type +gshort "gshort" register-standard-type +gushort "gushort" register-standard-type +glong "glong" register-standard-type +gulong "gulong" register-standard-type +gint "gint" register-standard-type +guint "guint" register-standard-type + +gint8 "gint8" register-standard-type +guint8 "guint8" register-standard-type +gint16 "gint16" register-standard-type +guint16 "guint16" register-standard-type +gint32 "gint32" register-standard-type +guint32 "guint32" register-standard-type +gint64 "gint64" register-standard-type +guint64 "guint64" register-standard-type + +gfloat "gfloat" register-standard-type +gdouble "gdouble" register-standard-type + +GType "GType" register-standard-type +gpointer "gpointer" register-standard-type +gunichar "gunichar" register-standard-type +va_list "va_list" register-standard-type + +gboolean "gboolean" register-standard-type +pointer: gchar "utf8" register-standard-type +longdouble "long double" register-standard-type diff --git a/basis/gobject-introspection/types/types.factor b/basis/gobject-introspection/types/types.factor index f6d2257c79..f563b87853 100644 --- a/basis/gobject-introspection/types/types.factor +++ b/basis/gobject-introspection/types/types.factor @@ -1,138 +1,112 @@ -! Copyright (C) 2009 Anton Gorenko. +! Copyright (C) 2010 Anton Gorenko. ! See http://factorcode.org/license.txt for BSD license. -USING: accessors alien alien.c-types assocs -combinators.short-circuit gobject-introspection.common -gobject-introspection.repository kernel namespaces -specialized-arrays ; +USING: accessors alien.c-types assocs combinators.short-circuit +gobject-introspection.common gobject-introspection.repository kernel +locals namespaces parser sequences sets ; IN: gobject-introspection.types -TUPLE: gwrapper { underlying alien } ; -TUPLE: grecord < gwrapper ; -TUPLE: gobject < gwrapper ; +SYMBOL: type-infos +type-infos [ H{ } ] initialize -SPECIALIZED-ARRAYS: - void* bool int uint char uchar short ushort long ulong - longlong ulonglong float double ; +SYMBOL: standard-types +standard-types [ V{ } ] initialize -CONSTANT: simple-types H{ - { "any" { - void* *void* >void*-array - } } - { "boolean" { - bool *bool >bool-array - } } - { "int" { - int *int >int-array - } } - { "uint" { - uint *uint >uint-array - } } - { "int8" { - char *char >char-array - } } - { "uint8" { - uchar *uchar >uchar-array - } } - { "int16" { - short *short >short-array - } } - { "uint16" { - ushort *ushort >ushort-array - } } - { "int32" { - int *int >int-array - } } - { "uint32" { - uint *uint >uint-array - } } - { "int64" { - longlong *longlong - >longlong-array - } } - { "uint64" { - ulonglong *ulonglong - >ulonglong-array - } } - { "long" { - long *long >long-array - } } - { "ulong" { - ulong *ulong >ulong-array - } } - { "float" { - float *float >float-array - } } - { "double" { - double *double >double-array - } } - { "size_t" { - ulong *ulong >ulong-array - } } - { "ssize_t" { - long *long >long-array - } } - { "time_t" { - long *long >long-array - } } - { "gtype" { - ulong *ulong >ulong-array - } } -} - -TUPLE: type-info c-type-word type-word ; +TUPLE: type-info c-type ; +TUPLE: atomic-info < type-info ; TUPLE: enum-info < type-info ; - TUPLE: bitfield-info < type-info ; - TUPLE: record-info < type-info ; - TUPLE: union-info < type-info ; - +TUPLE: boxed-info < type-info ; TUPLE: callback-info < type-info ; - TUPLE: class-info < type-info ; - TUPLE: interface-info < type-info ; -: aliased-type ( alias -- type ) - aliases get ?at [ aliased-type ] when ; +DEFER: find-type-info -: get-type-info ( type -- info ) - aliased-type type-infos get at ; +PREDICATE: none-type < simple-type + name>> "none" = ; -PREDICATE: none-type < type - [ namespace>> not ] [ name>> "none" = ] bi and ; +PREDICATE: atomic-type < simple-type + find-type-info atomic-info? ; -PREDICATE: simple-type < type - aliased-type - [ namespace>> not ] [ name>> simple-types key? ] bi and ; +PREDICATE: utf8-type < atomic-type + name>> "utf8" = ; -PREDICATE: utf8-type < type - aliased-type - [ namespace>> not ] [ name>> "utf8" = ] bi and ; +PREDICATE: enum-type < simple-type + find-type-info enum-info? ; -PREDICATE: any-type < type - aliased-type - [ namespace>> not ] [ name>> "any" = ] bi and ; - -PREDICATE: enum-type < type get-type-info enum-info? ; +PREDICATE: bitfield-type < simple-type + find-type-info bitfield-info? ; -PREDICATE: bitfield-type < type get-type-info bitfield-info? ; +PREDICATE: record-type < simple-type + find-type-info record-info? ; -PREDICATE: record-type < type get-type-info record-info? ; +PREDICATE: union-type < simple-type + find-type-info union-info? ; -PREDICATE: union-type < type get-type-info union-info? ; +PREDICATE: boxed-type < simple-type + find-type-info boxed-info? ; -PREDICATE: callback-type < type get-type-info callback-info? ; +PREDICATE: callback-type < simple-type + find-type-info callback-info? ; -PREDICATE: class-type < type get-type-info class-info? ; +PREDICATE: class-type < simple-type + find-type-info class-info? ; -PREDICATE: interface-type < type get-type-info interface-info? ; +PREDICATE: interface-type < simple-type + find-type-info interface-info? ; -: absolute-type ( type -- type' ) - dup { - [ namespace>> ] [ simple-type? ] - [ utf8-type? ] [ none-type? ] - } 1|| [ current-lib get-global >>namespace ] unless ; +PREDICATE: boxed-array-type < array-type name>> >boolean ; +PREDICATE: c-array-type < array-type name>> not ; +PREDICATE: fixed-size-array-type < c-array-type fixed-size>> >boolean ; +: standard-type? ( data-type -- ? ) + name>> standard-types get-global in? ; + +: qualified-name ( name -- qualified-name ) + current-namespace-name get-global swap "." glue ; + +: qualified-type-name ( data-type -- name ) + [ name>> ] keep { + [ name>> CHAR: . swap member? ] + [ none-type? ] + [ standard-type? ] + } 1|| [ qualified-name ] unless ; + +ERROR: unknown-type-error type ; + +: get-type-info ( data-type -- info ) + qualified-type-name dup type-infos get-global at + [ ] [ unknown-type-error ] ?if ; + +: find-type-info ( data-type -- info/f ) + qualified-type-name type-infos get-global at ; + +:: register-type ( c-type type-info name -- ) + type-info c-type >>c-type name + type-infos get-global set-at ; + +: register-standard-type ( c-type name -- ) + dup standard-types get-global adjoin + atomic-info new swap register-type ; + +: register-atomic-type ( c-type name -- ) + atomic-info new swap register-type ; + +: register-enum-type ( c-type name -- ) + enum-info new swap register-type ; + +: register-record-type ( c-type name -- ) + record-info new swap register-type ; + +ERROR: deferred-type-error ; + +<< +void* c-type clone + [ drop deferred-type-error ] >>unboxer-quot + [ drop deferred-type-error ] >>boxer-quot + object >>boxed-class +"deferred-type" create-in typedef +>> diff --git a/basis/gobject/GObject-2.0.gir b/basis/gobject/GObject-2.0.gir index 8534b3a39c..edfd414242 100644 --- a/basis/gobject/GObject-2.0.gir +++ b/basis/gobject/GObject-2.0.gir @@ -2,7 +2,7 @@ - @@ -12,128 +12,294 @@ and/or use gtk-doc annotations. --> - - - - + + This is the signature of marshaller functions, required to marshall +arrays of parameter values to signal emissions into C language callback +invocations. It is merely an alias to #GClosureMarshal since the #GClosure +mechanism takes over responsibility of actual function invocation for the +signal system. + + + + A C representable type name for #G_TYPE_STRV. + + + + A numerical value which represents the unique identifier of a registered +type. + + + - + A callback function used by the type system to finalize those portions of a derived types class structure that were setup from the corresponding GBaseInitFunc() function. Class finalization basically works the inverse way in which class intialization is performed. -See GClassInitFunc() for a discussion of the class intialization process."> +See GClassInitFunc() for a discussion of the class intialization process. - + The #GTypeClass structure to finalize. + - + A callback function used by the type system to do base initialization of the class structures of derived types. It is called as part of the initialization process of all derived classes and should reallocate or reset all dynamic class members copied over from the parent class. For example, class members (such as strings) that are not sufficiently handled by a plain memory copy of the parent class into the derived class have to be altered. See GClassInitFunc() for a discussion of the class -intialization process."> +intialization process. - + The #GTypeClass structure to initialize. + - + + <structname>GBinding</structname> is an opaque structure whose members +cannot be accessed directly. + + Retrieves the flags passed when constructing the #GBinding + + the #GBindingFlags used by the #GBinding + + + + + Retrieves the #GObject instance used as the source of the binding + + the source #GObject + + + + + Retrieves the name of the property of #GBinding:source used as the source +of the binding + + the name of the source property + + + + + Retrieves the #GObject instance used as the target of the binding + + the target #GObject + + + + + Retrieves the name of the property of #GBinding:target used as the target +of the binding + + the name of the target property + + + + + Flags to be used to control the #GBinding + + + + The #GObject that should be used as the source of the binding + + + + The name of the property of #GBinding:source that should be used +as the source of the binding + + + + The #GObject that should be used as the target of the binding + + + + The name of the property of #GBinding:target that should be used +as the target of the binding + + + + + Flags to be passed to g_object_bind_property() or +g_object_bind_property_full(). +This enumeration can be extended at later date. + + + + + + + A function to be called to transform the source property of @source +from @source_value into the target property of @target +using @target_value. +otherwise - + %TRUE if the transformation was successful, and %FALSE + + + + + a #GBinding + + + + the value of the source property + + + + the value of the target property + + + + data passed to the transform function + + + + + + This function is provided by the user and should produce a copy of the passed +in boxed structure. + + The newly created copy of the boxed structure. + - + The boxed structure to be copied. + - + + This function is provided by the user and should free the boxed +structure passed. - + The boxed structure to be freed. + - - + + A #GCClosure is a specialization of #GClosure for C function callbacks. - + - + + The type used for callback functions in structure definitions and function +signatures. This doesn't mean that all callback functions must take no +parameters and return void. The required signature of a callback function +is determined by the context in which is used (e.g. the signal to which it +is connected). Use G_CALLBACK() to cast the callback function to a #GCallback. - + A callback function used by the type system to finalize a class. This function is rarely needed, as dynamically allocated class resources should be handled by GBaseInitFunc() and GBaseFinalizeFunc(). Also, specification of a GClassFinalizeFunc() in the #GTypeInfo structure of a static type is invalid, because classes of static types will never be finalized (they are artificially kept alive when their -reference count drops to zero)."> +reference count drops to zero). - + The #GTypeClass structure to finalize. + - + The @class_data member supplied via the #GTypeInfo structure. + - + A callback function used by the type system to initialize the class of a specific type. This function should initialize all static class members. The initialization process of a class involves: @@ -148,10 +314,10 @@ over from the parent class. </para></listitem> <listitem><para> 3 - Invocation of the GBaseInitFunc() initializers of all parent -types and the class' type. +types and the class' type. </para></listitem> <listitem><para> -4 - Invocation of the class' GClassInitFunc() initializer. +4 - Invocation of the class' GClassInitFunc() initializer. </para></listitem> </itemizedlist> Since derived classes are partially initialized through a memory copy @@ -175,7 +341,7 @@ gchar *dynamic_string; static void type_a_base_class_init (TypeAClass *class) { -class->dynamic_string = g_strdup ("some string"); +class->dynamic_string = g_strdup ("some string"); } static void type_a_base_class_finalize (TypeAClass *class) @@ -195,7 +361,7 @@ GString *dynamic_gstring; static void type_b_base_class_init (TypeBClass *class) { -class->dynamic_gstring = g_string_new ("some other string"); +class->dynamic_gstring = g_string_new ("some other string"); } static void type_b_base_class_finalize (TypeBClass *class) @@ -216,7 +382,7 @@ then calling its GBaseInitFunc() type_a_base_class_init() to allocate its dynamic members (dynamic_string), and finally calling its GClassInitFunc() type_a_class_init() to initialize its static members (static_integer). The first step in the initialization process of TypeBClass is then -a plain memory copy of the contents of TypeAClass into TypeBClass and +a plain memory copy of the contents of TypeAClass into TypeBClass and zero-initialization of the remaining fields in TypeBClass. The dynamic members of TypeAClass within TypeBClass now need reinitialization which is performed by calling type_a_base_class_init() @@ -228,334 +394,510 @@ is called to complete the initialization process with the static members (static_float). Corresponding finalization counter parts to the GBaseInitFunc() functions have to be provided to release allocated resources at class finalization -time."> +time. - + The #GTypeClass structure to initialize. + - + The @class_data member supplied via the #GTypeInfo structure. + + glib:get-type="g_closure_get_type" + c:symbol-prefix="closure"> + A #GClosure represents a callback supplied by the programmer. - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - + A variant of g_closure_new_simple() which stores @object in the +when implementing new types of closures. + a newly allocated #GClosure - + the size of the structure to allocate, must be at least <literal>sizeof (GClosure)</literal> + + a #GObject pointer to store in the @data field of the newly allocated #GClosure - + + Allocates a struct of the given size and initializes the initial +part as a #GClosure. This function is mainly useful when +implementing new types of closures. +|[ +typedef struct _MyClosure MyClosure; +struct _MyClosure +{ +GClosure closure; +// extra data goes here +}; +static void +my_closure_finalize (gpointer notify_data, +GClosure *closure) +{ +MyClosure *my_closure = (MyClosure *)closure; +// free extra data here +} +MyClosure *my_closure_new (gpointer data) +{ +GClosure *closure; +MyClosure *my_closure; +closure = g_closure_new_simple (sizeof (MyClosure), data); +my_closure = (MyClosure *) closure; +// initialize extra data here +g_closure_add_finalize_notifier (closure, notify_data, +my_closure_finalize); +return my_closure; +} +]| + a newly allocated #GClosure - - - - - - - - - - - - - - - - - + + the size of the structure to allocate, must be at least <literal>sizeof (GClosure)</literal> + - - + + data to store in the @data field of the newly allocated #GClosure + - - + + + Registers a finalization notifier which will be called when the +reference count of @closure goes down to 0. Multiple finalization +notifiers on a single closure are invoked in unspecified order. If +a single call to g_closure_unref() results in the closure being +both invalidated and finalized, then the invalidate notifiers will +be run before the finalize notifiers. - + data to pass to @notify_func + - + + the callback function to register + c:identifier="g_closure_add_invalidate_notifier" + introspectable="0"> + Registers an invalidation notifier which will be called when the +notifiers are invoked before finalization notifiers, in an +unspecified order. - + data to pass to @notify_func + - - - - - - - - - - - - - - + + the callback function to register + c:identifier="g_closure_add_marshal_guards" + introspectable="0"> + Adds a pair of notifiers which get invoked before and after the +closure callback, respectively. This is typically used to protect +the extra arguments for the duration of the callback. See +g_object_watch_closure() for an example of marshal guards. - + data to pass to @pre_marshal_notify + + closure="2"> + a function to call before the closure callback - + data to pass to @post_marshal_notify + - + + a function to call after the closure callback - - - - - - - - - - - - - - - - - - - - - - - + Sets a flag on the closure to indicate that its calling +environment has become invalid, and thus causes any future +invocations of g_closure_invoke() on this @closure to be +ignored. Also, invalidation notifiers installed on the closure will +be called at this point. Note that unless you are holding a +reference to the closure yourself, the invalidation notifiers may +unref the closure and cause it to be destroyed, so if you need to +access the closure after calling g_closure_invalidate(), make sure +that you've previously called g_closure_ref(). +Note that g_closure_invalidate() will also be called when the +reference count of a closure drops to zero (unless it has already +been invalidated before). + Invokes the closure, i.e. executes the callback represented by the @closure. + a #GValue to store the return value. May be %NULL if the callback of @closure doesn't return a value. - + the length of the @param_values array + + an array of #GValue<!-- -->s holding the arguments on which to invoke the callback of @closure - + a context-dependent invocation hint + + + Increments the reference count on a closure to force it staying +alive while the caller holds a pointer to it. + + The @closure passed in, for convenience + + + + + Removes a finalization notifier. +Notice that notifiers are automatically removed after they are run. + + + + + + data which was passed to g_closure_add_finalize_notifier() when registering @notify_func + + + + the callback function to remove + + + + + + Removes an invalidation notifier. +Notice that notifiers are automatically removed after they are run. + + + + + + data which was passed to g_closure_add_invalidate_notifier() when registering @notify_func + + + + the callback function to remove + + + + + + Sets the marshaller of @closure. The <literal>marshal_data</literal> +of @marshal provides a way for a meta marshaller to provide additional +information to the marshaller. (See g_closure_set_meta_marshal().) For +GObject's C predefined marshallers (the g_cclosure_marshal_*() +functions), what it provides is a callback function to use instead of + + + + + + a #GClosureMarshal function + + + + + + Sets the meta marshaller of @closure. A meta marshaller wraps +fashion. The most common use of this facility is for C callbacks. +The same marshallers (generated by <link +linkend="glib-genmarshal">glib-genmarshal</link>) are used +everywhere, but the way that we get the callback function +differs. In most cases we want to use @closure->callback, but in +other cases we want to use some different technique to retrieve the +callback function. +For example, class closures for signals (see +g_signal_type_cclosure_new()) retrieve the callback function from a +fixed offset in the class structure. The meta marshaller retrieves +the right callback and passes it to the marshaller as the + + + + + + context-dependent data to pass to @meta_marshal + + + + a #GClosureMarshal function + + + + + + Takes over the initial ownership of a closure. Each closure is +initially created in a <firstterm>floating</firstterm> state, which +means that the initial reference count is not owned by any caller. +g_closure_sink() checks to see if the object is still floating, and +if so, unsets the floating state and decreases the reference +count. If the closure is not floating, g_closure_sink() does +nothing. The reason for the existance of the floating state is to +prevent cumbersome code sequences like: +|[ +closure = g_cclosure_new (cb_func, cb_data); +g_source_set_closure (source, closure); +g_closure_unref (closure); // XXX GObject doesn't really need this +]| +Because g_source_set_closure() (and similar functions) take ownership of the +initial reference count, if it is unowned, we instead can write: +|[ +g_source_set_closure (source, g_cclosure_new (cb_func, cb_data)); +]| +Generally, this function is used together with g_closure_ref(). Ane example +of storing a closure for later notification looks like: +|[ +static GClosure *notify_closure = NULL; +void +foo_notify_set_closure (GClosure *closure) +{ +if (notify_closure) +g_closure_unref (notify_closure); +notify_closure = closure; +if (notify_closure) +{ +g_closure_ref (notify_closure); +g_closure_sink (notify_closure); +} +} +]| +Because g_closure_sink() may decrement the reference count of a closure +(if it hasn't been called on @closure yet) just like g_closure_unref(), +g_closure_ref() should be called prior to this function. + + + + + + Decrements the reference count of a closure after it was previously +incremented by the same caller. If no other callers are using the +closure, then the closure will be destroyed and freed. + + + + - + + The type used for marshaller functions. + the #GClosure to which the marshaller belongs + a #GValue to store the return value. May be %NULL if the callback of @closure doesn't return a value. - + the length of the @param_values array + + an array of #GValue<!-- -->s holding the arguments on which to invoke the callback of @closure - + the invocation hint given as the last argument to g_closure_invoke() + - + additional data specified when registering the marshaller, see g_closure_set_marshal() and g_closure_set_meta_marshal() + - + + The type used for the various notification callbacks which can be registered +on closures. - + data specified when registering the notification callback + + the #GClosure on which the notification is emitted - + - + + The connection flags are used to specify the behaviour of a signal's +connection. - - + + + + The class of an enumeration type holds information about its +possible values. - + - + - + - + + A structure which contains a single enum value, its name, and its +nickname. - + @@ -564,30 +906,32 @@ nickname."> - + + + + The class of a flags type holds information about its +possible values. - + - + - + + A structure which contains a single flags value, its name, and its +nickname. - + @@ -596,13 +940,13 @@ nickname."> - - @@ -621,20 +965,602 @@ nickname."> glib:nick="nval"/> + All the fields in the <structname>GInitiallyUnowned</structname> structure +are private to the #GInitiallyUnowned implementation and should never be +accessed directly. + + Creates a binding between @source_property on @source and @target_property +on @target. Whenever the @source_property is changed the @target_property is +updated using the same value. For instance: +|[ +g_object_bind_property (action, "active", widget, "sensitive", 0); +]| +Will result in the "sensitive" property of the widget #GObject instance to be +updated with the same value of the "active" property of the action #GObject +instance. +If @flags contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: +if @target_property on @target changes then the @source_property on @source +will be updated as well. +The binding will automatically be removed when either the @source or the +#GBinding instance. +A #GObject can have multiple bindings. +binding between the two #GObject instances. The binding is released +whenever the #GBinding reference count reaches zero. + + the #GBinding instance representing the + + + + + the source #GObject + + + + the property on @source to bind + + + + the target #GObject + + + + the property on @target to bind + + + + flags to pass to #GBinding + + + + + + Complete version of g_object_bind_property(). +Creates a binding between @source_property on @source and @target_property +on @target, allowing you to set the transformation functions to be used by +the binding. +If @flags contains %G_BINDING_BIDIRECTIONAL then the binding will be mutual: +if @target_property on @target changes then the @source_property on @source +will be updated as well. The @transform_from function is only used in case +of bidirectional bindings, otherwise it will be ignored +The binding will automatically be removed when either the @source or the +#GBinding instance. +A #GObject can have multiple bindings. +<note>The same @user_data parameter will be used for both @transform_to +and @transform_from transformation functions; the @notify function will +be called once, when the binding is removed. If you need different data +for each transformation function, please use +g_object_bind_property_with_closures() instead.</note> +binding between the two #GObject instances. The binding is released +whenever the #GBinding reference count reaches zero. + + the #GBinding instance representing the + + + + + the source #GObject + + + + the property on @source to bind + + + + the target #GObject + + + + the property on @target to bind + + + + flags to pass to #GBinding + + + + the transformation function from the @source to the @target, or %NULL to use the default + + + + the transformation function from the @target to the @source, or %NULL to use the default + + + + custom data to be passed to the transformation functions, or %NULL + + + + function to be called when disposing the binding, to free the resources used by the transformation functions + + + + + + Creates a binding between @source_property on @source and @target_property +on @target, allowing you to set the transformation functions to be used by +the binding. +This function is the language bindings friendly version of +g_object_bind_property_full(), using #GClosure<!-- -->s instead of +function pointers. +binding between the two #GObject instances. The binding is released +whenever the #GBinding reference count reaches zero. + + the #GBinding instance representing the + + + + + the source #GObject + + + + the property on @source to bind + + + + the target #GObject + + + + the property on @target to bind + + + + flags to pass to #GBinding + + + + a #GClosure wrapping the transformation function from the @source to the @target, or %NULL to use the default + + + + a #GClosure wrapping the transformation function from the @target to the @source, or %NULL to use the default + + + + + + + + + + + + + + + + + + + A convenience function to connect multiple signals at once. +The signal specs expected by this function have the form +"modifier::signal_name", where modifier can be one of the following: +<variablelist> +<varlistentry> +<term>signal</term> +<listitem><para> +equivalent to <literal>g_signal_connect_data (..., NULL, 0)</literal> +</para></listitem> +</varlistentry> +<varlistentry> +<term>object_signal</term> +<term>object-signal</term> +<listitem><para> +equivalent to <literal>g_signal_connect_object (..., 0)</literal> +</para></listitem> +</varlistentry> +<varlistentry> +<term>swapped_signal</term> +<term>swapped-signal</term> +<listitem><para> +equivalent to <literal>g_signal_connect_data (..., NULL, G_CONNECT_SWAPPED)</literal> +</para></listitem> +</varlistentry> +<varlistentry> +<term>swapped_object_signal</term> +<term>swapped-object-signal</term> +<listitem><para> +equivalent to <literal>g_signal_connect_object (..., G_CONNECT_SWAPPED)</literal> +</para></listitem> +</varlistentry> +<varlistentry> +<term>signal_after</term> +<term>signal-after</term> +<listitem><para> +equivalent to <literal>g_signal_connect_data (..., NULL, G_CONNECT_AFTER)</literal> +</para></listitem> +</varlistentry> +<varlistentry> +<term>object_signal_after</term> +<term>object-signal-after</term> +<listitem><para> +equivalent to <literal>g_signal_connect_object (..., G_CONNECT_AFTER)</literal> +</para></listitem> +</varlistentry> +<varlistentry> +<term>swapped_signal_after</term> +<term>swapped-signal-after</term> +<listitem><para> +equivalent to <literal>g_signal_connect_data (..., NULL, G_CONNECT_SWAPPED | G_CONNECT_AFTER)</literal> +</para></listitem> +</varlistentry> +<varlistentry> +<term>swapped_object_signal_after</term> +<term>swapped-object-signal-after</term> +<listitem><para> +equivalent to <literal>g_signal_connect_object (..., G_CONNECT_SWAPPED | G_CONNECT_AFTER)</literal> +</para></listitem> +</varlistentry> +</variablelist> +|[ +menu->toplevel = g_object_connect (g_object_new (GTK_TYPE_WINDOW, +"type", GTK_WINDOW_POPUP, +"child", menu, +NULL), +"signal::event", gtk_menu_window_event, menu, +"signal::size_request", gtk_menu_window_size_request, menu, +"signal::destroy", gtk_widget_destroyed, &amp;menu-&gt;toplevel, +NULL); +]| + + @object + + + + + a #GObject + + + + the spec for the first signal + + + + + + + + + + A convenience function to disconnect multiple signals at once. +The signal specs expected by this function have the form +"any_signal", which means to disconnect any signal with matching +callback and data, or "any_signal::signal_name", which only +disconnects the signal named "signal_name". + + + + + + a #GObject + + + + the spec for the first signal + + + + + + + + + + Gets properties of an object. +In general, a copy is made of the property contents and the caller +is responsible for freeing the memory in the appropriate manner for +the type, for instance by calling g_free() or g_object_unref(). +<example> +<title>Using g_object_get(<!-- -->)</title> +An example of using g_object_get() to get the contents +of three properties - one of type #G_TYPE_INT, +one of type #G_TYPE_STRING, and one of type #G_TYPE_OBJECT: +<programlisting> +gint intval; +gchar *strval; +GObject *objval; +g_object_get (my_object, +"int-property", &intval, +"str-property", &strval, +"obj-property", &objval, +NULL); +// Do something with intval, strval, objval +g_free (strval); +g_object_unref (objval); +</programlisting> +</example> + + + + + + a #GObject + + + + name of the first property to get + + + + + + + + + + Find the #GParamSpec with the given name for an +interface. Generally, the interface vtable passed in as @g_iface +will be the default vtable from g_type_default_interface_ref(), or, +if you know the interface has already been loaded, +g_type_default_interface_peek(). +name @property_name, or %NULL if no such property exists. + + the #GParamSpec for the property of the interface with the + + + + + any interface vtable for the interface, or the default vtable for the interface + + + + name of a property to lookup. + + + + + + Add a property to an interface; this is only useful for interfaces +that are added to GObject-derived types. Adding a property to an +interface forces all objects classes with that interface to have a +compatible property. The compatible property could be a newly +created #GParamSpec, but normally +g_object_class_override_property() will be used so that the object +class only needs to provide an implementation and inherits the +property description, default value, bounds, and so forth from the +interface property. +This function is meant to be called from the interface's default +vtable initialization function (the @class_init member of +#GTypeInfo.) It must not be called after after @class_init has +been called for any object types implementing this interface. + + + + + + any interface vtable for the interface, or the default vtable for the interface. + + + + the #GParamSpec for the new property + + + + + + Lists the properties of an interface.Generally, the interface +vtable passed in as @g_iface will be the default vtable from +g_type_default_interface_ref(), or, if you know the interface has +already been loaded, g_type_default_interface_peek(). +structures. The paramspecs are owned by GLib, but the +array should be freed with g_free() when you are done with +it. + + a pointer to an array of pointers to #GParamSpec + + + + + any interface vtable for the interface, or the default vtable for the interface + + + + location to store number of properties returned. + + + + + + Checks wether @object has a <link linkend="floating-ref">floating</link> +reference. + + %TRUE if @object has a floating reference + + + + + a #GObject + + + + + + Creates a new instance of a #GObject subtype and sets its properties. +Construction parameters (see #G_PARAM_CONSTRUCT, #G_PARAM_CONSTRUCT_ONLY) +which are not explicitly specified are set to their default values. + + a new instance of @object_type + + + + + the type id of the #GObject subtype to instantiate + + + + the name of the first property + + + + + + + + + + Creates a new instance of a #GObject subtype and sets its properties. +Construction parameters (see #G_PARAM_CONSTRUCT, #G_PARAM_CONSTRUCT_ONLY) +which are not explicitly specified are set to their default values. + + a new instance of @object_type + + + + + the type id of the #GObject subtype to instantiate + + + + the name of the first property + + + + the value of the first property, followed optionally by more name/value pairs, followed by %NULL + + + + + + Creates a new instance of a #GObject subtype and sets its properties. +Construction parameters (see #G_PARAM_CONSTRUCT, #G_PARAM_CONSTRUCT_ONLY) +which are not explicitly specified are set to their default values. + + a new instance of @object_type + + + + + the type id of the #GObject subtype to instantiate + + + + the length of the @parameters array + + + + an array of #GParameter + + + + + + Increases the reference count of @object. + + the same @object + + + + + a #GObject + + + + + + Increase the reference count of @object, and possibly remove the +<link linkend="floating-ref">floating</link> reference, if @object +has a floating reference. +In other words, if the object is floating, then this call "assumes +ownership" of the floating reference, converting it to a normal +reference by clearing the floating flag while leaving the reference +count unchanged. If the object is not floating, then this call +adds a new normal reference increasing the reference count by one. + + @object + + + + + a #GObject + + + + + + Sets properties on an object. + + + + + + a #GObject + + + + name of the first property to set + + + + + + + + + + + + + + + Decreases the reference count of @object. When its reference count +drops to 0, the object is finalized (i.e. its memory is freed). + + + + + + a #GObject + + + + - + @@ -642,17 +1568,20 @@ accessed directly." + disguised="1" + glib:is-gtype-struct-for="InitiallyUnowned"> + The class structure for the <structname>GInitiallyUnowned</structname> type. - + + + - - - + + + @@ -660,7 +1589,7 @@ accessed directly." - + - + @@ -679,7 +1608,7 @@ accessed directly." - + @@ -691,7 +1620,7 @@ accessed directly." - + @@ -700,7 +1629,7 @@ accessed directly." - + @@ -712,7 +1641,7 @@ accessed directly." - + @@ -724,7 +1653,7 @@ accessed directly." - + @@ -736,8 +1665,7 @@ accessed directly." - + @@ -746,7 +1674,7 @@ accessed directly." - + @@ -755,7 +1683,7 @@ accessed directly." - + @@ -770,7 +1698,7 @@ accessed directly." - + @@ -782,56 +1710,57 @@ accessed directly." - + - + - + A callback function used by the type system to initialize a new instance of a type. This function initializes all instance members and allocates any resources required by it. Initialization of a derived instance involves calling all its parent types instance initializers, so the class member of the instance is altered during its initialization to always point to the class that -belongs to the type the current initializer was introduced for."> +belongs to the type the current initializer was introduced for. + The instance to initialize. - + The class of the type the instance is created for. + - + A callback function used by the type system to finalize an interface. This function should destroy any internal data and release any resources -allocated by the corresponding GInterfaceInitFunc() function."> +allocated by the corresponding GInterfaceInitFunc() function. - + The interface structure to finalize. + - + The @interface_data supplied via the #GInterfaceInfo structure. + - + + A structure that provides information to the type system which is +used specifically for managing interface types. @@ -839,63 +1768,51 @@ used specifically for managing interface types."> - + - + A callback function used by the type system to initialize a new interface. This function should initialize all internal data and -allocate any resources required by the interface."> +allocate any resources required by the interface. - + The interface structure to initialize. + - + The @interface_data supplied via the #GInterfaceInfo structure. + - + All the fields in the <structname>GObject</structname> structure are private +to the #GObject implementation and should never be accessed directly. + - - - - - - - - - - - - + - - + + - - - - - + + @@ -909,20 +1826,27 @@ to the #GObject implementation and should never be accessed directly." - + - - + + - - + + + + + - + + Emits a "notify" signal for the property @property_name on @object. +When possible, eg. when signaling a property change from within the class +that registered the property, you should use g_object_notify_by_pspec() +instead. @@ -932,270 +1856,539 @@ to the #GObject implementation and should never be accessed directly." - + + + + + + + + + + + + - + + Increases the reference count of the object by one and sets a +callback to be called when all other references to the object are +dropped, or when this is already the last reference to the object +and another reference is established. +This functionality is intended for binding @object to a proxy +object managed by another memory manager. This is done with two +g_object_add_toggle_ref() and a reverse reference to the proxy +object which is either a strong reference or weak reference. +The setup is that when there are no other references to @object, +only a weak reference is held in the reverse direction from @object +to the proxy object, but when there are other references held to +when the reference from @object to the proxy object should be +<firstterm>toggled</firstterm> from strong to weak (@is_last_ref +true) or weak to strong (@is_last_ref false). +Since a (normal) reference must be held to the object before +calling g_object_toggle_ref(), the initial state of the reverse +link is always strong. +Multiple toggle references may be added to the same gobject, +however if there are multiple toggle references to an object, none +of them will ever be notified until all but one are removed. For +this reason, you should only ever use a toggle reference if there +is important state in the proxy object. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + a function to call when this reference is the last reference to the object, or is no longer the last reference. + - - - - - - - - - - - - - - + data to pass to @notify + + Adds a weak reference from weak_pointer to @object to indicate that +the pointer located at @weak_pointer_location is only valid during +the lifetime of @object. When the @object is finalized, - + caller-allocates="0" + transfer-ownership="full"> + The memory address of a pointer. + + + + + + This function is intended for #GObject implementations to re-enforce a +<link linkend="floating-ref">floating</link> object reference. +Doing this is seldomly required, all +#GInitiallyUnowned<!-- -->s are created with a floating reference which +usually just needs to be sunken by calling g_object_ref_sink(). + + + + + + Increases the freeze count on @object. If the freeze count is +non-zero, the emission of "notify" signals on @object is +stopped. The signals are queued until the freeze count is decreased +to zero. +This is necessary for accessors that modify multiple properties to prevent +premature notification while the object is still being modified. + + + + + + Gets a named field from the objects table of associations (see g_object_set_data()). + + the data if found, or %NULL if no such data exists. + + + + + name of the key for that association + + + + + + Gets a property of an object. +In general, a copy is made of the property contents and the caller is +responsible for freeing the memory by calling g_value_unset(). +Note that g_object_get_property() is really intended for language +bindings, g_object_get() is much more convenient for C programming. + + + + + + the name of the property to get + + + + return location for the property value + + + + + + This function gets back user data pointers stored via +g_object_set_qdata(). + + The user data pointer set, or %NULL + + + + + A #GQuark, naming the user data pointer + + + + + + Gets properties of an object. +In general, a copy is made of the property contents and the caller +is responsible for freeing the memory in the appropriate manner for +the type, for instance by calling g_free() or g_object_unref(). +See g_object_get(). + + + + + + name of the first property to get + + + + return location for the first property, followed optionally by more name/return location pairs, followed by %NULL + + + + + + Emits a "notify" signal for the property @property_name on @object. +When possible, eg. when signaling a property change from within the class +that registered the property, you should use g_object_notify_by_pspec() +instead. + + + + + + the name of a property installed on the class of @object. + + + + + + Emits a "notify" signal for the property specified by @pspec on @object. +This function omits the property name lookup, hence it is faster than +g_object_notify(). +One way to avoid using g_object_notify() from within the +class that registered the properties, and using g_object_notify_by_pspec() +instead, is to store the GParamSpec used with +g_object_class_install_property() inside a static array, e.g.: +|[ +enum +{ +PROP_0, +PROP_FOO, +PROP_LAST +}; +static GParamSpec *properties[PROP_LAST]; +static void +my_object_class_init (MyObjectClass *klass) +{ +properties[PROP_FOO] = g_param_spec_int ("foo", "Foo", "The foo", +0, 100, +50, +G_PARAM_READWRITE); +g_object_class_install_property (gobject_class, +PROP_FOO, +properties[PROP_FOO]); +} +]| +and then notify a change on the "foo" property with: +|[ +g_object_notify_by_pspec (self, properties[PROP_FOO]); +]| + + + + + + the #GParamSpec of a property installed on the class of @object. + + + + + + Removes a reference added with g_object_add_toggle_ref(). The +reference count of the object is decreased by one. + + + + + + a function to call when this reference is the last reference to the object, or is no longer the last reference. + + + + data to pass to @notify + + Removes a weak reference from @object that was previously added +using g_object_add_weak_pointer(). The @weak_pointer_location has +to match the one used with g_object_add_weak_pointer(). - + caller-allocates="0" + transfer-ownership="full"> + The memory address of a pointer. + - + + Releases all references to other objects. This can be used to break +reference cycles. +This functions should only be called from object system implementations. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + Each object carries around a table of associations from +strings to pointers. This function lets you set an association. +If the object already had an association with that name, +the old association will be destroyed. + name of the key - + data to associate with that key + + Like g_object_set_data() except it adds notification +for when the association is destroyed, either by setting it +to a different value or when the object is destroyed. +Note that the @destroy callback is not called if @data is %NULL. + name of the key - + data to associate with that key + - + + function to call when the association is destroyed - + + Sets a property on an object. - + + + + + the name of the property to set + + + + the value + + + + + + This sets an opaque, named pointer on an object. +The name is specified through a #GQuark (retrived e.g. via +g_quark_from_static_string()), and the pointer +can be gotten back from the @object with g_object_get_qdata() +until the @object is finalized. +Setting a previously set user data pointer, overrides (frees) +the old pointer set, using #NULL as pointer essentially +removes the data stored. + + + + + + A #GQuark, naming the user data pointer + + + + An opaque user data pointer + + + + + + This function works like g_object_set_qdata(), but in addition, +a void (*destroy) (gpointer) function may be specified which is +called with @data as argument when the @object is finalized, or +the data is being overwritten by a call to g_object_set_qdata() +with the same @quark. + + + + + + A #GQuark, naming the user data pointer + + + + An opaque user data pointer + + + + Function to invoke with @data as argument, when @data needs to be freed + + + + + + Sets properties on an object. + + + + + + name of the first property to set + + + + value for the first property, followed optionally by more name/value pairs, followed by %NULL + + + + + + Remove a specified datum from the object's data associations, +without invoking the association's destroy handler. + + the data if found, or %NULL if no such data exists. + + name of the key + + This function gets back user data pointers stored via +g_object_set_qdata() and removes the @data from object +without invoking its destroy() function (if any was +set). +Usually, calling this function is only required to update +user data pointers with a destroy notifier, for example: +|[ +void +object_add_to_user_list (GObject *object, +const gchar *new_string) +{ +// the quark, naming the object data +GQuark quark_string_list = g_quark_from_static_string ("my-string-list"); +// retrive the old string list +GList *list = g_object_steal_qdata (object, quark_string_list); +// prepend new string +list = g_list_prepend (list, g_strdup (new_string)); +// this changed 'list', so we need to set it again +g_object_set_qdata_full (object, quark_string_list, list, free_string_list); +} +static void +free_string_list (gpointer data) +{ +GList *node, *list = data; +for (node = list; node; node = node->next) +g_free (node->data); +g_list_free (list); +} +]| +Using g_object_get_qdata() in the above example, instead of +g_object_steal_qdata() would have left the destroy function set, +and thus the partial string list would have been freed upon +g_object_set_qdata_full(). + + The user data pointer set, or %NULL + + + + + A #GQuark, naming the user data pointer + + + + + + Reverts the effect of a previous call to +g_object_freeze_notify(). The freeze count is decreased on @object +and when it reaches zero, all queued "notify" signals are emitted. +It is an error to call this function when the freeze count is zero. + + + + + This function essentially limits the life time of the @closure to +the life time of the object. That is, when the object is finalized, +the @closure is invalidated by calling g_closure_invalidate() on +it, in order to prevent invocations of the closure with a finalized +(nonexisting) object. Also, g_object_ref() and g_object_unref() are +added as marshal guards to the @closure, to ensure that an extra +reference count is held on @object during invocation of the +use this @object as closure data. + GClosure to watch - + + Adds a weak reference callback to an object. Weak references are +used for notification when an object is finalized. They are called +"weak references" because they allow you to safely hold a pointer +to an object without calling g_object_ref() (g_object_ref() adds a +strong reference, that is, forces the object to stay alive). + + + callback to invoke before the object is freed + + + + extra data to pass to notify + + + - + + Removes a weak reference callback to an object. + + + callback to search for + + + + data to search for + + + - + @@ -1203,29 +2396,8 @@ to the #GObject implementation and should never be accessed directly." + The class structure for the <structname>GObject</structname> type. <example> <title>Implementing singletons using a constructor</title> <programlisting> @@ -1247,16 +2419,18 @@ else object = g_object_ref (G_OBJECT (the_singleton)); return object; } -</programlisting></example>"> +</programlisting></example> - + + + - - - + + + @@ -1264,7 +2438,7 @@ return object; - + - + @@ -1283,7 +2457,7 @@ return object; - + @@ -1295,7 +2469,7 @@ return object; - + @@ -1304,7 +2478,7 @@ return object; - + @@ -1316,7 +2490,7 @@ return object; - + @@ -1328,7 +2502,7 @@ return object; - + @@ -1340,8 +2514,7 @@ return object; - + @@ -1350,7 +2523,7 @@ return object; - + @@ -1359,7 +2532,7 @@ return object; - + @@ -1374,7 +2547,7 @@ return object; - + @@ -1386,72 +2559,173 @@ return object; - + - + + + Looks up the #GParamSpec for a property of a class. +doesn't have a property of that name + + the #GParamSpec for the property, or %NULL if the class + + + + + the name of the property to look up + + + + + + Installs new properties from an array of #GParamSpec<!-- -->s. This is +usually done in the class initializer. +The property id of each property is the index of each #GParamSpec in +the @pspecs array. +The property id of 0 is treated specially by #GObject and it should not +be used to store a #GParamSpec. +This function should be used if you plan to use a static array of +#GParamSpec<!-- -->s and g_object_notify_pspec(). For instance, this +class initialization: +|[ +enum { +PROP_0, PROP_FOO, PROP_BAR, N_PROPERTIES +}; +static GParamSpec *obj_properties[N_PROPERTIES] = { NULL, }; +static void +my_object_class_init (MyObjectClass *klass) +{ +GObjectClass *gobject_class = G_OBJECT_CLASS (klass); +obj_properties[PROP_FOO] = +g_param_spec_int ("foo", "Foo", "Foo", +-1, G_MAXINT, +0, +G_PARAM_READWRITE); +obj_properties[PROP_BAR] = +g_param_spec_string ("bar", "Bar", "Bar", +NULL, +G_PARAM_READWRITE); +gobject_class->set_property = my_object_set_property; +gobject_class->get_property = my_object_get_property; +g_object_class_install_properties (gobject_class, +N_PROPERTIES, +obj_properties); +} +]| +allows calling g_object_notify_by_pspec() to notify of property changes: +|[ +void +my_object_set_foo (MyObject *self, gint foo) +{ +if (self->foo != foo) +{ +self->foo = foo; +g_object_notify_by_pspec (G_OBJECT (self), obj_properties[PROP_FOO]); +} +} +]| + + + + + + the length of the #GParamSpec<!-- -->s array + + + + the #GParamSpec<!-- -->s array defining the new properties + + + + + + + Installs a new property. This is usually done in the class initializer. +Note that it is possible to redefine a property in a derived class, +by installing a property with the same name. This can be useful at times, +e.g. to change the range of allowed values or the default value. - + the id for the new property + + the #GParamSpec for the new property - - - - - - - - - - + Get an array of #GParamSpec* for all properties of a class. +#GParamSpec* which should be freed after use - + an array of + - + return location for the length of the returned array + + c:identifier="g_object_class_override_property" + version="2.4"> + Registers @property_id as referring to a property with the +name @name in a parent class or in an interface implemented +by @oclass. This allows this class to <firstterm>override</firstterm> +a property implementation in a parent class or to provide +the implementation of a property from an interface. +<note> +Internally, overriding is implemented by creating a property of type +#GParamSpecOverride; generally operations that query the properties of +the object class, such as g_object_class_find_property() or +g_object_class_list_properties() will return the overridden +property. However, in one case, the @construct_properties argument of +the @constructor virtual function, the #GParamSpecOverride is passed +instead, so that the @param_id field of the #GParamSpec will be +correct. For virtually all uses, this makes no difference. If you +need to get the overridden property, you can call +g_param_spec_get_redirect_target(). +</note> - + the new property ID + + the name of a property registered in a parent class or in an interface of this class. - + The <structname>GObjectConstructParam</structname> struct is an auxiliary structure used to hand #GParamSpec/#GValue pairs to the @constructor of -a #GObjectClass."> +a #GObjectClass. @@ -1459,88 +2733,81 @@ a #GObjectClass."> - + + The type of the @finalize function of #GObjectClass. + the #GObject being finalized - + + The type of the @get_property function of #GObjectClass. + a #GObject - + the numeric id under which the property was registered with g_object_class_install_property(). + + a #GValue to return the property value in + the #GParamSpec describing the property - + + The type of the @set_property function of #GObjectClass. + a #GObject - + the numeric id under which the property was registered with g_object_class_install_property(). + + the new value for the property + the #GParamSpec describing the property - + - + - + - + - + + Through the #GParamFlags flag values, certain aspects of parameters +can be configured. @@ -1560,11 +2827,13 @@ can be configured." + - + + All other fields of the <structname>GParamSpec</structname> struct are private and +should not be used directly. @@ -1590,171 +2859,197 @@ should not be used directly."> - + - + - - - - - - + + Get the short description of a #GParamSpec. - + the short description of @pspec. + - + + Get the name of a #GParamSpec. - + the name of @pspec. + - - - - - - + + Get the nickname of a #GParamSpec. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + the nickname of @pspec. + + + + + Gets back user data pointers stored via g_param_spec_set_qdata(). + + the user data pointer set, or %NULL + + a #GQuark, naming the user data pointer - + c:identifier="g_param_spec_get_redirect_target" + version="2.4" + introspectable="0"> + If the paramspec redirects operations to another paramspec, +returns that paramspec. Redirect is used typically for +providing a new implementation of a property in a derived +type while preserving all the properties from the parent +type. Redirection is established by creating a property +of type #GParamSpecOverride. See g_object_class_override_property() +for an example of the use of this capability. +be redirected, or %NULL if none. + + paramspec to which requests on this paramspec should - - - + + Increments the reference count of @pspec. + + the #GParamSpec that was passed into this function + - - - + + Convenience function to ref and sink a #GParamSpec. + + the #GParamSpec that was passed into this function + - + + Sets an opaque, named pointer on a #GParamSpec. The name is +specified through a #GQuark (retrieved e.g. via +g_quark_from_static_string()), and the pointer can be gotten back +from the @pspec with g_param_spec_get_qdata(). Setting a +previously set user data pointer, overrides (frees) the old pointer +set, using %NULL as pointer essentially removes the data stored. - + + + + + a #GQuark, naming the user data pointer + + + + an opaque user data pointer + + + + + + This function works like g_param_spec_set_qdata(), but in addition, +a <literal>void (*destroy) (gpointer)</literal> function may be +specified which is called with @data as argument when the @pspec is +finalized, or the data is being overwritten by a call to +g_param_spec_set_qdata() with the same @quark. + + + + + + a #GQuark, naming the user data pointer + + + + an opaque user data pointer + + + + function to invoke with @data as argument, when @data needs to be freed + + + + + + The initial reference count of a newly created #GParamSpec is 1, +even though no one has explicitly called g_param_spec_ref() on it +yet. So the initial reference count is flagged as "floating", until +someone calls <literal>g_param_spec_ref (pspec); g_param_spec_sink +(pspec);</literal> in sequence on it, taking over the initial +reference count (thus ending up with a @pspec that has a reference +count of 1 still, but is not flagged "floating" anymore). + + + + + + Gets back user data pointers stored via g_param_spec_set_qdata() +and removes the @data from @pspec without invoking its destroy() +function (if any was set). Usually, calling this function is only +required to update user data pointers with a destroy notifier. + + the user data pointer set, or %NULL + + + + + a #GQuark, naming the user data pointer + + + + + + Decrements the reference count of a @pspec. + + - + + A #GParamSpec derived structure that contains the meta data for boolean properties. - + - + + A #GParamSpec derived structure that contains the meta data for boxed properties. - + + A #GParamSpec derived structure that contains the meta data for character properties. - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - + The class structure for the <structname>GParamSpec</structname> type. Normally, <structname>GParamSpec</structname> classes are filled by -g_param_type_register_static()."> +g_param_type_register_static(). @@ -1762,47 +3057,92 @@ g_param_type_register_static()."> - + + + + + + + + + + - + + + + + + + + + + + + + - + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + - + - + + A #GParamSpec derived structure that contains the meta data for double properties. - + - + - + - + - + + A #GParamSpec derived structure that contains the meta data for enum +properties. @@ -1810,13 +3150,12 @@ properties."> - + - + + A #GParamSpec derived structure that contains the meta data for flags +properties. @@ -1824,33 +3163,29 @@ properties."> - + - + + A #GParamSpec derived structure that contains the meta data for float properties. - + - + - + - + - + + A #GParamSpec derived structure that contains the meta data for #GType properties. @@ -1858,72 +3193,66 @@ A #GParamSpec derived structure that contains the meta data for float properties - + + A #GParamSpec derived structure that contains the meta data for integer properties. - + - + - + - + + A #GParamSpec derived structure that contains the meta data for 64bit integer properties. - + - + - + - + + A #GParamSpec derived structure that contains the meta data for long integer properties. - + - + - + - + + A #GParamSpec derived structure that contains the meta data for object properties. - + This is a type of #GParamSpec type that simply redirects operations to another paramspec. All operations other than getting or setting the value are redirected, including accessing the nick and blurb, validating a value, and so forth. See g_param_spec_get_redirect_target() for retrieving the overidden property. #GParamSpecOverride is used in implementing g_object_class_override_property(), and will not be directly useful -unless you are implementing a new base type similar to GObject." - version="2.4"> +unless you are implementing a new base type similar to GObject. @@ -1931,101 +3260,119 @@ unless you are implementing a new base type similar to GObject." - + + A #GParamSpec derived structure that contains the meta data for %G_TYPE_PARAM +properties. - + + A #GParamSpec derived structure that contains the meta data for pointer properties. - - - - - - - - - - - + + A #GParamSpecPool maintains a collection of #GParamSpec<!-- -->s which can be +quickly accessed by owner and name. The implementation of the #GObject property +system uses such a pool to store the #GParamSpecs of the properties all object +types. + Inserts a #GParamSpec in the pool. + the #GParamSpec to insert + a #GType identifying the owner of @pspec - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + Gets an array of all #GParamSpec<!-- -->s owned by @owner_type in +the pool. +#GParamSpec<!-- -->s owned by @owner_type in the pool + + a newly allocated array containing pointers to all + the owner to look for - - + + return location for the length of the returned array + + + + + + Gets an #GList of all #GParamSpec<!-- -->s owned by @owner_type in +the pool. +in the pool#GParamSpec<!-- -->s. + + a #GList of all #GParamSpec<!-- -->s owned by @owner_type + + + + + + + the owner to look for + + + + + + Looks up a #GParamSpec in the pool. + + The found #GParamSpec, or %NULL if no matching #GParamSpec was found. + + + + + the name to look for + + + + the owner to look for + + + + If %TRUE, also try to find a #GParamSpec with @param_name owned by an ancestor of @owner_type. + + + + + + Removes a #GParamSpec from the pool. + + + + + + the #GParamSpec to remove + - + + A #GParamSpec derived structure that contains the meta data for string +properties. @@ -2039,175 +3386,176 @@ properties."> - + - + - + - + This structure is used to provide the type system with the information +required to initialize and destruct (finalize) a parameter's class and instances thereof. -The initialized structure is passed to the g_param_type_register_static() -The type system will perform a deep copy of this structure, so its memory -does not need to be persistent across invocation of -g_param_type_register_static()."> +The initialized structure is passed to the g_param_type_register_static() +The type system will perform a deep copy of this structure, so its memory +does not need to be persistent across invocation of +g_param_type_register_static(). - + - + - + + + + + + + + + + - + + + + + + + + + + - + + + + + + + + + + + + + - + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + - + + A #GParamSpec derived structure that contains the meta data for unsigned character properties. - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - + + A #GParamSpec derived structure that contains the meta data for unsigned integer properties. - + - + - + - + + A #GParamSpec derived structure that contains the meta data for unsigned 64bit integer properties. - + - + - + - + + A #GParamSpec derived structure that contains the meta data for unsigned long integer properties. - + - + - + - + + A #GParamSpec derived structure that contains the meta data for unichar (unsigned integer) properties. - - + + - - - - - - - - - - - - - - - - - - - - + + A #GParamSpec derived structure that contains the meta data for #GValueArray properties. @@ -2215,13 +3563,29 @@ g_param_type_register_static()."> - + - + + A #GParamSpec derived structure that contains the meta data for #GVariant properties. + + + + + + + + + + + + + + + + + The <structname>GParameter</structname> struct is an auxiliary structure used +to hand parameter name/value pairs to g_object_newv(). @@ -2229,91 +3593,87 @@ to hand parameter name/value pairs to g_object_newv()."> - - - + - + - + The signal accumulator is a special callback function that can be used to collect return values of the various callbacks that are called during a signal emission. The signal accumulator is specified at signal creation time, if it is left %NULL, no accumulation of callback return values is performed. The return value of signal emissions is then the value returned by the last callback. should be aborted. Returning %FALSE means to abort the -current emission and %TRUE is returned for continuation."> +current emission and %TRUE is returned for continuation. - + The accumulator function returns whether the signal emission + + Signal invocation hint, see #GSignalInvocationHint. + Accumulator to collect callback return values in, this is the return value of the current signal emission. + A #GValue holding the return value of the signal handler. - + Callback data that was specified when creating the signal. + - + A simple function pointer to get invoked when the signal is emitted. This +allows you to tie a hook to the signal type, so that it will trap all emissions of that signal, from any object. You may not attach these to signals created with the #G_SIGNAL_NO_HOOKS flag. -hook is disconnected (and destroyed)."> +hook is disconnected (and destroyed). - + whether it wants to stay connected. If it returns %FALSE, the signal + + Signal invocation hint, see #GSignalInvocationHint. - + the number of parameters to the function, including the instance on which the signal was emitted. + + the instance on which the signal was emitted, followed by the parameters of the emission. - + user data associated with the hook. + - + The signal flags are used to specify a signal's behaviour, the overall signal description outlines how especially the RUN flags control the -stages of a signal emission." - c:type="GSignalFlags"> +stages of a signal emission. - + + The #GSignalInvocationHint structure is used to pass on additional information +to callbacks during a signal emission. - + @@ -2340,11 +3697,10 @@ to callbacks during a signal emission."> - + The match types specify what g_signal_handlers_block_matched(), g_signal_handlers_unblock_matched() and g_signal_handlers_disconnect_matched() -match signals by." - c:type="GSignalMatchType"> +match signals by. @@ -2354,18 +3710,11 @@ match signals by." value="32" c:identifier="G_SIGNAL_MATCH_UNBLOCKED"/> - + + A structure holding in-depth information for a specific signal. It is +filled in by the g_signal_query() function. - + @@ -2380,91 +3729,87 @@ filled in by the g_signal_query() function."> - + - + - - - - + - + - + - + - - + + - + - + - + + A callback function used for notification when the state +of a toggle reference changes. See g_object_add_toggle_ref(). - + Callback data passed to g_object_add_toggle_ref() + - + + The object on which g_object_add_toggle_ref() was called. - + %TRUE if the toggle reference is now the last reference to the object. %FALSE if the toggle reference was the last reference and there are now other references. + + A union holding one collected value. - + - + - + - + - + - + + An opaque structure used as the base of all classes. - - - + + + @@ -2473,56 +3818,52 @@ of a toggle reference changes. See g_object_add_toggle_ref()."> - + A callback function which is called when the reference count of a class drops to zero. It may use g_type_class_ref() to prevent the class from -being freed. You should not call g_type_class_unref() from a -#GTypeClassCacheFunc function to prevent infinite recursion, use +being freed. You should not call g_type_class_unref() from a +#GTypeClassCacheFunc function to prevent infinite recursion, use g_type_class_unref_uncached() instead. -The functions have to check the class id passed in to figure +The functions have to check the class id passed in to figure whether they actually want to cache the class of this type, since all classes are routed through the same #GTypeClassCacheFunc chain. -called, %FALSE to continue."> +called, %FALSE to continue. - + %TRUE to stop further #GTypeClassCacheFunc<!-- -->s from being + - - + + data that was given to the g_type_add_class_cache_func() call + + The #GTypeClass structure which is unreferenced - + The <type>GTypeDebugFlags</type> enumeration values can be passed to g_type_init_with_debug_flags() to trigger debugging messages during runtime. Note that the messages can also be triggered by setting the -<envar>GOBJECT_DEBUG</envar> environment variable to a ':'-separated list of -"objects" and "signals"." - c:type="GTypeDebugFlags"> +<envar>GOBJECT_DEBUG</envar> environment variable to a ':'-separated list of +"objects" and "signals". - + + Bit masks used to check or determine characteristics of a type. - + + Bit masks used to check or determine specific characteristics of a +fundamental type. - + + A structure that provides information to the type system which is +used specifically for managing fundamental types. - + This structure is used to provide the type system with the information +required to initialize and destruct (finalize) a type's class and its instances. The initialized structure is passed to the g_type_register_static() function (or is copied into the provided #GTypeInfo structure in the g_type_plugin_complete_type_info()). The type system will perform a deep copy of this structure, so its memory does not need to be persistent -across invocation of g_type_register_static()."> +across invocation of g_type_register_static(). - + @@ -2574,13 +3905,13 @@ across invocation of g_type_register_static()."> - + - + - + @@ -2589,15 +3920,16 @@ across invocation of g_type_register_static()."> - + + An opaque structure used as the base of all type instances. - - - + + + @@ -2606,9 +3938,8 @@ across invocation of g_type_register_static()."> - + + An opaque structure used as the base of all interface types. @@ -2618,34 +3949,37 @@ across invocation of g_type_register_static()."> + A callback called after an interface vtable is initialized. +See g_type_add_interface_check(). - + data passed to g_type_add_interface_check(). + - + the interface that has been initialized + + The members of the <structname>GTypeModule</structname> structure should not +be accessed directly, except for the @name field. - + @@ -2653,99 +3987,159 @@ be accessed directly, except for the @name field." - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + Registers an additional interface for a type, whose interface lives +in the given type plugin. If the interface was already registered +for the type in this plugin, nothing will be done. +As long as any instances of the type exist, the type plugin will +not be unloaded. + type to which to add the interface. + interface type to add + type information structure - + + Looks up or registers an enumeration that is implemented with a particular +type plugin. If a type with name @type_name was previously registered, +the #GType identifier for the type is returned, otherwise the type +is newly registered, and the resulting #GType identifier returned. +As long as any instances of the type exist, the type plugin will +not be unloaded. + the new or existing type ID + name for the type + an array of #GEnumValue structs for the possible enumeration values. The array is terminated by a struct with all members being 0. + c:identifier="g_type_module_register_flags" + version="2.6"> + Looks up or registers a flags type that is implemented with a particular +type plugin. If a type with name @type_name was previously registered, +the #GType identifier for the type is returned, otherwise the type +is newly registered, and the resulting #GType identifier returned. +As long as any instances of the type exist, the type plugin will +not be unloaded. + the new or existing type ID + name for the type + an array of #GFlagsValue structs for the possible flags values. The array is terminated by a struct with all members being 0. + + Looks up or registers a type that is implemented with a particular +type plugin. If a type with name @type_name was previously registered, +the #GType identifier for the type is returned, otherwise the type +is newly registered, and the resulting #GType identifier returned. +When reregistering a type (typically because a module is unloaded +then reloaded, and reinitialized), @module and @parent_type must +be the same as they were previously. +As long as any instances of the type exist, the type plugin will +not be unloaded. + + the new or existing type ID + + + + + the type for the parent class + + + + name for the type + + + + type information structure + + + + flags field providing details about the type + + + + + + Sets the name for a #GTypeModule + + + + + + a human-readable name to use in error messages. + + + + + + Decreases the use count of a #GTypeModule by one. If the +result is zero, the module will be unloaded. (However, the +#GTypeModule will not be freed, and types associated with the +#GTypeModule are not unregistered. Once a #GTypeModule is +initialized, it must exist forever.) + + + + + + Increases the use count of a #GTypeModule by one. If the +use count was zero before, the plugin will be loaded. +If loading the plugin fails, the use count is reset to +its prior value. +loading the plugin failed. + + %FALSE if the plugin needed to be loaded and + + + - + - + + + - + + + @@ -2753,17 +4147,16 @@ be accessed directly, except for the @name field." + glib:is-gtype-struct-for="TypeModule"> + In order to implement dynamic loading of types based on #GTypeModule, +the @load and @unload functions in #GTypeModuleClass must be implemented. - + - + @@ -2773,7 +4166,7 @@ the @load and @unload functions in #GTypeModuleClass must be implemented."> - + @@ -2785,28 +4178,28 @@ the @load and @unload functions in #GTypeModuleClass must be implemented."> - + - + - + - + @@ -2814,159 +4207,173 @@ the @load and @unload functions in #GTypeModuleClass must be implemented."> - - - - - - - - - - - - - - - - - - - - - - - - - - + glib:get-type="g_type_plugin_get_type"> + The <structname>GTypePlugin</structname> typedef is used as a placeholder +for objects that implement the <structname>GTypePlugin</structname> +interface. + Calls the @complete_interface_info function from the +#GTypePluginClass of @plugin. There should be no need to use this +function outside of the GObject type system itself. + the #GType of an instantiable type to which the interface is added + the #GType of the interface whose info is completed + the #GInterfaceInfo to fill in + + Calls the @complete_type_info function from the #GTypePluginClass of @plugin. +There should be no need to use this function outside of the GObject +type system itself. + + + + + + the #GType whose info is completed + + + + the #GTypeInfo struct to fill in + + + + the #GTypeValueTable to fill in + + + + + + Calls the @unuse_plugin function from the #GTypePluginClass of +the GObject type system itself. + + + + + + Calls the @use_plugin function from the #GTypePluginClass of +the GObject type system itself. + + + + - - + + The #GTypePlugin interface is used by the type system in order to handle +the lifecycle of dynamically loaded types. + - + - + - + - + + c:type="GTypePluginCompleteInterfaceInfo"> + The type of the @complete_interface_info function of #GTypePluginClass. + the #GTypePlugin + the #GType of an instantiable type to which the interface is added + the #GType of the interface whose info is completed + the #GInterfaceInfo to fill in + c:type="GTypePluginCompleteTypeInfo"> + The type of the @complete_type_info function of #GTypePluginClass. + the #GTypePlugin + the #GType whose info is completed + the #GTypeInfo struct to fill in + the #GTypeValueTable to fill in - + + The type of the @unuse_plugin function of #GTypePluginClass. + the #GTypePlugin whose use count should be decreased - + + The type of the @use_plugin function of #GTypePluginClass, which gets called +to increase the use count of @plugin. + the #GTypePlugin whose use count should be increased - + + A structure holding information for a specific type. It is +filled in by the g_type_query() function. @@ -2974,858 +4381,1084 @@ filled in by the g_type_query() function."> - + - + - + + The #GTypeValueTable provides the functions required by the #GValue implementation, +to serve as a container for values of a type. - + + + + + + + + + + - + + + + + + + + + + - + + + + + + + + + + + + + - - + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + - + - + + An opaque structure used to hold different types of values. to functions within a #GTypeValueTable structure, or implementations of the g_value_*() API. That is, code portions which implement new fundamental types. #GValue users can not make any assumptions about how data is stored within the 2 element @data union, and the @g_type member should -only be accessed through the G_VALUE_TYPE() macro." - glib:type-name="GValue" - glib:get-type="g_value_get_type"> +only be accessed through the G_VALUE_TYPE() macro. - - + + - + + Copies the value of @src_value into @dest_value. - - + + An initialized #GValue structure of the same type as @src_value. + - - - - - - - - - - - - - + + Get the contents of a %G_TYPE_BOXED derived #GValue. Upon getting, +the boxed value is duplicated and needs to be later freed with +return_value); + + boxed contents of @value + - - - + + Get the contents of a %G_TYPE_OBJECT derived #GValue, increasing +its reference count. +longer needed. + + object content of @value, should be unreferenced when no + - - - + + Get the contents of a %G_TYPE_PARAM #GValue, increasing its +reference count. +no longer needed. + + #GParamSpec content of @value, should be unreferenced when + - - - - - - - - + + Get a copy the contents of a %G_TYPE_STRING #GValue. + + a newly allocated copy of the string content of @value + - - - - - - - - + + Get the contents of a variant #GValue, increasing its refcount. +g_variant_unref() when no longer needed + + variant contents of @value, should be unrefed using + + + + + Determines if @value will fit inside the size of a pointer value. +This is an internal function introduced mainly for C marshallers. + + %TRUE if @value will fit inside a pointer value. + + + + + Get the contents of a %G_TYPE_BOOLEAN #GValue. + + boolean contents of @value + + + + + Get the contents of a %G_TYPE_BOXED derived #GValue. + + boxed contents of @value + + + + + Get the contents of a %G_TYPE_CHAR #GValue. + + character contents of @value + + + + + Get the contents of a %G_TYPE_DOUBLE #GValue. + + double contents of @value + - - - - - + Get the contents of a %G_TYPE_ENUM #GValue. - + enum contents of @value + - - - - - - - - - - + Get the contents of a %G_TYPE_FLAGS #GValue. - + flags contents of @value + + + + + Get the contents of a %G_TYPE_FLOAT #GValue. + + float contents of @value + + + + + Get the contents of a %G_TYPE_GTYPE #GValue. + + the #GType stored in @value + + + + + Get the contents of a %G_TYPE_INT #GValue. + + integer contents of @value + + + + + Get the contents of a %G_TYPE_INT64 #GValue. + + 64bit integer contents of @value + + + + + Get the contents of a %G_TYPE_LONG #GValue. + + long integer contents of @value + + + + + Get the contents of a %G_TYPE_OBJECT derived #GValue. + + object contents of @value + + + + + Get the contents of a %G_TYPE_PARAM #GValue. + + #GParamSpec content of @value + + + + + Get the contents of a pointer #GValue. + + pointer contents of @value + + + + + Get the contents of a %G_TYPE_STRING #GValue. + + string content of @value + + + + + Get the contents of a %G_TYPE_UCHAR #GValue. + + unsigned character contents of @value + + + + + Get the contents of a %G_TYPE_UINT #GValue. + + unsigned integer contents of @value + + + + + Get the contents of a %G_TYPE_UINT64 #GValue. + + unsigned 64bit integer contents of @value + + + + + Get the contents of a %G_TYPE_ULONG #GValue. + + unsigned long integer contents of @value + + + + + Get the contents of a variant #GValue. + + variant contents of @value + + Initializes @value with the default value of @type. + the #GValue structure that has been passed in + Type the #GValue should hold values of. - - - + + Return the value contents as pointer. This function asserts that +g_value_fits_pointer() returned %TRUE for the passed in value. +This is an internal function introduced mainly for C marshallers. + + %TRUE if @value will fit inside a pointer value. + - - - - - + Clears the current value in @value and resets it to the default value +(as if the value had just been initialized). + the #GValue structure that has been passed in - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + Set the contents of a %G_TYPE_BOOLEAN #GValue to @v_boolean. - + boolean value to be set + - - - - - - + + Set the contents of a %G_TYPE_BOXED derived #GValue to @v_boxed. - - + + boxed value to be set + - - - - - - + + This is an internal function introduced mainly for C marshallers. - - + + duplicated unowned boxed value to be set + - - - - - - + + Set the contents of a %G_TYPE_CHAR #GValue to @v_char. - - + + character value to be set + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + Set the contents of a %G_TYPE_DOUBLE #GValue to @v_double. - + double value to be set + - - - - - - + + Set the contents of a %G_TYPE_ENUM #GValue to @v_enum. - - + + enum value to be set + - + + Set the contents of a %G_TYPE_FLAGS #GValue to @v_flags. - - + + flags value to be set + - - - - - - - - - - - + + Set the contents of a %G_TYPE_FLOAT #GValue to @v_float. - - + + float value to be set + - - - - - - + + Set the contents of a %G_TYPE_GTYPE #GValue to @v_gtype. + #GType to be set - - - - - - + + Sets @value from an instantiatable type via the +value_table's collect_value() function. - + + the instance + + + + + + Set the contents of a %G_TYPE_INT #GValue to @v_int. + + + + + + integer value to be set + + + + + + Set the contents of a %G_TYPE_INT64 #GValue to @v_int64. + + + + + + 64bit integer value to be set + + + + + + Set the contents of a %G_TYPE_LONG #GValue to @v_long. + + + + + + long integer value to be set + + + + + + Set the contents of a %G_TYPE_OBJECT derived #GValue to @v_object. +g_value_set_object() increases the reference count of @v_object +(the #GValue holds a reference to @v_object). If you do not wish +to increase the reference count of the object (i.e. you wish to +pass your current reference to the #GValue because you no longer +need it), use g_value_take_object() instead. +It is important that your #GValue holds a reference to @v_object (either its +own, or one it has taken) to ensure that the object won't be destroyed while +the #GValue still exists). + + + + + + object value to be set + + + + + + This is an internal function introduced mainly for C marshallers. + + + + + + object value to be set + + + + + + Set the contents of a %G_TYPE_PARAM #GValue to @param. + + + + + + the #GParamSpec to be set + + + + + + This is an internal function introduced mainly for C marshallers. + + + + + + the #GParamSpec to be set + + + + + + Set the contents of a pointer #GValue to @v_pointer. + + + + + + pointer value to be set + + + + + + Set the contents of a %G_TYPE_BOXED derived #GValue to @v_boxed. +The boxed value is assumed to be static, and is thus not duplicated +when setting the #GValue. + + + + + + static boxed value to be set + + + + + + Set the contents of a %G_TYPE_STRING #GValue to @v_string. +The string is assumed to be static, and is thus not duplicated +when setting the #GValue. + + + + + + static string to be set + + + + + + Set the contents of a %G_TYPE_STRING #GValue to @v_string. + + + + + + caller-owned string to be duplicated for the #GValue + c:identifier="g_value_set_string_take_ownership" + deprecated="Use g_value_take_string() instead." + deprecated-version="2.4"> + This is an internal function introduced mainly for C marshallers. - + + duplicated unowned string to be set + + Set the contents of a %G_TYPE_UCHAR #GValue to @v_uchar. + + + + + + unsigned character value to be set + + + + + + Set the contents of a %G_TYPE_UINT #GValue to @v_uint. + + + + + + unsigned integer value to be set + + + + + + Set the contents of a %G_TYPE_UINT64 #GValue to @v_uint64. + + + + + + unsigned 64bit integer value to be set + + + + + + Set the contents of a %G_TYPE_ULONG #GValue to @v_ulong. + + + + + + unsigned long integer value to be set + + + + + + Set the contents of a variant #GValue to @variant. +If the variant is floating, it is consumed. + + + + + + a #GVariant, or %NULL + + + + + + Sets the contents of a %G_TYPE_BOXED derived #GValue to @v_boxed +and takes over the ownership of the callers reference to @v_boxed; +the caller doesn't have to unref it any more. + + + + + + duplicated unowned boxed value to be set + + + + + + Sets the contents of a %G_TYPE_OBJECT derived #GValue to @v_object +and takes over the ownership of the callers reference to @v_object; +the caller doesn't have to unref it any more (i.e. the reference +count of the object is not increased). +If you want the #GValue to hold its own reference to @v_object, use +g_value_set_object() instead. + + + + + + object value to be set + + + + + + Sets the contents of a %G_TYPE_PARAM #GValue to @param and takes +over the ownership of the callers reference to @param; the caller +doesn't have to unref it any more. + + + + + + the #GParamSpec to be set + + + + + + Sets the contents of a %G_TYPE_STRING #GValue to @v_string. + + + + + + string to take ownership of + + + + + + Set the contents of a variant #GValue to @variant, and takes over +the ownership of the caller's reference to @variant; +the caller doesn't have to unref it any more (i.e. the reference +count of the variant is not increased). +It is a programmer error to pass a floating variant to this function. +In particular this means that callbacks in closures, and signal handlers +for signals of return type %G_TYPE_VARIANT, must never return floating +variants. +If you want the #GValue to hold its own reference to @variant, use +g_value_set_variant() instead. +This is an internal function introduced mainly for C marshallers. + + + + + + a #GVariant, or %NULL + + + + + + Tries to cast the contents of @src_value into a type appropriate +to store in @dest_value, e.g. to transform a %G_TYPE_INT value +into a %G_TYPE_FLOAT value. Performing transformations between +value types might incur precision lossage. Especially +transformations into strings might reveal seemingly arbitrary +results and shouldn't be relied upon for production code (such +as rcfile value or object property serialization). +Upon failing transformations, @dest_value is left untouched. + + Whether a transformation rule was found and could be applied. + + + + + Target value. + + + + + + Clears the current value in @value and "unsets" the type, +this releases all resources associated with this GValue. +An unset value is the same as an uninitialized (zero-filled) +#GValue structure. + + + + + glib:get-type="g_value_array_get_type" + c:symbol-prefix="value_array"> + A #GValueArray contains an array of #GValue elements. - + - + + Allocate and initialize a new #GValueArray, optionally preserve space +for @n_prealloced elements. New arrays always contain 0 elements, +regardless of the value of @n_prealloced. + a newly allocated #GValueArray with 0 values - + number of values to preallocate space for + - + + Insert a copy of @value as last element of @value_array. If @value is +%NULL, an uninitialized value is appended. - + the #GValueArray passed in as @value_array + - - + + #GValue to copy into #GValueArray, or %NULL + + + Construct an exact copy of a #GValueArray by duplicating all its +contents. + + Newly allocated copy of #GValueArray + + + + Free a #GValueArray including its contents. - + + Return a pointer to the value at @index_ containd in @value_array. - - - - - - + pointer to a value at @index_ in @value_array + - - - - - - - - - - - - + + index of the value of interest + + Insert a copy of @value at specified position into @value_array. If @value +is %NULL, an uninitialized value is inserted. + the #GValueArray passed in as @value_array - + insertion position, must be &lt;= value_array-&gt;n_values + + #GValue to copy into #GValueArray, or %NULL + + + + + + Insert a copy of @value as first element of @value_array. If @value is +%NULL, an uninitialized value is prepended. + + the #GValueArray passed in as @value_array + + + + + #GValue to copy into #GValueArray, or %NULL + Remove the value at position @index_ from @value_array. + the #GValueArray passed in as @value_array - + position of value to remove, must be &lt; value_array->n_values + - + + Sort @value_array using @compare_func to compare the elements accoring to +the semantics of #GCompareFunc. +The current implementation uses Quick-Sort as sorting algorithm. + the #GValueArray passed in as @value_array - + + function to compare elements + c:identifier="g_value_array_sort_with_data" + introspectable="0"> + Sort @value_array using @compare_func to compare the elements accoring +to the semantics of #GCompareDataFunc. +The current implementation uses Quick-Sort as sorting algorithm. + the #GValueArray passed in as @value_array - + + function to compare elements - + extra data argument provided for @compare_func + - + + The type of value transformation functions which can be registered with +g_value_register_transform_func(). + Source value. + Target value. - + A #GWeakNotify function can be added to an object as a callback that gets triggered when the object is finalized. Since the object is already being -finalized when the #GWeakNotify is called, there's not much you could do -with the object, apart from e.g. using its adress as hash-index or the like."> +finalized when the #GWeakNotify is called, there's not much you could do +with the object, apart from e.g. using its adress as hash-index or the like. - + data that was provided when the weak reference was established + + the object being finalized - - - + + Provide a copy of a boxed structure @src_boxed which is of type @boxed_type. + + The newly created copy of the boxed structure. + + The type of @src_boxed. - + The boxed structure to be copied. + + Free the boxed structure @boxed which is of type @boxed_type. + The type of @boxed. - + The boxed structure to be freed. + @@ -3835,155 +5468,982 @@ with the object, apart from e.g. using its adress as hash-index or the like."> + c:identifier="g_boxed_type_register_static" + introspectable="0"> + This function creates a new %G_TYPE_BOXED derived type id for a new +boxed type with name @name. Boxed type handling functions have to be +provided to copy and free opaque boxed structures of this type. + New %G_TYPE_BOXED derived type id for @name. + Name of the new boxed type. - + + Boxed structure copy function. - + + Boxed structure free function. - + + + + + + + + + + + + + + + + + + + + + + + + + + + A marshaller for a #GCClosure with a callback of type +<literal>gboolean (*callback) (gpointer instance, gint arg1, gpointer user_data)</literal> where the #gint parameter +denotes a flags type. + + + + + + the #GClosure to which the marshaller belongs + + + + a #GValue which can store the returned #gboolean + + + + 2 + + + + a #GValue array holding instance and arg1 + + + + the invocation hint given as the last argument to g_closure_invoke() + + + + additional data specified when registering the marshaller + + + + + + A marshaller for a #GCClosure with a callback of type +<literal>gchar* (*callback) (gpointer instance, GObject *arg1, gpointer arg2, gpointer user_data)</literal>. + + + + + + the #GClosure to which the marshaller belongs + + + + a #GValue, which can store the returned string + + + + 3 + + + + a #GValue array holding instance, arg1 and arg2 + + + + the invocation hint given as the last argument to g_closure_invoke() + + + + additional data specified when registering the marshaller + + + + + + A marshaller for a #GCClosure with a callback of type +<literal>void (*callback) (gpointer instance, gboolean arg1, gpointer user_data)</literal>. + + + + + + the #GClosure to which the marshaller belongs + + + + ignored + + + + 2 + + + + a #GValue array holding the instance and the #gboolean parameter + + + + the invocation hint given as the last argument to g_closure_invoke() + + + + additional data specified when registering the marshaller + + + + + + A marshaller for a #GCClosure with a callback of type +<literal>void (*callback) (gpointer instance, GBoxed *arg1, gpointer user_data)</literal>. + + + + + + the #GClosure to which the marshaller belongs + + + + ignored + + + + 2 + + + + a #GValue array holding the instance and the #GBoxed* parameter + + + + the invocation hint given as the last argument to g_closure_invoke() + + + + additional data specified when registering the marshaller + + + + + + A marshaller for a #GCClosure with a callback of type +<literal>void (*callback) (gpointer instance, gchar arg1, gpointer user_data)</literal>. + + + + + + the #GClosure to which the marshaller belongs + + + + ignored + + + + 2 + + + + a #GValue array holding the instance and the #gchar parameter + + + + the invocation hint given as the last argument to g_closure_invoke() + + + + additional data specified when registering the marshaller + + + + + + A marshaller for a #GCClosure with a callback of type +<literal>void (*callback) (gpointer instance, gdouble arg1, gpointer user_data)</literal>. + + + + + + the #GClosure to which the marshaller belongs + + + + ignored + + + + 2 + + + + a #GValue array holding the instance and the #gdouble parameter + + + + the invocation hint given as the last argument to g_closure_invoke() + + + + additional data specified when registering the marshaller + + + + + + A marshaller for a #GCClosure with a callback of type +<literal>void (*callback) (gpointer instance, gint arg1, gpointer user_data)</literal> where the #gint parameter denotes an enumeration type.. + + + + + + the #GClosure to which the marshaller belongs + + + + ignored + + + + 2 + + + + a #GValue array holding the instance and the enumeration parameter + + + + the invocation hint given as the last argument to g_closure_invoke() + + + + additional data specified when registering the marshaller + + + + + + A marshaller for a #GCClosure with a callback of type +<literal>void (*callback) (gpointer instance, gint arg1, gpointer user_data)</literal> where the #gint parameter denotes a flags type. + + + + + + the #GClosure to which the marshaller belongs + + + + ignored + + + + 2 + + + + a #GValue array holding the instance and the flags parameter + + + + the invocation hint given as the last argument to g_closure_invoke() + + + + additional data specified when registering the marshaller + + + + + + A marshaller for a #GCClosure with a callback of type +<literal>void (*callback) (gpointer instance, gfloat arg1, gpointer user_data)</literal>. + + + + + + the #GClosure to which the marshaller belongs + + + + ignored + + + + 2 + + + + a #GValue array holding the instance and the #gfloat parameter + + + + the invocation hint given as the last argument to g_closure_invoke() + + + + additional data specified when registering the marshaller + + + + + + A marshaller for a #GCClosure with a callback of type +<literal>void (*callback) (gpointer instance, gint arg1, gpointer user_data)</literal>. + + + + + + the #GClosure to which the marshaller belongs + + + + ignored + + + + 2 + + + + a #GValue array holding the instance and the #gint parameter + + + + the invocation hint given as the last argument to g_closure_invoke() + + + + additional data specified when registering the marshaller + + + + + + A marshaller for a #GCClosure with a callback of type +<literal>void (*callback) (gpointer instance, glong arg1, gpointer user_data)</literal>. + + + + + + the #GClosure to which the marshaller belongs + + + + ignored + + + + 2 + + + + a #GValue array holding the instance and the #glong parameter + + + + the invocation hint given as the last argument to g_closure_invoke() + + + + additional data specified when registering the marshaller + + + + + + A marshaller for a #GCClosure with a callback of type +<literal>void (*callback) (gpointer instance, GObject *arg1, gpointer user_data)</literal>. + + + + + + the #GClosure to which the marshaller belongs + + + + ignored + + + + 2 + + + + a #GValue array holding the instance and the #GObject* parameter + + + + the invocation hint given as the last argument to g_closure_invoke() + + + + additional data specified when registering the marshaller + + + + + + A marshaller for a #GCClosure with a callback of type +<literal>void (*callback) (gpointer instance, GParamSpec *arg1, gpointer user_data)</literal>. + + + + + + the #GClosure to which the marshaller belongs + + + + ignored + + + + 2 + + + + a #GValue array holding the instance and the #GParamSpec* parameter + + + + the invocation hint given as the last argument to g_closure_invoke() + + + + additional data specified when registering the marshaller + + + + + + A marshaller for a #GCClosure with a callback of type +<literal>void (*callback) (gpointer instance, gpointer arg1, gpointer user_data)</literal>. + + + + + + the #GClosure to which the marshaller belongs + + + + ignored + + + + 2 + + + + a #GValue array holding the instance and the #gpointer parameter + + + + the invocation hint given as the last argument to g_closure_invoke() + + + + additional data specified when registering the marshaller + + + + + + A marshaller for a #GCClosure with a callback of type +<literal>void (*callback) (gpointer instance, const gchar *arg1, gpointer user_data)</literal>. + + + + + + the #GClosure to which the marshaller belongs + + + + ignored + + + + 2 + + + + a #GValue array holding the instance and the #gchar* parameter + + + + the invocation hint given as the last argument to g_closure_invoke() + + + + additional data specified when registering the marshaller + + + + + + A marshaller for a #GCClosure with a callback of type +<literal>void (*callback) (gpointer instance, guchar arg1, gpointer user_data)</literal>. + + + + + + the #GClosure to which the marshaller belongs + + + + ignored + + + + 2 + + + + a #GValue array holding the instance and the #guchar parameter + + + + the invocation hint given as the last argument to g_closure_invoke() + + + + additional data specified when registering the marshaller + + + + + + A marshaller for a #GCClosure with a callback of type +<literal>void (*callback) (gpointer instance, guint arg1, gpointer user_data)</literal>. + + + + + + the #GClosure to which the marshaller belongs + + + + ignored + + + + 2 + + + + a #GValue array holding the instance and the #guint parameter + + + + the invocation hint given as the last argument to g_closure_invoke() + + + + additional data specified when registering the marshaller + + + + + + A marshaller for a #GCClosure with a callback of type +<literal>void (*callback) (gpointer instance, guint arg1, gpointer arg2, gpointer user_data)</literal>. + + + + + + the #GClosure to which the marshaller belongs + + + + ignored + + + + 3 + + + + a #GValue array holding instance, arg1 and arg2 + + + + the invocation hint given as the last argument to g_closure_invoke() + + + + additional data specified when registering the marshaller + + + + + + A marshaller for a #GCClosure with a callback of type +<literal>void (*callback) (gpointer instance, gulong arg1, gpointer user_data)</literal>. + + + + + + the #GClosure to which the marshaller belongs + + + + ignored + + + + 2 + + + + a #GValue array holding the instance and the #gulong parameter + + + + the invocation hint given as the last argument to g_closure_invoke() + + + + additional data specified when registering the marshaller + + + + + + A marshaller for a #GCClosure with a callback of type +<literal>void (*callback) (gpointer instance, GVariant *arg1, gpointer user_data)</literal>. + + + + + + the #GClosure to which the marshaller belongs + + + + ignored + + + + 2 + + + + a #GValue array holding the instance and the #GVariant* parameter + + + + the invocation hint given as the last argument to g_closure_invoke() + + + + additional data specified when registering the marshaller + + + + + + A marshaller for a #GCClosure with a callback of type +<literal>void (*callback) (gpointer instance, gpointer user_data)</literal>. + + + + + + the #GClosure to which the marshaller belongs + + + + ignored + + + + 1 + + + + a #GValue array holding only the instance + + + + the invocation hint given as the last argument to g_closure_invoke() + + + + additional data specified when registering the marshaller + + + + + + Creates a new closure which invokes @callback_func with @user_data as +the last parameter. + a new #GCClosure - + + the function to invoke - + user data to pass to @callback_func + - + + destroy notify to be called when @user_data is no longer used - + + A variant of g_cclosure_new() which uses @object as @user_data and +calls g_object_watch_closure() on @object and the created +closure. This function is useful when you have a callback closely +associated with a #GObject, and want the callback to no longer run +after the object is is freed. + a new #GCClosure - + + the function to invoke + a #GObject pointer to pass to @callback_func + c:identifier="g_cclosure_new_object_swap" + introspectable="0"> + A variant of g_cclosure_new_swap() which uses @object as @user_data +and calls g_object_watch_closure() on @object and the created +closure. This function is useful when you have a callback closely +associated with a #GObject, and want the callback to no longer run +after the object is is freed. + a new #GCClosure - + + the function to invoke + a #GObject pointer to pass to @callback_func - + + Creates a new closure which invokes @callback_func with @user_data as +the first parameter. + a new #GCClosure - + + the function to invoke - + user data to pass to @callback_func + - + + destroy notify to be called when @user_data is no longer used + This function is meant to be called from the complete_type_info() +function of a #GTypePlugin implementation, as in the following +example: +|[ +static void +my_enum_complete_type_info (GTypePlugin *plugin, +GType g_type, +GTypeInfo *info, +GTypeValueTable *value_table) +{ +static const GEnumValue values[] = { +{ MY_ENUM_FOO, "MY_ENUM_FOO", "foo" }, +{ MY_ENUM_BAR, "MY_ENUM_BAR", "bar" }, +{ 0, NULL, NULL } +}; +g_enum_complete_type_info (type, info, values); +} +]| + the type identifier of the type being completed + the #GTypeInfo struct to be filled in + An array of #GEnumValue structs for the possible enumeration values. The array is terminated by a struct with all members being 0. - - + + Returns the #GEnumValue for a value. +member of the enumeration + + the #GEnumValue for @value, or %NULL if @value is not a + a #GEnumClass - + the value to look up + - + c:identifier="g_enum_get_value_by_name" + introspectable="0"> + Looks up a #GEnumValue by name. +enumeration doesn't have a member with that name + + the #GEnumValue with name @name, or %NULL if the + a #GEnumClass + the name to look up - + c:identifier="g_enum_get_value_by_nick" + introspectable="0"> + Looks up a #GEnumValue by nickname. +enumeration doesn't have a member with that nickname + + the #GEnumValue with nickname @nick, or %NULL if the + a #GEnumClass + the nickname to look up + Registers a new static enumeration type with the name @name. +It is normally more convenient to let <link +linkend="glib-mkenums">glib-mkenums</link> generate a +my_enum_get_type() function from a usual C enumeration definition +than to write one yourself using g_enum_register_static(). + The new type identifier. + A nul-terminated string used as the name of the new type. + An array of #GEnumValue structs for the possible enumeration values. The array is terminated by a struct with all members being 0. GObject keeps a reference to the data, so it cannot be stack-allocated. @@ -3995,449 +6455,739 @@ with the object, apart from e.g. using its adress as hash-index or the like."> + This function is meant to be called from the complete_type_info() +function of a #GTypePlugin implementation, see the example for +g_enum_complete_type_info() above. + the type identifier of the type being completed + the #GTypeInfo struct to be filled in + An array of #GFlagsValue structs for the possible enumeration values. The array is terminated by a struct with all members being 0. - + c:identifier="g_flags_get_first_value" + introspectable="0"> + Returns the first #GFlagsValue which is set in @value. +none is set + + the first #GFlagsValue which is set in @value, or %NULL if + a #GFlagsClass - + the value + - + c:identifier="g_flags_get_value_by_name" + introspectable="0"> + Looks up a #GFlagsValue by name. +flag with that name + + the #GFlagsValue with name @name, or %NULL if there is no + a #GFlagsClass + the name to look up - + c:identifier="g_flags_get_value_by_nick" + introspectable="0"> + Looks up a #GFlagsValue by nickname. +no flag with that nickname + + the #GFlagsValue with nickname @nick, or %NULL if there is + a #GFlagsClass + the nickname to look up + Registers a new static flags type with the name @name. +It is normally more convenient to let <link +linkend="glib-mkenums">glib-mkenums</link> generate a +my_flags_get_type() function from a usual C enumeration definition +than to write one yourself using g_flags_register_static(). + The new type identifier. + A nul-terminated string used as the name of the new type. + An array of #GFlagsValue structs for the possible flags values. The array is terminated by a struct with all members being 0. GObject keeps a reference to the data, so it cannot be stack-allocated. - - + + + + + + + + + + + + Creates a new #GParamSpecBoolean instance specifying a %G_TYPE_BOOLEAN +property. +See g_param_spec_internal() for details on property names. + + a newly created parameter specification + canonical name of the property specified + nick name for the property specified + description of the property specified - + default value for the property specified + + flags for the property specified - - + + Creates a new #GParamSpecBoxed instance specifying a %G_TYPE_BOXED +derived property. +See g_param_spec_internal() for details on property names. + + a newly created parameter specification + canonical name of the property specified + nick name for the property specified + description of the property specified + %G_TYPE_BOXED derived type of this property + flags for the property specified - - + + Creates a new #GParamSpecChar instance specifying a %G_TYPE_CHAR property. + + a newly created parameter specification + canonical name of the property specified + nick name for the property specified + description of the property specified - + minimum value for the property specified + - + maximum value for the property specified + - + default value for the property specified + + flags for the property specified - - + + Creates a new #GParamSpecDouble instance specifying a %G_TYPE_DOUBLE +property. +See g_param_spec_internal() for details on property names. + + a newly created parameter specification + canonical name of the property specified + nick name for the property specified + description of the property specified + + + + minimum value for the property specified + + + + maximum value for the property specified + + + + default value for the property specified + + + + flags for the property specified + + + + + + Creates a new #GParamSpecEnum instance specifying a %G_TYPE_ENUM +property. +See g_param_spec_internal() for details on property names. + + a newly created parameter specification + + + + + canonical name of the property specified + + + + nick name for the property specified + + + + description of the property specified + a #GType derived from %G_TYPE_ENUM - + default value for the property specified + + flags for the property specified - - + + Creates a new #GParamSpecFlags instance specifying a %G_TYPE_FLAGS +property. +See g_param_spec_internal() for details on property names. + + a newly created parameter specification + canonical name of the property specified + nick name for the property specified + description of the property specified + a #GType derived from %G_TYPE_FLAGS - + default value for the property specified + + flags for the property specified - - + + Creates a new #GParamSpecFloat instance specifying a %G_TYPE_FLOAT property. +See g_param_spec_internal() for details on property names. + + a newly created parameter specification + canonical name of the property specified + nick name for the property specified + description of the property specified - + minimum value for the property specified + - + maximum value for the property specified + - + default value for the property specified + + flags for the property specified - - + + Creates a new #GParamSpecGType instance specifying a +%G_TYPE_GTYPE property. +See g_param_spec_internal() for details on property names. + + a newly created parameter specification + canonical name of the property specified + nick name for the property specified + description of the property specified + a #GType whose subtypes are allowed as values of the property (use %G_TYPE_NONE for any type) + flags for the property specified - - + + Creates a new #GParamSpecInt instance specifying a %G_TYPE_INT property. +See g_param_spec_internal() for details on property names. + + a newly created parameter specification + canonical name of the property specified + nick name for the property specified + description of the property specified - + minimum value for the property specified + - + maximum value for the property specified + - + default value for the property specified + + flags for the property specified - - + + Creates a new #GParamSpecInt64 instance specifying a %G_TYPE_INT64 property. +See g_param_spec_internal() for details on property names. + + a newly created parameter specification + canonical name of the property specified + nick name for the property specified + description of the property specified - + minimum value for the property specified + - + maximum value for the property specified + - + default value for the property specified + + flags for the property specified - - - + + Creates a new #GParamSpec instance. +A property name consists of segments consisting of ASCII letters and +digits, separated by either the '-' or '_' character. The first +character of a property name must be a letter. Names which violate these +rules lead to undefined behaviour. +When creating and looking up a #GParamSpec, either separator can be +used, but they cannot be mixed. Using '-' is considerably more +efficient and in fact required when using property names as detail +strings for signals. +Beyond the name, #GParamSpec<!-- -->s have two more descriptive +strings associated with them, the @nick, which should be suitable +for use as a label for the property in a property editor, and the +e.g. a tooltip. The @nick and @blurb should ideally be localized. + + a newly allocated #GParamSpec instance + + the #GType for the property; must be derived from #G_TYPE_PARAM + the canonical name of the property + the nickname of the property + a short description of the property + a combination of #GParamFlags - - + + Creates a new #GParamSpecLong instance specifying a %G_TYPE_LONG property. +See g_param_spec_internal() for details on property names. + + a newly created parameter specification + canonical name of the property specified + nick name for the property specified + description of the property specified - + minimum value for the property specified + - + maximum value for the property specified + - + default value for the property specified + + flags for the property specified - - + + Creates a new #GParamSpecBoxed instance specifying a %G_TYPE_OBJECT +derived property. +See g_param_spec_internal() for details on property names. + + a newly created parameter specification + canonical name of the property specified + nick name for the property specified + description of the property specified + %G_TYPE_OBJECT derived type of this property + flags for the property specified - - + + Creates a new property of type #GParamSpecOverride. This is used +to direct operations to another paramspec, and will not be directly +useful unless you are implementing a new base type similar to GObject. + + the newly created #GParamSpec + the name of the property. + The property that is being overridden - - + + Creates a new #GParamSpecParam instance specifying a %G_TYPE_PARAM +property. +See g_param_spec_internal() for details on property names. + + a newly created parameter specification + canonical name of the property specified + nick name for the property specified + description of the property specified + a #GType derived from %G_TYPE_PARAM + flags for the property specified - - + + Creates a new #GParamSpecPoiner instance specifying a pointer property. +See g_param_spec_internal() for details on property names. + + a newly created parameter specification + canonical name of the property specified + nick name for the property specified + description of the property specified + flags for the property specified - - + + Creates a new #GParamSpecPool. +If @type_prefixing is %TRUE, lookups in the newly created pool will +allow to specify the owner as a colon-separated prefix of the +property name, like "GtkContainer:border-width". This feature is +deprecated, so you should always set @type_prefixing to %FALSE. + + a newly allocated #GParamSpecPool. + + + + + Whether the pool will support type-prefixed property names. + + + + + + Creates a new #GParamSpecString instance. +See g_param_spec_internal() for details on property names. + + a newly created parameter specification + canonical name of the property specified + nick name for the property specified + description of the property specified + default value for the property specified + flags for the property specified @@ -4448,109 +7198,273 @@ with the object, apart from e.g. using its adress as hash-index or the like."> - - + + Creates a new #GParamSpecUChar instance specifying a %G_TYPE_UCHAR property. + + a newly created parameter specification + canonical name of the property specified + nick name for the property specified + description of the property specified - + minimum value for the property specified + - + maximum value for the property specified + - + default value for the property specified + + flags for the property specified - - + + Creates a new #GParamSpecUInt instance specifying a %G_TYPE_UINT property. +See g_param_spec_internal() for details on property names. + + a newly created parameter specification + canonical name of the property specified + nick name for the property specified + description of the property specified - + minimum value for the property specified + - + maximum value for the property specified + - + default value for the property specified + + flags for the property specified - - + + Creates a new #GParamSpecUInt64 instance specifying a %G_TYPE_UINT64 +property. +See g_param_spec_internal() for details on property names. + + a newly created parameter specification + canonical name of the property specified + nick name for the property specified + description of the property specified - + minimum value for the property specified + - + maximum value for the property specified + - + default value for the property specified + + flags for the property specified + + + + + + Creates a new #GParamSpecULong instance specifying a %G_TYPE_ULONG +property. +See g_param_spec_internal() for details on property names. + + a newly created parameter specification + + + + + canonical name of the property specified + + + + nick name for the property specified + + + + description of the property specified + + + + minimum value for the property specified + + + + maximum value for the property specified + + + + default value for the property specified + + + + flags for the property specified + + + + + + Creates a new #GParamSpecUnichar instance specifying a %G_TYPE_UINT +property. #GValue structures for this property can be accessed with +g_value_set_uint() and g_value_get_uint(). +See g_param_spec_internal() for details on property names. + + a newly created parameter specification + + + + + canonical name of the property specified + + + + nick name for the property specified + + + + description of the property specified + + + + default value for the property specified + + + + flags for the property specified - + c:identifier="g_param_spec_value_array" + introspectable="0"> + Creates a new #GParamSpecValueArray instance specifying a +%G_TYPE_VALUE_ARRAY property. %G_TYPE_VALUE_ARRAY is a +%G_TYPE_BOXED type, as such, #GValue structures for this property +can be accessed with g_value_set_boxed() and g_value_get_boxed(). +See g_param_spec_internal() for details on property names. + + a newly created parameter specification + canonical name of the property specified + nick name for the property specified + description of the property specified + a #GParamSpec describing the elements contained in arrays of this property, may be %NULL + flags for the property specified + + + + + + Creates a new #GParamSpecVariant instance specifying a #GVariant +property. +If @default_value is floating, it is consumed. +See g_param_spec_internal() for details on property names. + + the newly created #GParamSpec + + + + + canonical name of the property specified + + + + nick name for the property specified + + + + description of the property specified + + + + a #GVariantType + + + + a #GVariant of type @type to use as the default value, or %NULL + + + + flags for the property specified @@ -4562,136 +7476,199 @@ with the object, apart from e.g. using its adress as hash-index or the like."> + Registers @name as the name of a new static type derived from +#G_TYPE_PARAM. The type system uses the information contained in +the #GParamSpecTypeInfo structure pointed to by @info to manage the +#GParamSpec type and its instances. + The new type identifier. + 0-terminated string used as the name of the new #GParamSpec type. + The #GParamSpecTypeInfo for this #GParamSpec type. + Transforms @src_value into @dest_value if possible, and then +validates @dest_value, in order for it to conform to @pspec. If +transformed @dest_value complied to @pspec without modifications. +See also g_value_type_transformable(), g_value_transform() and +g_param_value_validate(). +%FALSE otherwise and @dest_value is left untouched. - + %TRUE if transformation and validation were successful, + + a valid #GParamSpec + souce #GValue + destination #GValue of correct type for @pspec - + %TRUE requires @dest_value to conform to @pspec without modifications + + Checks whether @value contains the default value as specified in @pspec. - + whether @value contains the canonical default for this @pspec + + a valid #GParamSpec + a #GValue of correct type for @pspec + Sets @value to its default value as specified in @pspec. + a valid #GParamSpec + a #GValue of correct type for @pspec + Ensures that the contents of @value comply with the specifications +set out by @pspec. For example, a #GParamSpecInt might require +that integers stored in @value may not be smaller than -42 and not be +greater than +42. If @value contains an integer outside of this range, +it is modified accordingly, so the resulting value will fit into the +range -42 .. +42. - + whether modifying @value was necessary to ensure validity + + a valid #GParamSpec + a #GValue of correct type for @pspec + Compares @value1 with @value2 according to @pspec, and return -1, 0 or +1, +if @value1 is found to be less than, equal to or greater than @value2, +respectively. - + -1, 0 or +1, for a less than, equal to or greater than result + + a valid #GParamSpec + a #GValue of correct type for @pspec + a #GValue of correct type for @pspec + Creates a new %G_TYPE_POINTER derived type id for a new +pointer type with name @name. + a new %G_TYPE_POINTER derived type id for @name. + the name of the new pointer type. + c:identifier="g_signal_accumulator_true_handled" + version="2.4"> + A predefined #GSignalAccumulator for signals that return a +boolean values. The behavior that this accumulator gives is +callbacks will be invoked, while a return of %FALSE allows +the emission to coninue. The idea here is that a %TRUE return +indicates that the callback <emphasis>handled</emphasis> the signal, +and no further handling is needed. - + standard #GSignalAccumulator result + + standard #GSignalAccumulator parameter + standard #GSignalAccumulator parameter + standard #GSignalAccumulator parameter - + standard #GSignalAccumulator parameter + + Adds an emission hook for a signal, which will get called for any emission +of that signal, independent of the instance. This is possible only +for signals which don't have #G_SIGNAL_NO_HOOKS flag set. - + the hook id, for later use with g_signal_remove_emission_hook(). + - + the signal identifier, as returned by g_signal_lookup(). + + the detail on which to call the hook. scope="notified" closure="3" destroy="4"> + a #GSignalEmissionHook function. - + user data for @hook_func. + - + + a #GDestroyNotify for @hook_data. + Calls the original class closure of a signal. This function should only +be called from an overridden class closure; see +g_signal_override_class_closure() and +g_signal_override_class_handler(). + the argument list of the signal emission. The first element in the array is a #GValue for the instance the signal is being emitted on. The rest are any arguments to be passed to the signal. + Location for the return value. + c:identifier="g_signal_chain_from_overridden_handler" + version="2.18" + introspectable="0"> + Calls the original class closure of a signal. This function should +only be called from an overridden class closure; see +g_signal_override_class_closure() and +g_signal_override_class_handler(). - + the instance the signal is being emitted on. + @@ -4740,110 +7733,168 @@ with the object, apart from e.g. using its adress as hash-index or the like."> + Connects a closure to a signal for a particular object. - + the handler id + - + the instance to connect to. + + a string of the form "signal-name::detail". + the closure to connect. - + whether the handler should be called before or after the default handler of the signal. + + Connects a closure to a signal for a particular object. - + the handler id + - + the instance to connect to. + - + the id of the signal. + + the detail. + the closure to connect. - + whether the handler should be called before or after the default handler of the signal. + - + + Connects a #GCallback function to a signal for a particular object. Similar +to g_signal_connect(), but allows to provide a #GClosureNotify for the data +which will be called when the signal handler is disconnected and no longer +used. Specify @connect_flags if you need <literal>..._after()</literal> or +<literal>..._swapped()</literal> variants of this function. - + the handler id + - + the instance to connect to. + + a string of the form "signal-name::detail". - + + the #GCallback to connect. - + data to pass to @c_handler calls. + - + + a #GClosureNotify for @data. + a combination of #GConnectFlags. + c:identifier="g_signal_connect_object" + introspectable="0"> + This is similar to g_signal_connect_data(), but uses a closure which +ensures that the @gobject stays alive during the call to @c_handler +by temporarily adding a reference count to @gobject. +Note that there is a bug in GObject that makes this function +much less useful than it might seem otherwise. Once @gobject is +disposed, the callback will no longer be called, but, the signal +handler is <emphasis>not</emphasis> currently disconnected. If the +matter, since the signal will automatically be removed, but +if @instance persists, then the signal handler will leak. You +should not remove the signal yourself because in a future versions of +GObject, the handler <emphasis>will</emphasis> automatically +be disconnected. +It's possible to work around this problem in a way that will +continue to work with future versions of GObject by checking +that the signal handler is still connected before disconnected it: +<informalexample><programlisting> +if (g_signal_handler_is_connected (instance, id)) +g_signal_handler_disconnect (instance, id); +</programlisting></informalexample> - + the handler id. + - + the instance to connect to. + + a string of the form "signal-name::detail". - + + the #GCallback to connect. - + the object to pass as data to @c_handler. + + a combination of #GConnnectFlags. - + + Emits a signal. +Note that g_signal_emit() resets the return value to the default +if no handlers are connected, in contrast to g_signal_emitv(). - + the instance the signal is being emitted on. + - + the signal id + + the detail @@ -4852,15 +7903,22 @@ with the object, apart from e.g. using its adress as hash-index or the like."> - + + Emits a signal. +Note that g_signal_emit_by_name() resets the return value to the default +if no handlers are connected, in contrast to g_signal_emitv(). - + the instance the signal is being emitted on. + + a string of the form "signal-name::detail". @@ -4869,146 +7927,247 @@ with the object, apart from e.g. using its adress as hash-index or the like."> + + Emits a signal. +Note that g_signal_emit_valist() resets the return value to the default +if no handlers are connected, in contrast to g_signal_emitv(). + + + + + + the instance the signal is being emitted on. + + + + the signal id + + + + the detail + + + + a list of parameters to be passed to the signal, followed by a location for the return value. If the return type of the signal is #G_TYPE_NONE, the return value location can be omitted. + + + + + Emits a signal. +Note that g_signal_emitv() doesn't change @return_value if no handlers are +connected, in contrast to g_signal_emit() and g_signal_emit_valist(). + argument list for the signal emission. The first element in the array is a #GValue for the instance the signal is being emitted on. The rest are any arguments to be passed to the signal. - + the signal id + + the detail + Location to store the return value of the signal emission. - + c:identifier="g_signal_get_invocation_hint" + introspectable="0"> + Returns the invocation hint of the innermost signal emission of instance. + + the invocation hint of the innermost signal emission. - + the instance to query + + Blocks a handler of an instance so it will not be called during any +signal emissions unless it is unblocked again. Thus "blocking" a +signal handler means to temporarily deactive it, a signal handler +has to be unblocked exactly the same amount of times it has been +blocked before to become active again. +The @handler_id has to be a valid signal handler id, connected to a +signal of @instance. - + The instance to block the signal handler of. + - + Handler id of the handler to be blocked. + + Disconnects a handler from an instance so it will not be called during +any future or currently ongoing emissions of the signal it has been +connected to. The @handler_id becomes invalid and may be reused. +The @handler_id has to be a valid signal handler id, connected to a +signal of @instance. - + The instance to remove the signal handler from. + - + Handler id of the handler to be disconnected. + + Finds the first signal handler that matches certain selection criteria. +The criteria mask is passed as an OR-ed combination of #GSignalMatchType +flags, and the criteria values are passed as arguments. +The match @mask has to be non-0 for successful matches. +If no handler was found, 0 is returned. - + A valid non-0 signal handler id for a successful match. + - + The instance owning the signal handler to be found. + + Mask indicating which of @signal_id, @detail, @closure, @func and/or @data the handler has to match. - + Signal the handler has to be connected to. + + Signal detail the handler has to be connected to. + The closure the handler will invoke. - + The C closure callback of the handler (useless for non-C closures). + - + The closure data of the handler's closure. + + Returns whether @handler_id is the id of a handler connected to @instance. - + whether @handler_id identifies a handler connected to @instance. + - + The instance where a signal handler is sought. + - + the handler id. + + Undoes the effect of a previous g_signal_handler_block() call. A +blocked handler is skipped during signal emissions and will not be +invoked, unblocking it (for exactly the amount of times it has been +blocked before) reverts its "blocked" state, so the handler will be +recognized by the signal system and is called upon future or +currently ongoing signal emissions (since the order in which +handlers are called during signal emissions is deterministic, +whether the unblocked handler in question is called as part of a +currently ongoing emission depends on how far that emission has +proceeded yet). +The @handler_id has to be a valid id of a signal handler that is +connected to a signal of @instance and is currently blocked. - + The instance to unblock the signal handler of. + - + Handler id of the handler to be unblocked. + + Blocks all handlers on an instance that match a certain selection criteria. +The criteria mask is passed as an OR-ed combination of #GSignalMatchType +flags, and the criteria values are passed as arguments. +Passing at least one of the %G_SIGNAL_MATCH_CLOSURE, %G_SIGNAL_MATCH_FUNC +or %G_SIGNAL_MATCH_DATA match flags is required for successful matches. +If no handlers were found, 0 is returned, the number of blocked handlers +otherwise. - + The number of handlers that matched. + - + The instance to block handlers from. + + Mask indicating which of @signal_id, @detail, @closure, @func and/or @data the handlers have to match. - + Signal the handlers have to be connected to. + + Signal detail the handlers have to be connected to. + The closure the handlers will invoke. - + The C closure callback of the handlers (useless for non-C closures). + - + The closure data of the handlers' closures. + @@ -5019,85 +8178,129 @@ with the object, apart from e.g. using its adress as hash-index or the like."> - + + Disconnects all handlers on an instance that match a certain +selection criteria. The criteria mask is passed as an OR-ed +combination of #GSignalMatchType flags, and the criteria values are +passed as arguments. Passing at least one of the +%G_SIGNAL_MATCH_CLOSURE, %G_SIGNAL_MATCH_FUNC or +%G_SIGNAL_MATCH_DATA match flags is required for successful +matches. If no handlers were found, 0 is returned, the number of +disconnected handlers otherwise. - + The number of handlers that matched. + - + The instance to remove handlers from. + + Mask indicating which of @signal_id, @detail, @closure, @func and/or @data the handlers have to match. - + Signal the handlers have to be connected to. + + Signal detail the handlers have to be connected to. + The closure the handlers will invoke. - + The C closure callback of the handlers (useless for non-C closures). + - + The closure data of the handlers' closures. + + Unblocks all handlers on an instance that match a certain selection +criteria. The criteria mask is passed as an OR-ed combination of +#GSignalMatchType flags, and the criteria values are passed as arguments. +Passing at least one of the %G_SIGNAL_MATCH_CLOSURE, %G_SIGNAL_MATCH_FUNC +or %G_SIGNAL_MATCH_DATA match flags is required for successful matches. +If no handlers were found, 0 is returned, the number of unblocked handlers +otherwise. The match criteria should not apply to any handlers that are +not currently blocked. - + The number of handlers that matched. + - + The instance to unblock handlers from. + + Mask indicating which of @signal_id, @detail, @closure, @func and/or @data the handlers have to match. - + Signal the handlers have to be connected to. + + Signal detail the handlers have to be connected to. + The closure the handlers will invoke. - + The C closure callback of the handlers (useless for non-C closures). + - + The closure data of the handlers' closures. + + Returns whether there are any handlers connected to @instance for the +given signal id and detail. +One example of when you might use this is when the arguments to the +signal are difficult to compute. A class implementor may opt to not +emit the signal if no one is attached anyway, thus saving the cost +of building the arguments. +otherwise. - + %TRUE if a handler is connected to the signal, %FALSE + - + the object whose signal handlers are sought. + - + the signal id. + + the detail. - + whether blocked handlers should count as match. + @@ -5107,75 +8310,111 @@ with the object, apart from e.g. using its adress as hash-index or the like."> - - + Lists the signals by id that a certain instance or interface type +created. Further information about the signals can be acquired through +g_signal_query(). + + Newly allocated array of signal IDs. + + Instance or interface type. - - + + Location to store the number of signal ids for @itype. + + Given the name of the signal and the type of object it connects to, gets +the signal's identifying integer. Emitting the signal by number is +somewhat faster than using the name each time. +Also tries the ancestors of the given type. +See g_signal_new() for details on allowed signal names. - + the signal's identifying number, or 0 if no signal was found. + + the signal's name. + the type that the signal operates on. + Given the signal's identifier, finds its name. +Two different signals may have the same name, if they have differing types. + the signal name, or %NULL if the signal number was invalid. - + the signal's identifying number. + - + + Creates a new signal. (This is usually done in the class initializer.) +A signal name consists of segments consisting of ASCII letters and +digits, separated by either the '-' or '_' character. The first +character of a signal name must be a letter. Names which violate these +rules lead to undefined behaviour of the GSignal system. +When registering a signal and looking up a signal, either separator can +be used, but they cannot be mixed. +If 0 is used for @class_offset subclasses cannot override the class handler +in their <code>class_init</code> method by doing +<code>super_class->signal_handler = my_signal_handler</code>. Instead they +will have to use g_signal_override_class_handler(). - + the signal id + + the name for the signal + the type this signal pertains to. It will also pertain to types which are derived from this type. + a combination of #GSignalFlags specifying detail of when the default handler is to be invoked. You should at least specify %G_SIGNAL_RUN_FIRST or %G_SIGNAL_RUN_LAST. - + The offset of the function pointer in the class structure for this type. Used to invoke a class method generically. Pass 0 to not associate a class method slot with this signal. + - + + the accumulator for this signal; may be %NULL. - + user data for the @accumulator. + + the function to translate arrays of parameter values to signal emissions into C language callback invocations. + the type of return value, or #G_TYPE_NONE for a signal without a return value. - + the number of parameter types to follow. + @@ -5184,40 +8423,60 @@ with the object, apart from e.g. using its adress as hash-index or the like."> + c:identifier="g_signal_new_class_handler" + version="2.18" + introspectable="0"> + Creates a new signal. (This is usually done in the class initializer.) +This is a variant of g_signal_new() that takes a C callback instead +off a class offset for the signal's class handler. This function +doesn't need a function pointer exposed in the class structure of +an object definition, instead the function pointer is passed +directly and can be overriden by derived classes with +g_signal_override_class_closure() or +g_signal_override_class_handler()and chained to with +g_signal_chain_from_overridden() or +g_signal_chain_from_overridden_handler(). +See g_signal_new() for information about signal names. - + the signal id + + the name for the signal + the type this signal pertains to. It will also pertain to types which are derived from this type. + a combination of #GSignalFlags specifying detail of when the default handler is to be invoked. You should at least specify %G_SIGNAL_RUN_FIRST or %G_SIGNAL_RUN_LAST. - + + a #GCallback which acts as class implementation of this signal. Used to invoke a class method generically. Pass %NULL to not associate a class method with this signal. - + + the accumulator for this signal; may be %NULL. - + user data for the @accumulator. + + the function to translate arrays of parameter values to signal emissions into C language callback invocations. + the type of return value, or #G_TYPE_NONE for a signal without a return value. - + the number of parameter types to follow. + @@ -5225,240 +8484,408 @@ with the object, apart from e.g. using its adress as hash-index or the like."> - + + Creates a new signal. (This is usually done in the class initializer.) +See g_signal_new() for details on allowed signal names. - + the signal id + + the name for the signal + the type this signal pertains to. It will also pertain to types which are derived from this type. + a combination of #GSignalFlags specifying detail of when the default handler is to be invoked. You should at least specify %G_SIGNAL_RUN_FIRST or %G_SIGNAL_RUN_LAST. + The closure to invoke on signal emission; may be %NULL. - + + the accumulator for this signal; may be %NULL. - + user data for the @accumulator. + + the function to translate arrays of parameter values to signal emissions into C language callback invocations. + the type of return value, or #G_TYPE_NONE for a signal without a return value. - + the number of parameter types in @args. + - + + va_list of #GType, one for each parameter. + + + + + + Creates a new signal. (This is usually done in the class initializer.) +See g_signal_new() for details on allowed signal names. + + the signal id + + + + + the name for the signal + + + + the type this signal pertains to. It will also pertain to types which are derived from this type + + + + a combination of #GSignalFlags specifying detail of when the default handler is to be invoked. You should at least specify %G_SIGNAL_RUN_FIRST or %G_SIGNAL_RUN_LAST + + + + The closure to invoke on signal emission; may be %NULL + + + + the accumulator for this signal; may be %NULL + + + + user data for the @accumulator + + + + the function to translate arrays of parameter values to signal emissions into C language callback invocations + + + + the type of return value, or #G_TYPE_NONE for a signal without a return value + + + + the length of @param_types + + + + an array of types, one for each parameter + Overrides the class closure (i.e. the default handler) for the given signal +for emissions on instances of @instance_type. @instance_type must be derived +from the type to which the signal belongs. +See g_signal_chain_from_overridden() and +g_signal_chain_from_overridden_handler() for how to chain up to the +parent class closure from inside the overridden one. - + the signal id + + the instance type on which to override the class closure for the signal. + the closure. + c:identifier="g_signal_override_class_handler" + version="2.18" + introspectable="0"> + Overrides the class closure (i.e. the default handler) for the +given signal for emissions on instances of @instance_type with +callabck @class_handler. @instance_type must be derived from the +type to which the signal belongs. +See g_signal_chain_from_overridden() and +g_signal_chain_from_overridden_handler() for how to chain up to the +parent class closure from inside the overridden one. + the name for the signal + the instance type on which to override the class handler for the signal. - + + the handler. + Internal function to parse a signal name into its @signal_id +and @detail quark. - + Whether the signal name could successfully be parsed and @signal_id_p and @detail_p contain valid return values. + + a string of the form "signal-name::detail". + The interface/instance type that introduced "signal-name". - - + + Location to store the signal id. + + Location to store the detail quark. - + %TRUE forces creation of a #GQuark for the detail. + + Queries the signal system for in-depth information about a +specific signal. This function will fill in a user-provided +structure to hold signal-specific information. If an invalid +signal id is passed in, the @signal_id member of the #GSignalQuery +is 0. All members filled into the #GSignalQuery structure should +be considered constant and have to be left untouched. - + The signal id of the signal to query information for. + + A user provided structure that is filled in with constant values upon success. + Deletes an emission hook. - + the id of the signal + - + the id of the emission hook, as returned by g_signal_add_emission_hook() + + Stops a signal's current emission. +This will prevent the default method from running, if the signal was +%G_SIGNAL_RUN_LAST and you connected normally (i.e. without the "after" +flag). +Prints a warning if used on a signal which isn't being emitted. - + the object whose signal handlers you wish to stop. + - + the signal identifier, as returned by g_signal_lookup(). + + the detail which the signal was emitted with. + Stops a signal's current emission. +This is just like g_signal_stop_emission() except it will look up the +signal id for you. - + the object whose signal handlers you wish to stop. + + a string of the form "signal-name::detail". + Creates a new closure which invokes the function found at the offset +identified by @itype. + a new #GCClosure + the #GType identifier of an interface or classed type - + the offset of the member function of @itype's class structure which is to be invoked by the new closure + + Set the callback for a source as a #GClosure. +If the source is not one of the standard GLib types, the @closure_callback +and @closure_marshal fields of the #GSourceFuncs structure must have been +filled in with pointers to appropriate functions. + the source + a #GClosure + Return a newly allocated string, which describes the contents of a +#GValue. The main purpose of this function is to describe #GValue +contents for debugging output, the way in which the contents are +described may change between different GLib versions. + Newly allocated string. + #GValue which contents are to be described. + + + + + + c:identifier="g_type_add_class_cache_func" + introspectable="0"> + Adds a #GTypeClassCacheFunc to be called before the reference count of a +class goes from one to zero. This can be used to prevent premature class +destruction. All installed #GTypeClassCacheFunc functions will be chained +until one of them returns %TRUE. The functions have to check the class id +passed in to figure whether they actually want to cache the class of this +type, since all classes are routed through the same #GTypeClassCacheFunc +chain. - + data to be passed to @cache_func + - + + a #GTypeClassCacheFunc + c:identifier="g_type_add_class_private" + version="2.24"> + Registers a private class structure for a classed type; +when the class is allocated, the private structures for +the class and all of its parent types are allocated +sequentially in the same memory block as the public +structures. This function should be called in the +type's get_type() function after the type is registered. +The private structure can be retrieved using the +G_TYPE_CLASS_GET_PRIVATE() macro. + GType of an classed type. - + size of private structure. + + c:identifier="g_type_add_interface_check" + version="2.4" + introspectable="0"> + Adds a function to be called after an interface vtable is +initialized for any class (i.e. after the @interface_init member of +#GInterfaceInfo has been called). +This function is useful when you want to check an invariant that +depends on the interfaces of a class. For instance, the +implementation of #GObject uses this facility to check that an +object implements all of the properties that are defined on its +interfaces. - + data to pass to @check_func + - + + function to be called after each interface is initialized. @@ -5466,41 +8893,54 @@ with the object, apart from e.g. using its adress as hash-index or the like."> + Adds the dynamic @interface_type to @instantiable_type. The information +contained in the #GTypePlugin structure pointed to by @plugin +is used to manage the relationship. + the #GType value of an instantiable type. + the #GType value of an interface type. + the #GTypePlugin structure to retrieve the #GInterfaceInfo from. + Adds the static @interface_type to @instantiable_type. The information +contained in the #GTypeInterfaceInfo structure pointed to by @info +is used to manage the relationship. + #GType value of an instantiable type. + #GType value of an interface type. + The #GInterfaceInfo structure for this (@instance_type, @interface_type) combination. - + c:identifier="g_type_check_class_cast" + introspectable="0"> + @@ -5515,7 +8955,7 @@ with the object, apart from e.g. using its adress as hash-index or the like."> - + @@ -5527,18 +8967,22 @@ with the object, apart from e.g. using its adress as hash-index or the like."> + Private helper function to aid implementation of the G_TYPE_CHECK_INSTANCE() +macro. - + + A valid #GTypeInstance structure. - + c:identifier="g_type_check_instance_cast" + introspectable="0"> + @@ -5553,7 +8997,7 @@ with the object, apart from e.g. using its adress as hash-index or the like."> - + @@ -5567,7 +9011,7 @@ with the object, apart from e.g. using its adress as hash-index or the like."> - + @@ -5577,7 +9021,7 @@ with the object, apart from e.g. using its adress as hash-index or the like."> - + @@ -5588,7 +9032,7 @@ with the object, apart from e.g. using its adress as hash-index or the like."> - + @@ -5600,326 +9044,565 @@ with the object, apart from e.g. using its adress as hash-index or the like."> - + Return a newly allocated and 0-terminated array of type IDs, listing the +child types of @type. The return value has to be g_free()ed after use. + + Newly allocated and 0-terminated array of child types. + The parent type. - - + + Optional #guint pointer to contain the number of child types. + + c:identifier="g_type_class_add_private" + version="2.4"> + Registers a private structure for an instantiatable type. +When an object is allocated, the private structures for +the type and all of its parent types are allocated +sequentially in the same memory block as the public +structures. +Note that the accumulated size of the private structures of +a type and all its parent types cannot excced 64kB. +This function should be called in the type's class_init() function. +The private structure can be retrieved using the +G_TYPE_INSTANCE_GET_PRIVATE() macro. +The following example shows attaching a private structure +<structname>MyObjectPrivate</structname> to an object +<structname>MyObject</structname> defined in the standard GObject +fashion. +type's class_init() function. +|[ +typedef struct _MyObject MyObject; +typedef struct _MyObjectPrivate MyObjectPrivate; +struct _MyObject { +GObject parent; +MyObjectPrivate *priv; +}; +struct _MyObjectPrivate { +int some_field; +}; +static void +my_object_class_init (MyObjectClass *klass) +{ +g_type_class_add_private (klass, sizeof (MyObjectPrivate)); +} +static void +my_object_init (MyObject *my_object) +{ +my_object->priv = G_TYPE_INSTANCE_GET_PRIVATE (my_object, +MY_TYPE_OBJECT, +MyObjectPrivate); +} +static int +my_object_get_some_field (MyObject *my_object) +{ +MyObjectPrivate *priv = my_object->priv; +return priv->some_field; +} +]| - + class structure for an instantiatable type + - + size of private structure. + - - - + + This function is essentially the same as g_type_class_ref(), except that +the classes reference count isn't incremented. As a consequence, this function +may return %NULL if the class of the type passed in does not currently +exist (hasn't been referenced before). +if the class does not currently exist. + + The #GTypeClass structure for the given type ID or %NULL + + Type ID of a classed type. - - + c:identifier="g_type_class_peek_parent" + introspectable="0"> + This is a convenience function often needed in class initializers. +It returns the class structure of the immediate parent type of the +class passed in. Since derived classes hold a reference count on +their parent classes as long as they are instantiated, the returned +class will always exist. This function is essentially equivalent +to: +<programlisting> +g_type_class_peek (g_type_parent (G_TYPE_FROM_CLASS (g_class))); +</programlisting> + + The parent class of @g_class. + - + The #GTypeClass structure to retrieve the parent class for. + - - + c:identifier="g_type_class_peek_static" + version="2.4" + introspectable="0"> + A more efficient version of g_type_class_peek() which works only for +static types. +if the class does not currently exist or is dynamically loaded. + + The #GTypeClass structure for the given type ID or %NULL + + Type ID of a classed type. - - - + + Increments the reference count of the class structure belonging to +exist already. + + The #GTypeClass structure for the given type ID. + + Type ID of a classed type. + Decrements the reference count of the class structure being passed in. +Once the last reference count of a class has been released, classes +may be finalized by the type system, so further dereferencing of a +class pointer after g_type_class_unref() are invalid. - + The #GTypeClass structure to unreference. + + A variant of g_type_class_unref() for use in #GTypeClassCacheFunc +implementations. It unreferences a class without consulting the chain +of #GTypeClassCacheFunc<!-- -->s, avoiding the recursion which would occur +otherwise. - + The #GTypeClass structure to unreference. + - + c:identifier="g_type_create_instance" + introspectable="0"> + Creates and initializes an instance of @type if @type is valid and +can be instantiated. The type system only performs basic allocation +happen through functions supplied by the type's fundamental type +implementation. So use of g_type_create_instance() is reserved for +implementators of fundamental types only. E.g. instances of the +#GObject hierarchy should be created via g_object_new() and +<emphasis>never</emphasis> directly through +g_type_create_instance() which doesn't handle things like singleton +use this function, unless you're implementing a fundamental +type. Also language bindings should <emphasis>not</emphasis> use +this function but g_object_new() instead. +treatment by the fundamental type implementation. + + An allocated and initialized instance, subject to further + An instantiatable type to create an instance for. - - + c:identifier="g_type_default_interface_peek" + version="2.4" + introspectable="0"> + If the interface type @g_type is currently in use, returns its +default interface vtable. +if the type is not currently in use. + + the default vtable for the interface, or %NULL + + an interface type - - + c:identifier="g_type_default_interface_ref" + version="2.4" + introspectable="0"> + Increments the reference count for the interface type @g_type, +and returns the default interface vtable for the type. +If the type is not currently in use, then the default vtable +for the type will be created and initalized by calling +the base interface init and default vtable init functions for +the type (the @<structfield>base_init</structfield> +and <structfield>class_init</structfield> members of #GTypeInfo). +Calling g_type_default_interface_ref() is useful when you +want to make sure that signals and properties for an interface +have been installed. +g_type_default_interface_unref() when you are done using +the interface. + + the default vtable for the interface; call + + an interface type + c:identifier="g_type_default_interface_unref" + version="2.4"> + Decrements the reference count for the type corresponding to the +interface default vtable @g_iface. If the type is dynamic, then +when no one is using the interface and all references have +been released, the finalize function for the interface's default +vtable (the <structfield>class_finalize</structfield> member of +#GTypeInfo) will be called. - + the default vtable structure for a interface, as returned by g_type_default_interface_ref() + + Returns the length of the ancestry of the passed in type. This +includes the type itself, so that e.g. a fundamental type has depth 1. - + The depth of @type. + + A #GType value. + Frees an instance of a type, returning it to the instance pool for +the type, if there is one. +Like g_type_create_instance(), this function is reserved for +implementors of fundamental types. + an instance of a type. + Lookup the type ID from a given type name, returning 0 if no type +has been registered under this name (this is the preferred method +to find out by name whether a specific type has been registered +yet). + Corresponding type ID or 0. + Type name to lookup. + Internal function, used to extract the fundamental type ID portion. +use G_TYPE_FUNDAMENTAL() instead. + fundamental type ID + valid type ID + Returns the next free fundamental type id which can be used to +register a new fundamental type with g_type_register_fundamental(). +The returned type ID represents the highest currently registered +fundamental type identifier. +or 0 if the type system ran out of fundamental type IDs. + The nextmost fundamental type ID to be registered, - - + + Returns the #GTypePlugin structure for @type or +%NULL if @type does not have a #GTypePlugin structure. +%NULL otherwise. + + The corresponding plugin if @type is a dynamic type, + The #GType to retrieve the plugin for. - - - + + Obtains data which has previously been attached to @type +with g_type_set_qdata(). + + the data, or %NULL if no data was found + + a #GType + a #GQuark id to identify the data + Prior to any use of the type system, g_type_init() has to be called +to initialize the type system and assorted other code portions +(such as the various fundamental type implementations or the signal +system). +Since version 2.24 this also initializes the thread system + Similar to g_type_init(), but additionally sets debug flags. + Bitwise combination of #GTypeDebugFlags values for debugging purposes. + Adds @prerequisite_type to the list of prerequisites of @interface_type. +This means that any type implementing @interface_type must also implement +interface derivation (which GType doesn't support). An interface can have +at most one instantiatable prerequisite type. + #GType value of an interface type. + #GType value of an interface or instantiatable type. - + c:identifier="g_type_interface_get_plugin" + introspectable="0"> + Returns the #GTypePlugin structure for the dynamic interface +have a #GTypePlugin structure. See g_type_add_interface_dynamic(). +of @instance_type. + + the #GTypePlugin for the dynamic interface @interface_type + the #GType value of an instantiatable type. + the #GType value of an interface type. - - - + + Returns the #GTypeInterface structure of an interface to which the +passed in class conforms. +by @instance_class, %NULL otherwise + + The GTypeInterface structure of iface_type if implemented + - + A #GTypeClass structure. + + An interface ID which this class conforms to. - - + c:identifier="g_type_interface_peek_parent" + introspectable="0"> + Returns the corresponding #GTypeInterface structure of the parent type +of the instance type to which @g_iface belongs. This is useful when +deriving the implementation of an interface from the parent type and +then possibly overriding some methods. +type of the instance type to which @g_iface belongs, or +%NULL if the parent type doesn't conform to the interface. + + The corresponding #GTypeInterface structure of the parent + - + A #GTypeInterface structure. + - + c:identifier="g_type_interface_prerequisites" + version="2.2"> + Returns the prerequisites of an interfaces type. +the prerequisites of @interface_type + + a newly-allocated zero-terminated array of #GType containing + an interface type - - + + location to return the number of prerequisites, or %NULL + - + Return a newly allocated and 0-terminated array of type IDs, listing the +interface types that @type conforms to. The return value has to be +g_free()ed after use. + + Newly allocated and 0-terminated array of interface types. + The type to list interface types for. - - + + Optional #guint pointer to contain the number of interface types. + + If @is_a_type is a derivable type, check whether @type is a +descendant of @is_a_type. If @is_a_type is an interface, check +whether @type conforms to it. - + %TRUE if @type is_a @is_a_type holds true. + + Type to check anchestry for. + Possible anchestor of @type or interface @type could conform to. + Get the unique name that is assigned to a type ID. Note that this +function (like all other GType API) cannot cope with invalid type +IDs. %G_TYPE_INVALID may be passed to this function, as may be any +other validly registered type ID, but randomized type IDs should +not be passed in and will most likely lead to a crash. + Static type name or %NULL. + Type to return name for. @@ -5947,208 +9630,297 @@ with the object, apart from e.g. using its adress as hash-index or the like."> + Given a @leaf_type and a @root_type which is contained in its +anchestry, return the type that @root_type is the immediate parent +of. In other words, this function determines the type that is +derived directly from @root_type which is also a base class of +be used to determine the types and order in which the leaf type is +descended from the root type. + Immediate child of @root_type and anchestor of @leaf_type. + Descendant of @root_type and the type to be returned. + Immediate parent of the returned type. + Return the direct parent type of the passed in type. If the passed +in type has no parent, i.e. is a fundamental type, 0 is returned. + The parent type. + The derived type. - + Get the corresponding quark of the type IDs name. + + The type names quark or 0. + Type to return quark of type name for. + Queries the type system for information about a specific type. +This function will fill in a user-provided structure to hold +type-specific information. If an invalid #GType is passed in, the +#GTypeQuery structure should be considered constant and have to be +left untouched. + the #GType value of a static, classed type. + A user provided structure that is filled in with constant values upon success. + Registers @type_name as the name of a new dynamic type derived from +#GTypePlugin structure pointed to by @plugin to manage the type and its +instances (if not abstract). The value of @flags determines the nature +(e.g. abstract or not) of the type. + The new type identifier or #G_TYPE_INVALID if registration failed. + Type from which this type will be derived. + 0-terminated string used as the name of the new type. + The #GTypePlugin structure to retrieve the #GTypeInfo from. + Bitwise combination of #GTypeFlags values. + Registers @type_id as the predefined identifier and @type_name as the +name of a fundamental type. The type system uses the information +contained in the #GTypeInfo structure pointed to by @info and the +#GTypeFundamentalInfo structure pointed to by @finfo to manage the +type and its instances. The value of @flags determines additional +characteristics of the fundamental type. + The predefined type identifier. + A predefined type identifier. + 0-terminated string used as the name of the new type. + The #GTypeInfo structure for this type. + The #GTypeFundamentalInfo structure for this type. + Bitwise combination of #GTypeFlags values. + Registers @type_name as the name of a new static type derived from +#GTypeInfo structure pointed to by @info to manage the type and its +instances (if not abstract). The value of @flags determines the nature +(e.g. abstract or not) of the type. + The new type identifier. + Type from which this type will be derived. + 0-terminated string used as the name of the new type. + The #GTypeInfo structure for this type. + Bitwise combination of #GTypeFlags values. + c:identifier="g_type_register_static_simple" + version="2.12" + introspectable="0"> + Registers @type_name as the name of a new static type derived from +abstract or not) of the type. It works by filling a #GTypeInfo +struct and calling g_type_register_static(). + The new type identifier. + Type from which this type will be derived. + 0-terminated string used as the name of the new type. - + Size of the class structure (see #GTypeInfo) + - + + Location of the class initialization function (see #GTypeInfo) - + Size of the instance structure (see #GTypeInfo) + - + + Location of the instance initialization function (see #GTypeInfo) + Bitwise combination of #GTypeFlags values. + c:identifier="g_type_remove_class_cache_func" + introspectable="0"> + Removes a previously installed #GTypeClassCacheFunc. The cache +maintained by @cache_func has to be empty when calling +g_type_remove_class_cache_func() to avoid leaks. - + data that was given when adding @cache_func + - + + a #GTypeClassCacheFunc + c:identifier="g_type_remove_interface_check" + version="2.4" + introspectable="0"> + Removes an interface check function added with +g_type_add_interface_check(). - + callback data passed to g_type_add_interface_check() + - + + callback function passed to g_type_add_interface_check() + Attaches arbitrary data to a type. + a #GType + a #GQuark id to identify the data - + the data + - + - + - + c:identifier="g_type_value_table_peek" + introspectable="0"> + Returns the location of the #GTypeValueTable associated with @type. +<emphasis>Note that this function should only be used from source code +that implements or has internal knowledge of the implementation of +%NULL if there is no #GTypeValueTable associated with @type. + + Location of the #GTypeValueTable associated with @type or + A #GType value. @@ -6159,20 +9931,25 @@ with the object, apart from e.g. using its adress as hash-index or the like."> + c:identifier="g_value_register_transform_func" + introspectable="0"> + Registers a value transformation function for use in g_value_transform(). +A previously registered transformation function for @src_type and @dest_type +will be replaced. + Source type. + Target type. - + + a function which transforms values of type @src_type into value of type @dest_type @@ -6185,28 +9962,38 @@ with the object, apart from e.g. using its adress as hash-index or the like."> + Returns whether a #GValue of type @src_type can be copied into +a #GValue of type @dest_type. - + %TRUE if g_value_copy() is possible with @src_type and @dest_type. + + source type to be copied. + destination type for copying. + Check whether g_value_transform() is able to transform values +of type @src_type into values of type @dest_type. - + %TRUE if the transformation is possible, %FALSE otherwise. + + Source type. + Target type. @@ -6216,7 +10003,10 @@ with the object, apart from e.g. using its adress as hash-index or the like."> - + diff --git a/basis/gobject/ffi/ffi.factor b/basis/gobject/ffi/ffi.factor index 30100de3b9..070a2c5dea 100644 --- a/basis/gobject/ffi/ffi.factor +++ b/basis/gobject/ffi/ffi.factor @@ -1,11 +1,15 @@ -! Copyright (C) 2009 Anton Gorenko. +! Copyright (C) 2010 Anton Gorenko. ! See http://factorcode.org/license.txt for BSD license. -USING: alien alien.syntax alien.destructors alien.libraries -classes.struct combinators kernel literals math system -gobject-introspection glib.ffi ; -EXCLUDE: alien.c-types => pointer ; +USING: alien alien.destructors alien.libraries alien.syntax +combinators gobject-introspection literals math system vocabs.loader ; IN: gobject.ffi +<< +"glib.ffi" require +>> + +LIBRARY: gobject + << "gobject" { { [ os winnt? ] [ "libobject-2.0-0.dll" cdecl add-library ] } @@ -14,17 +18,12 @@ IN: gobject.ffi } cond >> -TYPEDEF: void* GSignalCMarshaller -TYPEDEF: gchar** GStrv -TYPEDEF: gchar* gchararray +IMPLEMENT-STRUCTS: GValue GParamSpecVariant ; GIR: vocab:gobject/GObject-2.0.gir IN: gobject.ffi -FORGET: GValue -STRUCT: GValue { g_type GType } { data guint64[2] } ; - FORGET: GIOCondition FORGET: G_IO_IN FORGET: G_IO_OUT @@ -33,12 +32,8 @@ FORGET: G_IO_ERR FORGET: G_IO_HUP FORGET: G_IO_NVAL -FUNCTION: void g_object_unref ( GObject* self ) ; - DESTRUCTOR: g_object_unref -TYPEDEF: GParamSpec GParam - CONSTANT: G_TYPE_INVALID $[ 0 2 shift ] CONSTANT: G_TYPE_NONE $[ 1 2 shift ] CONSTANT: G_TYPE_INTERFACE $[ 2 2 shift ] @@ -71,4 +66,3 @@ CONSTANT: G_TYPE_OBJECT $[ 20 2 shift ] : g_signal_connect_swapped ( instance detailed_signal c_handler data -- result ) f G_CONNECT_SWAPPED g_signal_connect_data ; - diff --git a/basis/gtk/Gtk-2.0.gir b/basis/gtk/Gtk-3.0.gir similarity index 59% rename from basis/gtk/Gtk-2.0.gir rename to basis/gtk/Gtk-3.0.gir index 9eeb927e85..474b6e0017 100644 --- a/basis/gtk/Gtk-2.0.gir +++ b/basis/gtk/Gtk-3.0.gir @@ -2,7 +2,7 @@ - @@ -10,687 +10,670 @@ and/or use gtk-doc annotations. --> - + - - - - - - - - - - - - - + version="3.0" + shared-library="libgtk-x11-3.0.so.0" + c:identifier-prefixes="Gtk" + c:symbol-prefixes="gtk"> + + A <structname>GtkAllocation</structname> of a widget represents region which has been allocated to the +widget by its parent. It is a subregion of its parents allocation. See +<xref linkend="size-allocation"/> for more information. + + + The <structname>GtkAboutDialog</structname> struct contains +only private fields and should not be directly accessed. + - - + Creates a new #GtkAboutDialog. + + a newly created #GtkAboutDialog + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + introspectable="0"> + 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 + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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." - version="2.6"> - +and must not be modified. + + A %NULL-terminated string array containing - + Returns the comments string. +dialog and must not be modified. - + The comments. The string is owned by the about + + + + + Returns the copyright string. +dialog and must not be modified. + + The copyright string. The string is owned by the about + - - - - - - - + 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." - version="2.6"> - +and must not be modified. + + A %NULL-terminated string array containing - + Returns the license information. +dialog and must not be modified. - + The license information. The string is owned by the about + - - - - - - - - + Retrieves the license set using gtk_about_dialog_set_license_type() + + a #GtkLicense value + + + + + 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 + + + + - - - - + 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 + + + + + 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 + + + + + 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 + + + + + Returns the version string. +dialog and must not be modified. + + The version string. The string is owned by the about + + + + + Returns the website URL. +dialog and must not be modified. + + The website URL. The string is owned by the about + + + + + 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 + + + + + Returns whether the license text in @about is +automatically wrapped. + + %TRUE if the license text is wrapped + + Sets the strings which are displayed in the artists tab +of the secondary credits dialog. - - - + a %NULL-terminated array of strings + - + Sets the strings which are displayed in the authors tab +of the secondary credits dialog. - + + + + a %NULL-terminated array of strings + + + + + + Sets the comments string to display in the about dialog. +This should be a short string of one or two lines. + + + + + + a comments string + + + + + + 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 + + + + + + Sets the strings which are displayed in the documenters tab +of the secondary credits dialog. + + + + + + a %NULL-terminated array of strings + + + + + + 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 + + + + + + Sets the license of the application showing the @about dialog from a +list of known licenses. +This function overrides the license set using +gtk_about_dialog_set_license(). + + + + + + the type of license + + + + + + 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 + + + + + + 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 + + + + + + Sets the name to display in the about dialog. +If this is not set, it defaults to g_get_application_name(). + + + + + + the program name + + + + 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")); +gtk_about_dialog_set_translator_credits (about, _("translator-credits")); ]| -It is a good idea to use the customary msgid "translator-credits" for this +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." - version="2.6"> +since #GtkAboutDialog will detect if "translator-credits" is untranslated +and hide the tab. + allow-none="1"> + the translator credits - - - - - - + Sets the version string to display in the about dialog. - - + + the version string + - - - - - - + Sets the URL to use for the website link. +Note that that the hook functions need to be set up +before calling this function. - + + (allow-none): a URL string starting with "http://" + + Sets the label to be used for the website link. +It defaults to the website URL. + + + + + + the label used for the website link + + + + + + Sets whether the license text in @about is +automatically wrapped. + + + + + + whether to wrap the license + + + + + 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."> - +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."> - +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."> - +the main purpose of the program, not a detailed list of features. + - + transfer-ownership="none"> + 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."> - +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."> - +in the text view if the "wrap-license" property is set to %TRUE; +otherwise the text itself must contain the intended linebreaks. +When setting this property to a non-%NULL value, the +#GtkAboutDialog:license-type property is set to %GTK_LICENSE_CUSTOM +as a side effect. + + + + The license of the program, as a value of the %GtkLicense enumeration. +The #GtkAboutDialog will automatically fill out a standard disclaimer +and link the user to the appropriate online resource for the license +text. +If %GTK_LICENSE_UNKNOWN is used, the link used will be the same +specified in the #GtkAboutDialog:website property. +If %GTK_LICENSE_CUSTOM is used, the current contents of the +#GtkAboutDialog:license property are used. +For any other #GtkLicense value, the contents of the +#GtkAboutDialog:license property are also set by this property as +a side effect. + - + transfer-ownership="none"> + A logo for the about box. If this is not set, it defaults to +gtk_window_get_default_icon_list(). + - + transfer-ownership="none"> + A named icon to use as the logo for the about box. This property +overrides the #GtkAboutDialog:logo property. + - + transfer-ownership="none"> + 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."> - +as links, see the introduction for more details. + - + transfer-ownership="none"> + The version of the program. + - + transfer-ownership="none"> + The URL for the link to the website of the program. +This should be a string starting with "http://. + - + transfer-ownership="none"> + 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. + - + transfer-ownership="none"> + Whether to wrap the text in the license dialog. + - - + + + + 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 + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - + + - - + + - - + + + + glib:nick="mask"/> - + An object representing and maintaining a group of accelerators. + + Creates a new #GtkAccelGroup. + a new #GtkAccelGroup object - + introspectable="0"> + Finds the #GtkAccelGroup to which @closure is connected; +see gtk_accel_group_connect(). + + the #GtkAccelGroup to which @closure is connected, or %NULL. + a #GClosure - + + 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 + + + - - - - - - - - - - - - - - - - + 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."> +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()."> +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."> +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 + c:identifier="gtk_accel_group_disconnect_key"> + 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 - + introspectable="0"> + 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 + + + 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. + + + + - + introspectable="0"> + 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 + - - + + Undoes the last call to gtk_accel_group_lock() on this @accel_group. + + + + + + - - + + - - + + - - - - - - - - - - - - - - - + + 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 + - + @@ -1001,7 +989,7 @@ their visual representation if the @accel_closure is theirs."> - + @@ -1015,7 +1003,7 @@ their visual representation if the @accel_closure is theirs."> - + @@ -1024,7 +1012,7 @@ their visual representation if the @accel_closure is theirs."> - + @@ -1035,29 +1023,29 @@ their visual representation if the @accel_closure is theirs."> - - + + - - + + - - + + - - + + @@ -1079,7 +1067,7 @@ their visual representation if the @accel_closure is theirs."> c:type="GtkAccelGroupFindFunc" version="2.2"> - + @@ -1089,123 +1077,131 @@ their visual representation if the @accel_closure is theirs."> - + + + + + + + + + + + + + + + + + + + + - + - + + 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. - + c:identifier="gtk_accel_label_get_accel_widget"> + Fetches the widget monitored by this accelerator label. See +gtk_accel_label_set_accel_widget(). + + the object monitored by the accelerator label, or %NULL. + c:identifier="gtk_accel_label_get_accel_width"> + 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). + - + + 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. + - - - - - + c:identifier="gtk_accel_label_set_accel_closure"> + 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. - + + Sets the widget to be monitored by this accelerator label. - + + + + the widget to be monitored. + + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - + + - - + + - - + + - - + + + + - + 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", +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". +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". +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...". +"&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()."> +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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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."> +menus, but don't want them to be saved into the applications accelerator +map dump. + a pattern (see #GPatternSpec) - + 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 + + + + + + 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)."> +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 - + 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." - version="2.4"> - +map via the ::changed signal; it isn't a parameter to the +other accelerator map functions. + + the global #GtkAccelMap object - - + + 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 + + + + + + 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 + + + + + + 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 + - - + + + + 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) + + + + + + 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 + + + + + + Filedescriptor variant of gtk_accel_map_save(). +Note that the file descriptor will not be closed by this function. + + + + + + a valid writable file descriptor + + + + + + 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 + + + + + + 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 + @@ -1560,23 +1570,24 @@ changed::<replaceable>accel_path</replaceable>." - + - + - + + + 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 + + + + + Sets the #GtkWidget corresponding to the #GtkAccessible. + + + + + + a #GtkWidget + + + + - - + + - + @@ -1620,86 +1655,77 @@ changed::<replaceable>accel_path</replaceable>." - - + + - - + + - - + + - - + + + + - + 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." - version="2.4"> +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 - - - - - - - - - - - + @@ -1709,7 +1735,34 @@ names." - + + 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. + + + + + 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. + + + + @@ -1719,630 +1772,586 @@ names." - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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." +It can also be used to manually activate an action. + + + + + + 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). + + + + + + 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. + 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. + + + 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. + + + + 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. - + + Undoes the effect of one call to gtk_action_connect_accelerator(). + + + + + + 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 + + + + + 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 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 + + + + + Gets the gicon of @action. + + The action's #GIcon if one is set. + + + + + Gets the icon name of @action. + + the icon name + + + + + Checks whether @action is important or not + + whether @action is important + + + + + Gets the label text of @action. + + the label text + + + + + Returns the name of the action. +be freed. + + the name of the action. The string belongs to GTK+ and should not + - + Returns the proxy widgets for an action. +See also gtk_activatable_get_related_action(). +and must not be modified. + + a #GSList of proxy widgets. The list is owned by GTK+ - + 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. + - - - - - - + + Gets the short label text of @action. + the short label text. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + Gets the stock id of @action. - + the stock id + - + Gets the tooltip text of @action. - + the tooltip text + - + 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. + + + + + Checks whether @action is visible when horizontal + + whether @action is visible when horizontal + + + + + Checks whether @action is visible when horizontal + + whether @action is visible when horizontal + + + + + Returns whether the action is effectively sensitive. +are both sensitive. + + %TRUE if the action and its associated action group + + + + + Returns whether the action is effectively visible. +are both visible. + + %TRUE if the action and its associated action group + - - - - - + Sets the #GtkAccelGroup in which the accelerator for this action +will be installed. + allow-none="1"> + a #GtkAccelGroup or %NULL - + + 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 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." - version="2.20"> +without their image. - + %TRUE if menuitem proxies should always show their image + - + + Sets the icon of @action. - + + + + + the #GIcon to set + + + + + + Sets the icon name on @action + + + + + + the icon name to set + + + + + + 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 + + + + + + Sets the label of @action. + + + + + + the label text to set + + + + + + 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 + + + + + + Sets a shorter label text on @action. + + + + + + the label text to set + + + + + + Sets the stock id on @action + + + + + + the stock id + + + + + + Sets the tooltip text on @action + + + + + + the tooltip text + + + + + + 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 + + + + + + Sets whether @action is visible when horizontal + + + + + + whether the action is visible horizontally + + + + + + Sets whether @action is visible when vertical + + + + + + whether the action is visible vertically + + + + + + Reenable activation signals from the action + + - - + + + 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."> - +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."> - +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."> - +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."> - +This is an appearance property and thus only applies if +#GtkActivatable:use-action-appearance is %TRUE. + - - - - - - - - + construct-only="1" + transfer-ownership="none"> + - + + + + 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. + + + + + + + + + - - - - - - - - - - + transfer-ownership="none"> + - + transfer-ownership="none"> + When %TRUE, toolitem proxies for this action are represented in the +toolbar overflow menu. + - - + + @@ -2350,11 +2359,10 @@ toolbar overflow menu."> - - - + + The "activate" signal is emitted when the action is activated. + + @@ -2365,7 +2373,7 @@ toolbar overflow menu."> - + @@ -2383,8 +2391,9 @@ toolbar overflow menu."> - + + a menu item connected to the action. @@ -2395,8 +2404,9 @@ toolbar overflow menu."> - + + a toolbar item connected to the action. @@ -2407,7 +2417,7 @@ toolbar overflow menu."> - + @@ -2422,7 +2432,7 @@ toolbar overflow menu."> - + @@ -2437,8 +2447,9 @@ toolbar overflow menu."> - + + the menu item provided by the action, or %NULL. @@ -2448,22 +2459,22 @@ toolbar overflow menu."> - - + + - - + + - - + + @@ -2471,6 +2482,8 @@ toolbar overflow menu."> + #GtkActionEntry structs are used with gtk_action_group_add_actions() to +construct actions. @@ -2491,6 +2504,7 @@ toolbar overflow menu."> + 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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>." - version="2.4"> +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 + allow-none="1"> + the accelerator for the action, in the format understood by gtk_accelerator_parse(), or "" for no accelerator, or %NULL to use the stock accelerator - - - - - - - - - - + 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 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 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_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 + + closure="4" + destroy="5"> + the callback to connect to the changed signal - + data to pass to the action callbacks + - + + destroy notification callback for @user_data + + 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 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 + + + + + + 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. + + + + + 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. + + + + + Lists the actions in the action group. + + an allocated list of the action objects in the action group + + + + + + + Removes an action object from the action group. + + + + + + an action + + + + + + Changes the sensitivity of @action_group + + + + + + new sensitivity + + + + + 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()." - version="2.4"> +If you're using gettext(), it is enough to set the translation domain +with gtk_action_group_set_translation_domain(). @@ -2832,130 +2864,155 @@ with gtk_action_group_set_translation_domain()." + closure="1" + destroy="2"> + 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 + + Changes the visible of @action_group. + + + + + + new visiblity + + + + + 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 +#GtkUIManager proxies the signal and provides global notification just before any action is connected to a proxy, which is probably more -convenient to use." - version="2.4"> - - +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." - version="2.4"> - - +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." - version="2.4"> - - +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." - version="2.4"> - - +notification just before any action is activated. + + - - + + the action + @@ -2967,8 +3024,9 @@ notification just before any action is activated." - - + + + the action, or %NULL if no action by that name exists @@ -2976,49 +3034,70 @@ notification just before any action is activated." + 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 + + + + @@ -3032,106 +3111,98 @@ notification just before any action is activated." - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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. +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>" - version="2.16"> +copy of the #GtkAction property, since this function uses +gtk_activatable_get_action() to retrieve the previous action</para></note> + the #GtkAction to set + + + + + + Gets the related #GtkAction for @activatable. + + the related #GtkAction if one is set. + + + + + 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. + + + + + 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 + + + + + + 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 + + + + + + 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 @@ -3139,40 +3210,37 @@ gtk_activatable_get_action() to retrieve the previous action</para></no + 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>"> - +<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>"> - +widget when it changes.</para></note> + - + @@ -3190,8 +3258,7 @@ with a %NULL action at times</para></note>" - + @@ -3199,7 +3266,8 @@ with a %NULL action at times</para></note>" - + + the related #GtkAction or %NULL @@ -3207,33 +3275,34 @@ with a %NULL action at times</para></note>" - - + + - + - + - + - + - + - + @@ -3242,31 +3311,203 @@ with a %NULL action at times</para></note>" - - - - - - + - + - + + 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 + + + + + + Retrieves the minimum value of the adjustment. + + The current minimum value of the adjustment. + + + + + Retrieves the page increment of the adjustment. + + The current page increment of the adjustment. + + + + + Retrieves the page size of the adjustment. + + The current page size of the adjustment. + + + + + Retrieves the step increment of the adjustment. + + The current step increment of the adjustment. + + + + + Retrieves the maximum value of the adjustment. + + The current maximum value of the adjustment. + + + + + Gets the current value of the adjustment. See +gtk_adjustment_set_value (). + + The current 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 + + + + + + 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 + + + + + + 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 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 + + + + + + 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 + + + @@ -3274,242 +3515,92 @@ gtk_adjustment_set_value ()."> - + - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + transfer-ownership="none"> + The minimum value of the adjustment. + - + transfer-ownership="none"> + 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."> - +if the adjustment is used for a simple scalar value, e.g. in a +#GtkSpinButton. + - + transfer-ownership="none"> + The step increment of the adjustment. + - + transfer-ownership="none"> + 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. + - + transfer-ownership="none"> + The value of the adjustment. + - + - + - + - + - + - + - - + + - - + + @@ -3520,7 +3611,7 @@ property is nonzero."> - + @@ -3532,7 +3623,7 @@ property is nonzero."> - + @@ -3543,36 +3634,70 @@ property is nonzero."> - - + + - - + + - - + + - - + + + + no meaningful way to stretch +or bottom +or top +allocation +Controls how a widget deals with extra space in a single (x or y) +dimension. +Alignment only matters if the widget receives a "too large" +allocation, for example if you packed the widget with the "expand" +flag inside a #GtkBox, then the widget might get extra space. If +you have for example a 16x16 icon inside a 32x32 space, the icon +could be scaled and stretched, it could be centered, or it could be +positioned to one side of the space. + + + + + glib:type-struct="AlignmentClass"> + - - + 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. + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + Gets the padding on the different sides of the widget. +See gtk_alignment_set_padding (). - + transfer-ownership="none" + allow-none="1"> + location to store the padding for the top of the widget, or %NULL + - + transfer-ownership="none" + allow-none="1"> + location to store the padding for the bottom of the widget, or %NULL + - + transfer-ownership="none" + allow-none="1"> + location to store the padding for the left of the widget, or %NULL + - + transfer-ownership="none" + allow-none="1"> + location to store the padding for the right of the widget, or %NULL + + + + + + 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. + - + transfer-ownership="none"> + The padding to insert at the bottom of the widget. + - + transfer-ownership="none"> + The padding to insert at the left of the widget. + - + transfer-ownership="none"> + The padding to insert at the right of the widget. + - + transfer-ownership="none"> + The padding to insert at the top of the widget. + - - + + - - + + - - + + - - + + - - - - - - - - - - - + + - + + + + + + Create a new #GtkApplication, or if one has already been initialized +in this process, return the existing instance. This function will as +a side effect initialize the display system; see gtk_init(). +For the behavior if this application is running in another process, +see g_application_new(). + + A newly-referenced #GtkApplication + + + + + System-dependent application identifier + + + + System argument count + + + + System argument vector + + + + + + Creates a new #GtkWindow for the application. +This function calls the #GtkApplication::create_window() virtual function, +which can be overridden by sub-classes, for instance to use #GtkBuilder to +create the user interface. After creating a new #GtkWindow instance, it will +be added to the list of toplevels associated to the application. + + the newly created application #GtkWindow + + + + + Adds a window to the #GtkApplication. +If all the windows managed by #GtkApplication are closed, the +#GtkApplication will call gtk_application_quit(), and quit +the application. +If your application uses only a single toplevel window, you can +use gtk_application_get_window(). If you are using a sub-class +of #GtkApplication you should call gtk_application_create_window() +to let the #GtkApplication instance create a #GtkWindow and add +it to the list of toplevels of the application. You should call +this function only to add #GtkWindow<!-- -->s that you created +directly using gtk_window_new(). + + + + + + a toplevel window to add to @app + + + + + + Creates a new #GtkWindow for the application. +This function calls the #GtkApplication::create_window() virtual function, +which can be overridden by sub-classes, for instance to use #GtkBuilder to +create the user interface. After creating a new #GtkWindow instance, it will +be added to the list of toplevels associated to the application. + + the newly created application #GtkWindow + + + + + A simple #GtkApplication has a "default window". This window should +act as the primary user interaction point with your application. +The window returned by this function is of type #GTK_WINDOW_TYPE_TOPLEVEL +and its properties such as "title" and "icon-name" will be initialized +as appropriate for the platform. +If the user closes this window, and your application hasn't created +any other windows, the default action will be to call gtk_application_quit(). +If your application has more than one toplevel window (e.g. an +single-document-interface application with multiple open documents), +or if you are constructing your toplevel windows yourself (e.g. using +#GtkBuilder), use gtk_application_create_window() or +gtk_application_add_window() instead. + + The default #GtkWindow for this application + + + + + Retrieves the list of windows previously registered with +gtk_application_create_window() or gtk_application_add_window(). +to the list of #GtkWindow<!-- -->s registered by this application, +or %NULL. The returned #GSList is owned by the #GtkApplication +and it should not be modified or freed directly. + + A pointer + + + + + + + Request the application exit. This function invokes +g_application_quit_with_data(), which normally will +in turn cause @app to emit #GtkApplication::quit. +To control an application's quit behavior (for example, to ask for +files to be saved), connect to the #GtkApplication::quit signal +handler. + + + + + + Runs the main loop; see g_application_run(). +The default implementation for #GtkApplication uses gtk_main(). + + + + + + Set @group as this application's global action group. +This will ensure the operating system interface uses +these actions as follows: +<itemizedlist> +<listitem>In GNOME 2 this exposes the actions for scripting.</listitem> +<listitem>In GNOME 3, this function populates the application menu.</listitem> +<listitem>In Windows prior to version 7, this function does nothing.</listitem> +<listitem>In Windows 7, this function adds "Tasks" to the Jump List.</listitem> +<listitem>In Mac OS X, this function extends the Dock menu.</listitem> +</itemizedlist> +It is an error to call this function more than once. + + + + + + A #GtkActionGroup + + + + + + + + + + + + This signal is emitted when an action is activated. The action name +is passed as the first argument, but also as signal detail, so it +is possible to connect to this signal for individual actions. +See also the #GApplication::action-with-data signal which may in +turn trigger this signal. +The signal is never emitted for disabled actions. + + + + + + The name of the activated action + + + + + + This signal is emitted when a non-primary process for a given +application is invoked while your application is running; for +example, when a file browser launches your program to open a +file. The raw operating system arguments are passed in the +variant @arguments. + + + + + + + + + + + This signal is emitted when a quit is initiated. See also +the #GApplication::quit-with-data signal which may in +turn trigger this signal. +The default handler for this signal exits the mainloop of the +application. It is possible to override the default handler +by simply returning %TRUE from a callback, e.g.: +|[ +static gboolean +my_application_quit (GtkApplication *application) +{ +/&ast; if some_condition is TRUE, do not quit &ast;/ +if (some_condition) +return TRUE; +/&ast; this will cause the application to quit &ast; +return FALSE; +} +g_signal_connect (application, "quit", +G_CALLBACK (my_application_quit), +NULL); +]| +signal emission + + %TRUE if the signal has been handled, %FALSE to continue + + + + + + + + + + + + the newly created application #GtkWindow + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - + This is a structure that we use to pass in typed values (and names). @@ -3801,31 +4255,31 @@ See gtk_alignment_set_padding ()." - + - + - + - + - + - + - + - + - + @@ -3834,44 +4288,20 @@ See gtk_alignment_set_padding ()." - + - + - - - - - - - + - - + 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 + - - - - - - + Adds a widget to the action area of a #GtkAssistant. - - - - - - - - - - - - - - - - - - - - - - - - - - + + a #GtkWidget - - + Appends a page to the @assistant. + + the index (starting at 0) of the inserted page + + a #GtkWidget + + + + + + Erases the visited page history so the back button is not +shown on the current page, and removes the cancel button +from subsequent pages. +Use this when the information provided up to the current +page is hereafter deemed permanent and cannot be modified +or undone. For example, showing a progress page to track +a long-running, unreversible operation after the user has +clicked apply on a confirmation page. + + + + + + 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 + + + + + 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. +if @page_num is out of bounds. + + The child widget, or %NULL + + + + + The index of a page in the @assistant, or -1 to get the last page; + + + + + + Gets whether @page is complete. + + %TRUE if @page is complete. + + + + + a page of @assistant + + + + + + 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 + + + + + + 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 + + + + + + Gets the title for @page. + + the title for @page. + + + + + a page of @assistant + + + + + + Gets the page type of @page. + + the page type of @page. + + + + + a page of @assistant - - + 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 + + + + + + Prepends a page to the @assistant. + + the index (starting at 0) of the inserted page + + + + + a #GtkWidget + + + + + + Removes a widget from the action area of a #GtkAssistant. + + + + + + a #GtkWidget + + + + + + 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. + + 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." - version="2.10"> +to use the default forward function, which just goes to the next visible +page. @@ -4179,212 +4748,125 @@ page." transfer-ownership="none" allow-none="1" scope="notified" - closure="2" - destroy="3" - doc="the #GtkAssistantPageFunc, or %NULL to use the default one"> + closure="1" + destroy="2"> + the #GtkAssistantPageFunc, or %NULL to use the default one - + user data for @page_func + - + + destroy notifier for @data - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + Sets whether @page contents are complete. This will make + a page of @assistant - + the completeness status of the page + - + 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 + + - + 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 + + - + 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 + + + + + + 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 + + + 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." - version="2.10"> +affects the future page flow of the assistant. @@ -4392,68 +4874,47 @@ 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 +you might consider putting 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." - version="2.10"> - - +#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." - version="2.10"> - - +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." - version="2.10"> - - +can do any preparation which are necessary before showing @page. + + - - + + the current page + @@ -4465,7 +4926,7 @@ can do any preparation which are necessary before showing @page." - + @@ -4480,7 +4941,7 @@ can do any preparation which are necessary before showing @page." - + @@ -4492,7 +4953,7 @@ can do any preparation which are necessary before showing @page." - + @@ -4504,7 +4965,7 @@ can do any preparation which are necessary before showing @page." - + @@ -4515,36 +4976,36 @@ can do any preparation which are necessary before showing @page." - - + + - - + + - - + + - - + + - - + + @@ -4552,15 +5013,22 @@ can do any preparation which are necessary before showing @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. + @@ -4568,6 +5036,11 @@ can do any preparation which are necessary before showing @page." glib:type-name="GtkAssistantPageType" glib:get-type="gtk_assistant_page_type_get_type" c:type="GtkAssistantPageType"> + 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, %GTK_ASSISTANT_PAGE_SUMMARY or +%GTK_ASSISTANT_PAGE_PROGRESS 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."> - +added, so you do not need to unref it. + + pointer to child of the #GtkBin - - + + + + - + - + @@ -4662,7 +5135,7 @@ added, so you do not need to unref it."> - + @@ -4671,13 +5144,13 @@ added, so you do not need to unref it."> - + - + - + @@ -4694,16 +5167,22 @@ added, so you do not need to unref it."> - + - + + + - + + + - + + + @@ -4712,54 +5191,46 @@ added, so you do not need to unref it."> - + - - - - - - - - - - - + + 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 @@ -4773,7 +5244,7 @@ assign match patterns to #GtkBindingSet structures."> - + @@ -4782,308 +5253,265 @@ assign match patterns to #GtkBindingSet structures."> + glib:get-type="gtk_border_get_type" + c:symbol-prefix="border"> + A struct that specifies a border around a rectangular area that can +be of different width on each side. - + - + - + - + - + + 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. - + + + Creates a new #GtkBox. + + a new #GtkBox. + + + + + the box' orientation. + + + + %TRUE if all children are to be given equal space allocations. + + + + the number of pixels to place by default between children. + + + + + + Returns whether the box is homogeneous (all children are the +same size). See gtk_box_set_homogeneous(). + + %TRUE if the box is homogeneous. + + + + + Gets the value set by gtk_box_set_spacing(). + + spacing between children + + + + + 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 @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 + - + + 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 + + - + + 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 + + - + + 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 #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 + - - - - - - + + 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 + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - @@ -5091,350 +5519,434 @@ same packing type that appear earlier in the list."> + + - - - - - - - - - - - - - - - - + + 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 + + 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 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 + + + + + + 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 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 + + + + + + Get the internal child called @childname of the @buildable object. + + the internal child of the buildable object + + + + + a #GtkBuilder + + + + name of child + + + + + + 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() + + + + + 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 + + + + + invoker="set_buildable_property" + version="2.12"> + Sets the property name @name to @value on the @buildable object. + a #GtkBuilder + name of property + value of property - - - + + Sets the name of the @buildable object. + + - - - + name to set - + + 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 + + + + + + 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 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 + + + + + + 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 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 + - - + + + Get the internal child called @childname of the @buildable object. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + the internal child of the buildable object + a #GtkBuilder - - - - - - - - - - + name of child + 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() - + 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 - - - - - - + Sets the property name @name to @value on the @buildable object. + a #GtkBuilder + name of property + value of property - - - + Sets the name of the @buildable object. + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + name to set @@ -5443,11 +5955,14 @@ is called on a builder." + The GtkBuildableIface interface contains method that are +necessary to allow #GtkBuilder to construct an object from +a GtkBuilder UI definition. - + @@ -5456,14 +5971,16 @@ is called on a builder." + name to set - + + the name set with gtk_buildable_set_name() @@ -5474,7 +5991,7 @@ is called on a builder." - + @@ -5483,20 +6000,22 @@ is called on a builder." + a #GtkBuilder + child to add - + + kind of child or %NULL - + @@ -5505,20 +6024,24 @@ is called on a builder." + a #GtkBuilder + name of property + value of property - + + the constructed child @@ -5526,43 +6049,51 @@ is called on a builder." + #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 + - + @@ -5571,22 +6102,26 @@ is called on a builder." + #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 + - + @@ -5595,22 +6130,26 @@ is called on a builder." + a #GtkBuilder - + + child object or %NULL for non-child tags + the name of the tag - + user data created in custom_tag_start + - + @@ -5619,14 +6158,16 @@ is called on a builder." + a #GtkBuilder - - + + + the internal child of the buildable object @@ -5634,9 +6175,11 @@ is called on a builder." + a #GtkBuilder + name of child @@ -5644,163 +6187,151 @@ is called on a builder." - + + 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. +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 +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>" - version="2.14" - throws="1"> +#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 - - - - - - - - - - - - - - - - - + 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 @@ -5809,23 +6340,23 @@ 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." - version="2.12"> +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. @@ -5833,59 +6364,96 @@ require GModule to function correctly." + closure="1"> + the function used to connect the signals - + arbitrary data that will be passed to the connection function + - + 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 + + + + + + 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" - version="2.12"> +if no type was found + the #GType found for @type_name or #G_TYPE_INVALID + type name to lookup + + Sets the translation domain of @builder. +See #GtkBuilder:translation-domain. + + + + + + the translation domain or %NULL + + + + + 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, @@ -5893,51 +6461,59 @@ 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." - version="2.12" - throws="1"> +#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 - - + + @@ -5953,8 +6529,9 @@ Upon errors %FALSE will be returned and @error will be assigned a - + + the #GType found for @type_name or #G_TYPE_INVALID @@ -5962,62 +6539,63 @@ Upon errors %FALSE will be returned and @error will be assigned a + type name to lookup - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + @@ -6026,36 +6604,43 @@ Upon errors %FALSE will be returned and @error will be assigned a + 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." - version="2.12"> +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 + @@ -6064,6 +6649,8 @@ connection process." glib:get-type="gtk_builder_error_get_type" c:type="GtkBuilderError" glib:error-quark="gtk_builder_error_quark"> + Error codes that identify various errors that can occur while using +#GtkBuilder. - + - + + - - + Creates a new #GtkButton widget. To add a child widget to the button, +use gtk_container_add(). + + The newly created #GtkButton widget. + - - - + + 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 #GtkButton widget with a #GtkLabel child containing the given +text. + + The newly created #GtkButton widget. + - + + The text you want the #GtkLabel to hold. + 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 +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."> - - +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 - - - - - - - - - - + Emits a #GtkButton::clicked signal to the given #GtkButton. - + + Emits a #GtkButton::enter signal to the given #GtkButton. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + Gets the alignment of the child in the button. - + return location for horizontal alignment + - + return location for vertical alignment + - + Returns the button's event window if it is realized, %NULL otherwise. +This function should be rarely needed. + + @button's event window. + + + + + 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 + + + + + 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 + + + + + Gets the position of the image relative to the text +inside the button. + + the position + + + + + 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 + + + + + Returns the current relief style of the given #GtkButton. + + The current #GtkReliefStyle + + + + + 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 + + + + + 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 + + + + + Emits a #GtkButton::leave signal to the given #GtkButton. + + + + + + Emits a #GtkButton::pressed signal to the given #GtkButton. + + + + + + Emits a #GtkButton::released signal to the given #GtkButton. + + + + + + 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 + + + + + + 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 + + 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 - - - - - + Sets the position of the image relative to the text +inside the button. + the position - - - + + 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 + + + - - + + Sets the relief style of the edges of the given #GtkButton widget. +Three styles exist, GTK_RELIEF_NORMAL, GTK_RELIEF_HALF, GTK_RELIEF_NONE. +The default style is, as one can guess, GTK_RELIEF_NORMAL. +<!-- FIXME: put pictures of each style --> + + + + + + The GtkReliefStyle as described above. + + + + + + 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 + + + + + + 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 + + + + + + - - + + - + transfer-ownership="none"> + The position of the image relative to the text inside the button. + - - + + - - + + - - + + - - + + - + transfer-ownership="none"> + 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. + - + transfer-ownership="none"> + 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. + @@ -6433,142 +7088,129 @@ can be used to control it's vertical alignment. 0.0 is top 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."> - - +#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. + + - - - - - - - - - - - - + + + Creates a new #GtkButtonBox. - + a new #GtkButtonBox. + - - + + the box' orientation. + - + + 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 + + Retrieves the method being used to arrange the buttons in a button box. + + the method used to lay out buttons in @widget. + + + @@ -6579,90 +7221,30 @@ Applications should never connect to this signal, but use the - + - + + Changes the way buttons are arranged in their container. - - - - - + + the new layout style + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - + + + + - - + @@ -6720,7 +7300,7 @@ Applications should never connect to this signal, but use the - + @@ -6732,7 +7312,7 @@ Applications should never connect to this signal, but use the - + @@ -6744,7 +7324,7 @@ Applications should never connect to this signal, but use the - + @@ -6756,7 +7336,7 @@ Applications should never connect to this signal, but use the - + @@ -6768,7 +7348,7 @@ Applications should never connect to this signal, but use the - + @@ -6779,29 +7359,29 @@ Applications should never connect to this signal, but use the - - + + - - + + - - + + - - + + @@ -6812,6 +7392,14 @@ Applications should never connect to this signal, but use the glib:type-name="GtkButtonsType" glib:get-type="gtk_buttons_type_get_type" c:type="GtkButtonsType"> + 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 + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + Remove all visual markers. - + + 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 + + + Returns if the @day of the @calendar is already marked. + + whether the day is marked. + + + + + the day number between 1 and 31. + + + + + + Queries the height of detail cells, in rows. +See #GtkCalendar:detail-width-chars. + + The height of detail cells, in rows. + + + + + Queries the width of detail cells, in characters. +See #GtkCalendar:detail-width-chars. + + The width of detail cells, in characters. + + + - + Returns the current display options of @calendar. + + the display options. - + + Places a visual marker on a particular day. - - + + the day number to mark between 1 and 31. + - + + Selects a day from the current month. - - + + the day number between 1 and 31, or 0 to unselect the currently selected day. + - - + + + + Shifts the calendar to a different month. + + + + + + a month number between 0 and 11. + - - + + the year the month is in. + + 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 @@ -10406,8 +7564,7 @@ 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." - version="2.14"> +properties. @@ -10415,263 +7572,195 @@ properties." + closure="1" + destroy="2"> + a function providing details for each day. - + data to pass to @func invokations. + - + + a function for releasing @data. - - - - - - - - - - + Updates the height of detail cells. +See #GtkCalendar:detail-height-rows. - + detail height in rows. + - - - - - - - - - - - + Updates the width of detail cells. +See #GtkCalendar:detail-width-chars. + + + detail width in characters. + + + - + + Sets display options (whether to display the heading and the month +headings). + + + the display options to set + + + - + Removes the visual marker from a particular day. + + + + + + the day number to unmark between 1 and 31. + + + + + + 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."> - +This property gets initially set to the current day. + - + transfer-ownership="none"> + Height of a detail cell, in rows. +A value of 0 allows any width. See gtk_calendar_set_detail_func(). + - + transfer-ownership="none"> + 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. + - + transfer-ownership="none"> + Determines whether the selected month can be changed. + - + transfer-ownership="none"> + 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."> - +marked. + - + transfer-ownership="none"> + Determines whether a heading is displayed. + - + transfer-ownership="none"> + Determines whether week numbers are displayed. + - - + + The selected year. +This property gets initially set to the current year. + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + Emitted when the user selects a day. + + - - + Emitted when the user double-clicks a day. + + - - + Emitted when the user clicks a button to change the selected month on a +calendar. + + - - + Emitted when the user switched to the next month. + + - - + Emitted when user switched to the next year. + + - - + Emitted when the user switched to the previous month. + + - - + Emitted when user switched to the previous year. + + @@ -10682,7 +7771,7 @@ This property gets initially set to the current year."> - + @@ -10694,7 +7783,7 @@ This property gets initially set to the current year."> - + @@ -10706,8 +7795,7 @@ This property gets initially set to the current year."> - + @@ -10719,7 +7807,7 @@ This property gets initially set to the current year."> - + @@ -10731,7 +7819,7 @@ This property gets initially set to the current year."> - + @@ -10743,7 +7831,7 @@ This property gets initially set to the current year."> - + @@ -10755,7 +7843,7 @@ This property gets initially set to the current year."> - + @@ -10769,40 +7857,43 @@ 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." - version="2.14"> +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 + + Defines a function pointer. + #GtkObject* - + #gpointer + - + #guint + + #GtkArg* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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 - - - - - - - - - - + c:identifier="gtk_cell_editable_editing_done"> + Emits the #GtkCellEditable::editing-done signal. + c:identifier="gtk_cell_editable_remove_widget"> + Emits the #GtkCellEditable::remove-widget signal. + + 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 + + + + - + transfer-ownership="none"> + 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 ::editing-done."> - - +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 +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 ::remove-widget."> - - +for emitting #GtkCellEditable::remove-widget. + + @@ -10996,7 +8049,7 @@ for emitting ::remove-widget."> - + @@ -11008,7 +8061,7 @@ for emitting ::remove-widget."> - + @@ -11020,7 +8073,7 @@ for emitting ::remove-widget."> - + @@ -11028,7 +8081,8 @@ for emitting ::remove-widget."> - + + A #GdkEvent, or %NULL @@ -11036,175 +8090,292 @@ for emitting ::remove-widget."> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + 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. + - + + Unsets all the mappings on all renderers on @cell_layout and +removes all renderers from @cell_layout. + + + + + + Clears all existing attributes previously set with +gtk_cell_layout_set_attributes(). + A #GtkCellRenderer to clear the attribute mapping on. - + + + + 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 + + + + + + + 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. + + + + + + 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. + + + + + + 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. + + + + + + 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. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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. + - + Unsets all the mappings on all renderers on @cell_layout and +removes all renderers from @cell_layout. + + + + + + Clears all existing attributes previously set with +gtk_cell_layout_set_attributes(). + A #GtkCellRenderer to clear the attribute mapping on. - - - - + 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 - - - - - - + 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. + + + + + + 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. + + + + + + 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. + + + + + + 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. @@ -11213,89 +8384,39 @@ replaced with the new attributes." - - - - - - - - - - - - - - - - + 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. + closure="2" + destroy="3"> + The #GtkCellLayoutDataFunc to use. - + The user data for @func. + - + + The destroy notification for @func_data. - - - - - - - - - - - - - - - - - - - - - - - @@ -11315,7 +8436,7 @@ into @cell_layout for this to function properly." - + @@ -11326,7 +8447,7 @@ into @cell_layout for this to function properly." - + @@ -11335,16 +8456,18 @@ into @cell_layout for this to function properly." + A #GtkCellRenderer. - + %TRUE if @cell is to be given extra space allocated to @cell_layout. + - + @@ -11353,16 +8476,18 @@ into @cell_layout for this to function properly." + A #GtkCellRenderer. - + %TRUE if @cell is to be given extra space allocated to @cell_layout. + - + @@ -11374,7 +8499,7 @@ into @cell_layout for this to function properly." - + @@ -11383,19 +8508,22 @@ into @cell_layout for this to function properly." + A #GtkCellRenderer. + An attribute on the renderer. - + The column position on the model to get the attribute from. + - + @@ -11404,22 +8532,30 @@ into @cell_layout for this to function properly." + A #GtkCellRenderer. - + + The #GtkCellLayoutDataFunc to use. - + The user data for @func. + - + + The destroy notification for @func_data. - + @@ -11428,13 +8564,14 @@ into @cell_layout for this to function properly." + A #GtkCellRenderer to clear the attribute mapping on. - + @@ -11443,18 +8580,23 @@ into @cell_layout for this to function properly." + A #GtkCellRenderer to reorder. - + New position to insert @cell at. + - - - + + + a list of cell renderers. The list, but not the + + + @@ -11464,594 +8606,547 @@ into @cell_layout for this to function properly." - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + 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 + + + + + + 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. + 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 - + + 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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 + - + + 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 + + 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 + + Returns the cell renderer's sensitivity. - + %TRUE if the cell renderer is sensitive + - + + 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 + + + + + + Returns the cell renderer's visibility. + + %TRUE if the cell renderer is visible + + + + + 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 + + + + + + Sets the renderer's alignment within its available space. + + + + + + the x alignment of the cell renderer + + + + the y alignment of the cell renderer + + + + + + 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 + + + + + + Sets the renderer's padding. + + + + + + the x padding of the cell renderer + + + + the y padding of the cell renderer + + + + + + Sets the cell renderer's sensitivity. + + + + + + the sensitivity of the cell + + + + + + Sets the cell renderer's visibility. + + + + + + the visibility of the cell + + + + + + 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 + + + + 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." - version="2.4"> - - +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 +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: @@ -12062,125 +9157,119 @@ GtkCellEditable *editable, const gchar *path, gpointer data) { -if (GTK_IS_ENTRY (editable)) +if (GTK_IS_ENTRY (editable)) { GtkEntry *entry = GTK_ENTRY (editable); /&ast; ... create a GtkEntryCompletion &ast;/ gtk_entry_set_completion (entry, completion); } } -]|" - version="2.6"> - - +]| + + - - + + the #GtkCellEditable + - - + + the path identifying the edited cell + + - - + Creates a new #GtkCellRendererAccel. + + the new cell renderer + - + transfer-ownership="none"> + 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."> - +in the same way as they are in menus. + - + transfer-ownership="none"> + 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."> - +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 + @@ -12192,7 +9281,7 @@ configuration should assign keyvals to all keys."> - + @@ -12204,19 +9293,19 @@ configuration should assign keyvals to all keys."> - + - + - + @@ -12230,36 +9319,36 @@ configuration should assign keyvals to all keys."> - - + + - - + + - - + + - - + + - - + + @@ -12279,6 +9368,10 @@ configuration should assign keyvals to all keys."> c:identifier="GTK_CELL_RENDERER_ACCEL_MODE_OTHER" glib:nick="other"/> + + @@ -12286,7 +9379,7 @@ configuration should assign keyvals to all keys."> - + @@ -12295,32 +9388,40 @@ configuration should assign keyvals to all keys."> + the widget the renderer is rendering to - + + The area a cell will be allocated, or %NULL - + transfer-ownership="none" + allow-none="1"> + location to return x offset of cell relative to @cell_area, or %NULL + - + transfer-ownership="none" + allow-none="1"> + 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 + - + @@ -12329,59 +9430,73 @@ configuration should assign keyvals to all keys."> + 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 @@ -12389,28 +9504,34 @@ configuration should assign keyvals to all keys."> + 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 - + @@ -12422,7 +9543,7 @@ configuration should assign keyvals to all keys."> - + @@ -12439,15 +9560,15 @@ configuration should assign keyvals to all keys."> - - + + - - + + @@ -12455,66 +9576,61 @@ configuration should assign keyvals to all keys."> + - - + 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 + - - + + - + transfer-ownership="none"> + 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."> - +#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 @@ -12523,17 +9639,18 @@ 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." - version="2.14"> - - +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) + @@ -12545,6 +9662,10 @@ until the combo cell renderer emits the edited or editing_canceled signal." + + - + + 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 +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."> - - +#GtkTreeView. + + the new cell renderer + - + transfer-ownership="none"> + 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."> - +automatically. + - + transfer-ownership="none"> + 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 + - - + + + 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 +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."> - +to zero. To indicate completion, set the property to %G_MAXINT. + - + transfer-ownership="none"> + 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."> - +(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)."> - +(bottom). + - + transfer-ownership="none"> + The "value" property determines the percentage to which the +progress bar will be "filled in". + @@ -12752,29 +9888,29 @@ progress bar will be "filled in"."> - - + + - - + + - - + + - - + + @@ -12782,44 +9918,55 @@ progress bar will be "filled in"."> + c:type="GtkCellRendererProgressPrivate" + disguised="1"> + - - + Creates a new #GtkCellRendererSpin. + + a new #GtkCellRendererSpin + - + transfer-ownership="none"> + The adjustment that holds the value of the spinbutton. +This must be non-%NULL for the cell renderer to be editable. + - + transfer-ownership="none"> + The acceleration rate when you hold down a button. + - + transfer-ownership="none"> + 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."> - +of the cycle by looking at #GtkSpinner:cycle-duration. + - + transfer-ownership="none"> + The #GtkIconSize value that specifies the size of the rendered spinner. + - + @@ -12875,29 +10028,29 @@ of the cycle by looking at #GtkSpinner:cycle-duration."> - - + + - - + + - - + + - - + + @@ -12905,7 +10058,8 @@ of the cycle by looking at #GtkSpinner:cycle-duration."> + c:type="GtkCellRendererSpinnerPrivate" + disguised="1"> glib:nick="focused"/> - + + 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 +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"> - - +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."> +the height is determined by the properties again. - + Number of rows of text each cell renderer is allocated, or -1 + - - + + - + transfer-ownership="none"> + 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."> - +for another way of making the text fit into a given width. + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + The desired maximum width of the cell, in characters. If this property +is set to -1, the width will be calculated automatically. +For cell renderers that ellipsize or wrap text; this property +controls the maximum reported width of the cell. The +cell should not receive any greater allocation unless it is +set to expand in its #GtkCellLayout and all of the cell's siblings +have received their natural 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."> - +request either 3 characters or the property value, whichever is greater. + - + transfer-ownership="none"> + 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 minimum 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."> - +Setting wrap-width to -1 turns wrapping off. + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - + - + @@ -13209,7 +10344,7 @@ Setting wrap-width to -1 turns wrapping off."> - + @@ -13226,157 +10361,164 @@ 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 +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 model. + + the new cell renderer + - + + Returns whether the cell renderer is activatable. See +gtk_cell_renderer_toggle_set_activatable(). - + %TRUE if the cell renderer is activatable. + + + Returns whether the cell renderer is active. See +gtk_cell_renderer_toggle_set_active(). + + %TRUE if the cell renderer is active. + + + + + Returns whether we're rendering radio toggles rather than checkboxes. + + %TRUE if we're rendering radio toggles rather than checkboxes + + + + + Makes the cell renderer activatable. + + + + + + the value to set. + + + + + + Activates or deactivates a cell renderer. + + + + + + the value to set. + + + + + 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)."> +columns with cell renderer properties). - + %TRUE to make the toggle look like a radio button + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - + + The ::toggled signal is emitted when the cell is toggled. + + - - + + string representation of #GtkTreePath describing the event location + @@ -13388,7 +10530,7 @@ The ::toggled signal is emitted when the cell is toggled."> - + @@ -13402,78 +10544,414 @@ The ::toggled signal is emitted when the cell is toggled."> - - + + - - + + - - + + - - + + - - - + + + + + + Retreives a renderer's natural size when rendered to @widget. + + + + + + the #GtkWidget this cell will be rendering to + + + + location to store the minimum size, or %NULL + + + + location to store the natural size, or %NULL + + + + + + Retreives a cell renderers's minimum and natural height if it were rendered to + + + + + + the #GtkWidget this cell will be rendering to + + + + the size which is available for allocation + + + + location for storing the minimum size, or %NULL + + + + location for storing the preferred size, or %NULL + + + + + + Gets whether the cell renderer prefers a height-for-width layout +or a width-for-height layout. + + The #GtkSizeRequestMode preferred by this renderer. + + + + + Retreives a renderer's natural size when rendered to @widget. + + + + + + the #GtkWidget this cell will be rendering to + + + + location to store the minimum size, or %NULL + + + + location to store the natural size, or %NULL + + + + + + Retreives a cell renderers's minimum and natural width if it were rendered to + + + + + + the #GtkWidget this cell will be rendering to + + + + the size which is available for allocation + + + + location for storing the minimum size, or %NULL + + + + location for storing the preferred size, or %NULL + + + + + + Retreives a renderer's natural size when rendered to @widget. + + + + + + the #GtkWidget this cell will be rendering to + + + + location to store the minimum size, or %NULL + + + + location to store the natural size, or %NULL + + + + + + Retreives a cell renderers's minimum and natural height if it were rendered to + + + + + + the #GtkWidget this cell will be rendering to + + + + the size which is available for allocation + + + + location for storing the minimum size, or %NULL + + + + location for storing the preferred size, or %NULL + + + + + + Gets whether the cell renderer prefers a height-for-width layout +or a width-for-height layout. + + The #GtkSizeRequestMode preferred by this renderer. + + + + + Retrieves the minimum and natural size of a cell taking +into account the widget's preference for height-for-width management. +If request_natural is specified, the non-contextual natural value will +be used to make the contextual request; otherwise the minimum will be used. + + + + + + the #GtkWidget this cell will be rendering to + + + + location for storing the minimum size, or %NULL + + + + location for storing the natural size, or %NULL + + + + + + Retreives a renderer's natural size when rendered to @widget. + + + + + + the #GtkWidget this cell will be rendering to + + + + location to store the minimum size, or %NULL + + + + location to store the natural size, or %NULL + + + + + + Retreives a cell renderers's minimum and natural width if it were rendered to + + + + + + the #GtkWidget this cell will be rendering to + + + + the size which is available for allocation + + + + location for storing the minimum size, or %NULL + + + + location for storing the preferred size, or %NULL + + + + + + + + - - + + + + The #GtkSizeRequestMode preferred by this renderer. + + + + + + + + - - + + + + + + + + + + + the #GtkWidget this cell will be rendering to + + + + location to store the minimum size, or %NULL + + + + location to store the natural size, or %NULL + + + + - - + + + + + + + + + + + the #GtkWidget this cell will be rendering to + + + + the size which is available for allocation + + + + location for storing the minimum size, or %NULL + + + + location for storing the preferred size, or %NULL + + + + - - + + + + + + + + + + + the #GtkWidget this cell will be rendering to + + + + location to store the minimum size, or %NULL + + + + location to store the natural size, or %NULL + + + + + + + + + + + + + + + + the #GtkWidget this cell will be rendering to + + + + the size which is available for allocation + + + + location for storing the minimum size, or %NULL + + + + location for storing the preferred size, or %NULL + + + + - - - - - - - - - - + + + Creates a new #GtkCellView widget. + + A newly created #GtkCellView widget. + - - - - - - - - - - - - + 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 - + + 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 + + + + + + Sets @minimum_size and @natural_size to the height desired by @cell_view +if it were allocated a width of @avail_size to display the model row +pointed to by @path. - - + + a #GtkTreePath + + + + available width + + + + location to store the minimum height + + + + location to store the natural height + - - - - - - + + Sets @minimum_size and @natural_size to the width desired by @cell_view +to display the model row pointed to by @path. - + + a #GtkTreePath + + location to store the minimum size + + + + location to store the natural size + + + Returns a #GtkTreePath referring to the currently +displayed row. If no row is currently displayed, +%NULL is returned. + the currently displayed row or %NULL + + Returns the model for @cell_view. If no model is used %NULL is +returned. + + a #GtkTreeModel used or %NULL + + + + version="2.6" + deprecated="Use gtk_cell_view_get_desired_width_of_row() and" + deprecated-version="3.0"> + Sets @requisition to the size needed by @cell_view to display +the model row pointed to by @path. +gtk_cell_view_get_desired_height_for_width_of_row() instead. - + %TRUE + + a #GtkTreePath + return location for the size + Sets the background color of @view. + the new background color - - - + + 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. + + + - - + + 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 + + + + + + - - + + - - + + - - + + @@ -13660,43 +11191,28 @@ g_list_free() when no longer needed." - - - - - - - - - - - - - - - - - - + - + + - - + + - - + + @@ -13705,16 +11221,17 @@ g_list_free() when no longer needed." + 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."> - - +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 @@ -13740,7 +11257,7 @@ in @label indicate the mnemonic for the check button."> - + @@ -13754,29 +11271,29 @@ in @label indicate the mnemonic for the check button."> - - + + - - + + - - + + - - + + @@ -13784,23 +11301,25 @@ in @label indicate the mnemonic for the check button."> - + + - - + + - - + + @@ -13809,16 +11328,17 @@ in @label indicate the mnemonic for the check button."> + 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."> - - +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 @@ -13833,114 +11353,98 @@ in @label indicate the mnemonic for the menu item."> + + Returns whether the check menu item is active. See +gtk_check_menu_item_set_active (). + + %TRUE if the menu item is checked. + + + + + Returns whether @check_menu_item looks like a #GtkRadioMenuItem + + Whether @check_menu_item looks like a #GtkRadioMenuItem + + + + + 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 + + + + + + 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 + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - - - - - - - - - - + + - - + + @@ -13951,7 +11455,7 @@ visual appearance, it doesn't affect the semantics of the widget."> - + @@ -13963,7 +11467,7 @@ visual appearance, it doesn't affect the semantics of the widget."> - + @@ -13977,44 +11481,66 @@ visual appearance, it doesn't affect the semantics of the widget."> - - + + - - + + - - + + - - + + + + + + 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 + + + + + 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 @@ -14025,371 +11551,452 @@ 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"> +("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" +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 +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". +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." - version="2.2"> - +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. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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."> +clipboard may be owned by someone else. - + + Gets the #GdkDisplay associated with @clipboard - + the #GdkDisplay associated with @clipboard + - - - - - - - - - + + 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(). +otherwise %NULL. - + the owner of the clipboard, if any; + - - - - - + Requests the contents of clipboard as the given target. When the results of the result are later received the supplied callback -will be called."> +will be called. + an atom representing the form into which the clipboard owner should convert the selection. + scope="async" + closure="2"> + A function to call when the results are received (or the retrieval fails). If the retrieval fails the length field of - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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." - version="2.6"> +converted into an image. + scope="async" + closure="1"> + 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 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 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." - version="2.4"> +the request succeeded, or %NULL if it failed. + scope="async" + closure="1"> + 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 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 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. + + + + + + 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 + + + + + + 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 + + + + + + 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>. + + + + + + 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. +If setting the clipboard data failed the provided callback +functions will be ignored. + + %TRUE if setting the clipboard data succeeded. + + + + + 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. +If setting the clipboard data failed the provided callback +functions will be ignored. + + %TRUE if setting the clipboard data succeeded. + + + + + 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 + + + + + + Stores the current clipboard data somewhere so that it will stay +around after the application has quit. + + + + + 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."> +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 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. +object which must 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 + + + + + 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 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. @@ -14397,58 +12004,16 @@ 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.)"> +clipboard could not be converted into text form.) + a newly-allocated UTF-8 string 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 @@ -14456,152 +12021,113 @@ 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.)" - version="2.14"> - +the clipboard could not be converted into URI form.) + + a newly-allocated - - - - - - - - - - - - - - + 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 text targets. This function -waits for the data to be received using the main loop, so events, +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_text() since it doesn't need to retrieve -the actual text."> +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 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." - version="2.10"> +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 - - - - - - - - - - + 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. - + + 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 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. + + + + + 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 + @@ -14615,7 +12141,7 @@ associated with @clipboard has changed." - + @@ -14631,10 +12157,10 @@ associated with @clipboard has changed." - + - + @@ -14651,7 +12177,7 @@ associated with @clipboard has changed." - + @@ -14667,7 +12193,7 @@ associated with @clipboard has changed." - + @@ -14684,15 +12210,13 @@ associated with @clipboard has changed." - - - + - + - + @@ -14709,10 +12233,10 @@ associated with @clipboard has changed." - + - + @@ -14729,7 +12253,7 @@ associated with @clipboard has changed." - + @@ -14743,163 +12267,178 @@ associated with @clipboard has changed." - - - + - + - + + - - + 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. - + Returns the current alpha value. - + 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. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + Gets the title of the color selection dialog. + An internal string, do not free the return value + + Does the color selection dialog use the alpha channel? + + %TRUE if the color sample uses alpha channel, %FALSE if not. + + + + + Sets the current opacity to be @alpha. + + + + + + an integer between 0 and 65535. + + + + + + Sets the current color to be @color. + + + + + + A #GdkColor to set the current color with. + + + + + + Sets the title for the color selection dialog. + + + + + + String containing new window title. + + + + + + Sets whether or not the color button should use the alpha channel. + + + + + + %TRUE if color button should use alpha channel, %FALSE if not. + + + + - + transfer-ownership="none"> + The selected opacity value (0 fully transparent, 65535 fully opaque). + - + transfer-ownership="none"> + The selected color. + - + transfer-ownership="none"> + The title of the color selection dialog + - + transfer-ownership="none"> + 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. + @@ -14907,16 +12446,15 @@ 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." - version="2.4"> - - +as well, use the notify::color signal. + + @@ -14927,7 +12465,7 @@ as well, use the notify::color signal." - + @@ -14938,38 +12476,41 @@ as well, use the notify::color signal." - - + + - - + + - - + + - - + + - + - - - + + + Creates a new GtkColorSelection. + + a new #GtkColorSelection + + c:identifier="gtk_color_selection_palette_from_string"> + 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. + + c:identifier="gtk_color_selection_palette_to_string"> + 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." - version="2.2"> - +"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. - + + Returns the current alpha value. - + 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. + + + + + + Determines whether the colorsel has an opacity control. + + %TRUE if the @colorsel has an opacity control. %FALSE if it does't. + + + + + Determines whether the color selector has a color palette. + + %TRUE if the selector has a palette. %FALSE if it hasn't. + + + + + Returns the previous alpha value. + + an integer between 0 and 65535. + + + + + Fills @color in with the original color value. + + + + + + a #GdkColor to fill in with the original color value. + + + + + + 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 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 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. + + + + + c:identifier="gtk_color_selection_set_has_opacity_control"> + Sets the @colorsel to use or not use opacity. - + %TRUE if @colorsel can set the opacity, %FALSE otherwise. + - - - - - + c:identifier="gtk_color_selection_set_has_palette"> + Shows and hides the palette based upon the value of @has_palette. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + %TRUE if palette is to be visible, %FALSE otherwise. + + c:identifier="gtk_color_selection_set_previous_alpha"> + 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. + - + + 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. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - + - - + + @@ -15270,7 +12779,7 @@ also set the original color to be @color too." - + @@ -15287,7 +12796,7 @@ also set the original color to be @color too." - + @@ -15298,7 +12807,7 @@ also set the original color to be @color too." - + @@ -15309,29 +12818,29 @@ also set the original color to be @color too." - - + + - - + + - - + + - - + + @@ -15339,6 +12848,7 @@ also set the original color to be @color too." + - - + + @@ -15358,38 +12869,31 @@ also set the original color to be @color too." - + Retrieves the #GtkColorSelection widget embedded in the dialog. + + the embedded #GtkColorSelection - - + + - - + + - - + + - - + + - - - - - - - - - - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + - + + Creates a new empty #GtkComboBox. + + A new #GtkComboBox. + + + + - - + 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. + - - + Creates a new #GtkComboBox with the model initialized to @model. + + A new #GtkComboBox. + + A #GtkTreeModel. - - - - - - + + 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. - - - - - - + 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 - - - - - - - - - - - - - - - + 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 @iter to point to the current active item, if it exists. + + %TRUE, if @iter was set + + + + + The uninitialized #GtkTreeIter + + + + + + 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. + + + + + Gets the current value of the :add-tearoffs property. + + the current value of the :add-tearoffs property. + + + + + 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 + + + + + Returns the column with column span information for @combo_box. + + the column span column. + + + + + 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 + + + + + Returns the #GtkTreeModel which is acting as data source for @combo_box. +during construction. + + A #GtkTreeModel which was passed + + + + + 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. +to the combo box's popup. + + the accessible object corresponding + + + + + Returns the current row separator function. + + the current row separator function. + + + + + Returns the column with row span information for @combo_box. + + the row span column. + + + + + 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 + + + + + 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. + + + + + 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 + + + + + + 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. + + + + + + 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. + + + + + + Pops up the menu or dropdown list of @combo_box, the popup window +will be grabbed so only @device and its associated pointer/keyboard +are the only #GdkDevice<!-- -->s able to send events to it. + + + + + + a #GdkDevice + + + + + + 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 + + + + + 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 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 whether the popup menu should have a tearoff +menu item. + + + + + + %TRUE to add tearoff menu items + + + + + + 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 + + + + + + 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 + + + + + + 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 + + + + + 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 - - - - - - - - - - + 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. @@ -15871,240 +13374,161 @@ function is %NULL, no separators are drawn. This is the default value." + closure="1" + destroy="2"> + a #GtkTreeViewRowSeparatorFunc - - + + user data to pass to @func, or %NULL + + scope="async"> + destroy notifier for @data, or %NULL - + + 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. + - - - - - - + + Sets the menu's title in tearoff mode. - + + a title for the menu in tearoff mode - + 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 + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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 +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."> - +where <literal>path</literal> is the #GtkTreePath of the active item. + - + transfer-ownership="none"> + The add-tearoffs property controls whether generated menus +have tearoff menu items. +Note that this only affects menu style combo boxes. + - + transfer-ownership="none"> + Whether the dropdown button is sensitive when +the model is empty. + - + transfer-ownership="none"> + 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. + - - + + - + transfer-ownership="none"> + The has-frame property controls whether a frame +is drawn around the entry. + - + transfer-ownership="none"> + 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."> - +it allows you to connect to notify::popup-shown. + - + transfer-ownership="none"> + 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. + - + transfer-ownership="none"> + 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."> - +determined by wrap-width. + @@ -16112,50 +13536,47 @@ 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 +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." - version="2.4"> - - +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." - version="2.12"> - - +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." - version="2.12"> - - +The default binding for this signal is Alt+Down. + + @@ -16166,7 +13587,7 @@ The default binding for this signal is Alt+Down." - + @@ -16178,8 +13599,9 @@ The default binding for this signal is Alt+Down." - + + a newly allocated string containing the currently active text. @@ -16189,22 +13611,22 @@ The default binding for this signal is Alt+Down." - - + + - - + + - - + + @@ -16212,6 +13634,7 @@ The default binding for this signal is Alt+Down." + - - + 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. + + + + + 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. + + 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." - version="2.4"> - - +API. + + A new #GtkComboBoxEntry. + + A #GtkTreeModel. - + 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. + - + + 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. + - - - - - - - + + @@ -16301,75 +13732,43 @@ to be @text_column." - - + + - - + + - - + + - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + 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. @@ -16444,22 +13798,19 @@ Returns all child properties of a container class."> - + - - + + - - + + - - - - - + + @@ -16472,7 +13823,7 @@ Returns all child properties of a container class."> - + @@ -16482,361 +13833,86 @@ Returns all child properties of a container class."> - + - - + + + + + + + + + + + - - - - - - - + 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."> +you can't place the same widget inside two different containers. + a widget to be placed inside @container - + + 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 + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + 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 @@ -16845,38 +13921,63 @@ See gtk_container_add() and gtk_container_child_set() for more details."> + + 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 + + + + + + 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 + + + + return location for the first property, followed optionally by more name/return location pairs, followed by %NULL + + + + - - - - - - - - - - - - - - - - - + introspectable="0"> + 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 @@ -16886,49 +13987,86 @@ Gets the values of one or more child properties for @child and @container."> + c:identifier="gtk_container_child_set_property"> + 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 - + + 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 - - + + a %NULL-terminated list of property names and values, starting with @first_prop_name + + + 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. + + + + 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()."> +rather than gtk_container_forall(). + + + + + + a callback + + + + callback user data + + + + + + 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(). @@ -16936,76 +14074,339 @@ rather than gtk_container_forall()."> + closure="1"> + a callback - + callback user data + - - + + Retrieves the border width of the container. See +gtk_container_set_border_width(). + + the current border width + + + + + 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. + + + + + + + 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. + + + + + + + + Returns the current focus child widget inside @container. This is not the +currently focused widget. That can be obtained by calling +gtk_window_get_focus(). +the @conatiner is focussed, or %NULL if none is set. + + The child widget which will recieve the focus inside @container when + + + + + 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 + + + + + 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 + + + + + Returns the resize mode for the container. See +gtk_container_set_resize_mode (). + + the current resize mode + + + + + 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 + + + + + + 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 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. + + + + + + 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 + + + + + + + + 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. +This is function is mostly meant to be used by widgets. Applications can use +gtk_widget_grab_focus() to manualy set the focus to a specific widget. + + + + + + a #GtkWidget, or %NULL + + + + + + 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 + + + + + + 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 + + + + + + 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 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 + + + + + + Removes a focus chain explicitly set with gtk_container_set_focus_chain(). + + + + + + - - + + - - + + - - - - - - - - - - - - - - - - - + + - - + + - + - - + + - - + + - + - - + + - + @@ -17016,8 +14417,11 @@ rather than gtk_container_forall()."> + + + - + @@ -17032,7 +14436,7 @@ rather than gtk_container_forall()."> - + @@ -17047,7 +14451,7 @@ rather than gtk_container_forall()."> - + @@ -17058,8 +14462,8 @@ rather than gtk_container_forall()."> - - + + @@ -17068,19 +14472,19 @@ rather than gtk_container_forall()."> - + - + - + - + @@ -17095,8 +14499,9 @@ rather than gtk_container_forall()."> - + + a #GType. @@ -17107,7 +14512,7 @@ rather than gtk_container_forall()."> - + @@ -17122,7 +14527,7 @@ rather than gtk_container_forall()."> - + @@ -17134,7 +14539,7 @@ rather than gtk_container_forall()."> - + @@ -17146,7 +14551,7 @@ rather than gtk_container_forall()."> - + @@ -17158,7 +14563,7 @@ rather than gtk_container_forall()."> - + @@ -17169,50 +14574,69 @@ rather than gtk_container_forall()."> - - + + - - + + - - + + - - + + + + Modifies a subclass of #GtkContainerClass to automatically add and +remove the border-width setting on GtkContainer. This allows the +subclass to ignore the border width in its size request and +allocate methods. The intent is for a subclass to invoke this +in its class_init function. +gtk_container_class_handle_border_width() is necessary because it +would break API too badly to make this behavior the default. So +subclasses must "opt in" to the parent class handling border_width +for them. + + + + + c:identifier="gtk_container_class_install_child_property"> + Installs a child property on a container class. - + the id for the property + + the #GParamSpec for the property + + c:identifier="GTK_CORNER_BOTTOM_RIGHT" glib:nick="bottom-right"/> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - value="2048" c:identifier="GTK_DEBUG_BUILDER" glib:nick="builder"/> + c:identifier="GTK_DEST_DEFAULT_ALL" glib:nick="all"/> - - - - - - - - - - glib:type-struct="DialogClass"> + - - + + + 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) @@ -17595,15 +14803,15 @@ the list. Button text can be either a stock ID such as 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, +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 +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: +Here's a simple example: |[ -GtkWidget *dialog = gtk_dialog_new_with_buttons ("My dialog", +GtkWidget *dialog = gtk_dialog_new_with_buttons ("My dialog", main_app_window, GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, GTK_STOCK_OK, @@ -17611,30 +14819,28 @@ 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 + allow-none="1"> + stock ID or text to go in first button, or %NULL @@ -17644,55 +14850,61 @@ NULL); + c:identifier="gtk_dialog_add_action_widget"> + 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."> +#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."> +text and response ID. + button text or stock ID @@ -17701,187 +14913,89 @@ text and response ID."> - + + Returns the action area of @dialog. - + the action area. + - - - - - - - - - + + Returns the content area of @dialog. - + the content area #GtkVBox. + + + + + 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 + - + 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 + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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 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 +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 +#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. +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: @@ -17899,69 +15013,147 @@ 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."> +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 + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + 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 + + + + + + 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 + + + + + + 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 + + + + + + + + + + + + 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 + @@ -17973,7 +15165,7 @@ Otherwise, it depends on which action widget was clicked."> - + @@ -17982,13 +15174,13 @@ Otherwise, it depends on which action widget was clicked."> - + - + @@ -17999,29 +15191,29 @@ Otherwise, it depends on which action widget was clicked."> - - + + - - + + - - + + - - + + @@ -18040,11 +15232,9 @@ Otherwise, it depends on which action widget was clicked."> value="2" c:identifier="GTK_DIALOG_DESTROY_WITH_PARENT" glib:nick="destroy-with-parent"/> - + + c:identifier="GTK_DIR_RIGHT" glib:nick="right"/> - - - - - - - - - - - - glib:nick="error"/> glib:type-struct="DrawingAreaClass"> + - - + + - - - - - - - - - - - - - - + - - + + - - + + - - + + - - + + @@ -18181,10 +15348,24 @@ Otherwise, it depends on which action widget was clicked."> + glib:type-struct="EditableInterface"> + + + + + + + + + + + + + @@ -18194,36 +15375,88 @@ Otherwise, it depends on which action widget was clicked."> - + - - - - - - - - - - - - - - - + + + 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 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 + + + + + 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 + @@ -18233,247 +15466,222 @@ Otherwise, it depends on which action widget was clicked."> - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + Copies the contents of the currently selected content in the editable and +puts it on the clipboard. - - - - - - + + Removes the contents of the currently selected content in the editable and +puts it on the clipboard. + c:identifier="gtk_editable_delete_selection"> + Deletes the currently selected text of the editable. +This call doesn't do anything if there is no selected text. - + + 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 + + + + + + Retrieves whether @editable is editable. See +gtk_editable_set_editable(). - + %TRUE if @editable is editable. + - + + 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 + + + + + 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 + + + + + + Pastes the content of the clipboard to the current position of the +cursor in the editable. + + + + + + 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 + + + + + + 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 + - + + 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 + + + - + 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)."> - - +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 @@ -18481,55 +15689,56 @@ 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()."> - - +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."> - - +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. + - - + @@ -18541,18 +15750,16 @@ it from being inserted entirely."> - + - - + + - + @@ -18561,16 +15768,16 @@ it from being inserted entirely."> - + - + - + @@ -18582,7 +15789,7 @@ it from being inserted entirely."> - + @@ -18594,18 +15801,16 @@ it from being inserted entirely."> - + - - + + - + @@ -18614,17 +15819,18 @@ it from being inserted entirely."> - + - + - + + a pointer to the contents of the widget as a @@ -18632,16 +15838,18 @@ it from being inserted entirely."> - + start of text + - + end of text + - + @@ -18650,18 +15858,19 @@ it from being inserted entirely."> - + - + - + - + %TRUE if an area is selected, %FALSE otherwise + @@ -18669,19 +15878,25 @@ it from being inserted entirely."> - + caller-allocates="0" + transfer-ownership="full" + allow-none="1"> + location to store the starting position, or %NULL + - + caller-allocates="0" + transfer-ownership="full" + allow-none="1"> + location to store the end position, or %NULL + - + @@ -18690,15 +15905,17 @@ it from being inserted entirely."> - + the position of the cursor + - + - + the cursor position + @@ -18709,6 +15926,7 @@ it from being inserted entirely."> - - - + + + 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. - - - - - - - - - - - - + + - - + + - - + + - - + + + + Retrieves the value set by gtk_entry_set_activates_default(). + + %TRUE if the entry will activate the default widget + + + + + Gets the value set by gtk_entry_set_alignment(). + + the alignment + + + - + Get the #GtkEntryBuffer object which holds the text for +this widget. + + A #GtkEntryBuffer object. - + + Returns the auxiliary completion object currently in use by @entry. +in use by @entry. - + The auxiliary completion object currently + + + + + 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 + + + + + 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 + + + + + Gets the value set by gtk_entry_set_has_frame(). + + whether the entry has a beveled frame + + + + + Returns whether the icon is activatable. + + %TRUE if the icon is activatable. + - - + + 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 + + + + + + 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). +or if the icon is not a #GIcon + + A #GIcon, or %NULL if no icon is set + + + + + 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 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. +set for this position. + + A #GdkPixbuf, or %NULL if no icon is + + + + + Icon position + + + + + + Returns whether the icon appears sensitive or insensitive. + + %TRUE if the icon is sensitive. + + + + + 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 + + + + + + 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 + + + + + + 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 + + + + + + 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 + + + + + + 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 + - + 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. - + + 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 + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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 +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."> - +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. @@ -19091,934 +16286,953 @@ 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" +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."> +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 + + + + + + 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 + + + + + Gets the value set by gtk_entry_set_overwrite_mode(). + + whether the text is overwritten when typing. + + + + + 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 + + + + + Retrieves the pulse step set with gtk_entry_set_progress_pulse_step(). + + a fraction from 0.0 to 1.0 + + + + + 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 + + + + + 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 + + + + + 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. + + + + + Retrieves whether the text in @entry is visible. See +gtk_entry_set_visibility(). + + %TRUE if the text is currently visible + + + + + Gets the value set by gtk_entry_set_width_chars(). + + number of chars to request space for, or negative if unset + + + + + 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 + + + + + + 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 + + + + + + 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()). + + + + + + 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. + + + + + + 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 + + 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 + - + + Set the #GtkEntryBuffer object which holds the text for +this widget. - + + + + a #GtkEntryBuffer + + + + Sets @completion to be the auxiliary completion object to use with @entry. +All further configuration of the completion mechanism is done on + allow-none="1"> + The #GtkEntryCompletion or %NULL - - - - - - - - - - - - - - - - - - - - - - - - - + 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 - - - - - - + + Sets whether the entry has a beveled frame around it. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + new value + + Sets whether the icon is activatable. + Icon position - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + %TRUE if the icon should be activatable + + 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 +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." - version="2.16"> +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 - + 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 + + - + + 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 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 sensitivity for the specified icon. + + + + + + Icon position + + + + Specifies whether the icon should appear sensitive or insensitive + + + + + + 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 + + + + + + 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 + + + + + + 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 + + + + + + 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 + + + + + + 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. + + + + + + Sets whether the text is overwritten when typing in the #GtkEntry. + + + + + + new value + + + + + + 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 + + + + + + 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 + + + + + + Sets the text in the widget to the given +value, replacing the current contents. +See gtk_entry_buffer_set_text(). + the new text - + + 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 + - + + 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 + - + + 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 + + + + + + Unsets the invisible char previously set with +gtk_entry_set_invisible_char(). So that the +default invisible char is used again. - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - - + + - - + + + 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."> - +system-wide IM module setting. See the GtkSettings +#GtkSettings:gtk-im-module property. + - + transfer-ownership="none"> + 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."> - +to the list of candidates. + - + transfer-ownership="none"> + Whether the invisible char has been set for the #GtkEntry. + - - + + - + transfer-ownership="none"> + If text is overwritten when typing in the #GtkEntry. + - + transfer-ownership="none"> + 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. + - + transfer-ownership="none"> + The #GIcon to use for the primary icon for the entry. + - + transfer-ownership="none"> + The icon name to use for the primary icon for the entry. + - + transfer-ownership="none"> + 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."> - +when clicked is currently not available. + - + transfer-ownership="none"> + The stock id to use for the primary icon for the entry. + - + transfer-ownership="none"> + 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()."> - +Also see gtk_entry_set_icon_tooltip_markup(). + - + transfer-ownership="none"> + The contents of the tooltip on the primary icon. +Also see gtk_entry_set_icon_tooltip_text(). + - + transfer-ownership="none"> + The current fraction of the task that's been completed. + - + transfer-ownership="none"> + 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."> - +Sensitive, but non-activatable icons can be used for purely +informational purposes. + - + transfer-ownership="none"> + The #GIcon to use for the secondary icon for the entry. + - + transfer-ownership="none"> + The icon name to use for the secondary icon for the entry. + - + transfer-ownership="none"> + 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."> - +when clicked is currently not available. + - + transfer-ownership="none"> + The stock id to use for the secondary icon for the entry. + - + transfer-ownership="none"> + 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()."> - +Also see gtk_entry_set_icon_tooltip_markup(). + - + transfer-ownership="none"> + The contents of the tooltip on the secondary icon. +Also see gtk_entry_set_icon_tooltip_text(). + - - + + - + transfer-ownership="none"> + 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. + - + transfer-ownership="none"> + When %TRUE, pasted multi-line text is truncated to the first line. + - - + + - - + + - + transfer-ownership="none"> + The horizontal alignment, from 0 (left) to 1 (right). +Reversed for RTL layouts. + - - - - + - + - + - - - - - - - + @@ -20030,211 +17244,216 @@ 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 +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 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."> - - +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."> - - +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."> - - +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."> - - +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."> - - +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. @@ -20249,72 +17468,77 @@ There are too many key combinations to list them all here. <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>"> - - +</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."> - - +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."> - - +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." - version="2.20"> - - +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."> - - +The default bindings for this signal is Insert. + + glib:type-struct="EntryBufferClass"> + Create a new GtkEntryBuffer object. +Optionally, specify initial text to set in the buffer. + A new GtkEntryBuffer object. + allow-none="1"> + initial buffer text, or %NULL - + number of characters in @initial_chars, 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 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." - version="2.18"> +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." - version="2.18"> +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 deleted + - + number of characters deleted + - - + + Used when subclassing #GtkEntryBuffer + + + + + + position at which text was inserted + + + + text that was inserted + + + + number of characters inserted + + + + + + 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 maximum allowed length of the text in +in #GtkEntryBuffer, or 0 if there is no maximum. + + the maximum allowed number of characters + + + + + 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 + + + + + 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 + + + + + + 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. + + + + + + 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 + + + + + + The length (in characters) of the text in buffer. + - + transfer-ownership="none"> + The maximum length (in characters) of the text in the buffer. + - + transfer-ownership="none"> + The contents of the buffer. + @@ -20563,32 +17829,39 @@ Note that the positions are specified in characters, not bytes." - - - + + This signal is emitted after text is deleted from the buffer. + + - + the position the text was deleted at. + - + The number of characters that were deleted. + - - - + + This signal is emitted after text is inserted into the buffer. + + - + the position the text was inserted at. + - + The text that was inserted. + - + The number of characters that were inserted. + @@ -20600,7 +17873,7 @@ Note that the positions are specified in characters, not bytes." - + @@ -20609,19 +17882,19 @@ Note that the positions are specified in characters, not bytes." - + - + - + @@ -20630,16 +17903,16 @@ Note that the positions are specified in characters, not bytes." - + - + - + @@ -20647,18 +17920,17 @@ Note that the positions are specified in characters, not bytes." - - + + - + - + The number of characters in the buffer. + @@ -20668,88 +17940,97 @@ Note that the positions are specified in characters, not 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 + - + - + The number of characters deleted. + - + position at which to delete text + - + number of characters to delete + - - + + - - + + - - + + - - + + - - + + - - + + - + - + @@ -20773,7 +18054,7 @@ Note that the positions are specified in characters, not bytes." - + @@ -20785,7 +18066,7 @@ Note that the positions are specified in characters, not bytes." - + @@ -20797,16 +18078,16 @@ Note that the positions are specified in characters, not bytes." - + - + - + @@ -20821,7 +18102,7 @@ Note that the positions are specified in characters, not bytes." - + @@ -20833,13 +18114,13 @@ Note that the positions are specified in characters, not bytes." - + - + @@ -20851,7 +18132,7 @@ Note that the positions are specified in characters, not bytes." - + @@ -20863,7 +18144,7 @@ Note that the positions are specified in characters, not bytes." - + @@ -20875,7 +18156,7 @@ Note that the positions are specified in characters, not bytes." - + @@ -20887,7 +18168,7 @@ Note that the positions are specified in characters, not bytes." - + @@ -20899,7 +18180,7 @@ Note that the positions are specified in characters, not bytes." - + @@ -20907,30 +18188,30 @@ Note that the positions are specified in characters, not bytes." - - + + - - + + - - + + - - + + - - + + - - + + @@ -20938,6 +18219,7 @@ Note that the positions are specified in characters, not bytes." + Creates a new #GtkEntryCompletion object. + A newly created #GtkEntryCompletion object. - - - + 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. + + - + Deletes the action at @index_ from @completion's action list. - - + + The index of the item to Delete. + + + 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 + + + + + Gets the entry @completion has been attached to. + + The entry @completion has been attached to. + + + + + Returns whether the common prefix of the possible completions should +be automatically inserted in the entry. + + %TRUE if inline completion is turned on + + + + + Returns %TRUE if inline-selection mode is turned on. + + %TRUE if inline-selection mode is on + + + + + Returns the minimum key length as set for @completion. + + The currently used minimum key length. + + + - + Returns the model the #GtkEntryCompletion is using as data source. +Returns %NULL if the model is unset. +is currently being used. + + A #GtkTreeModel, or %NULL if none + + Returns whether the completions should be presented in a popup window. + + %TRUE if popup completion is turned on + + + + + 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 + + + + + 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 + + + + + Returns the column in the model of @completion to get strings from. + + the column containing the strings + + + + + 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. + + + + + + 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. + + + + + + Requests a prefix insertion. + + + + + + Sets whether the common prefix of the possible completions should +be automatically inserted in the entry. + + + + + + %TRUE to do inline completion + + + + + + Sets whether it is possible to cycle through the possible completions +inside the entry. + + + + + + %TRUE to do inline selection + + + + + 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. @@ -21001,312 +18448,181 @@ list." + closure="1" + destroy="2"> + 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. + - - - - - - - - - - - - - - - - + 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. + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + Sets whether the completions should be presented in a popup window. - + %TRUE to do popup completion + - - - - - + 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 + - - - - - + 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 + - - - - - - - - - - + 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." - version="2.4"> +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. + - - - - - + 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."> - +match function. + - + transfer-ownership="none"> + Determines whether the possible completions on the popup +will appear in the entry as you navigate through them. + - - + + - - + + - + transfer-ownership="none"> + Determines whether the possible completions should be +shown in a popup window. + - + transfer-ownership="none"> + 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>."> - +this to %FALSE if you are using +<link linkend="GtkEntryCompletion--inline-completion">inline +completion</link>. + - + transfer-ownership="none"> + The column of the model containing the strings. +Note that the strings must be UTF-8. + @@ -21315,69 +18631,74 @@ 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." - version="2.12"> - - +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 '/'." - version="2.6"> - - +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." - version="2.4"> - - +pointed to by @iter. + + %TRUE if the signal has been handled + - - + + the #GtkTreeModel containing the matches + - - + + a #GtkTreeIter positioned at the selected match + @@ -21389,9 +18710,9 @@ pointed to by @iter." - + - + @@ -21407,7 +18728,7 @@ pointed to by @iter." - + @@ -21416,15 +18737,15 @@ pointed to by @iter." - + - + - + @@ -21437,9 +18758,9 @@ pointed to by @iter." - + - + @@ -21454,15 +18775,15 @@ pointed to by @iter." - - + + - - + + @@ -21472,7 +18793,7 @@ pointed to by @iter." - + @@ -21485,11 +18806,13 @@ pointed to by @iter." - + - + + - - + + + + 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 + + + + 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 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 + + + + + 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 +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 +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 @@ -21548,60 +18906,31 @@ draw on it. 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. +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 +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>" - version="2.4"> +</para></note> - + boolean value + - - - - - - - - - - - - - - - - - + + - - + + @@ -21615,6 +18944,7 @@ The default is to keep the window below the 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 - - - - - - - - - - + Queries a #GtkExpander and returns its current state. Returns %TRUE if the child widget is revealed. -See gtk_expander_set_expanded()." - version="2.4"> +See gtk_expander_set_expanded(). - + the current state of the expander. + - - - - - - - - - - - - - - - - - - - - - - - - - + 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 @@ -21733,104 +19010,209 @@ Note that this function behaved differently in versions prior to 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." - version="2.4"> +by the widget and must not be modified or freed. + The text of the label widget. This string is owned - + + Returns whether the label widget will fill all available horizontal +space allocated to @expander. +space - - - - - - - - - - - + %TRUE if the label widget will fill all available horizontal + - + Retrieves the label widget for the frame. See +gtk_expander_set_label_widget(). +or %NULL if there is none. - + the label widget, + + + + + Gets the value set by gtk_expander_set_spacing(). + + spacing between the expander and child. + - - - - - + 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 + + + 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 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 + + + + + + Sets the text of the label of the expander to @label. +This will also clear any previously set labels. + + + + + + a string + + + + + + Sets whether the label widget should fill all available horizontal space +allocated to @expander. + + + + + + %TRUE if the label should should fill all available horizontal space + + + + + Set the label widget for the expander. This is the widget +that will appear embedded alongside the expander arrow. + allow-none="1"> + the new label widget - - - + 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. + + + - - + + 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 + + + + + + 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 + + + + + + - - + + - - + + - - + + - - + + - - + + + + + @@ -21839,8 +19221,8 @@ gtk_expander_set_label_widget()." - - + + @@ -21851,7 +19233,7 @@ gtk_expander_set_label_widget()." - + @@ -21863,7 +19245,7 @@ gtk_expander_set_label_widget()." - + - + 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 + + + + + + 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 + + + + + + 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 + - + 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 - + + 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. + + + + + 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 current folder of @chooser as #GFile. +See gtk_file_chooser_get_current_folder_uri(). + + the #GFile for the 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 + + + + + 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; + + + + + Gets the current preview widget; see +gtk_file_chooser_set_extra_widget(). + + the current extra widget, or %NULL + + + + + 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. +use g_object_unref() to release it. + + a selected #GFile. You own the returned file; + + + + + 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 + + + + + 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 + + + + + + + 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 + + + + + + + Gets the current filter; see gtk_file_chooser_set_filter(). + + the current filter, or %NULL + - - - - - + 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. + - + + Gets the #GFile that should be previewed in a custom preview +Internal function, see gtk_file_chooser_get_preview_uri(). +or %NULL if no file is selected. Free with g_object_unref(). - + the #GFile for the file to preview, + + + + + 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 current preview widget; see +gtk_file_chooser_set_preview_widget(). + + the current preview widget, or %NULL + + + + + 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. + - - - - - + 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. + - + 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. + + + + + 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 + + + + + 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 + + + + + + + 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 + + + + + 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 + + + + + + + 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 + + + + + + + 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 + + + + + + + Removes @filter from the list of filters that the user can select between. - - + + a #GtkFileFilter + - + + 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 + + + + + + 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 + + + + + + Selects all the files in the current folder of a file chooser. + + + + + + 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 + + + + + + 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 + + + + + + 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 + + + + + + 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 + + + + + + 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 + + + + + + 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 + + + + + + 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 + + + + + + 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 + + + + + + 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 + + + + 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 @@ -22003,381 +19885,41 @@ Regardless of this setting, the @chooser will emit the 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." - version="2.8"> +for the details. - + whether to confirm overwriting in save mode + - - - - - - + + Sets an application-supplied widget to provide extra options to the user. - - + + widget for extra options + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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(). @@ -22386,7 +19928,7 @@ 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 +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: @@ -22395,7 +19937,7 @@ 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"); +gtk_file_chooser_set_current_name (chooser, "Untitled document"); } else { @@ -22403,90 +19945,108 @@ else gtk_file_chooser_set_file (chooser, existing_file); } ]| -selected successfully, %FALSE otherwise." - version="2.14" - throws="1"> +selected successfully, %FALSE otherwise. - + %TRUE if both the folder could be changed and the file was + + the #GFile to set as current - + + 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 + - + + 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 + - - - - - - - - + + 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 + - - - - - + 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 @@ -22497,347 +20057,233 @@ 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." - version="2.4"> +it may display no preview at all. + widget for displaying preview. - - - - - + 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." - version="2.4"> +gtk_file_chooser_set_preview_widget() for more details. - + whether to display the user-specified preview widget + - + 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. + + + + + + Sets whether hidden files and folders are displayed in the file selector. + + + + + + %TRUE if hidden files and folders should be displayed. + + + + + + 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 + + + + 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." - version="2.4"> +display the name themselves in their preview widget. - + whether to display a stock label with the name of the previewed file + - + + Unselects all the files in the current folder of a file chooser. - + - - - - - - - - - - - - - - - - + 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 + - - - - - - + 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 - - - - - - - - - - - - - - - - - - + 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 - - - - - - - - - - - - - - - - - - - + + - + transfer-ownership="none"> + 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."> - +selects a file name that already exists. + - - + + - + + + + + + + + + - + transfer-ownership="none"> + - - + + - - + + - - + + - - - - - - - - - - - - - + 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. @@ -22859,7 +20305,7 @@ 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"> +<example id="gtkfilechooser-confirmation"> <title>Custom confirmation</title> <programlisting> static GtkFileChooserConfirmation @@ -22879,54 +20325,46 @@ 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_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." - version="2.8"> - - +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 #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." - version="2.6"> - - +order for the button to take over the file selected in the dialog. + + a new button widget. + + the widget to use as dialog + + 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 + + + + 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. - - - - - - - - - - - - - - - + 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 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 + + + + + + Modifies the @title of the browse dialog used by @button. + + + + + + the new browse dialog title. + + + + + + Sets the width (in characters) that @button will use to @n_chars. + + + + + + the new width, in characters. + @@ -23086,27 +20515,31 @@ application." readable="0" writable="1" construct-only="1" - doc="Instance of the #GtkFileChooserDialog associated with the button."> - + transfer-ownership="none"> + Instance of the #GtkFileChooserDialog associated with the button. + - + transfer-ownership="none"> + Whether the #GtkFileChooserButton button grabs focus when it is clicked +with the mouse. + - + transfer-ownership="none"> + Title to put on the #GtkFileChooserDialog associated with the button. + - + transfer-ownership="none"> + The width of the entry and label inside the button, in characters. + @@ -23115,13 +20548,12 @@ with the mouse."> - + 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." - version="2.12"> - - +changes the file. + + @@ -23132,7 +20564,7 @@ changes the file." - + @@ -23144,43 +20576,41 @@ changes the file." - + - + - + - + - + - + - + + c:type="GtkFileChooserButtonPrivate" + disguised="1"> + 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. + - - - - - - - - - - - - - - - - - - - - - - - - - + introspectable="0"> + 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 - - - + allow-none="1"> + stock ID or text to go in the first button, or %NULL @@ -23298,16 +20686,16 @@ to load files." + c:type="GtkFileChooserDialogPrivate" + disguised="1"> + 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 - - - - - - - - - - - - - @@ -23388,158 +20758,163 @@ custom windows and it is the same widget that is used by + c:type="GtkFileChooserWidgetPrivate" + disguised="1"> - + 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, "*"); -]|" - version="2.4"> - +gtk_file_filter_add_pattern (filter, "*"); +]| + + a new #GtkFileFilter - + 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. + + + - + scope="notified" + closure="2" + destroy="3"> + 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. + - - - - - + 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. - - - - - - - - - - - - - - - - - - - - - - - - + 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." - version="2.4"> +#GtkFileChooser. - + %TRUE if the file should be displayed + + a #GtkFileFilterInfo structure containing information about a file. + + 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, + + + + + 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 + + + + + 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. + + + + - + - + @@ -23592,228 +20967,8 @@ is intended principally for use in the implementation of - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - glib:type-struct="FixedClass"> + - - + + - - - - - - - - - - - - - - - - @@ -23851,48 +20991,34 @@ file list"> - + - + - + - - + + + + + + + + - - - - - - - + + @@ -23900,10 +21026,10 @@ See gtk_fixed_set_has_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 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. - + Returns whether the font size will be shown in the label. - + whether the font size will be shown in the label. + + + + + Returns whether the name of the font style will be shown in the label. + + whether the font style will be shown in the label. + + + + + Retrieves the title of the font selection dialog. + + an internal copy of the title string which must not be freed. + - - - - - + Returns whether the selected font is used in the label. - + whether the selected font is used in the label. + - - - - - - - - - - + Returns whether the selected size is used in the label. - - - - - - - - - - - - - - - - + whether the selected size is used in the label. + - - + 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 - - - - - - - - - - - - - - - - - - - - + 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. + + + + + + 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. + + + + + + Sets the title for the font selection dialog. + + + + + + a string containing the font selection dialog title + + + + + + 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. + + + + + + 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. + - + transfer-ownership="none"> + The name of the currently selected font. + - + transfer-ownership="none"> + 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. + - + transfer-ownership="none"> + 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. + - + transfer-ownership="none"> + The title of the font selection dialog. + - + transfer-ownership="none"> + If this property is set to %TRUE, the label will be drawn +in the selected font. + - + transfer-ownership="none"> + If this property is set to %TRUE, the label will be drawn +with the selected font size. + @@ -24123,16 +21273,15 @@ 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." - version="2.4"> - - +as well, use the notify::font-name signal. + + @@ -24143,7 +21292,7 @@ as well, use the notify::font-name signal." - + @@ -24154,38 +21303,41 @@ as well, use the notify::font-name signal." - - + + - - + + - - + + - - + + - + - - - + + + Creates a new #GtkFontSelection. + + a n ew #GtkFontSelection + - - - + Gets the #PangoFontFace representing the selected font group +details (i.e. family, slant, weight, width, etc). +selected font group details. The returned object is owned by + + A #PangoFontFace representing the + - - - - - - - - - - - - - - - - + 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 - + Gets the #PangoFontFamily representing the selected font family. +selected font 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 - + This returns the #GtkTreeView that lists font families, for +example, 'Sans', 'Serif', etc. + + A #GtkWidget that is part of @fontsel + + + + + 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 + + + + + This returns the #GtkEntry used to display the font as a preview. + + A #GtkWidget that is part of @fontsel + + + + + 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. + + The selected font size. +or -1 if no font size is selected. - + A n integer representing the selected font size, + - - - + + 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 + + c:identifier="gtk_font_selection_set_font_name"> + 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" - - - - - + c:identifier="gtk_font_selection_set_preview_text"> + 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 - - + + - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - - + + @@ -24427,6 +21541,7 @@ The @text is used to show how the selected font looks."> glib:type-struct="FontSelectionDialogClass"> - - - + + + Creates a new #GtkFontSelectionDialog. + + a new #GtkFontSelectionDialog + + the title of the dialog window - - - - - - - - - - - + Gets the 'Cancel' button. +for the 'Cancel' button. + + the #GtkWidget used in the dialog + 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() +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()."> +font is selected. You must free this string with g_free(). + A string with the name of the current font, or %NULL if no - - - + + Retrieves the #GtkFontSelection widget embedded in the dialog. + + the embedded #GtkFontSelection + + + + + Gets the 'OK' button. +for the 'OK' button. + + the #GtkWidget used in the dialog + + + + + 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. + + c:identifier="gtk_font_selection_dialog_set_font_name"> + 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" - - - - - + c:identifier="gtk_font_selection_dialog_set_preview_text"> + Sets the text displayed in the preview area. + the text to display in the preview area @@ -24532,29 +21647,9 @@ modified or freed"> - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - - + + + + + + glib:type-struct="FrameClass"> - - - + + + 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 @@ -24623,157 +21729,130 @@ If @label is %NULL, the label is omitted."> - - - - - - - - - - - + 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."> +must not be modified or freed. + the text in the label, or %NULL if there - + + 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 + - + c:identifier="gtk_frame_get_label_widget"> + Retrieves the label widget for the frame. See +gtk_frame_set_label_widget(). + + the label widget, or %NULL if there is none. - + + Retrieves the shadow type of the frame. See +gtk_frame_set_shadow_type(). + + the current shadow type 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 + + + + + + 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. + - + + 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 + - + + Sets the shadow type for @frame. + the new #GtkShadowType - - - - - - - + + - - + + - - + + - - + + - - - - - + + - - - - - - - - - - - - - - + + - + @@ -24799,90 +21877,23 @@ gtk_frame_set_shadow_type()."> + + + Defines a function pointer. - + #gint + - + #gpointer + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + 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. + @@ -24916,6 +21932,7 @@ gtk_frame_set_shadow_type()."> + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -24975,6 +21959,7 @@ gtk_frame_set_shadow_type()."> + - - + + @@ -25000,6 +21986,7 @@ gtk_frame_set_shadow_type()."> + - - + + @@ -25025,6 +22013,7 @@ gtk_frame_set_shadow_type()."> glib:type-struct="HSVClass"> - - - + + + 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 + - + + 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 + + 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." - version="2.14"> +the color value status to be final. - + %TRUE if clients can ignore changes to the color value, + + + Sets the current color in an HSV color selector. +Color component values must be in the [0.0, 1.0] range. + + + + + + Hue + + + + Saturation + + + + Value + + + + + + Sets the size and ring width of an HSV color selector. + + + + + + Diameter for the hue ring + + + + Width of the hue ring + + + + - - + + - - + + - - + + - + @@ -25186,7 +22184,7 @@ the color value status to be final." - + @@ -25198,7 +22196,7 @@ the color value status to be final." - + @@ -25212,36 +22210,39 @@ the color value status to be final." - - + + - - + + - - + + - - + + + + + - - + + @@ -25261,28 +22263,30 @@ the color value status to be final." + 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 +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."> - - +needs, use gtk_scale_set_digits() to correct it. + + a new #GtkHScale + - + minimum value + - + maximum value + - - + + step increment (tick size) used with keyboard shortcuts + @@ -25298,6 +22302,7 @@ needs, use gtk_scale_set_digits() to correct it."> - - - + + + Creates a new horizontal scrollbar. + + the new #GtkHScrollbar + + allow-none="1"> + the #GtkAdjustment to use, or %NULL to create a new adjustment @@ -25333,6 +22339,7 @@ needs, use gtk_scale_set_digits() to correct it."> + - - + + @@ -25358,6 +22366,7 @@ needs, use gtk_scale_set_digits() to correct it."> glib:type-struct="HandleBoxClass"> + - - + + - + + Whether the handlebox's child is currently detached. - + %TRUE if the child is currently detached, otherwise %FALSE + + + + + Gets the handle position of the handle box. See +gtk_handle_box_set_handle_position(). + + the current handle position. + - - - - - - + c:identifier="gtk_handle_box_get_shadow_type"> + 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 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 + + + @@ -25400,13 +22427,16 @@ gtk_handle_box_set_shadow_type()."> - - - + + + + + + + + @@ -25418,100 +22448,44 @@ gtk_handle_box_set_handle_position()."> - - - - - - - - - - - - + + - - + + - - + + - - + + - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - + - - + + - + @@ -25523,7 +22497,7 @@ is determined (as per default) from the handle position."> - + @@ -25538,7 +22512,7 @@ is determined (as per default) from the handle position."> - + @@ -25552,297 +22526,103 @@ is determined (as per default) from the handle position."> - - + + - - + + - - + + - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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."> +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. + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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. @@ -25853,27 +22633,100 @@ 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."> +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. + - + + + 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. + + + + + + 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. + + + + + + Notify the input method that a change in cursor +position has been made. The location is relative to the client +window. + + + + + + new location + + + + + + 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. + + + + + + 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. + + + + + 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 @@ -25886,133 +22739,265 @@ 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."> +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. + + + + + + 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. + + + + + + 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. + + + + + + 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. + + + + + + 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. + + + + + + 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. + + + + + + Notify the input method that a change in cursor +position has been made. The location is relative to the client +window. + + + + + + new location + + + + + + 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. + + + + + + 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. + - + 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."> - - +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."> - - +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."> - - +gtk_im_context_set_surrounding() method. + + %TRUE if the signal was handled. + + glib:is-gtype-struct-for="IMContext"> - + - + @@ -26024,7 +23009,7 @@ by the subsequent invocation of @get_surrounding."> - + @@ -26036,7 +23021,7 @@ by the subsequent invocation of @get_surrounding."> - + @@ -26048,7 +23033,7 @@ by the subsequent invocation of @get_surrounding."> - + @@ -26063,9 +23048,9 @@ by the subsequent invocation of @get_surrounding."> - + - + @@ -26075,25 +23060,25 @@ by the subsequent invocation of @get_surrounding."> - + - + - + - + - + @@ -26101,14 +23086,15 @@ by the subsequent invocation of @get_surrounding."> - + + the client window. This may be %NULL to indicate that the previous client window no longer exists. - + @@ -26117,38 +23103,39 @@ by the subsequent invocation of @get_surrounding."> - - - + 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 - + @@ -26160,7 +23147,7 @@ by the subsequent invocation of @get_surrounding."> - + @@ -26172,7 +23159,7 @@ by the subsequent invocation of @get_surrounding."> - + @@ -26184,7 +23171,7 @@ by the subsequent invocation of @get_surrounding."> - + @@ -26193,13 +23180,14 @@ by the subsequent invocation of @get_surrounding."> + new location - + @@ -26208,13 +23196,14 @@ by the subsequent invocation of @get_surrounding."> - + whether the IM context should use the preedit string. + - + @@ -26223,86 +23212,86 @@ by the subsequent invocation of @get_surrounding."> + 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. @@ -26320,6 +23309,7 @@ Bookkeeping information about a loadable input method."> glib:type-struct="IMContextSimpleClass"> - + - + 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 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."> +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 @@ -26440,15 +23423,9 @@ replaced by the slave corresponding to the new context id." - - - - + - - - - - + + - - + + - - + + - - + + - + - + - - + + - + 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 +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."> +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."> +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 +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."> +with the new @icon_set. + icon name + icon set - - - - - - - - - - - + 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."> +can be overridden by themes. + + 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 + + + + + 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."> +can be unloaded or shut down. @@ -26632,8 +23615,8 @@ can be unloaded or shut down."> - - + + - - + + - - + + - - + + - - + + + + + glib:get-type="gtk_icon_info_get_type" + c:symbol-prefix="icon_info"> + 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 + + 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 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 @@ -26717,45 +23737,80 @@ 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." - version="2.4"> +size is known for the icon. - + the base size, or 0, if no base + + + 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 + + + + + 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 + + + + + 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. + + + + + 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." - version="2.4"> +GTK+ and should not be modified or freed. + the filename for the icon, or %NULL - - - - - + 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 @@ -26766,20 +23821,99 @@ 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." - version="2.4" - throws="1"> +created icon 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 + + Loads an icon, modifying it to match the system colours for the foreground, +success, warning and error colors provided. If the icon is not a symbolic +one, the function will return the result from gtk_icon_info_load_icon(). +This allows loading symbolic icons that will match the system theme. +Unless you are implementing a widget, you will want to use +g_themed_icon_new_with_default_fallbacks() to load the icon. +As implementation details, the icon loaded needs to be of SVG type, +contain the "symbolic" term as the last component of the icon name, +and use the 'fg', 'success', 'warning' and 'error' CSS styles in the +SVG file itself. +See the <ulink url="http://www.freedesktop.org/wiki/SymbolicIcons">Symbolic Icons spec</ulink> +for more information about symbolic icons. + + a #GdkPixbuf representing the loaded icon + + + + + a #GdkColor representing the foreground color of the icon + + + + a #GdkColor representing the warning color of the icon or %NULL to use the default color + + + + a #GdkColor representing the warning color of the icon or %NULL to use the default color + + + + a #GdkColor representing the error color of the icon or %NULL to use the default color (allow-none) + + + + a #gboolean, returns whether the loaded icon was a symbolic one and whether the @fg color was applied to it. + + + + + + Loads an icon, modifying it to match the system colours for the foreground, +success, warning and error colors provided. If the icon is not a symbolic +one, the function will return the result from gtk_icon_info_load_icon(). +This allows loading symbolic icons that will match the system theme. +See gtk_icon_info_load_symbolic() for more details. + + a #GdkPixbuf representing the loaded icon + + + + + a #GtkStyle to take the colors from + + + + the widget state to use for colors + + + + a #gboolean, returns whether the loaded icon was a symbolic one and whether the @fg color was applied to it. + + + + + 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(). @@ -26788,94 +23922,25 @@ 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'. +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." - version="2.4"> +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. + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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 +using #GtkIconSet directly. The one case where you'd use #GtkIconSet is to create application-specific icon sets to place in -a #GtkIconFactory."> +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."> +or make the icon look insensitive/prelighted. + a new #GtkIconSet + a #GdkPixbuf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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 @@ -27009,49 +24008,112 @@ 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 +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 +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."> +default icon source based on the given pixbuf. + a #GtkIconSource - + + Copies @icon_set by value. + + a new #GtkIconSet identical to the first. + + + + + Obtains a list of icon sizes this icon set can render. The returned +array must be freed with g_free(). - - + caller-allocates="0" + transfer-ownership="full"> + return location for array of sizes + + - - + + location to store number of elements in returned array + + + Increments the reference count on @icon_set. + + @icon_set. + + + + + 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. + + + + + + Decrements the reference count on @icon_set, and frees memory +if the reference count reaches 0. + + + + - + + 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, +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 +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 @@ -27111,39 +24173,161 @@ 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 +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."> +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. - + + 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 + + + + + Gets the value set by gtk_icon_source_set_direction_wildcarded(). + + %TRUE if this icon source is a base for any text direction variant + + + + + 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 + + + + + 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. + + + + + Gets the value set by gtk_icon_source_set_size_wildcarded(). + + %TRUE if this icon source is a base for any icon size variant + + + + + 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 + + + + + Gets the value set by gtk_icon_source_set_state_wildcarded(). + + %TRUE if this icon source is a base for any widget state 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 + + + + + + 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 + + + + + + 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 @@ -27159,73 +24343,78 @@ icon variants for #GtkIconSet. The filename must be absolute."> - + + Sets a pixbuf to use as a base image when creating icon variants +for #GtkIconSet. + pixbuf to use as a source - + + 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 + + + - - - - - - - - - - - + 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."> +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 + + + + + + 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 + + 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 @@ -27235,173 +24424,85 @@ 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."> +that match exactly. - + %TRUE to wildcard the widget state + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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() +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." - version="2.4"> +a new icon theme object for scratch. + the newly created #GtkIconTheme object. + + 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. + + + + + 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." - version="2.4"> - +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 @@ -27411,253 +24512,185 @@ 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." - version="2.4"> - +is open. Do not ref or unref it. + + A unique #GtkIconTheme associated with + a #GdkScreen - - - - - - - - - - - - - - - - - + Appends a directory to the search path. +See gtk_icon_theme_set_search_path(). - - + + directory name to append to the icon path + - - - + + 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 + + + + + + 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. + + + + + 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 + + Gets the current search path. See gtk_icon_theme_set_search_path(). - + allow-none="1"> + 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 + + Checks whether an icon theme includes an icon for a particular name. -icon for @icon_name." - version="2.4"> +icon for @icon_name. - + %TRUE if @icon_theme includes an + + the name of an icon - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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 + + + + + + + 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. - - - - - - + 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(). @@ -27668,111 +24701,174 @@ 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." - version="2.4" - throws="1"> +newly created icon 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 + 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()" - version="2.14"> +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 - - - - - + 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 + + + + + + Prepends a directory to the search path. +See gtk_icon_theme_set_search_path(). + + + + + + directory name to prepend to the icon path - - - - - - - - - - - - + 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." - version="2.4"> +to be reloaded. - + %TRUE if the icon theme has changed and needed + + + 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 + + + + + + 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. + + + + @@ -27780,8 +24876,8 @@ to be reloaded." - - + + @@ -27792,7 +24888,7 @@ to be reloaded." - + @@ -27805,11 +24901,11 @@ to be reloaded." + Error codes for GtkIconTheme operations. - + - - - + + + Creates a new #GtkIconView widget + + A newly created #GtkIconView widget + - - + version="2.6 "> + Creates a new #GtkIconView widget with the model @model. + + A newly created #GtkIconView widget. + + The model. - + + 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 + - + + 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 + - - - - - - + + 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 + - - - - - - + + 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 + + Returns the value of the ::column-spacing property. - + the space between columns + - + Returns the value of the ::columns property. + + the number of columns, or -1 + + + + + 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 + + + + + + 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 + + + + + + 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 + + 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." - version="2.8"> +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 - + + Gets the column in which the item @path is currently +displayed. Column numbers start at 0. - + The column in which the item is displayed + - - - - - + + the #GtkTreePath of the item + - + Returns the value of the ::item-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 ::item-padding property. + + the padding around items + + + + + Gets the row in which the item @path is currently +displayed. Row numbers start at 0. + + The row in which the item is displayed + - - - - - + + the #GtkTreePath of the item + - + Returns the value of the ::item-width property. - + the width of a single item, or -1 + - - - - - - + Returns the value of the ::margin property. + + the space at the borders + + + + + Returns the column with markup text for @icon_view. + + the markup column, or -1 if it's unset. + + + + + Returns the model the #GtkIconView is based on. Returns %NULL if the +model is unset. +currently being used. + + A #GtkTreeModel, or %NULL if none is + + + + + 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 + - + Returns the column with pixbufs for @icon_view. - + the pixbuf column, or -1 if it's unset. + - - - - - - + + 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. + + + + + Returns the value of the ::row-spacing property. + + the space between rows + - - - - - + 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(). @@ -28295,380 +25314,51 @@ To free the return value, use: |[ g_list_foreach (list, (GFunc)gtk_tree_path_free, NULL); g_list_free (list); -]|" - version="2.6"> - +]| + + A #GList containing a #GtkTreePath for each selected row. - + Gets the selection mode of the @icon_view. + + the current selection mode + + + + + Returns the value of the ::spacing property. - + the space between cells + - + Returns the column with text for @icon_view. - + the text column, or -1 if it's unset. + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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. @@ -28676,206 +25366,716 @@ 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." - version="2.12"> +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 + + direction="out" + caller-allocates="0" + transfer-ownership="full" + allow-none="1"> + a pointer to receive a #GtkTreeModel or %NULL + direction="out" + caller-allocates="0" + transfer-ownership="full" + allow-none="1"> + a pointer to receive a #GtkTreePath or %NULL + allow-none="1"> + a pointer to receive a #GtkTreeIter 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 + + + + + + Activates the item determined by @path. + + + + + + The #GtkTreePath to be activated + + + + + + 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. + + + + + + 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. + + + + + + Selects all the icons. @icon_view must has its selection mode set +to #GTK_SELECTION_MULTIPLE. + + + + + + Selects the row at @path. + + + + + + The #GtkTreePath to be selected. + + + + + + Calls a function for each selected icon. Note that the model or +selection cannot be modified from within this function. + + + + + + The function to call for each selected icon. + + + + User data to pass to the function. + + + + + + Sets the ::column-spacing property which specifies the space +which is inserted between the columns of the icon view. + + + + + + the column spacing + + + + + + 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 + + + + + + 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. + + + + + + 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 + + + + + + Sets the ::item-orientation property which determines whether the labels +are drawn beside the icons instead of below. + + + + + + the relative position of texts and icons + + + + + + Sets the #GtkIconView:item-padding property which specifies the padding +around each of the icon view's items. + + + + + + the item padding + + + + + + 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 + + + + + + Sets the ::margin property which specifies the space +which is inserted at the top, bottom, left and right +of the icon view. + + + + + + the margin + + + + + + 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 + - + + 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. + + + + + + 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 + + + + + + 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. + + + + + + Sets the ::row-spacing property which specifies the space +which is inserted between the rows of the icon view. + + + + + + the row spacing + + + + + + Sets the selection mode of the @icon_view. + + + + + + The selection mode + + + + + + 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 + + + + + + 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 + + + + + + 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 + + + + + + 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 + + + + + + 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 + + + + + + Unselects all the icons. + + + + + + Unselects the row at @path. + + + + + + The #GtkTreePath to be unselected. + + + + + + Undoes the effect of gtk_icon_view_enable_model_drag_dest(). Calling this +method sets #GtkIconView:reorderable to %FALSE. + + + + + + Undoes the effect of gtk_icon_view_enable_model_drag_source(). Calling this +method sets #GtkIconView:reorderable to %FALSE. + + - + transfer-ownership="none"> + 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."> - +be chosen automatically to fill the available area. + + + + The item-orientation property specifies how the cells (i.e. the icon and +the text) of the item are positioned relative to each other. + - + transfer-ownership="none"> + The item-padding property specifies the padding around each +of the icon view's item. + - + transfer-ownership="none"> + 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. + - + transfer-ownership="none"> + 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."> - +If both are set to -1, no texts are displayed. + - - - - - + + + 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."> - +display of pixbufs. + - + transfer-ownership="none"> + The reorderable property specifies if the items can be reordered +by DND. + - + transfer-ownership="none"> + 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."> - +is enabled, for the other modes, only keyboard selection is possible. + - + transfer-ownership="none"> + The spacing property specifies the space which is inserted between +the cells (i.e. the icon and the text) of an item. + - + transfer-ownership="none"> + 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 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."> - - +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 @@ -28884,87 +26084,89 @@ 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> +<listitem>PageUp/PageDown which move by "pages"</listitem> </itemizedlist> All of these will extend the selection when combined with -the Shift modifier."> - - +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."> - - +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."> - - +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 +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."> - - +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."> - - +The default binding for this signal is Ctrl-Shift-a. + + @@ -28975,8 +26177,7 @@ The default binding for this signal is Ctrl-Shift-a."> - + @@ -28994,7 +26195,7 @@ The default binding for this signal is Ctrl-Shift-a."> - + @@ -29009,7 +26210,7 @@ The default binding for this signal is Ctrl-Shift-a."> - + @@ -29021,7 +26222,7 @@ The default binding for this signal is Ctrl-Shift-a."> - + @@ -29033,7 +26234,7 @@ The default binding for this signal is Ctrl-Shift-a."> - + @@ -29045,7 +26246,7 @@ The default binding for this signal is Ctrl-Shift-a."> - + @@ -29057,7 +26258,7 @@ The default binding for this signal is Ctrl-Shift-a."> - + @@ -29069,9 +26270,9 @@ The default binding for this signal is Ctrl-Shift-a."> - + - + @@ -29081,15 +26282,15 @@ The default binding for this signal is Ctrl-Shift-a."> - + - + - + @@ -29103,6 +26304,7 @@ The default binding for this signal is Ctrl-Shift-a."> glib:type-name="GtkIconViewDropPosition" glib:get-type="gtk_icon_view_drop_position_get_type" c:type="GtkIconViewDropPosition"> + An enum for determining where a dropped item goes. glib:nick="drop-below"/> + A function used by gtk_icon_view_selected_foreach() to map all +selected rows. It will be called on every selected row in the view. + a #GtkIconView + The #GtkTreePath of a selected row - + user data + - + + 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 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 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. @@ -29227,663 +26407,543 @@ 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."> - - +displaying the file. + + a new #GtkImage + + a filename - - - + + 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 + - - - + + 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 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 +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."> - - +#GtkImage will add its own reference rather than adopting yours. + + a new #GtkImage + + a #GtkIconSet - - + + a stock icon size + - + Creates a new #GtkImage displaying @pixbuf. The #GtkImage does not assume a reference to the -animation; you still need to unref it if you own references. +pixbuf; 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."> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +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 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 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 + - - + + + Resets the image to be empty. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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 image is empty + + the displayed animation, or %NULL if - - - - - - - - - - - - - + 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." - version="2.14"> +returned #GIcon. + allow-none="1"> + place to store a #GIcon, or %NULL - + allow-none="1"> + place to store an icon size, or %NULL + + + 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 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 #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 pixel size used for named icons. - + the pixel size used for named icons. + - + + 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 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 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 + + + + + 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_file() for details. + + + + + + a filename or %NULL + + + + + + See gtk_image_new_from_gicon() for details. + + + + + + an icon + + + + an icon size + + + + + + See gtk_image_new_from_icon_name() for details. + + + + + + an icon name + + + + an icon size + + + + + + See gtk_image_new_from_icon_set() for details. + + + + + + a #GtkIconSet + + + + a stock icon size + + + + + + See gtk_image_new_from_pixbuf() for details. + + + + + + a #GdkPixbuf or %NULL + + + + + + See gtk_image_new_from_pixmap() for details. + + + + + + a #GdkPixmap or %NULL + + + + a #GdkBitmap or %NULL + + + + + + See gtk_image_new_from_stock() for details. + + + + + + a stock icon name + + + + a stock 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 + + + + + + + The GIcon displayed in the GtkImage. For themed icons, If the icon theme is changed, the image will be updated -automatically."> - +automatically. + - + transfer-ownership="none"> + The name of the icon in the icon theme. If the icon theme is +changed, the image will be updated automatically. + - - + + - - + + - - + + - - + + - - - - - + + - + transfer-ownership="none"> + 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. + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -29895,7 +26955,7 @@ overriding the #GtkImage:icon-size property for images of type c:type="GdkPixbufAnimationIter*"/> - + - - + + - - + + - - + + - - + + @@ -29941,7 +27001,7 @@ overriding the #GtkImage:icon-size property for images of type - + @@ -29952,7 +27012,7 @@ overriding the #GtkImage:icon-size property for images of type - + @@ -29960,102 +27020,148 @@ overriding the #GtkImage:icon-size property for images of type - - - - + - + - - - + + + Creates a new #GtkImageMenuItem with an empty label. + + a new #GtkImageMenuItem. + - - - - - - - - - - - - - - - - - - - - + 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."> - - +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. + + 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 + + + + + + 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 + + + + + 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 + + + + + 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." - version="2.16"> +without the image. - + %TRUE if the menuitem should always show the image + - - - - - @@ -30066,53 +27172,18 @@ setting and always show the image, if available." - - - - - + 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 + @@ -30120,35 +27191,38 @@ you shouldnt need this (see gtk_image_menu_item_new_from_stock())." version="2.16" readable="0" writable="1" - doc="The Accel Group to use for stock accelerator keys"> - + transfer-ownership="none"> + 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."> - +without the image. + - - + + - + transfer-ownership="none"> + If %TRUE, the label set in the menuitem is used as a +stock id to select the stock item for the item. + - - + + + + @@ -30168,24 +27246,24 @@ 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." - glib:type-name="GtkImageType" - glib:get-type="gtk_image_type_get_type" - c:type="GtkImageType"> +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."> - - +the "response" signal with the corresponding response ID. + + a new #GtkInfoBar + + allow-none="1"> + stock ID or text to go in first button, or %NULL @@ -30266,74 +27342,64 @@ the "response" signal with the corresponding response ID."> - - - - - - - - - - + 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." - version="2.18"> +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." - version="2.18"> +text and response ID. + button text or stock ID @@ -30342,122 +27408,146 @@ text and response ID." - + Returns the action area of @info_bar. + + the action area + + + + + Returns the content area of @info_bar. + + the content area + + + + + Returns the message type of the message area. + + the message type of the message area. + + + + + Emits the 'response' signal with the given @response_id. - - - - + a response ID + + 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. +Pressing "Enter" normally activates the default widget. Note that this function currently requires @info_bar to -be added to a widget hierarchy." - version="2.18"> +be added to a widget hierarchy. - - - - - - - - - - - + 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 - - - + 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 + + + + 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". +"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."> - +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." - version="2.18"> - - +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." - version="2.18"> - - +widget was clicked. + + - - + + the response ID + @@ -30469,7 +27559,7 @@ widget was clicked." - + @@ -30478,13 +27568,13 @@ widget was clicked." - + - + @@ -30495,183 +27585,53 @@ widget was clicked." - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - + + + 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. + + Returns the #GdkScreen object associated with @invisible + + the associated #GdkScreen. + + + + Sets the #GdkScreen where the #GtkInvisible object will be displayed. + a #GdkScreen. - - - - - - - + + - - - - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + @@ -31528,11 +27765,12 @@ Creates the menu items from the @entries." - + - - - + + + 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 +'__' (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."> - - +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 - + + Gets the angle of rotation for the label. See +gtk_label_set_angle(). + + the angle of rotation for the label + + + + + 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. + + + + + 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 + + + + + Returns the ellipsizing position of the label. See gtk_label_set_ellipsize(). + + #PangoEllipsizeMode + + + + + Returns the justification of the label. See gtk_label_set_justify(). + + #GtkJustification + + + + + 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 + + + + + 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 + - + 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. + + + + + 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. + + + + + Retrieves the desired maximum width of @label, in characters. See +gtk_label_set_width_chars(). + + the maximum width of the label in characters. + + + + + 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 + + + + + Retrieves the target of the mnemonic (keyboard shortcut) of this +label. See gtk_label_set_mnemonic_widget(). +or %NULL if none has been set and the default algorithm will be used. + + the target of the label's mnemonic, + + + + + Gets the value set by gtk_label_set_selectable(). + + %TRUE if the user can copy text from the label + + + + + 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 + + + + + + Returns whether the label is in single line mode. + + %TRUE when the label is in single line mode. + + + + + 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."> +string used by the label, and must not be modified. + the text in the label widget. This is the internal - + Returns whether the label is currently keeping track +of clicked links. + + %TRUE if clicked links are remembered + + + + + 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. + + + + + 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 + + + + + Retrieves the desired width of @label, in characters. See +gtk_label_set_width_chars(). + + the width of the label in characters. + + + + + 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) + + + + + + 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 + + + + + + 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>"> +to the label after the markup string is parsed.</para></note> + a #PangoAttrList - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + if there is not enough space to render the entire string. + a #PangoEllipsizeMode - - - - - - + + 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 + - + + 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 + + + + + + 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 + + + + + + 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 + + + + + + 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>) + + + + + + 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>) + + + + Sets the desired maximum width in characters of @label to @n_chars. - + the new desired maximum width, in characters. + - + + 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 + + + @@ -31901,463 +28271,280 @@ gtk_label_set_width_chars()." - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + Selectable labels allow the user to select text from the label, for +copy-and-paste. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + %TRUE to allow selecting text in the label + + Sets whether the label is in single line mode. - + %TRUE if the label should be in single line mode + - - - - - - - - - - - - - - - - - - - - - - - - - - + + 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 + - + + 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 whether the label should keep track of clicked +links (and use a different color for them). + + + + + + %TRUE to track visited links + + + + + + 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. + + + + + + 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 + + + + + + Sets the desired width in characters of @label to @n_chars. + + + + + + the new desired width, in characters. + + + + + 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."> - +if the label is selectable, wrapped, or ellipsized. + - - + + - - + + - + transfer-ownership="none"> + 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(). + - - + + - - + + - + transfer-ownership="none"> + The desired maximum width of the label, in characters. If this property +is set to -1, the width will be calculated automatically. +See the section on <link linkend="label-text-layout">text layout</link> +for details of how #GtkLabel:width-chars and #GtkLabel:max-width-chars +determine the width of ellipsized and wrapped labels. + - - + + - - + + - - + + - - + + - - + + + 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."> - +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."> - +color, instead of ::link-color. + - - + + - - + + - + transfer-ownership="none"> + The desired width of the label, in characters. If this property is set to +-1, the width will be calculated automatically. +See the section on <link linkend="label-text-layout">text layout</link> +for details of how #GtkLabel:width-chars and #GtkLabel:max-width-chars +determine the width of ellipsized and wrapped labels. + - - + + - + transfer-ownership="none"> + 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." - version="2.18"> - - +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()." - version="2.18"> - - +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 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. @@ -32372,34 +28559,38 @@ There are too many key combinations to list them all here. <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>"> - - +</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."> - - +to this signal and append your menuitems to the @menu. + + - - + + the menu that is being populated + @@ -32411,7 +28602,7 @@ to this signal and append your menuitems to the @menu."> - + @@ -32423,16 +28614,16 @@ to this signal and append your menuitems to the @menu."> - + - + - + @@ -32444,7 +28635,7 @@ to this signal and append your menuitems to the @menu."> - + @@ -32459,9 +28650,9 @@ to this signal and append your menuitems to the @menu."> - + - + @@ -32473,31 +28664,36 @@ to this signal and append your menuitems to the @menu."> - - + + - - + + - - + + - + + + glib:type-struct="LayoutClass"> - - - + + + 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 + + allow-none="1"> + horizontal scroll adjustment, or %NULL + allow-none="1"> + vertical scroll adjustment, or %NULL - + Retrieve the bin window of the layout used for drawing operations. + + a #GdkWindow - + + 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 + + + + + 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 vertical scrollbar and @layout. +See #GtkScrolledWindow, #GtkScrollbar, #GtkAdjustment for details. + + vertical scroll adjustment + + + + + 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 + - + + Adds @child_widget to @layout, at position (@x,@y). + child widget - + X position of child widget + - + Y position of child widget + - + + Sets the horizontal scroll adjustment for the layout. +See #GtkScrolledWindow, #GtkScrollbar, #GtkAdjustment for details. + + + + + + new scroll adjustment + + + + + + Sets the size of the scrollable area of the layout. - + width of entire scrollable area + - + height of entire scrollable area + - - - - - - - - - - - - - - - - - - - - - - - - + + Sets the vertical scroll adjustment for the layout. +See #GtkScrolledWindow, #GtkScrollbar, #GtkAdjustment for details. + allow-none="1"> + new scroll adjustment - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - + - + @@ -32745,8 +28898,7 @@ See #GtkScrolledWindow, #GtkScrollbar, #GtkAdjustment for details."> - + @@ -32763,165 +28915,183 @@ See #GtkScrolledWindow, #GtkScrollbar, #GtkAdjustment for details."> - - + + - - + + - - + + - - + + + + + + The type of license for an application. +This enumeration can be expanded at later date. + + + + + + + + + + - + + - - + 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 - - - - - - - - - - - - - - - - + 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 + + 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 @uri as the URI where the #GtkLinkButton points. As a side-effect +this unsets the 'visited' state of the button. + a valid URI - - - - - + Sets the 'visited' state of the URI where the #GtkLinkButton +points. See gtk_link_button_get_visited() for more details. - + the new 'visited' state + - - + + - - + + @@ -32936,675 +29106,41 @@ points. See gtk_link_button_get_visited() for more details." - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + 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."> +int, string and #GdkPixbuf respectively. + a new #GtkListStore - + number of columns in the list store + @@ -33636,206 +29175,126 @@ int, string and #GdkPixbuf respectively."> - - + + 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 - - + + + 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. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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()."> +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 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()."> +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 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 + 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. +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 +<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, ...); @@ -33843,22 +29302,24 @@ 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, +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." - version="2.6"> +inserting rows in a sorted list store. + allow-none="1"> + An unset #GtkTreeIter to set to the new row, or %NULL. - + position to insert the new row + @@ -33868,158 +29329,277 @@ inserting rows in a sorted list store." + 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. + allow-none="1"> + 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 + - - - - - - - - - - - - - - - - - - - - - - - - - + <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. + 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. + + + + + + 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 + + + + + + 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 + + + + + + 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>. + + + + + + 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 referenced by the store if it is a %G_TYPE_OBJECT, and it +will be copied if it is a %G_TYPE_STRING or %G_TYPE_BOXED. + + + + + + row iterator + + + + + + + + + + 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 + + + + + + + + See gtk_list_store_set(); this version takes a va_list for use by language +bindings. + + + + + + A valid #GtkTreeIter for the row being modified + + + + va_list of column/value pairs + + + + + + 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 + + + + + + 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 + + + + + + Swaps @a and @b in @store. Note that this function only works with +unsorted stores. + + + + + + A #GtkTreeIter. + + + + Another #GtkTreeIter. @@ -34027,44 +29607,8 @@ will be moved to the end of the list." - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - - + + + + - + - + - - + + - - + + - - - - - - - - + - - + + - + 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 - + 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. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + Returns whether the menu reserves space for toggles and +icons, regardless of their actual presence. + + Whether the menu reserves toggle space + + + + + Returns whether the menu is torn off. See +gtk_menu_set_tearoff_state (). + + %TRUE if the menu is currently torn off. + + + + + 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 + + + + + + + + + + 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 +%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 @@ -34188,42 +29828,121 @@ 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."> +be used instead. + allow-none="1"> + the menu shell containing the triggering menu item, or %NULL + allow-none="1"> + the menu item whose activation triggered the popup, or %NULL + closure="3"> + 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. + + + + + + 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, +menu positioning function will position the menu at the current position +of @device (or its corresponding pointer). +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. + + + + + + a #GdkDevice + + + + 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 + + + + destroy notify for @data + + + + the mouse button which was pressed to initiate the event + + + + the time at which the activation event occurred + + + + + + + + + + + + + + @@ -34232,26 +29951,6 @@ be used instead."> - - - - - - - - - - - - - - - - - - - - @@ -34264,11 +29963,6 @@ be used instead."> - - - - - @@ -34279,34 +29973,64 @@ be used instead."> - - - - - - + - - - - - + + - + + 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 + + + - - - + + Sets whether the menu should reserve space for drawing toggles +or icons, regardless of their actual presence. + + + + + whether to reserve size for toggles + + + + + + 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. + + + @@ -34315,205 +30039,84 @@ be used instead."> - + - - - - - - + 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."> +that menu item's label. + a string containing the title for the menu. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + transfer-ownership="none"> + The accel group holding accelerators for the menu. + - + transfer-ownership="none"> + An accel path used to conveniently construct accel paths of child items. + - + transfer-ownership="none"> + 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."> - +use gtk_menu_attach_to_widget() directly. + - + transfer-ownership="none"> + 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."> - +toggle space for consistency. + - + transfer-ownership="none"> + A boolean that indicates whether the menu is torn-off. + - - + + @@ -34534,10 +30137,10 @@ toggle space for consistency."> - + - + @@ -34561,59 +30164,60 @@ toggle space for consistency."> - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + glib:type-struct="MenuBarClass"> + - - + + - - + Retrieves the current child pack direction of the menubar. +See gtk_menu_bar_set_child_pack_direction(). + + the child pack direction - + Retrieves the current pack direction of the menubar. +See gtk_menu_bar_set_pack_direction(). - - - - - - - - - - + the pack direction + Sets how widgets should be packed inside the children of a menubar. + a new #GtkPackDirection + + + + + + Sets how items should be packed inside a menubar. + + + + + + a new #GtkPackDirection @@ -34673,20 +30282,25 @@ See gtk_menu_bar_set_child_pack_direction()." - + transfer-ownership="none"> + The child pack direction of the menubar. It determines how +the widgets contained in child menuitems are arranged. + - + transfer-ownership="none"> + The pack direction of the menubar. It determines how +menuitems are arranged in the menubar. + + + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - + + - - + + - - + + - - + + - - + + @@ -34805,41 +30408,26 @@ menuitems are arranged in the menubar."> c:identifier="GTK_MENU_DIR_PREV" glib:nick="prev"/> - - - - - - - - - - - - - - - - - - + + - - + + - - + + @@ -34848,60 +30436,42 @@ 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."> - - +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 +string used by the label, and must not be modified. + + The text in the @menu_item label. This is the internal + + + + + Sets @text on the @menu_item label + the text you want to set - - - - - - - - - - - - - - - - - - - - - + @@ -34911,59 +30481,54 @@ gtk_menu_item_set_submenu()."> - + - + - + + 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 + - - - - - - - - - - - - - - - - - - - - - - - - - + Gets whether the menu item appears justified at the right side of the menu bar. -far right if added to a menu bar."> +far right if added to a menu bar. - + %TRUE if the menu item will appear at the + + + + + Gets the submenu underneath this menu item, if any. +See gtk_menu_item_set_submenu(). + + submenu for this menu item, or %NULL if none. + + + + + 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 + + + + + + - - - - - + Sets @text on the @menu_item label + the text you want to set - + + 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. + + + + + + Sets or replaces the menu item's submenu, or removes it when a %NULL +submenu is passed. + + + + + + the submenu, or %NULL + + + + 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 + - - - - - - + + + + + + + + + + + + + + + + - + transfer-ownership="none"> + 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. + - + transfer-ownership="none"> + The text for the child label. + - + transfer-ownership="none"> + Sets whether the menu item appears justified at the right side of a menu bar. + - + transfer-ownership="none"> + The submenu attached to the menu item, or NULL if it has none. + - + transfer-ownership="none"> + %TRUE if underlines in the text indicate mnemonics + - - + + @@ -35082,62 +30670,72 @@ identified and saved to persistant storage."> - + - + - + - + - + - + - + - + - + - - + + - - + + + + + + + + + + + + - - + + - + - - + + - + @@ -35146,13 +30744,13 @@ identified and saved to persistant storage."> c:type="GtkMenuItemClass" glib:is-gtype-struct-for="MenuItem"> - + - + - + @@ -35164,7 +30762,7 @@ identified and saved to persistant storage."> - + @@ -35176,7 +30774,7 @@ identified and saved to persistant storage."> - + @@ -35184,16 +30782,14 @@ identified and saved to persistant storage."> - - + + - + @@ -35202,13 +30798,13 @@ identified and saved to persistant storage."> - + - + @@ -35217,14 +30813,16 @@ identified and saved to persistant storage."> + the text you want to set - + + The text in the @menu_item label. This is the internal @@ -35234,15 +30832,53 @@ identified and saved to persistant storage."> - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + + + @@ -35257,21 +30893,22 @@ identified and saved to persistant storage."> - - + + - - + + - - + + - + glib:type-struct="MenuShellClass"> - + + - + - - - - - @@ -35299,15 +30932,33 @@ identified and saved to persistant storage."> - + - + - + + + + + + + + + + + + + + + + + + + @@ -35318,6 +30969,44 @@ identified and saved to persistant storage."> + + 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. + + + + + + + + + + + + + + + + @@ -35328,24 +31017,22 @@ identified and saved to persistant storage."> - + + 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. + - - - - - @@ -35356,102 +31043,53 @@ identified and saved to persistant storage."> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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 +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 +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()" - version="2.8"> +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()."> - +gtk_menu_shell_get_take_focus(). + - + + + @@ -35460,88 +31098,89 @@ 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 + - - + + @@ -35552,10 +31191,10 @@ another item." - + - + @@ -35567,7 +31206,7 @@ another item." - + @@ -35579,7 +31218,7 @@ another item." - + @@ -35594,7 +31233,7 @@ another item." - + @@ -35603,13 +31242,13 @@ another item." - + - + @@ -35621,7 +31260,7 @@ another item." - + @@ -35636,7 +31275,7 @@ another item." - + @@ -35648,15 +31287,15 @@ another item." - + - + - + @@ -35666,29 +31305,29 @@ another item." - + - + - + - - + + - - + + @@ -35696,135 +31335,113 @@ another item." - + + - - + Creates a new #GtkMenuToolButton using @icon_widget as icon and + + the new #GtkMenuToolButton + + allow-none="1"> + 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 - - - - - - - - - - - + Gets the #GtkMenu associated with #GtkMenuToolButton. +with #GtkMenuToolButton + + the #GtkMenu associated - + + 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_text() for setting a +tooltip on the whole #GtkMenuToolButton. - - - - - - - + + markup text to be used as tooltip text for button's arrow button + Sets the tooltip text to be used as tooltip for the arrow button which +pops up the menu. See gtk_tool_item_set_tooltip_text() for setting a tooltip +on the whole #GtkMenuToolButton. + text to be used as tooltip text for button's arrow button - + + 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 + - - + + @@ -35832,15 +31449,15 @@ tooltip on the whole #GtkMenuToolButton." - + 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."> - - +since the arrow is made insensitive if the menu is not set. + + @@ -35851,7 +31468,7 @@ since the arrow is made insensitive if the menu is not set."> - + @@ -35862,38 +31479,41 @@ since the arrow is made insensitive if the menu is not set."> - - + + - - + + - - + + - - + + - + glib:type-struct="MessageDialogClass"> + + 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" +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."> - - +#GtkDialog for more details. + + a new #GtkMessageDialog + - + + transient parent, or %NULL for none + flags + type of message + set of buttons to use + allow-none="1"> + printf()-style format string, or %NULL @@ -35941,10 +31565,12 @@ signal is emitted with response IDs from #GtkResponseType. See + 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 +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. @@ -35952,8 +31578,8 @@ function will automatically be escaped as necessary. 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 +instead, since you can't pass the markup string either +as the format (it might contain '%' characters) or as a string argument. |[ GtkWidget *dialog; @@ -35964,31 +31590,32 @@ GTK_BUTTONS_CLOSE, NULL); gtk_message_dialog_set_markup (GTK_MESSAGE_DIALOG (dialog), markup); -]|" - version="2.4"> - - +]| + + a new #GtkMessageDialog + - + + transient parent, or %NULL for none + flags + type of message + set of buttons to use + allow-none="1"> + printf()-style format string, or %NULL @@ -35997,91 +31624,31 @@ markup); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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 +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); +gtk_message_dialog_format_secondary_markup (message_dialog, "&percnt;s", msg); g_free (msg); -</programlisting></informalexample>" - version="2.6"> +</programlisting></informalexample> - + + printf()-style markup string (see @@ -36090,58 +31657,146 @@ g_free (msg); - - + + 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 + + + + + + + + + + Gets the dialog's image. + + the dialog's image + + + + + Returns the message area of the dialog. This is the box where the +dialog's primary and secondary labels are packed. You can add your +own extra content to that box and it will appear below those labels, +on the right side of the dialog's image (or on the left for right-to-left +languages). See gtk_dialog_get_content_area() for the corresponding +function in the parent #GtkDialog. +"message area" in the @message_dialog. + + A #GtkVBox corresponding to the + + + + + Sets the dialog's image to @image. + + + + + + the 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>) + + + + + + - + transfer-ownership="none"> + The image for this dialog. + + + + - + transfer-ownership="none"> + 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. + - + transfer-ownership="none"> + The secondary text of the message dialog. + - + transfer-ownership="none"> + %TRUE if the secondary text of the dialog includes Pango markup. +See pango_parse_markup(). + - + transfer-ownership="none"> + The primary text of the message dialog. If the dialog has +a secondary text, this will appear as the title. + - + transfer-ownership="none"> + %TRUE if the primary text of the dialog includes Pango markup. +See pango_parse_markup(). + - - - - - + + - - + + - - + + - - + + - - + + + + + The type of message being displayed in the dialog. glib:nick="centimeters"/> glib:type-struct="MiscClass"> + + + 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 + + + + - + - - - - - - - - - - - - - - + @@ -36273,63 +31945,30 @@ See gtk_misc_set_alignment()."> - + - + - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - - - - - - - - - - - + + + + @@ -36354,8 +31995,8 @@ See gtk_misc_set_padding()."> - - + + @@ -36363,92 +32004,94 @@ See gtk_misc_set_padding()."> + 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 + + Gets the transient parent used by the #GtkMountOperation + + the transient parent for windows shown by @op + + + + + Gets the screen on which windows of the #GtkMountOperation +will be shown. + + the screen on which windows of @op are shown + + + + 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 - - - - - + Sets the screen to show windows of the #GtkMountOperation on. + a #GdkScreen - - - - - - - + + - - + + - - + + @@ -36463,36 +32106,38 @@ will be shown." - - + + - - + + - - + + - - + + - + - - - + + + Creates a new #GtkNotebook widget with no pages. + + the newly created #GtkNotebook + - - - - - - - - - - - - - - - - - + @@ -36600,728 +32216,568 @@ when a detached tab is dropped in an empty area." - + - - - + + 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"> - - +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'. + allow-none="1"> + 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. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + Gets one of the action widgets. See gtk_notebook_set_action_widget(). +or %NULL when this action widget has not been set - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + The action widget with the given @pack_type - - + + pack type of the action widget to receive + + + + + + 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 + + + + + Gets the current group name for @notebook. +or %NULL if none is set. + + the group name, + + + + + 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 + + + + + + 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. + + Gets the number of pages in a notebook. - + the number of pages in the notebook. + - + + 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. + + + + + + Returns whether the tab label area has arrows for scrolling. See +gtk_notebook_set_scrollable(). + + %TRUE if arrows for scrolling are present + + + + + Returns whether a bevel will be drawn around the notebook pages. See +gtk_notebook_set_show_border(). + + %TRUE if the bevel is drawn + + + + + Returns whether the tabs of the notebook are shown. See +gtk_notebook_set_show_tabs(). + + %TRUE if the tabs are shown + + + + + Returns whether the tab contents can be detached from @notebook. + + TRUE if the tab is detachable. + + a child #GtkWidget - + + Returns the horizontal width of a tab border. + + horizontal width of a tab border + + + + + 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 + + + + + + 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 + + + + + + Gets the edge at which the tabs for switching pages in the +notebook are drawn. + + the edge at which the tabs are drawn + + + + + Gets whether the tab can be reordered via drag and drop or not. + + %TRUE if the tab is reorderable. + + + + + a child #GtkWidget + + + + + + Returns the vertical width of a tab border. + + vertical width of a tab border + + + + + 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. + + + + + + Switches to the next page. Nothing happens if the current page is +the last page. + + + + + + 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 + + + + + + Disables the popup menu. + + + + + + the tab labels, a menu with all the pages will be popped up. + + + + + + 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. + + + + + + Switches to the previous page. Nothing happens if the current page +is the first page. + + + + + + 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. + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + 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 + - + + 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 + + + + + + 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. + + + + + + Sets a group name for @notebook. +Notebooks with the same name will be able to exchange tabs +via drag and drop. A notebook with a %NULL group name will +not be able to exchange tabs with any other notebook. + + + + + - - - - - - - - - - - - - - - - - - - - - + + Changes the menu label for the page containing @child. + the child widget + allow-none="1"> + the menu label, or NULL for default + c:identifier="gtk_notebook_set_menu_label_text"> + Creates a new label and sets it as the menu label of @child. + the child widget + the label text - - - - - - - - - - - + + 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 + - + + 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. + - + + Sets whether to show the tabs for the notebook or not. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + %TRUE if the tabs should be shown. + + 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 +(see gtk_notebook_set_group()) to allow automatic tabs interchange between them. If you want a widget to interact with a notebook through DnD -destination and accept the target "GTK_NOTEBOOK_TAB". The notebook +(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. |[ @@ -37344,308 +32800,260 @@ 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." - version="2.10"> +you will have to set your own DnD code to do it. + a child #GtkWidget - + whether the tab is detachable or not + - - - - - - - - - - - + + 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 + + + + + + Sets the edge at which the tabs for switching pages in the +notebook are drawn. + + + + + + the edge to draw the tabs at. + + + + + + Sets whether the notebook tab can be reordered +via drag and drop or not. + + + + + + a child #GtkWidget + + + + whether the tab is reorderable or not. + + + + + + - - + transfer-ownership="none"> + Group name for tab 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 ). + + 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 + - - + + - + - + - - + + - + - - + + - + - + @@ -37657,7 +33065,7 @@ right after a page has been reordered." - + @@ -37666,33 +33074,33 @@ right after a page has been reordered." - + - + - + - + - + - + - + @@ -37705,22 +33113,22 @@ right after a page has been reordered." - + - + - + - + @@ -37735,9 +33143,9 @@ right after a page has been reordered." - + - + @@ -37747,15 +33155,15 @@ right after a page has been reordered." - + - + - + @@ -37771,14 +33179,14 @@ right after a page has been reordered." - + - - - + + + @@ -37789,23 +33197,23 @@ right after a page has been reordered." - + - + - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + Emits the #GtkObject::destroy signal notifying all reference holders that they should +release the #GtkObject. See the overview documentation at the top of the +page for more details. +The memory for the object itself won't be deleted until +its reference count actually drops to 0; gtk_object_destroy() merely asks +reference holders to release their references, it does not free the object. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + Signals that all holders of a reference to the #GtkObject should release +the reference that they hold. May result in finalization of the object +if all references are released. + + @@ -38188,44 +33306,8 @@ right after a page has been reordered." - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -38238,17 +33320,17 @@ right after a page has been reordered." + Tells about the state of the object. +store flags. - + + 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." - version="2.20"> - - +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 #GdkPixbuf. This is a new pixbuf with a reference count of 1, and the application should unreference it once it is no longer -needed." - version="2.20"> +needed. + A #GdkPixbuf pointer, or %NULL. + + 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. +or %NULL. + + A #GdkPixmap pointer to the offscreen pixmap, + + + @@ -38309,656 +33397,41 @@ needed." - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + Retrieves the orientation of the @orientable. + + the orientation of the @orientable. + + + + Sets the orientation of the @orientable. + the orientable's new orientation. - - - - - - + transfer-ownership="none"> + 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 + allow-none="1"> + 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 bottom margin in units of @unit. - + the bottom margin + - - - - - - - - - - - - - + the unit for the return value + Gets the left margin in units of @unit. - + the left margin + + the unit for the return value - + Gets the page orientation of the #GtkPageSetup. - + the page orientation + - - - - - - - - - + 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 + 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 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 + + + + + + Gets the paper size of the #GtkPageSetup. + + the paper size + + + + + 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 + + + + + + Gets the right margin in units of @unit. + + the right margin + + + + + the unit for the return value + + + + + + Gets the top margin in units of @unit. + + the top margin + + + + + 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 + Reads the page setup from the group @group_name in the key file - + %TRUE on success + + the #GKeyFile to retrieve the page_setup from + allow-none="1"> + the name of the group in the key_file to read, or %NULL to use the default name "Page Setup" + + Sets the bottom margin of the #GtkPageSetup. + + + + + + the new bottom margin in units of @unit + + + + the units for @margin + + + + + + Sets the left margin of the #GtkPageSetup. + + + + + + the new left margin in units of @unit + + + + the units for @margin + + + + + + Sets the page orientation of the #GtkPageSetup. + + + + + + a #GtkPageOrientation value + + + + + + Sets the paper size of the #GtkPageSetup without +changing the margins. See +gtk_page_setup_set_paper_size_and_default_margins(). + + + + + + a #GtkPaperSize + + + + + + Sets the paper size of the #GtkPageSetup and modifies +the margins according to the new paper size. + + + + + + a #GtkPaperSize + + + + + + Sets the right margin of the #GtkPageSetup. + + + + + + the new right margin in units of @unit + + + + the units for @margin + + + + + + Sets the top margin of the #GtkPageSetup. + + + + + + the new top margin in units of @unit + + + + the units for @margin + + + + + + This function saves the information from @setup to @file_name. + + %TRUE on success + + + + + the file to save to + + + + + 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" @@ -39567,20 +34074,34 @@ This function adds the page setup from @setup to @key_file." - + + + + Creates a new #GtkPaned widget. + + a new #GtkPaned. + + + + + the paned's orientation. + + + + @@ -39601,6 +34122,43 @@ This function adds the page setup from @setup to @key_file." + + 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. + + + + + Obtains the position of the divider between the two panes. + + position of the divider + + + @@ -39610,10 +34168,10 @@ This function adds the page setup from @setup to @key_file." - + - + @@ -39626,248 +34184,122 @@ This function adds the page setup from @setup to @key_file." - + - + - - - - - - + + Sets the position of the divider between the two panes. - + pixel position of divider, a negative value means that the position is unset. + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + 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." - version="2.0"> - - +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." - version="2.0"> - - +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." - version="2.0"> - - +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." - version="2.0"> - - +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." - version="2.0"> - - +The default binding is Tab. + + @@ -39878,24 +34310,24 @@ The default binding is Tab." - + - + - + - + - + @@ -39905,9 +34337,9 @@ The default binding is Tab." - + - + @@ -39920,24 +34352,24 @@ The default binding is Tab." - + - + - + - + - + @@ -39947,9 +34379,9 @@ The default binding is Tab." - + - + @@ -39958,307 +34390,337 @@ 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" - version="2.10"> +to free it + a new #GtkPaperSize, use gtk_paper_size_free() - + + a paper size name, or %NULL - - - - - - - - - - - - - - - - - - - + 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 - + + 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 + + + + + + Copies an existing #GtkPaperSize. + + a copy of @other - + + Free the given #GtkPaperSize object. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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 + + + + + + Gets the default top margin for the #GtkPaperSize. + + the default top margin + + + + + the unit for the return value + + + + + + Gets the human-readable name of the #GtkPaperSize. + + the human-readable name of @size + + + + + Gets the paper height of the #GtkPaperSize, in +units of @unit. + + the paper height + + + + + the unit for the return value + + + + + + Gets the name of the #GtkPaperSize. + + the 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 + + + + + + Returns %TRUE if @size is not a standard paper size. + + whether @size is a custom paper size. + + + + + Compares two #GtkPaperSize objects. +represent the same paper size + + %TRUE, if @size1 and @size2 + + + + + another #GtkPaperSize object + + + + + + 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 + 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 @@ -40310,88 +34772,8 @@ units of @unit." c:identifier="GTK_PATH_CLASS" glib:nick="class"/> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + 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 #GdkDisplay on which @socket_id is displayed + 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. - - - - - + Determines whether the plug is embedded in a socket. - + %TRUE if the plug is embedded in a socket + + + + + 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 + - + 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. + + @@ -40526,7 +34902,7 @@ instance with gtk_socket_add_id()."> - + @@ -40537,35 +34913,37 @@ instance with gtk_socket_add_id()."> - - + + - - + + - - + + - - + + + + c:identifier="GTK_POS_BOTTOM" glib:nick="bottom"/> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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 + + Obtains the cairo context that is associated with the +#GtkPrintContext. + + the cairo context 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 + + + + + + Obtains the height of the #GtkPrintContext, in pixels. + + the height of @context + + + + + Obtains the #GtkPageSetup that determines the page +dimensions of the #GtkPrintContext. + + the page setup of @context + + + + + Returns a #PangoFontMap that is suitable for use +with the #GtkPrintContext. + + the font map of @context + + + + + Obtains the width of the #GtkPrintContext, in pixels. + + the width of @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." - version="2.10"> +case. + the cairo context - + the horizontal resolution to use with @cr + - + the vertical resolution to use with @cr + @@ -41011,20 +35166,8 @@ case." c:identifier="GTK_PRINT_ERROR_INVALID_FILE" glib:nick="invalid-file"/> - - - - - - - - - - - - - + Creates a new #GtkPrintOperation. + a new #GtkPrintOperation - + 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. - - - - - - + Returns the default page setup, see +gtk_print_operation_set_default_page_setup(). + + the default page setup - + + Gets the value of #GtkPrintOperation::embed-page-setup property. + + whether page setup selection combos are embedded + + + + + Call this when the result of a print operation is +%GTK_PRINT_OPERATION_RESULT_ERROR, either as returned by +gtk_print_operation_run(), or in the #GtkPrintOperation::done signal +handler. The returned #GError will contain more details on what went wrong. - - - - - + + + Gets the value of #GtkPrintOperation::has-selection property. + + whether there is a selection + + + + + 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 + + + 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." - version="2.10"> - +gtk_print_operation_run() have been called. + + the current print settings of @op. - + 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 + - - - - - - + + Gets the value of #GtkPrintOperation::support-selection property. - + whether the application supports print of selection + - - - - - - + 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. + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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. +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 +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_signal_connect (print, "begin-print", G_CALLBACK (begin_print), &data); -g_signal_connect (print, "draw-page", +g_signal_connect (print, "draw-page", G_CALLBACK (draw_page), &data); -res = gtk_print_operation_run (print, -GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG, -parent, +res = gtk_print_operation_run (print, +GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG, +parent, &error); if (res == GTK_PRINT_OPERATION_RESULT_ERROR) { @@ -41298,9 +35358,9 @@ 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 printing file:\n%s", error->message); -g_signal_connect (error_dialog, "response", +g_signal_connect (error_dialog, "response", G_CALLBACK (gtk_widget_destroy), NULL); gtk_widget_show (error_dialog); g_error_free (error); @@ -41315,425 +35375,555 @@ 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() +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." - version="2.10" - throws="1"> - +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 - - - - - - - - - - - - - - - - + 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 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 + + + + + + Sets the label for the tab holding custom widgets. + + + + + + the label to use, or %NULL to use the default label + + + + + + 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 + + + + 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." - version="2.16"> +This function must be called in the callback of "draw-page" signal. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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 + - + + 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 + + + - + 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 + + + + + + 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 print settings for @op. This is typically used to +re-establish print settings from a previous print operation, +see gtk_print_operation_run(). + + + + + + #GtkPrintSettings + + + + + + 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 selection is supported by #GtkPrintOperation. + + + + + + %TRUE to support selection + + + + + + 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 + + + + + + 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 + + + + + + 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 + + + + 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 +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 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."> - +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."> - +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."> - +to the #GtkPrintOperation::request-page-setup signal. + - + transfer-ownership="none"> + 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."> - +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."> - +This is typically used to make a "Selection" button sensitive. + - + transfer-ownership="none"> + 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 +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."> - +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."> - +This is typically used to track the progress of print operation. + - + transfer-ownership="none"> + 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(). + - + transfer-ownership="none"> + 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."> - +See the #GtkPrintOperation:status property for a status value that +is suitable for programmatic use. + - + transfer-ownership="none"> + If %TRUE, the print operation will support print of selection. +This allows the print dialog to show a "Selection" button. + - + transfer-ownership="none"> + 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. + - + transfer-ownership="none"> + The transformation for the cairo context obtained from +#GtkPrintContext is set up in such a way that distances +are measured in units of @unit. + - + transfer-ownership="none"> + 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()." - version="2.10"> - - +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 +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" - version="2.10"> - - +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." - version="2.10"> - - +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 @@ -41753,10 +35943,10 @@ 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"); +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_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); @@ -41766,140 +35956,144 @@ pango_cairo_show_layout (cr, layout); g_object_unref (layout); } ]| -Use gtk_print_operation_set_use_full_page() and +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." - version="2.10"> - - +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." - version="2.10"> - - +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 +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." - version="2.10"> - - +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 +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)." - version="2.10"> - - +(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." - version="2.10"> - - +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." - version="2.18"> - - +itself according to this change. + + - - + + the custom widget added in create-custom-widget + - - + + actual page setup + - - + + actual print settings + @@ -41932,7 +36126,7 @@ itself according to this change." - + @@ -41948,7 +36142,7 @@ itself according to this change." - + @@ -41963,9 +36157,9 @@ itself according to this change." - + - + @@ -41978,7 +36172,7 @@ itself according to this change." - + @@ -41990,7 +36184,7 @@ itself according to this change." - + @@ -41999,7 +36193,7 @@ itself according to this change." - + @@ -42011,13 +36205,13 @@ itself according to this change." - + - + @@ -42032,7 +36226,7 @@ itself according to this change." - + @@ -42043,9 +36237,9 @@ itself according to this change." - - - + + + @@ -42056,7 +36250,7 @@ itself according to this change." - + @@ -42071,9 +36265,9 @@ itself according to this change." - + - + @@ -42093,7 +36287,7 @@ itself according to this change." - + @@ -42113,43 +36307,43 @@ itself according to this change." - - + + - - + + - - + + - - + + - - + + - - + + @@ -42157,105 +36351,126 @@ itself according to this change." - - - - - - - - - - - - - - - - - - - - - + + 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 + + + + + + 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." - version="2.10"> +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 + - - + + 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 + - - + + + + 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."> - - +A handler for this signal can be used for setup tasks. + + - - + + the current #GtkPrintContext + @@ -42267,7 +36482,7 @@ A handler for this signal can be used for setup tasks."> - + @@ -42283,7 +36498,7 @@ A handler for this signal can be used for setup tasks."> - + @@ -42302,7 +36517,7 @@ A handler for this signal can be used for setup tasks."> - + @@ -42312,15 +36527,17 @@ A handler for this signal can be used for setup tasks."> c:type="GtkPrintOperationPreview*"/> - + the page to render + - + - + %TRUE if the page has been selected for printing + @@ -42328,13 +36545,14 @@ A handler for this signal can be used for setup tasks."> c:type="GtkPrintOperationPreview*"/> - + a page number + - + @@ -42346,57 +36564,59 @@ A handler for this signal can be used for setup tasks."> - - + + - - + + - - + + - - + + - - + + - - + + - - + + - + glib:nick="draft"/> + 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 + allow-none="1"> + 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + Calls @func for each key-value pair of @settings. @@ -42665,752 +36760,971 @@ This has the same effect as setting the value to %NULL." + closure="1"> + the function to call - + user data for @func + + + + + + Looks up the string value associated with @key. + + the string value for @key + + + + + a key + + 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 - + Gets the value of %GTK_PRINT_SETTINGS_COLLATE. - + whether to collate the printed pages + + + + + Gets the value of %GTK_PRINT_SETTINGS_DEFAULT_SOURCE. + + the default source + + + + + Gets the value of %GTK_PRINT_SETTINGS_DITHER. + + the dithering that is used + - - - - - - - - + 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()." - version="2.10"> +Floating point numbers are parsed with g_ascii_strtod(). - + the floating point number associated with @key + + a key - + the default value + - + Gets the value of %GTK_PRINT_SETTINGS_DUPLEX. - + whether to print the output in duplex. + - - - - - - - - - + Gets the value of %GTK_PRINT_SETTINGS_FINISHINGS. - + the finishings + - - - - - - - - - - - - - - - - - - - - - - - - + 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 + - + 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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 - + Gets the value of %GTK_PRINT_SETTINGS_N_COPIES. - + the number of copies to print + + + + + Gets 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 + + + + + Get the value of %GTK_PRINT_SETTINGS_ORIENTATION, +converted to a #GtkPageOrientation. + + the orientation + + + + + Gets the value of %GTK_PRINT_SETTINGS_OUTPUT_BIN. + + the output bin + + + + + Gets the value of %GTK_PRINT_SETTINGS_PAGE_RANGES. +Use g_free() to free the array when it is no longer needed. + + an array of #GtkPageRange<!-- -->s. + - + + return location for the length of the returned array + + + + + + Gets the value of %GTK_PRINT_SETTINGS_PAGE_SET. + + the set of pages to print + + + + + 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 + + + + + + Gets the value of %GTK_PRINT_SETTINGS_PAPER_FORMAT, +converted to a #GtkPaperSize. + + the 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 + + + + + + Gets the value of %GTK_PRINT_SETTINGS_PRINT_PAGES. + + which pages to print + + + + + Convenience function to obtain the value of +%GTK_PRINT_SETTINGS_PRINTER. + + the printer name + + + + + Gets the value of %GTK_PRINT_SETTINGS_PRINTER_LPI. + + the resolution in lpi (lines per inch) + + + + + Gets the value of %GTK_PRINT_SETTINGS_QUALITY. + + the print quality + + + + + Gets the value of %GTK_PRINT_SETTINGS_RESOLUTION. + + 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 + + + + + Gets the value of %GTK_PRINT_SETTINGS_REVERSE. + + whether to reverse the order of the printed pages + + + + + Gets the value of %GTK_PRINT_SETTINGS_SCALE. + + the scale in percent + + + + + Gets the value of %GTK_PRINT_SETTINGS_USE_COLOR. + + whether to use color + + + + + Returns %TRUE, if a value is associated with @key. + + %TRUE, if @key has a value + + + + + a key - + + 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 + + + + + + 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" + + + + + + Associates @value with @key. + + + + + + a key + + + + a string value, or %NULL + + + + + + Sets @key to a boolean value. + + + + + + a key + + + + a boolean + + + + + + Sets the value of %GTK_PRINT_SETTINGS_COLLATE. + + + + + + whether to collate the output + + + + + + Sets the value of %GTK_PRINT_SETTINGS_DEFAULT_SOURCE. + + + + + + the default source + + + + Sets the value of %GTK_PRINT_SETTINGS_DITHER. + the dithering that is used - + Sets @key to a double value. - + + + + a key + + + + a double value + + + + + + Sets the value of %GTK_PRINT_SETTINGS_DUPLEX. + + + + + + a #GtkPrintDuplex value + + + + Sets the value of %GTK_PRINT_SETTINGS_FINISHINGS. + the finishings - + Sets @key to an integer value. - + + + + a key + + + + an integer + + + + + + Associates a length in units of @unit with @key. + + + + + + a key + + + + a length + + + + the unit of @length + + + + + + 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 + + + + + + Sets the value of %GTK_PRINT_SETTINGS_N_COPIES. + + + + + + the number of copies + + + + + + Sets the value of %GTK_PRINT_SETTINGS_NUMBER_UP. + + + + + + the number of pages per sheet + + + + + + Sets the value of %GTK_PRINT_SETTINGS_NUMBER_UP_LAYOUT. + + + + + + a #GtkNumberUpLayout value + + + + + + Sets the value of %GTK_PRINT_SETTINGS_ORIENTATION. + + + + + + a page orientation + + + + Sets the value of %GTK_PRINT_SETTINGS_OUTPUT_BIN. + the output bin + + + + + + Sets the value of %GTK_PRINT_SETTINGS_PAGE_RANGES. + + + + + + an array of #GtkPageRange<!-- -->s + + + + the length of @page_ranges + + + + + + Sets the value of %GTK_PRINT_SETTINGS_PAGE_SET. + + + + + + a #GtkPageSet value + + + + + + Sets the value of %GTK_PRINT_SETTINGS_PAPER_HEIGHT. + + + + + + the paper height + + + + the units of @height + + + + + + Sets the value of %GTK_PRINT_SETTINGS_PAPER_FORMAT, +%GTK_PRINT_SETTINGS_PAPER_WIDTH and +%GTK_PRINT_SETTINGS_PAPER_HEIGHT. + + + + + + a paper size + + + + + + Sets the value of %GTK_PRINT_SETTINGS_PAPER_WIDTH. + + + + + + the paper width + + + + the units of @width + + + + + + Sets the value of %GTK_PRINT_SETTINGS_PRINT_PAGES. + + + + + + a #GtkPrintPages value + + + + + + Convenience function to set %GTK_PRINT_SETTINGS_PRINTER +to @printer. + + + + + + the printer name + + + + + + Sets the value of %GTK_PRINT_SETTINGS_PRINTER_LPI. + + + + + + the resolution in lpi (lines per inch) + + + + + + Sets the value of %GTK_PRINT_SETTINGS_QUALITY. + + + + + + a #GtkPrintQuality value + + + + + + Sets the values of %GTK_PRINT_SETTINGS_RESOLUTION, +%GTK_PRINT_SETTINGS_RESOLUTION_X and +%GTK_PRINT_SETTINGS_RESOLUTION_Y. + + + + + + the 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 + + + + + + Sets the value of %GTK_PRINT_SETTINGS_REVERSE. + + + + + + whether to reverse the output + + + + + + Sets the value of %GTK_PRINT_SETTINGS_SCALE. + + + + + + the scale in percent + + + + + + Sets the value of %GTK_PRINT_SETTINGS_USE_COLOR. + + + + + + whether to use color + + + + + + 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 + + + + + + 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" + + + + + + Removes any value associated with @key. +This has the same effect as setting the value to %NULL. + + + + + + a key @@ -43428,7 +37742,7 @@ The set of media types is defined in PWG 5101.1-2002 PWG. - + @@ -43525,628 +37839,282 @@ The set of media types is defined in PWG 5101.1-2002 PWG. value="4096" c:identifier="PRIVATE_GTK_ALLOC_NEEDED" glib:nick="alloc-needed"/> - + c:identifier="PRIVATE_GTK_WIDTH_REQUEST_NEEDED" + glib:nick="width-request-needed"/> + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - - - - - - - - - - + + Returns the ellipsizing position of the progressbar. +See gtk_progress_bar_set_ellipsize(). - + #PangoEllipsizeMode + - + + Returns the current fraction of the task that's been completed. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + a fraction from 0.0 to 1.0 + - + + Gets the value set by gtk_progress_bar_set_inverted() - + %TRUE if the progress bar is inverted + + c:identifier="gtk_progress_bar_get_pulse_step"> + Retrieves the pulse step set with gtk_progress_bar_set_pulse_step() - + a fraction from 0.0 to 1.0 + - - - + + Gets the value of the #GtkProgressBar::show-text property. +See gtk_progress_bar_set_show_text(). + + %TRUE if text is shown in 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 + + + + + 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()). + + + if there is not enough space to render the entire string. + a #PangoEllipsizeMode - - - - - - + + 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 + - + + Progress bars normally grow from top to bottom or left to right. +Inverted progress bars grow in the opposite direction. - - + + %TRUE to invert the progress bar + - + + 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 + - + + Sets whether the progressbar will show text superimposed +over the bar. The shown text is either the value of +the #GtkProgressBar::text property or, if that is %NULL, +the #GtkProgressBar::fraction value, as a percentage. - - + + whether to show superimposed text + - + + Causes the given @text to appear superimposed on the progress bar. - - + + a UTF-8 string, or %NULL + - - - - - - - - - - - - - - - + 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()."> - +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. + + + Obtains the value property of the currently active member of +the group to which @action belongs. + + The value of the currently active group member + + + + 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. +to the group. A common way to set up a group of radio group is the following: |[ GSList *group = NULL; @@ -44203,74 +38180,100 @@ action = gtk_radio_action_new (...); gtk_radio_action_set_group (action, group); group = gtk_radio_action_get_group (action); } -]|" - version="2.4"> - +]| + + the list representing the radio group for this object - + - + + Joins a radio action object to the group of another radio action object. +Use this in language bindings instead of the gtk_radio_action_get_group() +and gtk_radio_action_set_group() methods +A common way to set up a group of radio actions is the following: +|[ +GtkRadioAction *action; +GtkRadioAction *last_action; +while (/&ast; more actions to add &ast;/) +{ +action = gtk_radio_action_new (...); +gtk_radio_action_join_group (action, last_action); +last_action = action; +} +]| - - + + a radio action object whos group we are joining, or %NULL to remove the radio action from its group + - - - - - + Sets the currently active group member to the member with value +property @current_value. - + the new value + + + + + + Sets the radio group for the radio action object. + + + + + + a list representing a radio group + + + - + transfer-ownership="none"> + The value property of the currently active member of the group to which +this action belongs. + - + transfer-ownership="none"> + 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."> - +for convenient ways to get and set this property. + @@ -44278,17 +38281,17 @@ 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." - version="2.4"> - - +for the previous and current active members. + + - - + + the member of @action<!-- -->s group which has just been activated + @@ -44300,7 +38303,7 @@ for the previous and current active members." - + @@ -44314,29 +38317,29 @@ for the previous and current active members." - - + + - - + + - - + + - - + + @@ -44344,6 +38347,8 @@ for the previous and current active members." + #GtkRadioActionEntry structs are used with +gtk_action_group_add_radio_actions() to construct groups of radio actions. @@ -44360,150 +38365,203 @@ for the previous and current active members." - + - + - + + - - + Creates a new #GtkRadioButton. To be of any practical value, a widget should +then be packed into the radio button. + + a new radio button + - - - - - - - - - - - + an existing radio button group, or %NULL if you are creating a new group. + + + + Creates a new #GtkRadioButton with a text label. - + a new radio button. + - - - - - - - - - - - - - - + an existing radio button group, or %NULL if you are creating a new group. + + + + the text label to display next to the radio button. + 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."> +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 - - - - - - - - - - - - - - + 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."> - +and must not be modified or freed. + + a linked list + + Joins a #GtkRadioButton object to the group of another #GtkRadioButton object +Use this in language bindings instead of the gtk_radio_button_get_group() +and gtk_radio_button_set_group() methods +A common way to set up a group of radio buttons is the following: +|[ +GtkRadioButton *radio_button; +GtkRadioButton *last_button; +while (/&ast; more buttons to add &ast;/) +{ +radio_button = gtk_radio_button_new (...); +gtk_radio_button_join_group (radio_button, last_button); +last_button = radio_button; +} +]| + + + + + + a radio button object whos group we are joining, or %NULL to remove the radio button from its group + + + + + + Creates a new #GtkRadioButton, adding it to the same group as +should be packed into the radio button. + + a new radio button. + + + + + Creates a new #GtkRadioButton with a text label, adding it to +the same group as @radio_group_member. + + a new radio button. + + + + + a text string to display next to the radio button. + + + + + + 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 + + + + + the text of the button, with an underscore in front of the mnemonic character + + + + + Sets a #GtkRadioButton's group. It should be noted that this does not change +the layout of your interface in any way, so if you are changing the group, +it is likely you will need to re-arrange the user interface to reflect these +changes. - + an existing radio button group, such as one returned from gtk_radio_button_get_group(). + + + - - + + Sets a new group for a radio button. + - - + + - + 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." - version="2.4"> - - +of the group that a button belongs to changes. + + @@ -44514,7 +38572,7 @@ of the group that a button belongs to changes." - + @@ -44525,52 +38583,61 @@ of the group that a button belongs to changes." - - + + - - + + - - + + + + - + + - - + + - + + + - - + c:identifier="gtk_radio_menu_item_new_with_label"> + Creates a new #GtkRadioMenuItem whose child is a simple #GtkLabel. + + A new #GtkRadioMenuItem + @@ -44579,90 +38646,95 @@ of the group that a button belongs to changes." + 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."> - - +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 - - + Returns the group to which the radio menu item belongs, as a #GList of +#GtkRadioMenuItem. The list belongs to GTK+ and should not be freed. + + the group of @radio_menu_item + + + + + Creates a new #GtkRadioMenuItem adding it to the same group as @group. + + The new #GtkRadioMenuItem + + + + + Creates a new GtkRadioMenuItem whose child is a simple GtkLabel. +The new #GtkRadioMenuItem is added to the same group as @group. + + The 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. +The new #GtkRadioMenuItem is added to the same group as @group. + + The new #GtkRadioMenuItem + + + + + the text of the button, with an underscore in front of the mnemonic character + + + + - + + + @@ -44670,18 +38742,19 @@ The new #GtkRadioMenuItem is added to the same group as @group." version="2.8" readable="0" writable="1" - doc="The radio menu item whose group this widget belongs to."> - + transfer-ownership="none"> + The radio menu item whose group this widget belongs to. + - - + + - - + + @@ -44692,7 +38765,7 @@ The new #GtkRadioMenuItem is added to the same group as @group." - + @@ -44703,123 +38776,133 @@ The new #GtkRadioMenuItem is added to the same group as @group." - - + + - - + + - - + + + + - + + - - + 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 - - + Returns the radio button group @button belongs to. + + The group @button belongs to. + + + + + Creates a new #GtkRadioToolButton adding it to the same group as @gruup + + The new #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 + + + + + the name of a stock item + + + + + Adds @button to @group, removing it from the group it belonged to before. - + an existing radio button group + + + @@ -44827,8 +38910,9 @@ stock item indicated by @stock_id." version="2.4" readable="0" writable="1" - doc="Sets a new group for a radio tool button."> - + transfer-ownership="none"> + Sets a new group for a radio tool button. + @@ -44840,29 +38924,29 @@ stock item indicated by @stock_id." - - + + - - + + - - + + - - + + @@ -44870,6 +38954,7 @@ stock item indicated by @stock_id." + @@ -44889,502 +38975,464 @@ stock item indicated by @stock_id." + + 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 + + + + + Gets the current position of the fill level indicator. + + The current fill level + + + + + Gets the value set by gtk_range_set_flippable(). + + %TRUE if the range is flippable + + + + + Gets the value set by gtk_range_set_inverted(). + + %TRUE if the range is inverted + + + + + Gets the sensitivity policy for the stepper that points to the +'lower' end of the GtkRange's adjustment. + + The lower stepper's sensitivity policy. + + + + + 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 + + + + + + Gets whether the range is restricted to the fill level. + + %TRUE if @range is restricted to the fill level. + + + + + Gets whether the range displays the fill level graphically. + + %TRUE if @range shows the fill level. + + + + + 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 + + + + + + This function is useful mainly for #GtkRange subclasses. +See gtk_range_set_slider_size_fixed(). + + whether the range's slider has a fixed size. + + + + + Gets the update policy of @range. See gtk_range_set_update_policy(). + + the current update 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. + + + + + Gets the current value of the range. + + current value of the range. + + + + + 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 + + + + + + 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 + + + + + + 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 + + + + + + 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 + + + + + + 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 + + + + + + Sets 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 minimum size of the range's slider. +This function is useful mainly for #GtkRange subclasses. + + + + + + The slider's minimum 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 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. + + + + + + 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. + + + + + + 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 + + + + + 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."> +drag operation. + update 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. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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."> +them. The range emits the #GtkRange::value-changed signal if the +value changes. - + new value of the range + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + transfer-ownership="none"> + 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()."> - +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()."> - +gtk_range_set_show_fill_level(). + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + Emitted before clamping a value, to give the application a +chance to adjust the bounds. + + - + the value before we clamp + - + 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 @@ -45393,38 +39441,41 @@ 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 +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." - version="2.6"> - - +::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. + + @@ -45441,7 +39492,7 @@ It is not possible to use delayed update policies in an overridden - + @@ -45453,7 +39504,7 @@ It is not possible to use delayed update policies in an overridden - + @@ -45462,13 +39513,13 @@ It is not possible to use delayed update policies in an overridden - + - + @@ -45483,7 +39534,7 @@ It is not possible to use delayed update policies in an overridden - + @@ -45498,9 +39549,9 @@ It is not possible to use delayed update policies in an overridden - + - + @@ -45510,38 +39561,36 @@ It is not possible to use delayed update policies in an overridden - + - - + + - - + + - - + + - + - - - + - + @@ -45589,6 +39638,7 @@ It is not possible to use delayed update policies in an overridden - - + + - - - + + + - - - - - - - - @@ -45627,30 +39669,28 @@ It is not possible to use delayed update policies in an overridden - - - + + + + + + + + + + + - + 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."> +derived from #GtkRcStyle. + the resulting #GtkRcStyle - - - - - - - - - - @@ -45658,8 +39698,8 @@ derived from #GtkRcStyle."> - - + + @@ -45667,46 +39707,52 @@ derived from #GtkRcStyle."> - + - + - + - + - + - + - + - + + + - + + + - + + + - + - - - + + + @@ -45728,9 +39774,9 @@ derived from #GtkRcStyle."> - + - + @@ -45746,7 +39792,7 @@ derived from #GtkRcStyle."> - + @@ -45760,9 +39806,9 @@ derived from #GtkRcStyle."> - - - + + + @@ -45772,29 +39818,29 @@ derived from #GtkRcStyle."> - - + + - - + + - - + + - - + + @@ -45967,6 +40013,7 @@ derived from #GtkRcStyle."> glib:nick="last"/> + 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 + - - + + @@ -46084,330 +40126,133 @@ label. Only the first ten items get a number to avoid clashes." - + - + + 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 + - + + Gets the URI currently selected by @chooser. + a newly allocated string holding a URI. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + 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 #GtkRecentFilter objects held by @chooser. +of #GtkRecentFilter objects. You +should just free the returned list using g_slist_free(). + + A singly linked list + + + + + + + Removes @filter from the list of #GtkRecentFilter objects held by @chooser. + a #GtkRecentFilter - + + Selects all the items inside @chooser, if the @chooser supports +multiple selection. + + + Selects @uri inside @chooser. + + %TRUE if @uri was found. + + - - + + a URI + - - - - - - + + Sets @uri as the current URI for @chooser. - + %TRUE if the URI was found. + - - - - - - - - + + a URI + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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." - version="2.10"> +a negative integer if the first item comes after the second. @@ -46415,283 +40260,557 @@ a negative integer if the first item comes after the second." + closure="1" + destroy="2"> + the comparison function - - + + user data to pass to @sort_func, or %NULL + + scope="async"> + destroy notifier for @sort_data, or %NULL - - + + + Unselects all the items inside @chooser. - + + + + + Unselects @uri inside @chooser. + + + a URI - - + - - + 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 + + + - + Gets the #GtkRecentInfo currently selected by @chooser. +when you have finished using it. + + a #GtkRecentInfo. Use gtk_recent_info_unref() when - - - - - - - - - - - - - - - - - - - - - - - + Gets the URI currently selected by @chooser. + + a newly allocated string holding a URI. + - + Gets the #GtkRecentFilter object currently used by @chooser to affect +the display of the recently used resources. - + a #GtkRecentFilter object. + + 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()." - version="2.10"> - +the list itself using g_list_free(). + + A newly allocated + + 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 + + + + + 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. + + + + + Gets whether @chooser can select multiple items. + + %TRUE if @chooser can select more than one item. + + + + + Retrieves whether @chooser should show an icon near the resource. + + %TRUE if the icons should be displayed, %FALSE otherwise. + + + + + 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 + + + + + Returns whether @chooser should display recently used resources +registered as private. +%FALSE otherwise. + + %TRUE if the recent chooser should show private items, + + + + + 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, + + + + + Gets the value set by gtk_recent_chooser_set_sort_type(). + + the sorting order of the @chooser. + + + + 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." - version="2.10"> +of strings. Use g_strfreev() to free it. + A newly allocated, %NULL-terminated array - - - - - - - - - - - - - - - - - - - - - - + + return location for a the length of the URI list, or %NULL + - + 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 - + Removes @filter from the list of #GtkRecentFilter objects held by @chooser. + a #GtkRecentFilter - - - + Selects all the items inside @chooser, if the @chooser supports +multiple selection. + + + + Selects @uri inside @chooser. + + %TRUE if @uri was found. + + + + + a URI + + + + + + Sets @uri as the current URI for @chooser. + + %TRUE if the URI was found. + + + + + a URI + + + + + + Sets @filter as the current #GtkRecentFilter object used by @chooser +to affect the displayed recently used resources. + + + + + + a #GtkRecentFilter + + + + + + 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 + + + + + + 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 + + + + + + Sets whether @chooser can select multiple items. + + + + + + %TRUE if @chooser can select more than one item + + + + + + Sets whether @chooser should show an icon near the resource when +displaying it. + + + + + + whether to show an icon near the resource + + + + + + 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 + + + + + + Whether to show recently used resources marked registered as private. + + + + + + %TRUE to show private items, %FALSE otherwise + + + + + + 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 + + + + + + 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 + + + + + + Changes the sorting order of the recently used resources list displayed by + + + + + + sort order that the chooser should use + + + + + + Unselects all the items inside @chooser. + + + + + + Unselects @uri inside @chooser. + + + + + + a URI + + + + - + transfer-ownership="none"> + 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."> - +by setting this property. + - + transfer-ownership="none"> + Whether this #GtkRecentChooser should display only local (file:) +resources. + - + transfer-ownership="none"> + The #GtkRecentManager instance used by the #GtkRecentChooser to +display the list of recently used resources. + - + transfer-ownership="none"> + Allow the user to select multiple resources. + - + transfer-ownership="none"> + 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)."> - +resource will always be displayed). + - - + + - + transfer-ownership="none"> + Whether this #GtkRecentChooser should display a tooltip containing the +full path of the recently used resources. + - + transfer-ownership="none"> + Sorting order to be used when displaying the recently used resources. + - - + + - - + + + - - + version="2.10" + introspectable="0"> + 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, + allow-none="1"> + stock ID or text to go in the first button, or %NULL @@ -46736,34 +40853,32 @@ gtk_dialog_new_with_buttons()." + 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." - version="2.10"> - - +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 + allow-none="1"> + stock ID or text to go in the first button, or %NULL @@ -46788,13 +40903,17 @@ have a customized instance of a #GtkRecentManager object." + c:type="GtkRecentChooserDialogPrivate" + disguised="1"> + These identify the various errors that can occur while calling +#GtkRecentChooser functions. - + - + %TRUE if the URI was found. + + a URI - + + a newly allocated string holding a URI. @@ -46838,22 +40960,24 @@ have a customized instance of a #GtkRecentManager object." - + - + %TRUE if @uri was found. + + a URI - + @@ -46862,13 +40986,14 @@ have a customized instance of a #GtkRecentManager object." + a URI - + @@ -46880,7 +41005,7 @@ have a customized instance of a #GtkRecentManager object." - + @@ -46892,9 +41017,12 @@ have a customized instance of a #GtkRecentManager object." - + - + A newly allocated + + + @@ -46903,9 +41031,9 @@ have a customized instance of a #GtkRecentManager object." - - - + + + @@ -46916,7 +41044,7 @@ have a customized instance of a #GtkRecentManager object." - + @@ -46925,13 +41053,14 @@ have a customized instance of a #GtkRecentManager object." + a #GtkRecentFilter - + @@ -46940,15 +41069,19 @@ have a customized instance of a #GtkRecentManager object." + a #GtkRecentFilter - - - + + + A singly linked list + + + @@ -46958,7 +41091,7 @@ have a customized instance of a #GtkRecentManager object." - + @@ -46966,20 +41099,32 @@ have a customized instance of a #GtkRecentManager object." - + + the comparison function - - + + user data to pass to @sort_func, or %NULL + - + + destroy notifier for @sort_data, or %NULL - + @@ -46991,7 +41136,7 @@ have a customized instance of a #GtkRecentManager object." - + @@ -47004,18 +41149,21 @@ have a customized instance of a #GtkRecentManager object." - + + + 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 @@ -47023,61 +41171,65 @@ 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." - version="2.10"> - - +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." - version="2.10"> - - +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 + - - + + - + @@ -47088,29 +41240,29 @@ get a number to avoid clashes." - - + + - - + + - - + + - - + + @@ -47118,9 +41270,11 @@ get a number to avoid clashes." + c:type="GtkRecentChooserMenuPrivate" + disguised="1"> + - - + 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 @@ -47157,7 +41315,7 @@ have a customized instance of a #GtkRecentManager object." - + @@ -47170,19 +41328,12 @@ have a customized instance of a #GtkRecentManager object." + c:type="GtkRecentChooserWidgetPrivate" + disguised="1"> - + + Meta-data to be passed to gtk_recent_manager_add_full() when +registering a recently used resource. @@ -47202,17 +41353,19 @@ 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(), @@ -47220,182 +41373,193 @@ 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, "*"); -]|" - version="2.10"> - +gtk_recent_filter_add_pattern (filter, "*"); +]| + + a new #GtkRecentFilter - + 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 that allows resources based on the name of the application +that has registered them. + + + + + + an application name - + 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. + + + + + + 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 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. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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." - version="2.10"> +#GtkRecentChooser. - + %TRUE if the file should be displayed + + a #GtkRecentFilterInfo structure containing information about a recently used resource + + 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 + + + + + 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 + + + + + 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 + + + + - + - + @@ -47459,402 +41623,374 @@ is intended principally for use in the implementation of - + - - - - - - + #GtkRecentInfo is an opaque data structure +whose members can only be accessed using the provided API. +#GtkRecentInfo constains all the meta-data +associated with an entry in the recently used files list. + + 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 + + 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." - version="2.10"> +the resource was added to the list, or -1 on failure. - + the number of seconds elapsed from system's Epoch when + - + 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 + + 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" - version="2.10"> +modified or freed - + %TRUE if an application with @app_name has registered this + + the name of the application that has registered this item + caller-allocates="0" + transfer-ownership="none"> + return location for the string containing the command line - + caller-allocates="0" + transfer-ownership="full"> + return location for the number of times this item was registered + - + caller-allocates="0" + transfer-ownership="full"> + return location for the timestamp this item was last registered for this application + - - + Retrieves the list of applications that have registered this resource. +a newly allocated %NULL-terminated array of strings. +Use g_strfreev() to free it. + + - + allow-none="1"> + return location for the length of the returned list + - - + 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 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 + - - - - - + 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." - version="2.10"> - - +a newly allocated %NULL terminated array of strings. +Use g_strfreev() to free it. + + - - - - - - - - - - - + allow-none="1"> + return location for the number of groups returned + + Retrieves the icon of size @size associated to the resource MIME type. +or %NULL. Use g_object_unref() when finished using the icon. + a #GdkPixbuf containing the icon, - + the size of the icon in pixels + + + 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 last modified. +the resource was last modified, 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. + + + + 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 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 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." - version="2.10"> +resource's URI or %NULL. Use g_free() when done using it. + a newly allocated UTF-8 string containing the - + 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 + + + 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 + + + + + + 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 + + + + + Checks whether the resource is local or not by looking at the +scheme of its URI. - + %TRUE if the resource is local. + - - - + 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 two #GtkRecentInfo structures point to the same resource. -resource, %FALSE otherwise." - version="2.10"> +resource, %FALSE otherwise. - + %TRUE if both #GtkRecentInfo structures point to se same + + a #GtkRecentInfo + + 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. + + + + + #GtkRecentManager contains only private data +and should be accessed using the provided API. + 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. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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 @@ -47870,168 +42006,177 @@ 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." - version="2.10"> +recently used resources list, %FALSE otherwise. - + %TRUE if the new item was successfully added to the + + a valid URI + metadata of the resource - + + 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 + + + + + + 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 + + + + + + + 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 + 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()." - version="2.10" - throws="1"> +gtk_recent_info_unref(). + a #GtkRecentInfo structure containing information - - - - - - - - - - + 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 - - - - - - - - - - - - - - - - - - - - - - + Purges every item from the recently used resources list. +recently used resources list. - + the number of items that have been removed from the + - - + + 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 + + + + + + - - + + - - - - + - + - - + + + glib:is-gtype-struct-for="RecentManager" + version="2.10"> + #GtkRecentManagerClass contains only private data. - + @@ -48042,29 +42187,29 @@ recently used resources list." - - + + - - + + - - + + - - + + @@ -48072,16 +42217,12 @@ recently used resources list." + Error codes for #GtkRecentManager operations - + - + @@ -48125,20 +42268,17 @@ Error codes for GtkRecentManager operations" - + + Used to specify the sorting method to be applyed to the recently +used resource list. + + Represents a request of a screen object in a given orientation. These +are primarily used in container implementations when allocating a natural +size for children calling. See gtk_distribute_natural_allocation(). + + + + + + + + + + + glib:get-type="gtk_requisition_get_type" + c:symbol-prefix="requisition"> + A <structname>GtkRequisition</structname> represents the desired size of a widget. See +<xref linkend="size-requisition"/> for more information. - + - + - + + Allocates a new #GtkRequisition structure and initializes its elements to zero. +be freed with gtk_requisition_free(). + a new empty #GtkRequisition. The newly allocated #GtkRequisition should + + + + + Copies a #GtkRequisition. + + a copy of @requisition - + + Frees a #GtkRequisition. @@ -48267,6 +42429,7 @@ used resource list." glib:nick="help"/> - + + + Creates a new #GtkRuler with the given orientation. - + a new #GtkRuler. + - + + + the ruler's orientation. + + + + + + + + + + + + + + + + + + + + + Gets the units used for a #GtkRuler. See gtk_ruler_set_metric(). + + the units currently used for @ruler + + + + + 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. + + + + @@ -48295,130 +42514,54 @@ used resource list." - - - - - - + + 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 + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - + transfer-ownership="none"> + The metric used for the ruler. + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - + @@ -48440,7 +42583,7 @@ See gtk_ruler_set_range()."> - + @@ -48451,29 +42594,29 @@ See gtk_ruler_set_range()."> - - + + - - + + - - + + - - + + @@ -48488,780 +42631,805 @@ See gtk_ruler_set_range()."> - + - + - + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + Creates a new #GtkScale. + + a new #GtkScale + + + + + the scale's orientation. + + + + the #GtkAdjustment which sets the range of the scale, or %NULL to create a new adjustment. + + + + + + Creates a new scale widget with the given orientation 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 #GtkScale + + + + + the scale's orientation. + + + + minimum value + + + + maximum value + + + + step increment (tick size) used with keyboard shortcuts + + + + - + + 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()." - version="2.16"> +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(). - - + + Gets the number of decimal places that are displayed in the value. + + the number of decimal places that are displayed + + + + + Returns whether the current value is displayed as a string +next to the slider. + + whether the current value is displayed as a string + + + + + 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. +or %NULL if the #GtkScale:draw-value property is %FALSE. + + the #PangoLayout for this scale, + + + + + 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 + + + + + + Gets the position in which the current value is displayed. + + the position in which the current value is displayed + + + + + 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 + + + + + + Specifies whether the current value is displayed as a string next +to the slider. + + + + + + %TRUE to draw the value + + + + + + Sets the position in which the current value is displayed. + + + + + + the position in which the current value is displayed + + + + + + - - + + - - + + - - + + - - - - - - - + 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;--", +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() + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + Gets the #GtkAdjustment associated with the #GtkScaleButton's scale. +See gtk_range_get_adjustment() for details. - - - - - - - - - - - + the adjustment associated with the scale + - + Retrieves the minus button of the #GtkScaleButton. + + the minus button of the #GtkScaleButton + + + + + Retrieves the plus button of the #GtkScaleButton. + + the plus button of the #GtkScaleButton - + Retrieves the popup of the #GtkScaleButton. + + the popup of the #GtkScaleButton - - - + + Gets the current value of the scale button. + + current value of the scale button + - + + Sets the #GtkAdjustment to be used as a model +for the #GtkScaleButton's scale. +See gtk_range_set_adjustment() for details. - - + + a #GtkAdjustment + - - + + Sets the icons to be used by the scale button. +For details, see the #GtkScaleButton:icons property. + + + + + + a %NULL-terminated array of icon names + + + + + + 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 + + + + + + + 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 +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."> - +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." - version="2.12"> - - +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." - version="2.12"> - - +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 + @@ -49273,7 +43441,7 @@ changed." - + @@ -49282,41 +43450,43 @@ changed." - + - - + + - - + + - - + + - - + + - + - + @@ -49334,13 +43504,13 @@ changed." - + - + @@ -49352,7 +43522,7 @@ changed." - + @@ -49360,37 +43530,41 @@ changed." - - + + location to store X offset of layout, or %NULL + - - + + location to store Y offset of layout, or %NULL + - - + + - - + + - - + + + + + + + Creates a new scrollbar with the given orientation. + + the new #GtkScrollbar. + + + + + the scrollbar's orientation. + + + + the #GtkAdjustment to use, or %NULL to create a new adjustment. + + + + @@ -49509,29 +43703,29 @@ changed." - - + + - - + + - - + + - - + + @@ -49539,6 +43733,7 @@ changed." - - - + + + 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 + + allow-none="1"> + horizontal adjustment + allow-none="1"> + vertical adjustment - + + 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 + - - - - - - + c:identifier="gtk_scrolled_window_get_hadjustment"> + 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 horizontal scrollbar of @scrolled_window. +or %NULL if it does not have one. + + the horizontal scrollbar of the scrolled window, + + 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. + + + + + 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. + + + + + + Gets the shadow type of the scrolled window. See +gtk_scrolled_window_set_shadow_type(). + + the current shadow type + + + + + 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 vertical scrollbar of @scrolled_window. +or %NULL if it does not have one. + + the vertical scrollbar of the scrolled window, - + + Sets the #GtkAdjustment for the horizontal scrollbar. - - - - - - - - - - - - - - - - - - + + horizontal scroll adjustment + + 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()."> +gtk_scrolled_window_unset_placement(). + position of the child window - + + 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 + + + + c:identifier="gtk_scrolled_window_set_shadow_type"> + Changes the type of shadow drawn around the contents of + kind of shadow to draw around scrolled window contents - - - - - - + + Sets the #GtkAdjustment for the vertical scrollbar. - - + + vertical scroll adjustment + - - + + 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(). + + + + + + - - + + - - + + - - + + - - + + - - + + - + transfer-ownership="none"> + 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. + - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - + - - + + - + - + @@ -49844,12 +44037,12 @@ of the contents with respect to the scrollbars. Otherwise, the - + - + - + @@ -49859,13 +44052,13 @@ of the contents with respect to the scrollbars. Otherwise, the - + - + @@ -49879,39 +44072,44 @@ of the contents with respect to the scrollbars. Otherwise, the - - + + - - + + - - + + - - + + + + + glib:get-type="gtk_selection_data_get_type" + c:symbol-prefix="selection_data"> @@ -49922,274 +44120,292 @@ of the contents with respect to the scrollbars. Otherwise, the - + - + - + + + 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(). + + + + + + Retrieves the raw data of the selection. + + the raw data of the selection. + + + + + Retrieves the data type of the selection. + + the data type of the selection. + + + + + Retrieves the display of the selection. + + the display of the selection. + + + + + Retrieves the format of the selection. + + the format of the selection. + + + + + Retrieves the length of the raw data of the selection. + + the length of the data of the selection. + + + + + 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 + + + - + version="2.16" + introspectable="0"> + Retrieves the selection #GdkAtom of the selection data. + + the selection #GdkAtom of the selection data. - + version="2.14" + introspectable="0"> + Retrieves the target of the selection. + + the target of the selection. - - - - - - + + 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. + - - - - - - - - - - - - - - + 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 result is non-%NULL it must be freed with g_free(). - + if the selection data contained a recognized + - - - - - - - - - - - - - - - - - - - - - - + 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()." - version="2.6"> - +non-%NULL it must be freed with g_strfreev(). + + if - + + 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 #GdkPixbuf +The pixbuf is converted to the form determined by +otherwise %FALSE. - - - - - - + %TRUE if the selection was successfully set, + - - + + a #GdkPixbuf + + + + + + 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. + + + + + + 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 + + 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." - version="2.6"> +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 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 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 a list or URIs. -and a suitable target for URI lists is included, otherwise %FALSE." - version="2.10"> +and a suitable target for URI lists is included, otherwise %FALSE. - - - - - - - - - - - + %TRUE if @selection_data holds a list of targets, + @@ -50213,15 +44429,13 @@ gtk_selection_data_copy()."> value="3" c:identifier="GTK_SELECTION_MULTIPLE" glib:nick="multiple"/> - + Determines how GTK+ handles the sensitivity of stepper arrows +at the end of range widgets. glib:nick="off"/> + + + Creates a new #GtkSeparator with the given orientation. + + a new #GtkSeparator. + + + + + the separator's orientation. + + + + + + + - + + - - + Creates a new #GtkSeparatorMenuItem. + + a new #GtkSeparatorMenuItem. + @@ -50281,49 +44516,56 @@ 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 + - - + + @@ -50339,29 +44581,29 @@ to create an item that forces following items to the end of the toolbar." - - + + - - + + - - + + - - + + @@ -50369,33 +44611,36 @@ to create an item that forces following items to the end of the toolbar." + c:type="GtkSeparatorToolItemPrivate" + disguised="1"> - + Gets the #GtkSettings object for the default GDK screen, creating it if necessary. See gtk_settings_get_for_screen(). -screen, then returns %NULL."> - +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. + a #GdkScreen. @@ -50412,7 +44657,8 @@ screen, then returns %NULL."> + c:identifier="gtk_settings_install_property_parser" + introspectable="0"> @@ -50420,11 +44666,45 @@ screen, then returns %NULL."> - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -50456,355 +44736,402 @@ screen, then returns %NULL."> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + 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."> - +in ascending order. When set to %TRUE, this order will be inverted. + + + + Whether the application prefers to use a dark theme. If a GTK+ theme +includes a dark variant, it will be used instead of the configured +theme. +Some applications benefit from minimizing the amount of light pollution that +interferes with the content. Good candidates for dark themes are photo and +video editors that make the actual content get all the attention and minimize +the distraction of the chrome. +Dark themes should not be used for documents, where large spaces are white/light +and the dark chrome creates too much contrast (web browser, text editor...). + - + transfer-ownership="none"> + 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 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: +by ';' instead of newlines: <programlisting> -</programlisting>"> - +</programlisting> + - + Whether the cursor should blink. +Also see the #GtkSettings:gtk-cursor-blink-timeout setting, +which allows more flexible control over cursor blinking. + + + - - - - + transfer-ownership="none"> + + 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."> - +#GtkSettings:gtk-cursor-blink to %FALSE. + - - + + - - + + - - + + - - + + - - + + - + transfer-ownership="none"> + 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."> - +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."> - +GTK+ itself does not support event sounds, you have to use a loadable +module like the one that comes with libcanberra. + - + transfer-ownership="none"> + Whether labels and menu items should have visible mnemonics which +can be activated. + - + transfer-ownership="none"> + 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."> - +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()."> - +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(). + - - - - - + transfer-ownership="none"> + - - + + 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. + + + + - + transfer-ownership="none"> + 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. + - + transfer-ownership="none"> + 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"."> - +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 +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."> - +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."> - +-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."> - +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."> - +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."> - +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 +#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."> - +for the new object. + - + transfer-ownership="none"> + Time, in milliseconds, after which a tooltip could appear if the +cursor is hovering on top of a widget. + - + transfer-ownership="none"> + 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. + - - + + - - + + - - + + - - + + - - + + @@ -50829,7 +45156,9 @@ functionality."> - + @@ -50861,198 +45190,133 @@ functionality."> c:identifier="GTK_SHADOW_ETCHED_OUT" glib:nick="etched-out"/> - - - - - - - - - - - - - - - - - - - - + + Create a new #GtkSizeGroup. + a newly created #GtkSizeGroup + the mode for the new size group. - + + 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 + + Returns if invisible widgets are ignored when calculating the size. - + %TRUE if invisible widgets are ignored. + - + + Gets the current mode of the size group. See gtk_size_group_set_mode(). - + the current mode of the size group. + - - - - - - - - - - - - - - - - + Returns the list of widgets associated with @size_group. +widgets. The list is owned by GTK+ and should not be modified. + + a #GSList of + + Removes a widget from a #GtkSizeGroup. + + + + + + the #GtkWidget to remove + + + + + + Sets whether unmapped widgets should be ignored when +calculating the size. + + + + + + whether unmapped widgets should be ignored when calculating the size + + + + + + 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. + + + + - + transfer-ownership="none"> + If %TRUE, unmapped widgets are ignored when determining +the size of the group. + - - + + - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - - + + @@ -51091,11 +45355,11 @@ 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. + + + + + + Retrieves a widget's initial minimum and natural height. +<note><para>This call is specific to width-for-height requests.</para></note> +The returned request will be modified by the +GtkWidgetClass::adjust_size_request virtual method and by any +#GtkSizeGroup that have been applied. That is, the returned request +is the one that should be used for layout, not necessarily the one +returned by the widget itself. + + + + + + location to store the minimum height, or %NULL + + + + location to store the natural height, or %NULL + + + + + + Retrieves a widget's minimum and natural height if it would be given +the specified @width. +The returned request will be modified by the +GtkWidgetClass::adjust_size_request virtual method and by any +#GtkSizeGroup that have been applied. That is, the returned request +is the one that should be used for layout, not necessarily the one +returned by the widget itself. + + + + + + the width which is available for allocation + + + + location for storing the minimum height, or %NULL + + + + location for storing the natural height, or %NULL + + + + + + Gets whether the widget prefers a height-for-width layout +or a width-for-height layout. +<note><para>#GtkBin widgets generally propagate the preference of +their child, container widgets need to request something either in +context of their children or in context of their allocation +capabilities.</para></note> + + The #GtkSizeRequestMode preferred by @widget. + + + + + Retrieves a widget's initial minimum and natural width. +<note><para>This call is specific to height-for-width +requests.</para></note> +The returned request will be modified by the +GtkWidgetClass::adjust_size_request virtual method and by any +#GtkSizeGroup that have been applied. That is, the returned request +is the one that should be used for layout, not necessarily the one +returned by the widget itself. + + + + + + location to store the minimum width, or %NULL + + + + location to store the natural width, or %NULL + + + + + + Retrieves a widget's minimum and natural width if it would be given +the specified @height. +The returned request will be modified by the +GtkWidgetClass::adjust_size_request virtual method and by any +#GtkSizeGroup that have been applied. That is, the returned request +is the one that should be used for layout, not necessarily the one +returned by the widget itself. + + + + + + the height which is available for allocation + + + + location for storing the minimum width, or %NULL + + + + location for storing the natural width, or %NULL + + + + + + Retrieves a widget's initial minimum and natural height. +<note><para>This call is specific to width-for-height requests.</para></note> +The returned request will be modified by the +GtkWidgetClass::adjust_size_request virtual method and by any +#GtkSizeGroup that have been applied. That is, the returned request +is the one that should be used for layout, not necessarily the one +returned by the widget itself. + + + + + + location to store the minimum height, or %NULL + + + + location to store the natural height, or %NULL + + + + + + Retrieves a widget's minimum and natural height if it would be given +the specified @width. +The returned request will be modified by the +GtkWidgetClass::adjust_size_request virtual method and by any +#GtkSizeGroup that have been applied. That is, the returned request +is the one that should be used for layout, not necessarily the one +returned by the widget itself. + + + + + + the width which is available for allocation + + + + location for storing the minimum height, or %NULL + + + + location for storing the natural height, or %NULL + + + + + + Gets whether the widget prefers a height-for-width layout +or a width-for-height layout. +<note><para>#GtkBin widgets generally propagate the preference of +their child, container widgets need to request something either in +context of their children or in context of their allocation +capabilities.</para></note> + + The #GtkSizeRequestMode preferred by @widget. + + + + + Retrieves the minimum and natural size of a widget taking +into account the widget's preference for height-for-width management. +This is used to retrieve a suitable size by container widgets which do +not impose any restrictions on the child placement. + + + + + + location for storing the minimum size, or %NULL + + + + location for storing the natural size, or %NULL + + + + + + Retrieves a widget's initial minimum and natural width. +<note><para>This call is specific to height-for-width +requests.</para></note> +The returned request will be modified by the +GtkWidgetClass::adjust_size_request virtual method and by any +#GtkSizeGroup that have been applied. That is, the returned request +is the one that should be used for layout, not necessarily the one +returned by the widget itself. + + + + + + location to store the minimum width, or %NULL + + + + location to store the natural width, or %NULL + + + + + + Retrieves a widget's minimum and natural width if it would be given +the specified @height. +The returned request will be modified by the +GtkWidgetClass::adjust_size_request virtual method and by any +#GtkSizeGroup that have been applied. That is, the returned request +is the one that should be used for layout, not necessarily the one +returned by the widget itself. + + + + + + the height which is available for allocation + + + + location for storing the minimum width, or %NULL + + + + location for storing the natural width, or %NULL + + + + + + + + + + + + + The #GtkSizeRequestMode preferred by @widget. + + + + + + + + + + + + + + + + + + + + location to store the minimum height, or %NULL + + + + location to store the natural height, or %NULL + + + + + + + + + + + + + + + + the height which is available for allocation + + + + location for storing the minimum width, or %NULL + + + + location for storing the natural width, or %NULL + + + + + + + + + + + + + + + + location to store the minimum width, or %NULL + + + + location to store the natural width, or %NULL + + + + + + + + + + + + + + + + the width which is available for allocation + + + + location for storing the minimum height, or %NULL + + + + location for storing the natural height, or %NULL + + + + + + + + Specifies a preference for height-for-width or +width-for-height geometry management. + + + - - - + + + 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 +#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."> +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."> - +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 - - - - - - - - - - - + - + - + - + @@ -51208,25 +45950,25 @@ before you can make this call."> - + - + - + - + - + - + - + @@ -51234,19 +45976,20 @@ before you can make this call."> - - - + + 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. + @@ -51257,7 +46000,7 @@ want to reuse it you must add a signal handler that returns %TRUE."> - + @@ -51269,9 +46012,9 @@ want to reuse it you must add a signal handler that returns %TRUE."> - + - + @@ -51280,29 +46023,29 @@ want to reuse it you must add a signal handler that returns %TRUE."> - - + + - - + + - - + + - - + + @@ -51323,6 +46066,7 @@ want to reuse it you must add a signal handler that returns %TRUE."> glib:nick="descending"/> + - - + + - + - + + 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."> - - +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. + allow-none="1"> + a #GtkAdjustment. - + the new climb rate. + - + the number of decimal places to display in the spin button. + + + Get the adjustment associated with a #GtkSpinButton + + the #GtkAdjustment of @spin_button + + + + + Fetches the precision of @spin_button. See gtk_spin_button_set_digits(). + + the current precision + + + + + 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 + + + + + + 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 + + + + + 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 + + + + + + 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. + + + + + Gets the update behavior of a spin button. See +gtk_spin_button_set_update_policy(). + + the current update policy + + + + + 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 + + + + + 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 + + + + c:identifier="gtk_spin_button_set_adjustment"> + Replaces the #GtkAdjustment associated with @spin_button. + a #GtkAdjustment to replace the existing adjustment - - - - - - + + 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 + - - - - - + c:identifier="gtk_spin_button_set_increments"> + 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. + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + Sets the flag that determines if non-numeric text can be typed into +the spin button. - + flag indicating if only numeric entry is allowed. + - - - - - - + + Sets the minimum and maximum allowable values for @spin_button - - + + minimum allowable value + - - + + maximum allowable value + - - - - - - - - - - - - - - - + c:identifier="gtk_spin_button_set_snap_to_ticks"> + 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. + - + + 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 + + + - + + Set the value of @spin_button. + + + + + + the new value + + + + + + 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. + + + + + + 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. + + + + + + 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;/ @@ -51757,27 +46460,27 @@ gchar *text; int value; adj = gtk_spin_button_get_adjustment (spin); value = (int)gtk_adjustment_get_value (adj); -text = g_strdup_printf ("%02d", value); +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. + + @@ -51788,26 +46491,24 @@ from its maximum to minimum value or vice-versa." - + - + - - + + - + - + @@ -51817,7 +46518,7 @@ from its maximum to minimum value or vice-versa." - + @@ -51829,7 +46530,7 @@ from its maximum to minimum value or vice-versa." - + @@ -51844,7 +46545,7 @@ from its maximum to minimum value or vice-versa." - + @@ -51855,28 +46556,32 @@ 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. - - + + - + - + @@ -51969,10 +46671,10 @@ from its maximum to minimum value or vice-versa." c:type="GtkSpinnerClass" glib:is-gtype-struct-for="Spinner"> - + - + + Creates an empty status icon object. + a new #GtkStatusIcon - - - - - - - - - - + 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 #GIcon. If the icon is a +themed icon, it will be updated when the theme changes. + a new #GtkStatusIcon + a #GIcon + + 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 @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 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 + + + + + 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 + - + 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 + - - + allow-none="1"> + 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. + + + 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 + + + + + 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 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. + + + + + 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. +or %NULL if the image is empty. + + the displayed pixbuf, + + + + + Returns the #GdkScreen associated with @status_icon. + + a #GdkScreen. + + + + + 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 + + + + + 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 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 title of this tray icon. See gtk_status_icon_set_title(). + + the title of the 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 + + + + + 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 + + + + + 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 + + + + + Returns whether the status icon is embedded in a notification +area. +a notification area. + + %TRUE if the status icon is embedded in + + + + version="2.10 "> + Makes @status_icon display the file @filename. +See gtk_status_icon_new_from_file() for details. - - - - - - - - - - - - - - - - - - - - + a filename + Makes @status_icon display the #GIcon. +See gtk_status_icon_new_from_gicon() for details. + a GIcon - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + 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 @pixbuf. +See gtk_status_icon_new_from_pixbuf() for details. - + + a #GdkPixbuf or %NULL + + + + + + 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 + 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 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 + + + + + + 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 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 + 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()." +gtk_tooltip_set_markup(). + + + + + + the contents of the tooltip for @status_icon, or %NULL + + + + + + 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 + Shows or hides a status icon. - + %TRUE to show the status icon, %FALSE to hide it + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + %TRUE if the statusicon is embedded in a notification area. + - - - - - + + - + transfer-ownership="none"> + 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. @@ -52576,59 +47272,61 @@ 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."> - +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."> - +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."> - +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. @@ -52637,11 +47335,11 @@ 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."> - +64 characters. + - - + + @@ -52649,75 +47347,73 @@ that they allow on status icons, e.g. Windows only shows the first - + 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." - version="2.10"> - - +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." - version="2.14"> - - +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." - version="2.14"> - - +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 +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." - version="2.10"> - - +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 @@ -52727,52 +47423,59 @@ 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." - version="2.16"> - - +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."> - - +%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." - version="2.10"> - - +size. Otherwise, GTK+ will scale the icon as necessary. + + %TRUE if the icon was updated for the new + - - + + the new size + @@ -52784,7 +47487,7 @@ size. Otherwise, GTK+ will scale the icon as necessary." - + @@ -52796,7 +47499,7 @@ size. Otherwise, GTK+ will scale the icon as necessary." - + @@ -52805,33 +47508,33 @@ size. Otherwise, GTK+ will scale the icon as necessary." - + - + - + - + - + - + - + @@ -52844,9 +47547,9 @@ size. Otherwise, GTK+ will scale the icon as necessary." - + - + @@ -52859,9 +47562,9 @@ size. Otherwise, GTK+ will scale the icon as necessary." - + - + @@ -52874,22 +47577,22 @@ size. Otherwise, GTK+ will scale the icon as necessary." - + - + - + - + - + @@ -52898,15 +47601,18 @@ size. Otherwise, GTK+ will scale the icon as necessary." - + - + - + - - - + + + Creates a new #GtkStatusbar ready for messages. + + the new #GtkStatusbar + + c:identifier="gtk_statusbar_get_context_id"> + 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 - + + 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 + + + + + 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 + + + + + + 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 - + + 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() + - + + Forces the removal of all messages from a statusbar's +stack with the exact @context_id. - - - - + a context identifier + + c:identifier="gtk_statusbar_set_has_resize_grip"> + Sets whether the statusbar has a resize grip. +%TRUE by default. - + %TRUE to have a resize grip + - - - - - - - - - - - + transfer-ownership="none"> + 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. + - - + + - + - + @@ -53082,10 +47792,10 @@ The exact @context_id and @message_id must be specified."> - + - + @@ -53094,7 +47804,7 @@ The exact @context_id and @message_id must be specified."> - + @@ -53103,7 +47813,7 @@ The exact @context_id and @message_id must be specified."> - + @@ -53112,7 +47822,7 @@ The exact @context_id and @message_id must be specified."> - + @@ -53120,35 +47830,37 @@ The exact @context_id and @message_id must be specified."> - - + + - - + + - - + + - - + + + + @@ -53160,41 +47872,48 @@ The exact @context_id and @message_id must be specified."> - + - + introspectable="0"> + 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."> +if they are not %NULL. - + + Creates a new #GtkStyle. + a new #GtkStyle. + + + + + @@ -53205,192 +47924,6 @@ if they are not %NULL."> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -53418,87 +47951,19 @@ if they are not %NULL."> - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -53526,210 +47991,16 @@ if they are not %NULL."> - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -53757,25 +48028,130 @@ if they are not %NULL."> - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -53803,22 +48179,59 @@ if they are not %NULL."> - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -53840,56 +48253,16 @@ if they are not %NULL."> - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -53917,23 +48290,23 @@ if they are not %NULL."> - + - + - + - + - + @@ -53953,14 +48326,14 @@ if they are not %NULL."> - - + + + + + - - - - + @@ -53976,7 +48349,7 @@ if they are not %NULL."> - + @@ -53988,16 +48361,53 @@ if they are not %NULL."> - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -54022,16 +48432,139 @@ if they are not %NULL."> - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -54056,112 +48589,23 @@ if they are not %NULL."> - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -54172,8 +48616,126 @@ specified by @style for the given state."> + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Renders the icon specified by @source at the given @size +according to the given parameters and returns the result in a +pixbuf. +containing the rendered icon + + a newly-created #GdkPixbuf + + + + + the #GtkIconSource specifying the icon to render + + + + a text direction + + + + a state + + + + 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 + + + + + + Sets the background of @window to the background color or pixmap +specified by @style for the given state. + + + + + + a #GdkWindow + + + + a state + + + + @@ -54184,7 +48746,7 @@ specified by @style for the given state."> - + @@ -54193,127 +48755,72 @@ specified by @style for the given state."> - + - + - + - + - + + 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 +in the following way: +<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. + + + + + + Creates a copy of the passed in #GtkStyle object. - + a copy of @style + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + Detaches a style from a window. If the style is not attached +to any windows anymore, it is unrealized. See gtk_style_attach(). - - - - - - - - - - - + version="2.16" + introspectable="0"> + 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 @@ -54322,47 +48829,185 @@ from @style." + + 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 + + + + + + Non-vararg variant of gtk_style_get(). +Used primarily by language bindings. + + + + + + the #GType of a descendant of #GtkWidget + + + + the name of the first style property to get + + + + a <type>va_list</type> of pairs of property names and locations to return the property values, starting with the location for @first_property_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 + + + + + + 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 + + + + + + Renders the icon specified by @source at the given @size +according to the given parameters and returns the result in a +pixbuf. +containing the rendered icon + + a newly-created #GdkPixbuf + + + + + the #GtkIconSource specifying the icon to render + + + + a text direction + + + + a state + + + + 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 + + + + + + Sets the background of @window to the background color or pixmap +specified by @style for the given state. + + + + + + a #GdkWindow + + + + a state + + + + - + - + - + - + - + - + - + - + @@ -54375,74 +49020,25 @@ from @style." - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - + - + - - - @@ -54450,32 +49046,36 @@ from @style." - + + + - + + + - + + + - + 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." - version="2.4"> - - +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." - version="2.4"> - - +if a widget wants to cache objects as object data on #GtkStyle. +This signal provides a convenient place to free such cached objects. + + @@ -54486,7 +49086,7 @@ This signal provides a convenient place to free such cached objects." - + @@ -54498,7 +49098,7 @@ This signal provides a convenient place to free such cached objects." - + @@ -54510,7 +49110,7 @@ This signal provides a convenient place to free such cached objects." - + @@ -54524,9 +49124,9 @@ This signal provides a convenient place to free such cached objects." - - - + + + @@ -54537,7 +49137,7 @@ This signal provides a convenient place to free such cached objects." - + @@ -54552,7 +49152,7 @@ This signal provides a convenient place to free such cached objects." - + @@ -54561,17 +49161,20 @@ This signal provides a convenient place to free such cached objects." + a #GdkWindow + a state - + + a newly-created #GdkPixbuf @@ -54579,28 +49182,34 @@ This signal provides a convenient place to free such cached objects." + the #GtkIconSource specifying the icon to render + a text direction + a state - + 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 - + @@ -54624,19 +49233,19 @@ This signal provides a convenient place to free such cached objects." - + - + - + - + @@ -54660,19 +49269,19 @@ This signal provides a convenient place to free such cached objects." - + - + - + - + @@ -54699,61 +49308,22 @@ This signal provides a convenient place to free such cached objects." - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + @@ -54783,25 +49353,25 @@ This signal provides a convenient place to free such cached objects." - + - + - + - + - + - + @@ -54828,58 +49398,22 @@ This signal provides a convenient place to free such cached objects." - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + @@ -54906,22 +49440,22 @@ This signal provides a convenient place to free such cached objects." - + - + - + - + - + @@ -54948,22 +49482,22 @@ This signal provides a convenient place to free such cached objects." - + - + - + - + - + @@ -54990,22 +49524,22 @@ This signal provides a convenient place to free such cached objects." - + - + - + - + - + @@ -55032,22 +49566,22 @@ This signal provides a convenient place to free such cached objects." - + - + - + - + - + @@ -55074,22 +49608,22 @@ This signal provides a convenient place to free such cached objects." - + - + - + - + - + @@ -55116,31 +49650,31 @@ This signal provides a convenient place to free such cached objects." - + - + - + - + - + - + - + @@ -55167,31 +49701,31 @@ This signal provides a convenient place to free such cached objects." - + - + - + - + - + - + - + @@ -55218,16 +49752,16 @@ This signal provides a convenient place to free such cached objects." - + - + - + - + @@ -55236,7 +49770,7 @@ This signal provides a convenient place to free such cached objects." - + @@ -55260,22 +49794,22 @@ This signal provides a convenient place to free such cached objects." - + - + - + - + - + @@ -55302,16 +49836,16 @@ This signal provides a convenient place to free such cached objects." - + - + - + - + @@ -55320,7 +49854,7 @@ This signal provides a convenient place to free such cached objects." - + @@ -55347,16 +49881,16 @@ This signal provides a convenient place to free such cached objects." - + - + - + - + @@ -55365,7 +49899,7 @@ This signal provides a convenient place to free such cached objects." - + @@ -55389,10 +49923,10 @@ This signal provides a convenient place to free such cached objects." - + - + @@ -55401,7 +49935,7 @@ This signal provides a convenient place to free such cached objects." - + @@ -55416,7 +49950,7 @@ This signal provides a convenient place to free such cached objects." - + @@ -55428,10 +49962,10 @@ This signal provides a convenient place to free such cached objects." - + - + @@ -55440,7 +49974,7 @@ This signal provides a convenient place to free such cached objects." - + @@ -55467,22 +50001,22 @@ This signal provides a convenient place to free such cached objects." - + - + - + - + - + @@ -55506,134 +50040,106 @@ This signal provides a convenient place to free such cached objects." - + - + - + - + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - + + - - + + - + - + - + - - - - - - - - - - - - - @@ -55679,16 +50173,16 @@ This signal provides a convenient place to free such cached objects." - + - + - + - + @@ -55697,10 +50191,10 @@ This signal provides a convenient place to free such cached objects." - + - + @@ -55713,42 +50207,109 @@ This signal provides a convenient place to free such cached objects." - + - + - + - + - + + 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 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 + + + + + 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 + + + + + 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 + + + + + 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 + + + + + + Returns the number of rows and columns in the table. - - + + return location for the number of rows, or %NULL + - - + + return location for the number of columns, or %NULL + - + - + - - + + + + + @@ -55758,23 +50319,44 @@ row @row + 1. See gtk_table_set_row_spacing()."> - + - + - + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -55785,98 +50367,30 @@ column @col + 1. See gtk_table_set_col_spacing()."> - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - + + @@ -55884,40 +50398,40 @@ width and height. (See gtk_table_set_homogenous ())"> - + - + - + - + - + - + - + - + - + - + - + - + + + - + - + - + - + - + - + - + - + @@ -55958,10 +50474,10 @@ width and height. (See gtk_table_set_homogenous ())"> - + - + + glib:get-type="gtk_target_list_get_type" + c:symbol-prefix="target_list"> - + + + - + - + + Creates a new #GtkTargetList from an array of #GtkTargetEntry. + the new #GtkTargetList. + Pointer to an array of #GtkTargetEntry - + number of entries in @targets. + - - - - - - - - - - - + + 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 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 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. + - + + Prepends a table of #GtkTargetEntry to a target list. + the table of #GtkTargetEntry - + number of targets in the table + - + + 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 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 + + + + + + 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 + + + + + + Increases the reference count of a #GtkTargetList by one. + + the passed in #GtkTargetList. + + + + + Removes a target from a target list. + the interned atom representing the target - + + Decreases the reference count of a #GtkTargetList by one. +If the resulting reference count is zero, frees the list. - + - - - - - - - - @@ -56161,31 +50690,34 @@ Looks up a given target in a #GtkTargetList."> - + - + - + + - - + + - - + + - - + + - - + + - - + + - - + + + + @@ -56230,60 +50766,47 @@ Looks up a given target in a #GtkTargetList."> - - - - - - - + - + - + - + - + - + - + - + - + - + - - - - - - - - - + + glib:get-type="gtk_text_attributes_get_type" + c:symbol-prefix="text_attributes"> - + @@ -56298,25 +50821,25 @@ Looks up a given target in a #GtkTargetList."> - + - + - + - + - + - + - + @@ -56331,1334 +50854,500 @@ Looks up a given target in a #GtkTargetList."> - + - + - - - - + - + - + - + - + - + + 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 + c:identifier="gtk_text_attributes_copy_values"> + Copies the values from @src to @dest so that @dest has the same values +as @src. Frees existing values in @dest. + another #GtkTextAttributes - + + Increments the reference count on @values. + + the #GtkTextAttributes that were passed in + + + + + Decrements the reference count on @values, freeing the structure +if the reference count reaches 0. - - - - - - + - + + Creates a new text buffer. + a new text buffer - + + a tag table, or %NULL to create a new one - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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." - version="2.12"> +Emits the "mark-set" signal as notification of the mark's initial +placement. + the mark to add + location to place mark - - - - - - - - - - - - - - - - - + + 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 + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + 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 + c:identifier="gtk_text_buffer_apply_tag_by_name"> + 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 - + + 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 + + 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 +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 +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 +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."> +single call to one of those functions. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + Copies the currently-selected text to a clipboard. + + the #GtkClipboard object to copy to + + + + + + 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 + + + + + + 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 + + + + + + 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 + + + + + + + + + + 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 + + + + + + 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 + + + + + + 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 + + + + + + Deletes the mark named @name; the mark must exist. See +gtk_text_buffer_delete_mark() for details. + + + + + + name of a mark in @buffer + + + + + + 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 + + + + + + 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 + + - + 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 + 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 @@ -57670,415 +51359,1415 @@ 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 +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." - version="2.10"> +handle the newly created tags. + a #GdkAtom representing a registered rich text format - + whether deserializing this format may create tags + - + + Should be paired with a call to gtk_text_buffer_begin_user_action(). +See that function for a full explanation. - + + + + + 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 + + + + + + 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 + + + + + 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 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 + + + + + + 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 + + + + + + Indicates whether the buffer has some text currently selected. + + %TRUE if the there is text selected + + + + + 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 + + + + + Obtains the location of @anchor within @buffer. + + + + + + an iterator to be initialized + + + + a child anchor that appears in @buffer + + + + + + Initializes @iter to the start of the given line. + + + + + + iterator to initialize + + + + line number counting from 0 + + + + + + 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 + + + + + + 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 + + + + + + Initializes @iter with the current position of @mark. + + + + + + iterator to initialize + + + + a #GtkTextMark in @buffer + + + + + + 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 + + + + + + Obtains the number of lines in the buffer. This value is cached, so +the function is very fast. + + number of lines in the 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 + + + + + + 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 + + + + + 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 + + + + + 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 + + + + + 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 + + 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." - version="2.10"> - +formats. + + an array of #GdkAtom<!-- -->s representing the registered - - + + return location for the number of formats + - + + 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 + + + + + + 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. + + + + + - + caller-allocates="1" + transfer-ownership="none"> + iterator to initialize + + + + + + Get the #GtkTextTagTable associated with this buffer. + + the buffer's tag table + + + + + 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 + + + + + + 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 + + + + text in UTF-8 format + + + + length of text in bytes, or -1 + + + + + + Simply calls gtk_text_buffer_insert(), using the current +cursor position as the insertion point. + + + + + + text in UTF-8 format + + + + length of text, in bytes + + + + + + 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 + + + + + + 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 + + + + + + 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 + + + + + + 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 + + + + + + + + + + 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 + + + + + + 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 + + + + + + Pastes the contents of a clipboard at the insertion point, or +we'll 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 + + + + + + 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 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 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 + + + + + + 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 + + + + + + Removes a #GtkClipboard added with +gtk_text_buffer_add_selection_clipboard(). + + + + + + a #GtkClipboard added to @buffer by gtk_text_buffer_add_selection_clipboard() + + + + + + 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_remove_tag(). + + + + + + name of a #GtkTextTag + + + + one bound of range to be untagged + + + + other bound of range to be untagged + + + + + + 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 + + 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." - version="2.10"> - - - - +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 + - + + 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 + + + + + Deletes current contents of @buffer, and inserts @text instead. If + + + + + + UTF-8 text to insert + + + + length of @text in bytes + + + + + + 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. - - - - - - - - - - + + + + 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. + - + transfer-ownership="none"> + The list of targets this buffer supports for clipboard copying +and as DND source. + - + transfer-ownership="none"> + 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. + - + transfer-ownership="none"> + The list of targets this buffer supports for clipboard pasting +and as DND destination. + - - + + - + transfer-ownership="none"> + 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). -See also: +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()."> - - +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. -See also: 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()."> - - +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."> - - +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. -See also: 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()."> - - +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."> - - +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."> - - +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. -See also: -gtk_text_buffer_insert(), -gtk_text_buffer_insert_range()."> - - +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()."> - - +gtk_text_buffer_delete_mark(). + + - - + + The mark that was deleted + - + The ::mark-set signal is emitted as notification after a #GtkTextMark is set. -See also: gtk_text_buffer_create_mark(), -gtk_text_buffer_move_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()."> - - +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." - version="2.16"> - - +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). -See also: -gtk_text_buffer_remove_tag()."> - - +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 + @@ -58090,7 +52779,7 @@ gtk_text_buffer_remove_tag()."> - + @@ -58105,13 +52794,13 @@ gtk_text_buffer_remove_tag()."> - + - + @@ -58129,7 +52818,7 @@ gtk_text_buffer_remove_tag()."> - + @@ -58147,7 +52836,7 @@ gtk_text_buffer_remove_tag()."> - + @@ -58165,7 +52854,7 @@ gtk_text_buffer_remove_tag()."> - + @@ -58177,7 +52866,7 @@ gtk_text_buffer_remove_tag()."> - + @@ -58189,7 +52878,7 @@ gtk_text_buffer_remove_tag()."> - + @@ -58207,7 +52896,7 @@ gtk_text_buffer_remove_tag()."> - + @@ -58222,7 +52911,7 @@ gtk_text_buffer_remove_tag()."> - + @@ -58243,7 +52932,7 @@ gtk_text_buffer_remove_tag()."> - + @@ -58264,7 +52953,7 @@ gtk_text_buffer_remove_tag()."> - + @@ -58276,7 +52965,7 @@ gtk_text_buffer_remove_tag()."> - + @@ -58288,7 +52977,7 @@ gtk_text_buffer_remove_tag()."> - + @@ -58302,36 +52991,36 @@ gtk_text_buffer_remove_tag()."> - - + + - - + + - - + + - - + + - - + + @@ -58342,7 +53031,7 @@ gtk_text_buffer_remove_tag()."> c:type="GtkTextBufferDeserializeFunc" throws="1"> - + @@ -58355,27 +53044,27 @@ gtk_text_buffer_remove_tag()."> - - - + - + - + - + + + - - - - + + @@ -58390,11 +53079,11 @@ gtk_text_buffer_remove_tag()."> - - + + - + @@ -58415,99 +53104,67 @@ gtk_text_buffer_remove_tag()."> c:identifier="GTK_TEXT_BUFFER_TARGET_INFO_TEXT" glib:nick="text"/> - + - + - + - + - + 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()."> +convenience function gtk_text_buffer_create_child_anchor(). + a new #GtkTextChildAnchor + + 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 + + + - + c:identifier="gtk_text_child_anchor_get_widgets"> + 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - c:identifier="GTK_TEXT_DIR_RTL" glib:nick="rtl"/> - - - - - - - - - - - - - + glib:get-type="gtk_text_iter_get_type" + c:symbol-prefix="text_iter"> - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - + + 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 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 + + + + + + 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 + + + + + + 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 - - - + + 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 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 + + + + + + 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 - - - + + 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_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 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 + - - - + + 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_backward_cursor_position() for details. + + %TRUE if we moved and the new position is dereferenceable + - - + + number of positions to move + - + 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 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 backward to the previous visible word start. (If @iter is currently +on a word start, moves backward 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 + + + + + number of times to move + + + + + + Moves backward to the previous word start. (If @iter is currently on a +word start, moves backward 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 + + + + + number of times to move + + + + + + 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."> +<emphasis>within</emphasis> a tagged range. - + whether @iter is the start of a range tagged with @tag + - + + a #GtkTextTag, or %NULL - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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 insertions are allowed at a given position. - + whether text inserted at @iter would be editable + - + %TRUE if text is editable by default + - + + 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 + + + + + + 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 () + - + + 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 + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + 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."> +paragraph delimiter chars there. - + whether @iter is at the end of a line + - + + 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. + - + + 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 + - - - - - - + + 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 + - + + 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 + + + - + 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."> +convenience when writing loops. - + whether @iter moved and is dereferenceable + - - - - - - + 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."> +is 0, the function does nothing and returns %FALSE. - + whether @iter moved and is dereferenceable + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + number of characters to move, may be negative + + 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 +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."> +pango_break() function. - - - - - - + %TRUE if we moved and the new position is dereferenceable + + c:identifier="gtk_text_iter_forward_cursor_positions"> + 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 + + introspectable="0"> + Advances @iter, calling @pred on each character. If +If @pred never returns %TRUE, @iter is set to @limit if - + whether a match was found + + closure="1"> + a function to be called on each character - + user data for @pred + - + + search limit, or %NULL for none - + + 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 @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 + + 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. @@ -59744,1296 +53859,840 @@ 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."> +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 + allow-none="1"> + return location for start of match, or %NULL + allow-none="1"> + return location for end of match, or %NULL - + + bound for the search, or %NULL for the end of the buffer - + + 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 + + + + + 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 + - + + 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 + + + + + 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 @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 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 @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 @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 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_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 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_forward_word_end() up to @count times. + + %TRUE if @iter moved and is not the end iterator + + + + + number of times to move + + + + + + 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. + + + + + + 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 + + + + + + Returns the #GtkTextBuffer this iterator is associated with. + + the buffer + + + + + Returns the number of bytes in the line containing @iter, +including the paragraph delimiters. + + number of bytes in 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 number of characters in the line containing @iter, +including the paragraph delimiters. + + number of characters in the line + + + + + 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 + + + + + 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 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 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 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 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 + + + + + + + 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 + + + + + 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 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 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 <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 + + + + + + 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 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 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 + + + + + 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 + + + + + + Returns %TRUE if @iter is within a range tagged with @tag. + + whether @iter is tagged with @tag + + + + + a #GtkTextTag + + + + + + Checks whether @iter falls in the range [@start, @end). + + %TRUE if @iter is in the range + + start of range + end of range - + 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. + + + + + 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 + + + + + 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 %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 + + + + + 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 +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."> +that expect a pre-sorted range. + another #GtkTextIter - - - - - - - - - - - - - - - - - - - - - + + 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) + - - + + + 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 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 + - - + + + Sets @iter to point to @char_offset. @char_offset counts from the start +of the entire text buffer, starting with 0. - - - - - + + a character number + - - + + + 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 + - - - - - - + + 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 + - + + 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 + + + + + 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 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 + + + + + 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 + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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)." - version="2.12"> +side of the text you're typing). + new #GtkTextMark - + + mark name or %NULL - + whether the mark should have left gravity + - + Gets the buffer this mark is located inside, +or %NULL if the mark is deleted. + + the mark's #GtkTextBuffer + + + + + 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 + + + + + Determines whether the mark has left gravity. + + %TRUE if the mark has left gravity, %FALSE otherwise + + + + + Returns the mark name; returns NULL for anonymous marks. + + mark name + + + + + Returns %TRUE if the mark is visible (i.e. a cursor is displayed +for it). + + %TRUE if visible + + + + + 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."> +Marks are not visible by default. - + visibility of mark + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - + - - + + - - + + - - + + - - + + - - glib:nick="text-only"/> - + + Creates a #GtkTextTag. Configure the tag using object arguments, +i.e. using g_object_set(). + a new #GtkTextTag - + + tag name, or %NULL - + + 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 + + + + + + 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 +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."> +gtk_text_buffer_create_tag(), which adds the tag to the buffer's table +automatically. - - - - - - - - - - - - - - - - - + the new priority + - + transfer-ownership="none"> + 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."> - +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."> - +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()."> - +locale, see also gtk_get_default_language(). + - - + + - - + + - - + + - - + + - + transfer-ownership="none"> + The paragraph background color as a string. + - + transfer-ownership="none"> + The paragraph background color as a as a (possibly unallocated) +#GdkColor. + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + @@ -61390,99 +55070,97 @@ locale, see also gtk_get_default_language()."> - + - - - - + - + - - - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + 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."> - - +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 + @@ -61494,9 +55172,9 @@ event. %FALSE to propagate the event further."> - + - + @@ -61514,29 +55192,29 @@ event. %FALSE to propagate the event further."> - - + + - - + + - - + + - - + + @@ -61544,65 +55222,38 @@ event. %FALSE to propagate the event further."> - + + 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."> +the same name as an already-added tag. + a #GtkTextTag - - - - - - - - - - - - - - - - - - - - - + + 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). @@ -61610,66 +55261,90 @@ over it (you can't add/remove tags)."> + closure="1"> + a function to call on each tag - + user data + - + + Returns the size of the table (number of tags) - + number of tags in @table + + + Look up a named tag. + + The tag, or %NULL if none by that name is in the table. + + + + + name of a tag + + + + + + 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 + + + + - - - - - - - - - - - + + - - + + - + the added tag. + - - + + - + the changed tag. + - + whether the size has been changed. + - - + + - + the removed tag. + @@ -61681,7 +55356,7 @@ over it (you can't add/remove tags)."> - + @@ -61693,13 +55368,13 @@ over it (you can't add/remove tags)."> - + - + @@ -61714,7 +55389,7 @@ over it (you can't add/remove tags)."> - + @@ -61728,29 +55403,29 @@ over it (you can't add/remove tags)."> - - + + - - + + - - + + - - + + @@ -61766,11 +55441,16 @@ over it (you can't add/remove tags)."> - + + + glib:type-struct="TextViewClass"> - + + 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()."> - - +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."> - - +take over an existing reference. + + a new #GtkTextView. + + a #GtkTextBuffer @@ -61813,497 +55496,630 @@ take over an existing reference."> - + + 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 + + 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."> +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."> +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 - + + 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 or %NULL + + + + window y coordinate return location or %NULL + + + + + + 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 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 + + + + + + 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, + + + + + Gets the width of the specified border window. See +gtk_text_view_set_border_window_size(). + + width of window + + + + + window to return size from + + + + + + 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 + + + + + Find out whether the cursor is being displayed. + + whether the insertion mark is visible + + + + + 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 + + + + + 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 + + + + + Gets the horizontal-scrolling #GtkAdjustment. + + pointer to the horizontal #GtkAdjustment + + + + + 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 + + + + + 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 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 + + + + + + Gets the default justification of paragraphs in @text_view. +Tags in the buffer may override the default. + + default justification + + + + + Gets the default left margin size of paragraphs in the @text_view. +Tags in the buffer may override the default. + + left margin in pixels + + + + + 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 + + + + + + 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 + + + + + + Returns whether the #GtkTextView is in overwrite mode or not. + + whether @text_view is in overwrite mode or not. + + + + + Gets the default number of pixels to put above paragraphs. + + default number of pixels above paragraphs + + + + + Gets the value set by gtk_text_view_set_pixels_below_lines(). + + default number of blank pixels below paragraphs + + + + + Gets the value set by gtk_text_view_set_pixels_inside_wrap(). + + default number of pixels of blank space between wrapped lines + + + + + Gets the default right margin for text in @text_view. Tags +in the buffer may override the default. + + right margin in pixels + + + + + 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" + + + + + Gets the vertical-scrolling #GtkAdjustment. + + pointer to the vertical #GtkAdjustment + + + + + 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 + + + + + + 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 + + + + + + Gets the line wrapping for the view. + + the line wrap setting + + + + + 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 + + + + + + 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 + + + + + + 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 + + + + + + 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 @@ -62312,633 +56128,552 @@ 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."> +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) + - + + 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. + + + + + 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. + + + + + + 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 + - + + 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 + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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. + - - - - - - + + 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 + - - - - - - + + 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 + - - - - - - + + 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 + - - - - - - + + 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 + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + Sets the default indentation for paragraphs in @text_view. +Tags in the buffer may override the default. - + indentation in pixels + - + + Sets the default justification of text in @text_view. +Tags in the view's buffer may override the default. - + + + + justification + + + - + + Sets the default left margin for text in @text_view. +Tags in the buffer may override the default. + + + + + + left margin in pixels + + + + + + Changes the #GtkTextView overwrite mode. + + + + + + %TRUE to turn on overwrite mode, %FALSE to turn it off + + + + + + 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 + + + + + + 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 + + + + + + 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 + + + + + + Sets the default right margin for text in the text view. +Tags in the buffer may override the default. + + + + + + right margin in pixels + + + + + + Sets the default tab stops for paragraphs in @text_view. +Tags in the buffer may override the default. + tabs as a #PangoTabArray - - - + + Sets the line wrapping for the view. + + + + + a #GtkWrapMode + + + - - - + + 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 + + + - - + + 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 or %NULL + + + + buffer y coordinate return location or %NULL + + + + + + - - + + - - + + - - + + + 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."> - +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."> - - +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."> - - +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."> - - +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."> - - +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."> - - +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 +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, @@ -62951,158 +56686,145 @@ There are too many key combinations to list them all here. <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>"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +</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 ::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."> - - +The default bindings for this signal is Insert. + + @@ -63113,8 +56835,7 @@ The default bindings for this signal is Insert."> - + @@ -63132,7 +56853,7 @@ The default bindings for this signal is Insert."> - + @@ -63147,7 +56868,7 @@ The default bindings for this signal is Insert."> - + @@ -63159,34 +56880,16 @@ The default bindings for this signal is Insert."> - + - - - - - - - - - - - - - - - - - - - + - + @@ -63198,7 +56901,7 @@ The default bindings for this signal is Insert."> - + @@ -63213,7 +56916,7 @@ The default bindings for this signal is Insert."> - + @@ -63225,13 +56928,13 @@ The default bindings for this signal is Insert."> - + - + @@ -63243,7 +56946,7 @@ The default bindings for this signal is Insert."> - + @@ -63255,7 +56958,7 @@ The default bindings for this signal is Insert."> - + @@ -63267,7 +56970,7 @@ The default bindings for this signal is Insert."> - + @@ -63279,7 +56982,7 @@ The default bindings for this signal is Insert."> - + @@ -63291,7 +56994,7 @@ The default bindings for this signal is Insert."> - + @@ -63305,57 +57008,57 @@ The default bindings for this signal is Insert."> - - + + - - + + - - + + - - + + - - + + - - + + - - + + - + c:identifier="GTK_TEXT_WINDOW_BOTTOM" glib:nick="bottom"/> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + 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 - + Returns the checked state of the toggle action. - + the checked state of the toggle action + + + + + Returns whether the action should have proxies like a radio action. + + whether the action should have proxies like a radio action. + + Sets the checked state on the toggle action. - + whether the action should be checked or not + - - - - - + Sets whether the action should have proxies like a radio action. - + whether the action should have proxies like a radio action + - + Emits the "toggled" signal on the toggle action. - + - + transfer-ownership="none"> + Whether the toggle action should be active. + - - + + 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. + @@ -63733,8 +57206,10 @@ This is an appearance property and thus only applies if - - + Should be connected if you wish to perform an action +whenever the #GtkToggleAction state is changed. + + @@ -63745,7 +57220,7 @@ This is an appearance property and thus only applies if - + @@ -63756,29 +57231,29 @@ This is an appearance property and thus only applies if - - + + - - + + - - + + - - + + @@ -63786,6 +57261,8 @@ This is an appearance property and thus only applies if + #GtkToggleActionEntry structs are used with +gtk_action_group_add_toggle_actions() to construct toggle actions. @@ -63805,29 +57282,33 @@ This is an appearance property and thus only applies if - + - + - + + - - + + - - + + @@ -63836,44 +57317,41 @@ This is an appearance property and thus only applies if + 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."> - - +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 - + - + - - - - - - + + Gets the value set by gtk_toggle_button_set_inconsistent(). - + %TRUE if the button is displayed as inconsistent, %FALSE otherwise + + + + + 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 + @@ -63882,70 +57360,75 @@ and label."> - + - + + 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 + + + + + + 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 + + + - - - - - - - - - - - - - - - - - + + - - + + - - + + - + - + - + - - + + @@ -63956,7 +57439,7 @@ visual appearance, it doesn't affect the semantics of the button."> - + @@ -63967,29 +57450,29 @@ visual appearance, it doesn't affect the semantics of the button."> - - + + - - + + - - + + - - + + @@ -63997,67 +57480,75 @@ visual appearance, it doesn't affect the semantics of the button."> - + + - - + 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." - version="2.4"> - - +It is an error if @stock_id is not a name of a stock item. + + A new #GtkToggleToolButton + + the name of the stock item + + 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 + + + + 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 + - - - - - - + transfer-ownership="none"> + If the toggle tool button should be pressed in. + @@ -64066,10 +57557,10 @@ Returns %TRUE if the toggle button is pressed in and %FALSE if it is raised." - - - + + Emitted whenever the toggle tool button changes state. + + @@ -64080,7 +57571,7 @@ Returns %TRUE if the toggle button is pressed in and %FALSE if it is raised." - + @@ -64091,171 +57582,148 @@ Returns %TRUE if the toggle button is pressed in and %FALSE if it is raised." - - + + - - + + - - + + - - + + - + - + - - - + + + Creates a new %GtkToolButton using @icon_widget as icon and @label as +label. + + A new #GtkToolButton + + allow-none="1"> + 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." - version="2.4"> - - +It is an error if @stock_id is not a name of a stock item. + + A new #GtkToolButton + + the name of the stock item - + - + + + + + Return the widget used as icon widget on @button. +See gtk_tool_button_set_icon_widget(). +on @button, or %NULL. + + The widget used as icon + - - - - - + 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 - + Returns the widget used as label on @button. +See gtk_tool_button_set_label_widget(). +on @button, or %NULL. - + The widget used as label + - - - - - - - - - - - - - - - - - - - - + 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. + + 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 + + + @@ -64267,90 +57735,121 @@ The returned string is owned by GTK+ and must not be freed or modifed." - - - - - + 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. + allow-none="1"> + the widget used as icon, or %NULL - - - + 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. + + + + 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. + allow-none="1"> + the widget used as label, or %NULL - - - + 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 + + + + + + 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" + + + - + transfer-ownership="none"> + 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. + - - + + - - + + - - + + - - + + - - + + @@ -64358,11 +57857,11 @@ This property only has an effect if not overridden by "label", - - - + + This signal is emitted when the tool button is clicked with the mouse +or activated with the keyboard. + + @@ -64376,7 +57875,7 @@ or activated with the keyboard."> - + @@ -64387,302 +57886,202 @@ 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 - + + 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 whether @tool_item is allocated extra space. +See gtk_tool_item_set_expand(). - + %TRUE if @tool_item is allocated extra space. + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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 + + 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" +used for @tool_item + + a #GtkIconSize indicating the icon size + + + + - - + Returns whether @tool_item is considered important. See +gtk_tool_item_set_is_important() + + %TRUE if @tool_item is considered important. + + 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" - version="2.4"> - +used for @tool_item + + a #GtkOrientation indicating the orientation + + 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 +will not 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 + + + + + + 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 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 +the toolbar is displayed and change themselves accordingly Possibilities are: <itemizedlist> <listitem> GTK_TOOLBAR_BOTH, meaning the tool item should show @@ -64692,138 +58091,240 @@ 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 +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." - version="2.4"> - +for @tool_item. + + A #GtkToolbarStyle indicating the toolbar style used - - - - - - + Returns whether @tool_item has a drag window. See +gtk_tool_item_set_use_drag_window(). - + %TRUE if @tool_item uses a drag window. + - - - + + 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 + - - - + + 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 + + + + + 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. + + + 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." - version="2.4"> - +overflow menu for @tool_item. + + The #GtkMenuItem that is going to appear in the - - - + 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 + + + + + + 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 + + + + + + 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 + + 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 - + + 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 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 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. + + + + + + Sets whether @tool_item is visible when the toolbar is docked horizontally. + + + + + + Whether @tool_item is visible when in horizontal mode + + + + + + 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 + + + + 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. - - + + - - + + - - + + @@ -64831,8 +58332,8 @@ 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> @@ -64841,7 +58342,7 @@ 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 +item and return %TRUE, or </listitem> <listitem> return %FALSE to indicate that the signal was not handled by the item. This means that @@ -64852,35 +58353,14 @@ installs a menu item. 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."> - - +menu. + + %TRUE if the signal was handled, %FALSE if not + - - - - - - - - - - - - - - - - - + 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> @@ -64890,9 +58370,9 @@ the default handler of this signal use the functions <listitem>gtk_tool_shell_get_relief_style()</listitem> </itemizedlist> to find out what the toolbar should look like and change -themselves accordingly."> - - +themselves accordingly. + + @@ -64903,9 +58383,9 @@ themselves accordingly."> - + - + @@ -64915,7 +58395,7 @@ themselves accordingly."> - + @@ -64926,50 +58406,29 @@ themselves accordingly."> - - - - - - - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + @@ -64977,239 +58436,262 @@ 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 - + Gets whether @group is collapsed or expanded. - + %TRUE if @group is collapsed, %FALSE if it is expanded + + + + + Gets the tool item at position (x, y). + + the #GtkToolItem at position (x, y) + - - + + the x position + + + + the y position + - + Gets the ellipsization mode of @group. + + the #PangoEllipsizeMode of @group + + + + + Gets the relief mode of the header button of @group. + + the #GtkReliefStyle + + + + + 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 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 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 + + + + + + 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 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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. + - + 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 + - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - - + + @@ -65225,333 +58707,367 @@ Sets the position of @item in the list of children of @group." - + - + + This should not be accessed directly. Use the accessor functions below. + - - + Creates a new tool palette. + + a new #GtkToolPalette + - - - - - + Get the target entry for a dragged #GtkToolItemGroup. + the #GtkTargetEntry for a dragged group - + Gets the target entry for a dragged #GtkToolItem. + + the #GtkTargetEntry for a dragged item. + + + + + 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 + - + Get the dragged item from the selection. +This could be a #GtkToolItem or a #GtkToolItemGroup. - + the dragged item in selection + - - - - - + + a #GtkSelectionData + - + 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 + - + 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 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 - + 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 the horizontal adjustment of the tool palette. + + the horizontal adjustment of @palette + + 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 vertical adjustment of the tool palette. + + the vertical adjustment of @palette + + 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 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 + + + + + + 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 the size of icons in the tool palette. + + + + + + the #GtkIconSize that icons in the tool palette shall have + + + + + + Sets the style (text, icons or both) of items in the tool palette. + + + + + + the #GtkToolbarStyle that items 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. + + + + + + Unsets a toolbar style set with gtk_tool_palette_set_style(), +so that user preferences will be used to determine the toolbar style. + + + + + 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."> - +size of icons. + - + transfer-ownership="none"> + Is %TRUE if the #GtkToolPalette:icon-size property has been set. + - + transfer-ownership="none"> + The style of items in the tool palette. + @@ -65559,21 +59075,22 @@ size of icons."> - + 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." - version="2.20"> - - +directions of the GtkToolpalette. + + - - + + The horizontal adjustment + - - + + The vertical adjustment + @@ -65585,8 +59102,7 @@ directions of the GtkToolpalette." - + @@ -65603,43 +59119,43 @@ directions of the GtkToolpalette." - - + + - - + + - - + + - - + + - - + + - - + + @@ -65647,10 +59163,10 @@ directions of the GtkToolpalette." + Flags used to specify the supported drag targets. - + + Dummy structure for accessing instances of #GtkToolShellIface. - - + + + + + + + - - + + 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 - - - - - - - + + 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. - + + 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 + + + + + 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 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 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 + + + + + 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 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." - version="2.14"> - +instead. + + the current orientation 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. - + 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 + + 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." - version="2.14"> +instead. - + the current text alignment of @shell + - - - + + 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 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." - version="2.14"> - +instead. + + the current text size group of @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. + + + + + glib:is-gtype-struct-for="ToolShell"> + Virtual function table for the #GtkToolShell interface. - - + + @@ -65823,8 +59387,9 @@ instead." - - + + + the current orientation of @shell @@ -65835,8 +59400,9 @@ instead." - - + + + the current style of @shell @@ -65847,8 +59413,9 @@ instead." - - + + + The relief style of buttons on @shell. @@ -65859,7 +59426,7 @@ instead." - + @@ -65871,8 +59438,9 @@ instead." - - + + + the current text orientation of @shell @@ -65883,9 +59451,10 @@ instead." - + - + the current text alignment of @shell + @@ -65895,8 +59464,8 @@ instead." - - + + @@ -65907,8 +59476,9 @@ instead." - - + + + the current text size group of @shell @@ -65920,6 +59490,7 @@ instead." + - - - + + Creates a new toolbar. + + the newly-created 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 + + + Retrieves the icon size for the toolbar. See gtk_toolbar_set_icon_size(). +the toolbar. + + the current icon size for the icons on + + + + 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. +or %NULL if there isn't an @n<!-- -->'th item. + + The @n<!-- -->'th #GtkToolItem on @toolbar, - + A position on the toolbar + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + Returns the relief style of buttons on @toolbar. See +gtk_button_set_relief(). + + The relief style of buttons on @toolbar. - - - + Returns whether the toolbar has an overflow menu. +See gtk_toolbar_set_show_arrow(). + + %TRUE if the toolbar has an overflow menu. + + + + + Retrieves whether the toolbar has text, icons, or both . See +gtk_toolbar_set_style(). + + the current style of @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 + + 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_ +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." - version="2.4"> +toolbar. - + + a #GtkToolItem, or %NULL to turn of highlighting - + a position on @toolbar + - - - - - - + + 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. + - - - - - - + + 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 + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + Alters the view of @toolbar to display either icons only, text only, or both. - - + + the new style for @toolbar. + - + + Unsets toolbar icon size set with gtk_toolbar_set_icon_size(), so that +user preferences will be used to determine the icon size. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + Unsets a toolbar style set with gtk_toolbar_set_style(), so that +user preferences will be used to determine the toolbar style. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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."> - +size of icons. + - + transfer-ownership="none"> + Is %TRUE if the icon-size property has been set. + - - + + - - - - - + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + 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."> - - +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 + - - - - - - - - - - - - - - - - - - - - - @@ -66764,7 +59815,7 @@ up using the keybaord, @button is -1."> - + @@ -66779,7 +59830,7 @@ up using the keybaord, @button is -1."> - + @@ -66794,49 +59845,49 @@ up using the keybaord, @button is -1."> - + - + - + - + - + - - + + - - + + - - + + - + glib:nick="both-horiz"/> + 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." - version="2.12"> +key press. + a #GdkDisplay - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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(). + allow-none="1"> + a #GtkWidget, or %NULL to unset the old custom widget. + + 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 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 + + + + + + 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 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 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 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()." - version="2.12"> +gtk_tree_view_set_tooltip_cell(). + a #GdkRectangle - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -67241,7 +60101,7 @@ applications should have little use for it." - + @@ -67263,7 +60123,7 @@ applications should have little use for it." - + @@ -67279,78 +60139,101 @@ applications should have little use for it." - + - + + 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!"> +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."> +parent of @dest_path doesn't exist, though. - + %TRUE if a drop is possible before @dest_path + + destination row + the data being dragged @@ -67363,36 +60246,42 @@ parent of @dest_path doesn't exist, though."> - + - + 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 @@ -67400,91 +60289,118 @@ parent of @dest_path doesn't exist, though."> - + + 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 - + + 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!"> +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!"> +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 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 + + + + - + - + %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 @@ -67544,34 +60467,34 @@ longer found in the model!"> + glib:get-type="gtk_tree_iter_get_type" + c:symbol-prefix="tree_iter"> - + - + - + - + - + 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()."> +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. @@ -67579,7 +60502,7 @@ This function is mainly used for language bindings."> - + @@ -67592,447 +60515,312 @@ This function is mainly used for language bindings."> - + - - - - - - - - - - + Returns the type of the column. + The type of the column. - + The column index. + - + + 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. + + + + + Sets @iter to a valid iterator pointing to @path. + + %TRUE, if @iter was set. + - + + The uninitialized #GtkTreeIter. + The #GtkTreePath. + + Returns the number of columns supported by @tree_model. + + The number of columns. + + + + 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. + - + + An empty #GValue to set. - - - - - - - - - - + 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 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 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 +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."> +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."> +Please note that nodes that are deleted are not unreffed. + The #GtkTreeIter. + + + Creates a new #GtkTreeModel, with @child_model as the child_model +and @root as the virtual root. + + A new #GtkTreeModel. + + + + + A #GtkTreePath or %NULL. + + + - + 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. + + + + + + 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 +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."> +Returned values with type %G_TYPE_OBJECT have to be unreferenced, values +with type %G_TYPE_STRING or %G_TYPE_BOXED have to be freed. Other values are +passed by value. + a row in @tree_model @@ -68041,204 +60829,521 @@ If appropriate, the returned values have to be freed or unreferenced."> - + + Returns the type of the column. + + The type of the column. + + + + + The column index. + + + + + + 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. + + + + + Sets @iter to a valid iterator pointing to @path. + + %TRUE, if @iter was set. + + + + + The uninitialized #GtkTreeIter. + + + + The #GtkTreePath. + + + + + + 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. + + + + + + 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. + + + + + + Returns the number of columns supported by @tree_model. + + The number of columns. + + + + + Returns a newly-created #GtkTreePath referenced by @iter. This path should +be freed with gtk_tree_path_free(). + + a newly-created #GtkTreePath. + + + + + The #GtkTreeIter. + + + + + + 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. + + + + + + See gtk_tree_model_get(), this version takes a <type>va_list</type> +for language bindings to use. - - + + a row in @tree_model + - - + + <type>va_list</type> of column/return location pairs + - + + 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. + + + + An empty #GValue to set. + + + + + + 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 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 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. + + + + + + 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-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. - - - + c:identifier="gtk_tree_model_row_has_child_toggled"> + 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-inserted" signal on @tree_model + A #GtkTreePath pointing to the inserted row + + A valid #GtkTreeIter pointing to the inserted row + + + c:identifier="gtk_tree_model_rows_reordered"> + 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>. + - + + Creates a new #GtkTreeModel, with @child_model as the child model. + A new #GtkTreeModel. + + + + + 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. + + + + + + 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 +Implementations of GtkTreeModel must emit row-deleted <emphasis>before</emphasis> removing the node from its -internal data structures. This is because models and +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."> - - +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."> - - +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."> - - +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>. + glib:type-struct="TreeModelFilterClass"> - - - + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + 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. + + + + + + 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. + + + + + + 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. - + + + 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 @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. + + + + + + Returns a pointer to the child model of @filter. + + A pointer to a #GtkTreeModel. + + + + + Emits ::row_changed for each row in the child model, which causes +the filter to re-evaluate whether a row is visible or not. + + + + + + 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. + + + + + 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 +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 @@ -68284,17 +61576,16 @@ visible_func (GtkTreeModel *model, GtkTreeIter *iter, gpointer data) { -/&ast; Visible if row is non-empty and first column is "HI" &ast;/ +/&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) +if (str && strcmp (str, "HI") == 0) visible = TRUE; g_free (str); return visible; } -</programlisting></informalexample>" - version="2.4"> +</programlisting></informalexample> @@ -68302,187 +61593,36 @@ return visible; + closure="1" + destroy="2"> + A #GtkTreeModelFilterVisibleFunc, the visible function. - - + + User data to pass to the visible function, or %NULL. + + scope="async"> + Destroy notifier of @data, or %NULL. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - + + @@ -68498,29 +61638,57 @@ all unreffed iters will be invalid." - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - + + @@ -68543,19 +61711,21 @@ all unreffed iters will be invalid." - + - + - + - + @@ -68565,7 +61735,7 @@ all unreffed iters will be invalid." - + @@ -68584,7 +61754,7 @@ all unreffed iters will be invalid." - + @@ -68597,7 +61767,7 @@ all unreffed iters will be invalid." - + @@ -68608,7 +61778,7 @@ all unreffed iters will be invalid." - + @@ -68626,7 +61796,7 @@ all unreffed iters will be invalid." - + @@ -68644,7 +61814,7 @@ all unreffed iters will be invalid." - + @@ -68662,7 +61832,7 @@ all unreffed iters will be invalid." - + @@ -68677,7 +61847,7 @@ all unreffed iters will be invalid." - + @@ -68691,17 +61861,16 @@ all unreffed iters will be invalid." - - + + - - + + + The flags supported by this interface. @@ -68712,9 +61881,10 @@ all unreffed iters will be invalid." - + - + The number of columns. + @@ -68724,8 +61894,9 @@ all unreffed iters will be invalid." - + + The type of the column. @@ -68733,32 +61904,40 @@ all unreffed iters will be invalid." - + The column index. + - + - + %TRUE, if @iter was set. + - + + The uninitialized #GtkTreeIter. + The #GtkTreePath. - + + a newly-created #GtkTreePath. @@ -68766,13 +61945,14 @@ all unreffed iters will be invalid." + The #GtkTreeIter. - + @@ -68781,121 +61961,152 @@ all unreffed iters will be invalid." + The #GtkTreeIter. - + The column to lookup the value at. + - + + 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. - + @@ -68904,13 +62115,14 @@ all unreffed iters will be invalid." + The #GtkTreeIter. - + @@ -68919,6 +62131,7 @@ all unreffed iters will be invalid." + The #GtkTreeIter. @@ -68926,6 +62139,7 @@ all unreffed iters will be invalid." - - - - - - - - - - - - - + + 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. + + + + 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 + + + + + c:identifier="gtk_tree_model_sort_convert_child_path_to_path"> + 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 + c:identifier="gtk_tree_model_sort_convert_iter_to_child_iter"> + 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. + + + + + + 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 + + + + + + Returns the model the #GtkTreeModelSort is sorting. + + the "child model" being sorted + + + + + <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. + 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."> +is in 'unsorted' state. - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - + - - + + - - + + + + - - + + - + - + - - + + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + @@ -69146,40 +62370,35 @@ Checks if the given iter is a valid iter for this #GtkTreeModelSort." - + glib:get-type="gtk_tree_path_get_type" + c:symbol-prefix="tree_path"> + + Creates a new #GtkTreePath. This structure refers to a row. + A newly created #GtkTreePath. - + + Creates a new #GtkTreePath. The string representation of this path is "0" + A new #GtkTreePath. - - - - - + version="2.2" + introspectable="0"> + Creates a new path with @first_index and @varargs as indices. + A newly created #GtkTreePath. - + first integer + @@ -69187,168 +62406,210 @@ path string is passed in, %NULL is returned."> - + + 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. + + + - + + Appends a new index to a path. As a result, the depth of the path is +increased. + + + + + + The index. + + + + + + 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. + + + + + + Creates a new #GtkTreePath as a copy of @path. - + A new #GtkTreePath. + - + + Moves @path to point to the first child of the current path. - - - - - - + + Frees @path. - - - - - - + + Returns the current depth of @path. - + The depth of @path + - - - - - + shadowed-by="get_indices_with_depth"> + 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. + - - - - - - + + Returns the current indices of @path. +This is an array of integers, each representing a node in a tree. +It also returns the number of elements in the array. +The array should not be freed. - + The current indices, or %NULL. + + + - - + + Number of elements returned in the integer array + - + + 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 + + Moves the @path to point to the next node at the current depth. + + + + + + Prepends a new index to a path. As a result, the depth of the path is +increased. + + + + + + The index. + + + + + + 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. + + + + + 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(). + + + + + 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. + + + - + + 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."> +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 @@ -69360,169 +62621,138 @@ 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. +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."> +generally needed by most applications. + A newly allocated #GtkTreeRowReference, or %NULL + A proxy #GObject + A #GtkTreeModel + A valid #GtkTreePath to monitor - - - - - - - - - - - - - - - + Copies a #GtkTreeRowReference. + a copy of @reference. - + + Free's @reference. @reference may be %NULL. + + Returns the model that the row reference is monitoring. + + the model + + + + + 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 %TRUE if the @reference is non-%NULL and refers to a current valid +path. + + %TRUE if @reference points to a valid path. + + + - + + Returns the number of rows that have been selected in @tree. - + The number of rows selected. + - - - - - - - + + Gets the selection mode for @selection. See +gtk_tree_selection_set_mode(). + + the current selection mode - - - - - - - - - - - - - - - - - - - - - - - - - - - + version="2.14" + introspectable="0"> + 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."> +use @selection is #GTK_SELECTION_MULTIPLE. - + TRUE, if there is a selected node. + + caller-allocates="0" + transfer-ownership="none" + allow-none="1"> + A pointer to set to the #GtkTreeModel, or NULL. + allow-none="1"> + 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(). @@ -69530,36 +62760,123 @@ To free the return value, use: |[ g_list_foreach (list, (GFunc) gtk_tree_path_free, NULL); g_list_free (list); -]|" - version="2.2"> - +]| + + A #GList containing a #GtkTreePath for each selected row. + allow-none="1"> + A pointer to set to the #GtkTreeModel, or %NULL. - + + Returns the tree view associated with @selection. - + A #GtkTreeView + + + Returns the user data for the selection function. + + The user data. + + + + + Returns %TRUE if the row at @iter is currently selected. + + %TRUE, if @iter is selected + + + + + A valid #GtkTreeIter + + + + + + 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. + + + + + + Selects all the nodes. @selection must be set to #GTK_SELECTION_MULTIPLE +mode. + + + + + + Selects the specified iterator. + + + + + + The #GtkTreeIter to be selected. + + + + + + Select the row at @path. + + + + + + The #GtkTreePath to be selected. + + + + + + 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. + + + + + 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."> +gtk_tree_selection_get_selected_rows() might be more useful. @@ -69567,131 +62884,108 @@ gtk_tree_selection_get_selected_rows() might be more useful."> + closure="1"> + The function to call for each selected node. - + user data to pass to the function. + - + + 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 + + + + + + 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. May be %NULL + + + + The selection function's data. May be %NULL + + + + The destroy function for user data. May be %NULL + + + + + + Unselects all the nodes. + + + + + + Unselects the specified iterator. + + + + + + The #GtkTreeIter to be unselected. + + c:identifier="gtk_tree_selection_unselect_path"> + Unselects the row at @path. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + The #GtkTreePath to be unselected. + 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. @@ -69709,14 +63003,14 @@ inclusive." - + - - + + @@ -69727,7 +63021,7 @@ inclusive." - + @@ -69738,29 +63032,29 @@ inclusive." - - + + - - + + - - + + - - + + @@ -69783,13 +63077,13 @@ inclusive." - + - + @@ -69802,121 +63096,93 @@ inclusive." - + - + + 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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 + - + + 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 + - - + 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 +#GtkTreeSortable::sort-column-changed signal. @sort_column_id may either be a regular column id, or one of the following special values: <variablelist> <varlistentry> @@ -69927,105 +63193,202 @@ a regular column id, or one of the following special values: <term>%GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID</term> <listitem>no sorting will occur</listitem> </varlistentry> -</variablelist>"> +</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 - + closure="2"> + User data to pass to @sort_func, or %NULL + + scope="async"> + Destroy notifier of @user_data, or %NULL + + + 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 + + + + c:identifier="gtk_tree_sortable_has_default_sort_func"> + 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 + - - + + 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 + + + + + + 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. @sort_column_id 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 + + + + + + Emits a #GtkTreeSortable::sort-column-changed signal on @sortable. + + + + + + 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. + + + - + @@ -70047,27 +63410,28 @@ 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 - + @@ -70076,16 +63440,18 @@ the contents of @sortable are resorted."> - + the sort column id to set + + The sort order of the column - + @@ -70094,23 +63460,37 @@ the contents of @sortable are resorted."> - + 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 - + @@ -70118,23 +63498,37 @@ the contents of @sortable are resorted."> - + + The comparison function - - + + User data to pass to @sort_func, or %NULL + - + + Destroy notifier of @user_data, or %NULL - + - + %TRUE, if the model has a default sort function + @@ -70145,6 +63539,7 @@ the contents of @sortable are resorted."> + 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."> +<type>int</type>, <type>string</type> and #GdkPixbuf respectively. + a new #GtkTreeStore - + number of columns in the tree store + @@ -70176,224 +63574,144 @@ GDK_TYPE_PIXBUF);</literal> will create a new #GtkTreeStore with three col - + + 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 - - + + + 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 + - + + Removes all rows from @tree_store - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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()."> +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 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()."> +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 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 + 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. @@ -70409,26 +63727,26 @@ 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." - version="2.10"> +inserting rows in a sorted tree store. + allow-none="1"> + An unset #GtkTreeIter to set the new row, or %NULL. - + + A valid #GtkTreeIter, or %NULL - + position to insert the new row + @@ -70438,211 +63756,322 @@ inserting rows in a sorted tree store." + 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. + allow-none="1"> + 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 + - + + 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 - - - - - + 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. + 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. + + + + + + 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. + + + + + + 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 + + + + + + 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 + + + + + + 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>. + + + + + + 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 referenced by the store if it is a %G_TYPE_OBJECT, and it +will be copied if it is a %G_TYPE_STRING or %G_TYPE_BOXED. + + + + + + A valid #GtkTreeIter for the row being modified + + + + + + + + + + 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 + + + + + + + + See gtk_tree_store_set(); this version takes a <type>va_list</type> for +use by language bindings. + + + + + + A valid #GtkTreeIter for the row being modified + + + + <type>va_list</type> of column/value pairs + + + + + + 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 + + + + + + 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 + + + + + + Swaps @a and @b in the same level of @tree_store. Note that this function +only works with unsorted stores. + + + + + + A #GtkTreeIter. + + + + Another #GtkTreeIter. @@ -70651,40 +64080,42 @@ to the start of the level." - + - + - + - + - + - + + + - + - + - + - - + + - - + + - - + + - - + + @@ -70723,6 +64154,7 @@ to the start of the level." - - - + + + Creates a new #GtkTreeView widget. + + A newly created #GtkTreeView widget. + - - + c:identifier="gtk_tree_view_new_with_model"> + Creates a new #GtkTreeView widget with the model initialized to @model. + + A newly created #GtkTreeView widget. + + the model. - - - - - - + + 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. + - - - - - - - - - - - + + Recursively collapses all visible, expanded nodes in @tree_view. - - - - - - - - - - - + + Collapses a row (hides its child rows, if they exist). - + %TRUE if the row was collapsed. + - - - - - - - - - - - - - - - - - + + path to a row in the @tree_view + + c:identifier="gtk_tree_view_columns_autosize"> + Resizes all columns to their optimal width. Only works after the +treeview has been realized. - - - - - - + + 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 + - + + 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 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 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 + - - - - - - - - - - - - - - - - - - - - - - - - - - + + 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 + + + + + + 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 + + + + + + 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 + + + + + + Recursively expands all nodes in the @tree_view. + + + + + + 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 + + + + + + Expands the row at @path. This will also expand all parent rows of + + + + + + path to a row. + + + + + + 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 + + + + + + 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 @tree_view is on the right window. +hasn't been realized yet + + A #GdkWindow, or %NULL when @tree_view + + + + + 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 + + + + + + Gets the #GtkTreeViewColumn at the given position in the #tree_view. +position is outside the range of columns. + + The #GtkTreeViewColumn, or %NULL if 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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."> +you are done with it. + direction="out" + caller-allocates="0" + transfer-ownership="full" + allow-none="1"> + A pointer to be filled with the current cursor path, or %NULL + direction="out" + caller-allocates="0" + transfer-ownership="full" + allow-none="1"> + A pointer to be filled with the current focus column, 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 + + + + + + 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 + + + + + + Returns whether or not the tree allows to start interactive searching +by typing in text. + + whether or not to let the user search interactively + + + + + Returns whether or not tree lines are drawn in @tree_view. +otherwise. + + %TRUE if tree lines are drawn in @tree_view, %FALSE + + + + + Returns the column that is the current expander column. +This column has the expander arrow drawn next to it. + + The expander column. + + + + + Returns whether fixed height mode is turned on for @tree_view. + + %TRUE if @tree_view is in fixed height mode + + + + + Returns which grid lines are enabled in @tree_view. +are enabled. + + a #GtkTreeViewGridLines value indicating which grid lines + + + + + Gets the #GtkAdjustment currently being used for the horizontal aspect. +if none is currently being used. + + A #GtkAdjustment object, or %NULL + + + + + Returns whether all header columns are clickable. + + %TRUE if all header columns are clickable, otherwise %FALSE + + + + + Returns %TRUE if the headers on the @tree_view are visible. + + Whether the headers are visible or not. + + + + + Returns whether hover expansion mode is turned on for @tree_view. + + %TRUE if @tree_view is in hover expansion mode + + + + + Returns whether hover selection mode is turned on for @tree_view. + + %TRUE if @tree_view is in hover selection mode + + + + + Returns the amount, in pixels, of extra indentation for child levels +in @tree_view. + + the amount of extra indentation for child levels in + + + + + 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. + + 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 == @@ -71407,989 +64796,163 @@ 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()."> +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). + + allow-none="1"> + A pointer to a #GtkTreePath pointer to be filled in, or %NULL + allow-none="1"> + A pointer to a #GtkTreeViewColumn pointer to be filled in, or %NULL - + allow-none="1"> + A pointer where the X coordinate relative to the cell can be placed, or %NULL + - + allow-none="1"> + A pointer where the Y coordinate relative to the cell can be placed, or %NULL + - + + 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. + - + version="2.6" + introspectable="0"> + Returns the current row separator function. + + the current row separator function. - - - - - - - - - - - - - - - - - - - + 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. + - + + + + + + Gets the column searched on by the interactive search code. + + the column the interactive search code searches in. + + + + + 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. + - - - + + Returns the compare function currently in use. + + the currently used compare function for the search code. + - - - - - - - - + + Returns the positioning function currently in use. + + the currently used function for positioning the search dialog. + + + + + Gets the #GtkTreeSelection associated with @tree_view. + + A #GtkTreeSelection object. + - - - - - + Returns whether or not expanders are drawn in @tree_view. +otherwise. - + %TRUE if expanders are drawn in @tree_view, %FALSE + - + 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 + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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. @@ -72397,325 +64960,1275 @@ 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." - version="2.12"> +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 + + direction="out" + caller-allocates="0" + transfer-ownership="full" + allow-none="1"> + a pointer to receive a #GtkTreeModel or %NULL + direction="out" + caller-allocates="0" + transfer-ownership="full" + allow-none="1"> + a pointer to receive a #GtkTreePath or %NULL + a pointer to receive a #GtkTreeIter or %NULL + + + + + + Gets the #GtkAdjustment currently being used for the vertical aspect. +if none is currently being used. + + A #GtkAdjustment object, 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. +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. + + + + + + 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 + + + + + + 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 + + + + + + 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 + + + + + Calls @func on all expanded rows. + + + + + + A function to be called + + + + User data to be passed to the function. + + + + + + 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. + + + + + + Removes @column from @tree_view. + + The number of columns in @tree_view after removing. + + + + + The #GtkTreeViewColumn to remove. + + + + + + Activates the cell determined by @path and @column. + + + + + + The #GtkTreePath to be activated. + + + + The #GtkTreeViewColumn to be activated. + + + + + + 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. + + + + + + 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. + + + + + + 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 + + + + + + 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. + + + + + - + scope="notified" + closure="1" + destroy="2"> + 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 + + + + + + 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. + + + + + + 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 + + + + + + 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 + + + + + + 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 + + + + + + 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 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. + + + + + + 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 + + + + + + Sets which grid lines to draw in @tree_view. + + + + + + a #GtkTreeViewGridLines value indicating which grid lines to enable. + + + + + + Sets the #GtkAdjustment for the current horizontal aspect. + + + + + + The #GtkAdjustment to set, or %NULL + + + + + + Allow the column title buttons to be clicked. + + + + + + %TRUE if the columns are clickable. + + + + + + Sets the visibility state of the headers. + + + + + + %TRUE if the headers are visible + + + + + + 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 + + + + + + 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 + + + + + + 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. + + + + + + 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. + + + + + + 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. + + + + + + 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 + + + + + + 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 + + + + + + + + + + + + + + + + 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 + + + + + + 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 + + + + + + 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 + + + + + + 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 + + + + + + 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. + + + + + + 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 + + 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 +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." - version="2.12"> +so &amp;, &lt;, etc have to be escaped in the text. - + an integer, which is a valid column number for @tree_view's model + - + 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 #GtkAdjustment for the current vertical aspect. + + + + + + The #GtkAdjustment to set, or %NULL + + + + + + Undoes the effect of +gtk_tree_view_enable_model_drag_dest(). Calling this method sets +#GtkTreeView:reorderable to %FALSE. + + - - + + Undoes the effect of +gtk_tree_view_enable_model_drag_source(). Calling this method sets +#GtkTreeView:reorderable to %FALSE. + + + + + + - - + + - - + + - - + + - + transfer-ownership="none"> + 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 or 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."> - +in #GtkComboBox or #GtkEntryCompletion. + + Enables or 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 +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."> - +in #GtkComboBox or #GtkEntryCompletion. + - + transfer-ownership="none"> + Extra indentation for each level. + - - + + - - + + - - + + - - + + - - + + - + transfer-ownership="none"> + %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."> - - +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 + - - + + - - + + @@ -72726,8 +66239,7 @@ signal if you need to control the expandability of individual rows."> - + @@ -72745,7 +66257,7 @@ signal if you need to control the expandability of individual rows."> - + @@ -72763,9 +66275,9 @@ signal if you need to control the expandability of individual rows."> - + - + @@ -72781,9 +66293,9 @@ signal if you need to control the expandability of individual rows."> - + - + @@ -72799,7 +66311,7 @@ signal if you need to control the expandability of individual rows."> - + @@ -72817,7 +66329,7 @@ signal if you need to control the expandability of individual rows."> - + @@ -72835,7 +66347,7 @@ signal if you need to control the expandability of individual rows."> - + @@ -72847,7 +66359,7 @@ signal if you need to control the expandability of individual rows."> - + @@ -72859,9 +66371,9 @@ signal if you need to control the expandability of individual rows."> - + - + @@ -72871,15 +66383,15 @@ signal if you need to control the expandability of individual rows."> - + - + - + @@ -72889,9 +66401,9 @@ signal if you need to control the expandability of individual rows."> - + - + @@ -72901,24 +66413,24 @@ signal if you need to control the expandability of individual rows."> - + - + - + - + - + @@ -72928,31 +66440,30 @@ signal if you need to control the expandability of individual rows."> - + - + - + - + - + - + - + @@ -72962,10 +66473,9 @@ signal if you need to control the expandability of individual rows."> - + - + @@ -72974,36 +66484,36 @@ signal if you need to control the expandability of individual rows."> - - + + - - + + - - + + - - + + - - + + @@ -73011,6 +66521,7 @@ signal if you need to control the expandability of individual rows."> glib:type-struct="TreeViewColumnClass"> - - + + 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: +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", +column = gtk_tree_view_column_new_with_attributes ("Title", renderer, -"text", TEXT_COLUMN, -"foreground", COLOR_COLUMN, +"text", TEXT_COLUMN, +"foreground", COLOR_COLUMN, NULL); } -]|"> - +]| + + A newly created #GtkTreeViewColumn. + The title to set the header to. + The #GtkCellRenderer. @@ -73061,91 +66576,394 @@ NULL); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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."> +"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. + + + + + + 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 + + + + + + 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 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 + + + + + + Unsets all the mappings on all renderers on the @tree_column. + + + + + + Clears all existing attributes previously set with +gtk_tree_view_column_set_attributes(). + + + + + + a #GtkCellRenderer to clear the attribute mapping on. + + + + + + Emits the "clicked" signal on the column. This function will only work if + + + + + + Sets the current keyboard focus to be at @cell, if the column contains +2 or more editable and activatable cells. + + + + + + A #GtkCellRenderer + + + + + + Returns the current x alignment of @tree_column. This value can range +between 0.0 and 1.0. + + The current alignent of @tree_column. + + + + + Returns %TRUE if the user can click on the header for the column. + + %TRUE if user can click the column header. + + + + + Return %TRUE if the column expands to take any available space. + + %TRUE, if the column expands + + + + + 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 + + + + + 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. + + + + + 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. + + + + + Returns %TRUE if the @tree_column can be reordered by the user. + + %TRUE if the @tree_column can be reordered by the user. + + + + + Returns %TRUE if the @tree_column can be resized by the end user. + + %TRUE, if the @tree_column can be resized. + + + + + Returns the current type of @tree_column. + + The type of @tree_column. + + + + + 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 + + + + + Gets the value set by gtk_tree_view_column_set_sort_indicator(). + + whether the sort indicator arrow is displayed + + + + + Gets the value set by gtk_tree_view_column_set_sort_order(). + + the sort order the sort indicator is indicating + + + + + Returns the spacing of @tree_column. + + the spacing of @tree_column. + + + + + Returns the title of the widget. +modified or freed. + + the title of the column. This string should not be + + + + + Returns the #GtkTreeView wherein @tree_column has been inserted. +If @column is currently not inserted in any tree view, %NULL is +returned. +been inserted if any, %NULL otherwise. + + The tree view wherein @column has + + + + + 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 + + + + + Returns the #GtkWidget in the button on the column header. +If a custom widget has not been set then %NULL is returned. +header, or %NULL + + The #GtkWidget in the column + + + + + Returns the current size of @tree_column in pixels. + + The current width of @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. + + + + + + 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. + + + + + + Flags the column, and the cell renderers added to this column, to have +their sizes renegotiated. + + + + + + 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. + + 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."> +are removed, and replaced with the new attributes. + the #GtkCellRenderer we're setting the attributes of @@ -73155,600 +66973,318 @@ are removed, and replaced with the new attributes."> + 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 +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."> +older one. + A #GtkCellRenderer + closure="2" + destroy="3"> + The #GtkTreeViewColumnFunc to use. - + The user data for @func. + - + + The destroy notification for @func_data - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + c:identifier="gtk_tree_view_column_set_clickable"> + 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. + - - - - - - + + 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 + - - - - - - + + 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 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. + + + + + + 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. + + + + c:identifier="gtk_tree_view_column_set_reorderable"> + If @reorderable is %TRUE, then the column can be reordered by the end user +dragging the header. - + %TRUE, if the column can be reordered. + - + + 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 + + + + + + Sets the growth behavior of @tree_column to @type. + + + + + + The #GtkTreeViewColumnSizing. + + + + c:identifier="gtk_tree_view_column_set_sort_column_id"> + 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. + - - - - - + 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."> +the arrow. - + %TRUE to display an indicator that the column is sorted + - - - - - + 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. +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()."> +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 - - - - - - + + 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. + - + + 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. + - - - - - - + + Sets the visibility of @tree_column. - - + + %TRUE if the @tree_column is visible. + - - - - - - - - - - - - - - - - - + + 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. + + + - - - - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - + transfer-ownership="none"> + 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. + - - + + - - + + - - + + - - + + - - + + - - + + - - + + @@ -73775,92 +67311,94 @@ clickable. Set to %-1 to make the column unsortable."> - + - + - + - + - + - + - + - + - + - + - + - + - + + + - + - + - + - + - + - + - + - + - + - + - + - + - - + + @@ -73871,7 +67409,7 @@ clickable. Set to %-1 to make the column unsortable."> - + @@ -73882,29 +67420,29 @@ clickable. Set to %-1 to make the column unsortable."> - - + + - - + + - - + + - - + + @@ -73913,7 +67451,7 @@ clickable. Set to %-1 to make the column unsortable."> - + @@ -73929,7 +67467,7 @@ clickable. Set to %-1 to make the column unsortable."> - + @@ -74004,29 +67542,16 @@ clickable. Set to %-1 to make the column unsortable."> - + - - - - - + - + @@ -74036,21 +67561,21 @@ clickable. Set to %-1 to make the column unsortable."> - + - + - + @@ -74059,7 +67584,7 @@ clickable. Set to %-1 to make the column unsortable."> - + @@ -74076,345 +67601,354 @@ clickable. Set to %-1 to make the column unsortable."> - + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + Creates a new ui manager object. + a new ui manager object. - - - - - - - - - - - - + + 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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 +element is the menuitem to which the menu is attached, not the menu itmanager. +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." - version="2.4"> - +was found. + + the widget found by following the path, or %NULL if no widget + a path - - - - - - + + + Adds a UI element to the current contents of @manager. +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. + + - - - + + Parses a file containing a <link linkend="XML-UI">UI definition</link> and +merges it with the current contents of @manager. +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 + Parses a string containing a <link linkend="XML-UI">UI definition</link> and +merges it with the current contents of @manager. 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) + - + + 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 the #GtkAccelGroup associated with @manager. + + the #GtkAccelGroup. + + + + + 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 - + Returns the list of action groups associated with @manager. +action groups. The list is owned by GTK+ +and should not be modified. + + a #GList of + + + + + + + Returns whether menus generated by this #GtkUIManager +will have tearoff menu items. + + whether tearoff menu items are added + + + + + 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. + + + + + + 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 + + + + + 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 itmanager. +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 + + + + + + Inserts an action group into the list of action groups associated +with @manager. 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. + - - - - - - - - - - - + + + + Returns an unused merge id, suitable for use with +gtk_ui_manager_add_ui(). + + an unused merge id. + + + + + Removes an action group from the list of action groups associated +with @manager. + + + + + + the action group to be removed + + Unmerges the part of @manager<!-- -->s content identified by @merge_id. - + a merge id as returned by gtk_ui_manager_add_ui_from_string() + - - - - - - + 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 + + + - + transfer-ownership="none"> + 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. + - - + + @@ -74422,90 +67956,91 @@ 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." - version="2.4"> - - +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." - version="2.4"> - - +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." - version="2.4"> - - +just before any action is activated. + + - - + + the action + @@ -74517,12 +68052,12 @@ just before any action is activated." - + - + @@ -74532,24 +68067,24 @@ just before any action is activated." - + - + - + - + @@ -74562,12 +68097,12 @@ just before any action is activated." - + - + @@ -74580,12 +68115,12 @@ just before any action is activated." - + - + @@ -74595,12 +68130,12 @@ just before any action is activated." - + - + @@ -74610,8 +68145,9 @@ just before any action is activated." - - + + + the widget found by following the path, or %NULL if no widget @@ -74619,14 +68155,16 @@ just before any action is activated." + a path - - + + + the action whose proxy widget is found by following the path, @@ -74634,20 +68172,21 @@ just before any action is activated." + a path - - + + - - + + @@ -74703,7 +68242,7 @@ just before any action is activated." c:identifier="GTK_UI_MANAGER_POPUP_WITH_ACCELS" glib:nick="popup-with-accels"/> - + - - - + + + 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. + @@ -74776,6 +68319,7 @@ just before any action is activated." + - - + Creates a new vertical button box. + + a new button box #GtkWidget. + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -74835,6 +68348,7 @@ just before any action is activated." + - - + Create a new #GtkVPaned + + the new #GtkVPaned + @@ -74860,6 +68377,7 @@ just before any action is activated." + - - + Creates a new vertical ruler + + a new #GtkVRuler. + @@ -74885,51 +68406,56 @@ just before any action is activated." + 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 +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."> - - +needs, use gtk_scale_set_digits() to correct it. + + a new #GtkVScale + - + minimum value + - + maximum value + - - + + step increment (tick size) used with keyboard shortcuts + @@ -74945,27 +68471,29 @@ needs, use gtk_scale_set_digits() to correct it."> + The #GtkVScrollbar struct contains private data and should be accessed +using the functions below. - - - + + + Creates a new vertical scrollbar. + + the new #GtkVScrollbar + + allow-none="1"> + the #GtkAdjustment to use, or %NULL to create a new adjustment @@ -74982,21 +68510,23 @@ using the functions below." + The #GtkVSeparator struct contains private data only, and +should be accessed using the functions below. - - - + + + Creates a new #GtkVSeparator. + + a new #GtkVSeparator. + @@ -75011,6 +68541,7 @@ should be accessed using the functions below." - - - + + + Creates a new #GtkViewport with the given adjustments. + + a new #GtkViewport. + + horizontal adjustment. + vertical adjustment. + + Gets the bin window of the #GtkViewport. + + a #GdkWindow + + + - + c:identifier="gtk_viewport_get_hadjustment"> + Returns the horizontal adjustment of the viewport. + + the horizontal adjustment of @viewport. + + Gets the shadow type of the #GtkViewport. See +gtk_viewport_set_shadow_type(). + + the shadow type + + + - + c:identifier="gtk_viewport_get_vadjustment"> + Returns the vertical adjustment of the viewport. + + the vertical adjustment of @viewport. - + + Gets the view window of the #GtkViewport. - + a #GdkWindow + - - - - - - + + Sets the horizontal adjustment of the viewport. + allow-none="1"> + a #GtkAdjustment. @@ -75088,59 +68636,52 @@ should be accessed using the functions below." - - - + + Sets the vertical adjustment of the viewport. + + + + + a #GtkAdjustment. + + + - - - - - - - + + - - + + - - + + - - - - - - - - - - - - - - + + - - + + - + - + @@ -75152,8 +68693,7 @@ gtk_viewport_set_shadow_type()."> - + @@ -75171,36 +68711,23 @@ gtk_viewport_set_shadow_type()."> - - - - - + + - + + - - + + @@ -75213,29 +68740,29 @@ gtk_viewport_set_shadow_type()."> - - + + - - + + - - + + - - + + @@ -75243,6 +68770,7 @@ gtk_viewport_set_shadow_type()."> glib:type-struct="WidgetClass"> - + + 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", +<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."> - +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 @@ -75276,505 +68806,122 @@ cast the object yourself."> - + + Obtains the default colormap used to create widgets. - + default widget colormap + - - - - - - + + Obtains the current default reading direction. See +gtk_widget_set_default_direction(). + + the current default direction. + + + + + 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 visual of the default colormap. Not really useful; +used to be useful before gdk_colormap_get_visual() existed. + + visual of the default colormap + + + + + Removes a colormap pushed with gtk_widget_push_colormap(). + c:identifier="gtk_widget_pop_composite_child"> + Cancels the effect of a previous call to gtk_widget_push_composite_child(). - + + 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); +]| + 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."> +you only want to affect a few widgets, rather than all widgets. + a #GdkColormap - - - - - - - - - - - - - - - + c:identifier="gtk_widget_set_default_direction"> + 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. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -75783,32 +68930,77 @@ and position to their 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 + + + + + Recursively hides a widget and any child widgets. + + + + + + Recursively shows a widget, and any child widgets (if the widget is +a container). + + + + + + 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 + + @@ -75822,7 +69014,7 @@ gtk_widget_size_request()."> - + @@ -75832,871 +69024,79 @@ gtk_widget_size_request()."> - - - - - - - - - - - - - - - - - + + Adds the device events in the bitfield @events to the event mask for - - + + a #GdkDevice + - - + + an event mask, see #GdkEventMask + - - - + + Adds the events in the bitfield @events to the event mask for + + + + + an event mask, see #GdkEventMask + + + + + + 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 + + + + 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 +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." - version="2.4"> +its ancestors mapped. - + %TRUE if the accelerator can be activated. + - + the ID of a signal installed on @widget + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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. @@ -76711,419 +69111,761 @@ 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."> +if returning %FALSE, they don't modify the current focus location. - + %TRUE if focus ended up inside @widget + + direction of focus movement - + + 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 + + + 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 + + + + location to store the class path as an allocated string, or %NULL + + + + location to store the reverse class path as an allocated string, or %NULL + + + + + + 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 + + + + + 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) + + + + + + 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 + + + + + + Returns %TRUE if @device has been shadowed by a GTK+ +device grab on another widget, so it would stop sending +events to @widget. This may be used in the +#GtkWidget::grab-notify signal to check for specific +devices. See gtk_device_grab_add(). +by another #GtkWidget than @widget. + + %TRUE if there is an ongoing grab on @device + + + + + a #GdkDevice + + + + + + 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. + + + + + 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." - version="2.12"> +or window manager that is used. - + + 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 + + + + + + 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. + + + + + + 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 + + + + + Retrieves the widget's allocation. +be its "adjusted" allocation, that is, the widget's parent +container typically calls gtk_widget_size_allocate() with an +allocation, and that allocation is then adjusted (to handle margin +and alignment for example) before assignment to the widget. +gtk_widget_get_allocation() returns the adjusted allocation that +was actually assigned to the widget. The adjusted allocation is +guaranteed to be completely contained within the +gtk_widget_size_allocate() allocation, however. So a #GtkContainer +is guaranteed that its children stay inside the assigned bounds, +but not that they have exactly the bounds the container assigned. +There is no way to get the original allocation assigned by +gtk_widget_size_allocate(), since it isn't stored; if a container +implementation needs that information it will have to track it itself. - - - - - + + a pointer to a #GtkAllocation to copy to + + + 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 + + + + + + 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 + + + + + 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 can own the input focus. See +gtk_widget_set_can_focus(). + + %TRUE if @widget can own the input focus, %FALSE otherwise + + + + + 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 + + + + + + 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. + + + + + 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. + + + + + + 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 + + + + + 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 + + + + + Returns the events mask for the widget corresponding to an specific device. These +are the events that the widget will receive when @device operates on it. + + device event mask for @widget + + + + + a #GdkDevice + + + + + + Gets the reading direction for a particular widget. See +gtk_widget_set_direction(). + + the reading direction for the widget. + + + + + 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. + + + + + Determines whether the widget is double buffered. +See gtk_widget_set_double_buffered() + + %TRUE if the widget is double buffered + + + + + 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 + + + + + Retrieves the extension events the widget will receive; see +gdk_input_set_extension_events(). + + extension events for @widget + + + + + Gets the value of the #GtkWidget:halign property. + + the horizontal alignment of @widget + + + + + Returns the current value of the has-tooltip property. See +GtkWidget:has-tooltip for more information. + + current value of has-tooltip on @widget. + + + + + Determines whether @widget has a #GdkWindow of its own. See +gtk_widget_set_has_window(). + + %TRUE if @widget has a window, %FALSE otherwise + + + + + Whether the widget is mapped. + + %TRUE if the widget is mapped, %FALSE otherwise. + + + + + Gets the value of the #GtkWidget:margin-bottom property. + + The bottom margin of @widget + + + + + Gets the value of the #GtkWidget:margin-left property. + + The left margin of @widget + + + + + Gets the value of the #GtkWidget:margin-right property. + + The left margin of @widget + + + + + Gets the value of the #GtkWidget:margin-top property. + + The top margin of @widget + + + + + 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 + + + + + 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 + + + + + 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. + + + + + 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. + + + + + Returns the parent container of @widget. + + the parent container of @widget, or %NULL + + + + + Gets @widget's parent window. + + the parent window of @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 realized. + + %TRUE if @widget is realized, %FALSE otherwise + + + + + 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, + + + + + 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. +removed, If you need to cache sizes across requests and allocations, +add an explicit cache to the widget in question instead. + + + + + + a pointer to a #GtkRequisition to copy to + + + + + + 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. + + + + + 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. + + + + + 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 + + + + + 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 + + + + 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."> +actually request, call gtk_size_request_get_size() instead of +this function. - + allow-none="1"> + return location for width, or %NULL + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + allow-none="1"> + return location for height, or %NULL + + 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 +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. @@ -77138,214 +69880,570 @@ 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." - version="2.14"> - +The returned pixmap can be %NULL, if the resulting @clip_area was empty. + + #GdkPixmap snapshot of the widget - + + a #GdkRectangle or %NULL - - - + + Returns the widget's state. See gtk_widget_set_state(). + + the state of @widget. + - + + Simply an accessor function that returns @widget->style. + + the widget's #GtkStyle + + + + + Returns %TRUE if @widget is multiple pointer aware. See +gtk_widget_set_support_multidevice() for more information. + + %TRUE is @widget is multidevice aware. + + + + + Gets the contents of the tooltip for @widget. +returned string with g_free() when done. + + the tooltip text, or %NULL. You should free the + + + + + Gets the contents of the tooltip for @widget. +returned string with g_free() when done. + + the tooltip text, or %NULL. You should free the + + + + + 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. + + + + + 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 value of the #GtkWidget:valign property. + + the vertical alignment of @widget + + + + + 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 + + + + + Gets the visual that will be used to render @widget. + + the visual for @widget + + + + + Returns the widget's window if it is realized, %NULL otherwise + + @widget's window. + + + + + 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. Note +that #GtkEntry widgets require the "activates-default" property +set to %TRUE before they activate the default widget when Enter +is pressed and the #GtkEntry is focused. - - - - - - - - - - - + + 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. +The widget also needs to be realized and mapped. This is indicated by the +related signals. Grabbing the focus immediately after creating the widget +will likely fail and cause critical warnings. - - - - - - - - - + + 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 + - - - - - - + + 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 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 + + + + + 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 + + + + + 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 + + + + + Reverses the effects of gtk_widget_show(), causing the widget to be +hidden (invisible to the user). + + + + + + Recursively hides a widget and any child widgets. + + + + + + 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."> +is received. - + %TRUE + - - - - - - - - - - - + + 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. - - + allow-none="1"> + 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 + - + + 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 + + + + + + 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 + + + + + + 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 + + + + + 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 + + + + + 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. + + + + + 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 + + + + + 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 + + + + + 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 + + + + + + Lists the closures used by @widget for accelerator group connections +with gtk_accel_group_connect_by_path() or gtk_accel_group_connect(). +The closures can be used to monitor accelerator changes on @widget, +by connecting to the @GtkAccelGroup::accel-changed signal of the +#GtkAccelGroup of a closure which can be found out with +gtk_accel_group_from_accel_closure(). +a newly allocated #GList of closures + + + + + + + + Returns a newly allocated list of the widgets, normally labels, for +which this widget is 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 + + + + + + + This function is only for use in widget implementations. Causes +a widget to be mapped if it isn't already. - - - + + 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 + + + - + 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 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 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 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 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(). + + + + + + 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 @@ -77360,219 +70458,243 @@ 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."> +effect with the initial modifications. + the #GtkRcStyle holding the style modifications - - - - - - + Sets a symbolic color for a widget. All other style values are left untouched. See also -gtk_widget_modify_style()."> +gtk_widget_modify_style(). - - + + the name of the symbolic color to modify + + the color to assign (does not need to be allocated), or %NULL to undo the effect of previous calls to of gtk_widget_modify_symbolic_color(). - - - - - - - - - - - - - - + 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()."> +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(). - + + 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 + - + + 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 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. + + + + + + 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. + + + + + + Computes the intersection of a @widget's area and @region, returning +the intersection. The result may be empty, use cairo_region_is_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 #cairo_region_t, in the same coordinate system as for %NO_WINDOW widgets; relative to the parent window of @widget->window for widgets with their own window. + - + 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 + + + + + + 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 + + + + + + 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 @@ -77581,92 +70703,310 @@ 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()."> +after use with g_object_unref(). +stock ID wasn't known + a new pixbuf, or %NULL if the + a stock ID - - + + 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 + + Moves a widget from one #GtkContainer to another, handling reference +count issues to avoid destroying the widget. + + + + + + a #GtkContainer to move the widget into + + + + + + 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. + + + + + + Recursively resets the shape on this widget and its descendants. + + + + + + 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 + + + + + + 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. + + + + + + Sets the widget's allocation. This should not be used +directly, but from within a widget's size_allocate method. +The allocation set should be the "adjusted" or actual +allocation. If you're implementing a #GtkContainer, you want to use +gtk_widget_size_allocate() instead of gtk_widget_set_allocation(). +The GtkWidgetClass::adjust_size_allocation virtual method adjusts the +allocation inside gtk_widget_size_allocate() to create an adjusted +allocation. + + + + + + a pointer to a #GtkAllocation to copy from + + + + + + 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 + + + + + + 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. + + + + + + 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. + + + + + + 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. + + + + + + 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 + + + + + c:identifier="gtk_widget_set_composite_name"> + 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 - - - - - - - - - - - + + Sets the device event mask (see #GdkEventMask) for a widget. The event +mask determines which events a widget will receive from @device. 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_device_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. - - + + a #GdkDevice + - - + + event mask + - - - - - - - - - - - - - - - + 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 @@ -77676,707 +71016,1205 @@ 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."> +set by gtk_widget_set_default_direction() will be used. + the new direction - - - - - - - - - - - + + 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 + - + + 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 + - - - - - - + + Sets the extension events mask to @mode. See #GdkExtensionMode +and gdk_input_set_extension_events(). - - - - - - - - + + bitfield of extension events to receive + - + + Sets the horizontal alignment of @widget. +See the #GtkWidget:halign property. - - - - - - - - + + the horizontal alignment + - - - - - - - - + Sets the has-tooltip property on @widget to @has_tooltip. See +GtkWidget:has-tooltip for more information. + + + + + + whether or not @widget has a tooltip. + + + + + + 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 do not create a %window for +themselves in GtkWidget::realize() must announce this by +calling this function with @has_window = %FALSE. +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. + + + + + + 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 + + + + + + Sets the bottom margin of @widget. +See the #GtkWidget:margin-bottom property. + + + + + + the bottom margin + + + + + + Sets the left margin of @widget. +See the #GtkWidget:margin-left property. + + + + + + the left margin + + + + + + Sets the right margin of @widget. +See the #GtkWidget:margin-right property. + + + + + + the right margin + + + + + + Sets the top margin of @widget. +See the #GtkWidget:margin-top property. + + + + + + the top margin + + + + + + 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 + + + + + + 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 + + + + + + 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 - + + Sets a non default parent window for @widget. - - + + the new parent window. + + + + + + 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 + + + + + + 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. + + + + + + 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. + + + + + + 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 + + + + + + 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 + + + + + + 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." +The size request set here does not include any margin from the +#GtkWidget properties margin-left, margin-right, margin-top, and +margin-bottom, but it does include pretty much all other padding +or border properties set by any subclass of #GtkWidget. + + + + + + width @widget should request, or -1 to unset + + + + height @widget should request, or -1 to unset + + + + + + 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 + + + + + + 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 + + + + + + Enables or disables multiple pointer awareness. If this setting is %TRUE, +that if custom #GdkWindow<!-- -->s are created in #GtkWidget::realize, +gdk_window_set_support_multidevice() will have to be called manually on them. + + + + + + %TRUE to support input from multiple devices. + + + + + + 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 + + + + + + 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 + + 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()." - version="2.12"> +have the name "gtk-tooltip", see gtk_widget_set_name(). + allow-none="1"> + a #GtkWindow, or %NULL - - - + + Sets the vertical alignment of @widget. +See the #GtkWidget:valign property. + + + + + the vertical alignment + + + + + + 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 + + + + + + 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. +<note><para>This function does not add any reference to @window.</para></note> + + + + + + a #GdkWindow + + + + + + 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 + + + + + + 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. + + + + + + Recursively shows a widget, and any child widgets (if the widget is +a container). + + + + + + 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. + + + + + + This function is only used by #GtkContainer subclasses, to assign a size +and position to their child widgets. +In this function, the allocation may be adjusted. It will be forced +to a 1x1 minimum size, and the adjust_size_allocation virtual +method on the child will be used to adjust the allocation. Standard +adjustments include removing the widget's margins, and applying the +widget's #GtkWidget:halign and #GtkWidget:valign properties. + + + + + + position and size to be allocated to @widget + + + + + + 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. + + + + + + a #GtkRequisition to be filled in + + + + + + 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. + + + + + + Gets the values of a multiple style properties of @widget. + + + + + + the name of the first property to get + + + + + + + + + + Gets the value of a style property of @widget. + + + + + + the name of a style property + + + + location to return the property value + + + + + + Non-vararg variant of gtk_widget_style_get(). Used primarily by language +bindings. + + + + + + the name of the first property to get + + + + a <type>va_list</type> of pairs of property names and locations to return the property values, starting with the location for @first_property_name. + + + + + + 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. + + + + + + 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 + + + + Triggers a tooltip query on the display where the toplevel of @widget is located. See gtk_tooltip_trigger_tooltip_query() for more -information." - version="2.12"> +information. - + + This function is only for use in widget implementations. Causes +a widget to be unmapped if it's currently mapped. - - - - - - - - - - - + + 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. - - - - - - - - - - - + + 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). - - - - - - - - - - - - - - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + How to distribute horizontal space if widget gets extra space, see #GtkAlign + - - + + + + + + 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."> - +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."> - +#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."> - +#GtkWidget::query-tooltip in the default signal handler. + - - + + How to distribute vertical space if widget gets extra space, see #GtkAlign + - - + + - - + + + + + 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 +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."> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +%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."> - - +%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."> - - +%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."> - - +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 +void drag_data_received (GtkWidget *widget, GdkDragContext *drag_context, gint x, @@ -78387,16 +72225,16 @@ guint time) { if ((data->length >= 0) && (data->format == 8)) { -if (drag_context->action == GDK_ACTION_ASK) +if (drag_context->action == GDK_ACTION_ASK) { GtkWidget *dialog; gint response; dialog = gtk_message_dialog_new (NULL, -GTK_DIALOG_MODAL | +GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_INFO, GTK_BUTTONS_YES_NO, -"Move the data ?\n"); +"Move the data ?\n"); response = gtk_dialog_run (GTK_DIALOG (dialog)); gtk_widget_destroy (dialog); if (response == GTK_RESPONSE_YES) @@ -78409,118 +72247,134 @@ 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." - version="2.12"> - - +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 +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 @@ -78530,7 +72384,7 @@ 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 +an "enter" signal. Upon an "enter", the handler will typically highlight the drop site with gtk_drag_highlight(). |[ static void @@ -78542,7 +72396,7 @@ guint time) { GdkAtom target; PrivateData *private_data = GET_PRIVATE_DATA (widget); -if (!private_data->drag_highlight) +if (!private_data->drag_highlight) { private_data->drag_highlight = 1; gtk_drag_highlight (widget); @@ -78550,7 +72404,7 @@ gtk_drag_highlight (widget); target = gtk_drag_dest_find_target (widget, context, NULL); if (target == GDK_NONE) gdk_drag_status (context, 0, time); -else +else { private_data->pending_status = context->suggested_action; gtk_drag_get_data (widget, context, target, time); @@ -78567,16 +72421,16 @@ guint info, guint time) { PrivateData *private_data = GET_PRIVATE_DATA (widget); -if (private_data->suggested_action) +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 +* 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)) +if (!data_is_acceptable (str)) gdk_drag_status (context, 0, time); else gdk_drag_status (context, private_data->suggested_action, time); @@ -78586,650 +72440,661 @@ 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."> - - +%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 +%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."> - - +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 +#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."> - - +%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." - version="2.8"> - - +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."> - - +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."> - - +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."> - - +%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."> - - +%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)." - version="2.12"> - - +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."> - - +%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."> - - +%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 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." - version="2.12"> - - +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."> - - +%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."> - - +%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 +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."> - - +event. %FALSE to propagate the event further. + + %TRUE to stop other handlers from being invoked for the + - - + + the #GdkEventWindowState which triggered this signal. + - - - - - - - + - + - - + + - - + + + + + + glib:is-gtype-struct-for="Widget"> - + - + - + @@ -79238,7 +73103,7 @@ Implementation of this signal is optional."> - + @@ -79247,7 +73112,7 @@ Implementation of this signal is optional."> - + @@ -79259,7 +73124,7 @@ Implementation of this signal is optional."> - + @@ -79271,7 +73136,7 @@ Implementation of this signal is optional."> - + @@ -79283,7 +73148,7 @@ Implementation of this signal is optional."> - + @@ -79295,7 +73160,7 @@ Implementation of this signal is optional."> - + @@ -79307,7 +73172,7 @@ Implementation of this signal is optional."> - + @@ -79319,7 +73184,7 @@ Implementation of this signal is optional."> - + @@ -79331,7 +73196,7 @@ Implementation of this signal is optional."> - + @@ -79343,7 +73208,7 @@ Implementation of this signal is optional."> - + @@ -79358,7 +73223,7 @@ Implementation of this signal is optional."> - + @@ -79373,7 +73238,7 @@ Implementation of this signal is optional."> - + @@ -79388,7 +73253,7 @@ Implementation of this signal is optional."> - + @@ -79403,7 +73268,7 @@ Implementation of this signal is optional."> - + @@ -79418,7 +73283,7 @@ Implementation of this signal is optional."> - + @@ -79433,7 +73298,7 @@ Implementation of this signal is optional."> - + @@ -79448,7 +73313,7 @@ Implementation of this signal is optional."> - + @@ -79457,13 +73322,13 @@ Implementation of this signal is optional."> - + - + @@ -79478,22 +73343,22 @@ Implementation of this signal is optional."> - + - + - + - + @@ -79505,9 +73370,9 @@ Implementation of this signal is optional."> - + - + @@ -79520,9 +73385,9 @@ Implementation of this signal is optional."> - + - + @@ -79535,9 +73400,9 @@ Implementation of this signal is optional."> - + - + @@ -79550,9 +73415,9 @@ Implementation of this signal is optional."> - + - + @@ -79565,9 +73430,9 @@ Implementation of this signal is optional."> - + - + @@ -79580,9 +73445,9 @@ Implementation of this signal is optional."> - + - + @@ -79595,9 +73460,9 @@ Implementation of this signal is optional."> - + - + @@ -79610,9 +73475,9 @@ Implementation of this signal is optional."> - + - + @@ -79625,9 +73490,9 @@ Implementation of this signal is optional."> - + - + @@ -79640,9 +73505,9 @@ Implementation of this signal is optional."> - + - + @@ -79655,9 +73520,9 @@ Implementation of this signal is optional."> - + - + @@ -79670,9 +73535,9 @@ Implementation of this signal is optional."> - + - + @@ -79685,9 +73550,9 @@ Implementation of this signal is optional."> - + - + @@ -79700,9 +73565,9 @@ Implementation of this signal is optional."> - + - + @@ -79715,9 +73580,9 @@ Implementation of this signal is optional."> - + - + @@ -79730,9 +73595,9 @@ Implementation of this signal is optional."> - + - + @@ -79745,9 +73610,9 @@ Implementation of this signal is optional."> - + - + @@ -79760,9 +73625,9 @@ Implementation of this signal is optional."> - + - + @@ -79775,9 +73640,9 @@ Implementation of this signal is optional."> - + - + @@ -79790,9 +73655,9 @@ Implementation of this signal is optional."> - + - + @@ -79805,10 +73670,9 @@ Implementation of this signal is optional."> - + - + @@ -79821,10 +73685,9 @@ Implementation of this signal is optional."> - + - + @@ -79837,9 +73700,9 @@ Implementation of this signal is optional."> - + - + @@ -79852,9 +73715,9 @@ Implementation of this signal is optional."> - + - + @@ -79867,10 +73730,9 @@ Implementation of this signal is optional."> - + - + @@ -79883,9 +73745,9 @@ Implementation of this signal is optional."> - + - + @@ -79898,9 +73760,9 @@ Implementation of this signal is optional."> - + - + @@ -79913,9 +73775,9 @@ Implementation of this signal is optional."> - + - + @@ -79928,7 +73790,7 @@ Implementation of this signal is optional."> - + @@ -79940,16 +73802,16 @@ Implementation of this signal is optional."> - + - + - + @@ -79961,13 +73823,13 @@ Implementation of this signal is optional."> - + - + @@ -79982,7 +73844,7 @@ Implementation of this signal is optional."> - + @@ -79997,7 +73859,7 @@ Implementation of this signal is optional."> - + @@ -80012,16 +73874,16 @@ Implementation of this signal is optional."> - + - + - + @@ -80036,7 +73898,7 @@ Implementation of this signal is optional."> - + @@ -80048,15 +73910,15 @@ Implementation of this signal is optional."> - + - + - + @@ -80066,21 +73928,21 @@ Implementation of this signal is optional."> - + - + - + - + - + @@ -80090,19 +73952,19 @@ Implementation of this signal is optional."> - + - + - + - + @@ -80114,27 +73976,27 @@ Implementation of this signal is optional."> - + - + - + - + - + - + @@ -80144,9 +74006,9 @@ Implementation of this signal is optional."> - + - + @@ -80159,8 +74021,9 @@ Implementation of this signal is optional."> - - + + + the #AtkObject associated with @widget @@ -80171,7 +74034,7 @@ Implementation of this signal is optional."> - + @@ -80186,24 +74049,24 @@ Implementation of this signal is optional."> - + - + - + - + - + @@ -80216,7 +74079,7 @@ Implementation of this signal is optional."> - + @@ -80228,22 +74091,22 @@ Implementation of this signal is optional."> - + - + - + - + - + @@ -80251,125 +74114,171 @@ Implementation of this signal is optional."> - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + c:identifier="gtk_widget_class_install_style_property"> + 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 + introspectable="0"> + Installs a style property on a widget class. + the #GParamSpec for the style property - + + the parser for the style property - - - - - - - - - - - + version="2.2" + introspectable="0"> + 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 +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". +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>. +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."> - - +gtk_window_set_decorated(), don't use #GTK_WINDOW_POPUP. + + a new #GtkWindow. + + type of window - - - - - - - - - - + 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."> - - +incremented. + + copy of default icon list + + + - - - - - - - - - - - - - - - - - - - - + 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()." - version="2.16"> +gtk_window_set_default_icon_name(). + the fallback icon name for windows - - - + + 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 + + + - - - - - + 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." - version="2.2"> +showing the main window would automatically result in notification. - + %TRUE to automatically do startup notification + - - - - - + + 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 file +on disk. Warns on failure if @err is %NULL. + + %TRUE if setting the icon succeeded. + + + + + location of icon file + + + + + + 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 + + + + + + + + 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 + + + @@ -80629,1385 +74554,518 @@ then unref all the widgets afterwards."> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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."> +focused widget is activated. - + %TRUE if a widget got activated. + - + + Activates the current focused widget within the window. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + %TRUE if a widget got activated. + + 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." - version="2.4"> +overriding the standard key handling for a toplevel window. - + %TRUE if a mnemonic or accelerator was found and activated. + + a #GdkEventKey - + + Associate @accel_group with @window, such that calling +gtk_accel_groups_activate() on @window will activate accelerators +in @accel_group. - + - - + + a #GtkAccelGroup + - - - - - - + + + + + + + + Adds a mnemonic to this window. + + + + + + the mnemonic + + + + the widget that gets activated by the mnemonic + + + + + + 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 + - + + 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 + + + - + 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 +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."> - - - - - - - - - - - - - - - - - - - - +You can track iconification 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 +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." - version="2.2"> +don't write code that crashes if not. +You can track the fullscreen state via the "window-state-event" signal +on #GtkWidget. - - - - - - + Gets the value set by gtk_window_set_accept_focus(). - + %TRUE if window should receive the input focus + - - - - - - + + 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 + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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."> +for that dimension, so the "natural" size of the window will be +used. - + allow-none="1"> + location to store the default width, or %NULL + - + allow-none="1"> + location to store the default height, or %NULL + - + + Returns the default widget for @window. See gtk_window_set_default() +for more details. + + the default widget, or %NULL if there is none. + + + + + 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 + + + + + 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. + + + + + 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. + + + + + Gets the value set by gtk_window_set_focus_on_map(). +mapped. + + %TRUE if window should receive the input focus when + + + + + (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 + - + Gets the value set by gtk_window_set_gravity(). + + window gravity + + + + + Returns the group for @window or the default group, if +window group. + + the #GtkWindowGroup for a window or the default group + + + + + 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 + + + + + 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 + + + + + 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 + + + + + + + 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 + + + + + Returns the mnemonic modifier for this window. See +gtk_window_set_mnemonic_modifier(). +mnemonics on this window. + + the modifier mask used to activate + + + + + Gets the value of the #GtkWindow:mnemonics-visible property. +in this window. + + %TRUE if mnemonics are supposed to be visible + + + + + 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 + + + + + Fetches the requested opacity for this window. See +gtk_window_set_opacity(). + + the requested opacity for this window. + + + + + 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 + + + + + + Gets the value set by gtk_window_set_resizable(). + + %TRUE if the user can resize the window + + + + + 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 + + + + + Returns the #GdkScreen associated with @window. + + a #GdkScreen. + + + + + 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 +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 +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 +"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 +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 +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 @@ -82015,32 +75073,181 @@ 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 +positioning, there's <emphasis>still</emphasis> a better way than doing it yourself - gtk_window_set_position() will frequently -handle the details for you."> +handle the details for you. - + allow-none="1"> + return location for width, or %NULL + - + allow-none="1"> + return location for height, or %NULL + - + Gets the value set by gtk_window_set_skip_pager_hint(). + + %TRUE if window shouldn't be in pager + + + + + Gets the value set by gtk_window_set_skip_taskbar_hint() + + %TRUE if window shouldn't be in taskbar + + + + + 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 + + + + + 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 + + + + + Gets the type hint for this window. See gtk_window_set_type_hint(). + + the type hint for @window. + + + + + Gets the value set by gtk_window_set_urgency_hint() + + %TRUE if window is urgent + + + + + Gets the type of the window. See #GtkWindowType. + + the type of the window + + + + + Returns whether @window has an explicit window group. +Since 2.22 + + %TRUE if @window has an explicit window group. + + + + + 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 + + + + + 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. + + + + + + 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. + + + + + 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. + + + + + + Activates the targets associated with the mnemonic. + + %TRUE if the activation is done. + + + + + the mnemonic + + + + the modifiers + + + + + + 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. @@ -82063,72 +75270,28 @@ 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."> +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 + - - - - - - - - - - - - - - + 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 @@ -82141,7 +75304,7 @@ 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 +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. |[ @@ -82156,7 +75319,7 @@ 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 +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); @@ -82167,54 +75330,96 @@ 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_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]); +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 - - - - - - + + 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 + + + + + + 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 + + + + + + Reverses the effects of gtk_window_add_accel_group(). + + + + + + a #GtkAccelGroup + + + @@ -82227,298 +75432,978 @@ by GUI builders only."> - + + Removes a mnemonic from this window. - - + + the mnemonic + + + + the widget that gets activated by the mnemonic + + + Hides @window, then reshows it, resetting the +default size and position of the window. Used +by GUI builders only. + + + + + + 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 + + + + + + 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 + + + + + + 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 + + + + + + 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. + + + + + + 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 + + + + + + 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 + + + + + + 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 + + + + + + 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. + + + + + + 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 + + + + + + (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 + + + + + + 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 or %NULL + + + + struct containing geometry information or %NULL + + + + mask indicating which struct fields should be paid attention to + + + + + + 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 + + + + + + (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 + + + + + + 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 @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 + + + + + + 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 + + + + + + + + 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 + + + + + + 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 + + + + + + Sets the mnemonic modifier for this window. + + + + + + the modifier mask used to activate mnemonics on this window. + + + + + + Sets the #GtkWindow:mnemonics-visible property. + + + + + + the new value + + + + + + 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 + + + + + + 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 + + + + + + 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. + + + + + + Sets whether the user can resize a window. Windows are user resizable +by default. + + + + + + %TRUE if the user can resize this window + + + + + + 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 + + + + + + + + + + + + + + + + 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 + + + + + + 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 + + + + + + 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 + + + + + + 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 + + + + + + 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 + + + + + + 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 + + + + + + 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 + + + + + + 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 + + + + + + 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 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 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 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. + + + + - - - - - - - + transfer-ownership="none"> + Whether the window should receive the input focus. + - + transfer-ownership="none"> + Whether the window should be decorated by the window manager. + - - + + - - + + - + transfer-ownership="none"> + Whether the window frame should have a close button. + - - + + - + transfer-ownership="none"> + Whether the window should receive the input focus when mapped. + - + transfer-ownership="none"> + The window gravity of the window. See gtk_window_move() and #GdkGravity for +more details about window gravity. + - - + + - - + + - + transfer-ownership="none"> + The :icon-name property specifies the name of the themed icon to +use as the window icon. See #GtkIconTheme for more details. + - - + + - - + + - - + + - + transfer-ownership="none"> + 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."> - +for more details. + - - + + - + transfer-ownership="none"> + 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."> - - +of @window. + + - + The ::activate-focus signal is a +<link linkend="keybinding-signals">keybinding signal</link> which gets emitted when the user activates the currently -focused widget of @window."> - - +focused widget of @window. + + - - + + - + - - - + + The ::keys-changed signal gets emitted when the set of accelerators +or mnemonics that are associated with @window changes. + + - - + + - + @@ -82530,7 +76415,7 @@ or mnemonics that are associated with @window changes."> - + @@ -82545,9 +76430,9 @@ or mnemonics that are associated with @window changes."> - + - + @@ -82560,7 +76445,7 @@ or mnemonics that are associated with @window changes."> - + @@ -82572,7 +76457,7 @@ or mnemonics that are associated with @window changes."> - + @@ -82584,7 +76469,7 @@ or mnemonics that are associated with @window changes."> - + @@ -82599,7 +76484,7 @@ or mnemonics that are associated with @window changes."> - + @@ -82610,92 +76495,125 @@ 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 - - - + + Returns the current grab widget for @device, or %NULL if none. + + The grab widget, or %NULL + - - + + a #GdkDevice + + + Gets the current grab widget of the given group, +see gtk_grab_add(). + + the current grab widget of the group + + + - + Returns a list of the #GtkWindows that belong to @window_group. +windows inside the group. + + A newly-allocated list of + + Removes a window from a #GtkWindowGroup. + + + + + + the #GtkWindow to remove + + + + - + + + - - + + - - + + - - + + - - + + @@ -82742,16 +76660,16 @@ windows inside the group." - + - + - + @@ -82780,6 +76698,8 @@ windows inside the group." c:identifier="GTK_WIN_POS_CENTER_ON_PARENT" glib:nick="center-on-parent"/> + + + + Describes how an #GtkWrapBox positions its children. + + + + + + + + + + + Creates an #GtkWrapBox. + + A new #GtkWrapBox container + + + + + The #GtkWrapAllocationMode to use + + + + The horizontal #GtkWrapBoxSpreading policy to use + + + + The vertical #GtkWrapBoxSpreading policy to use + + + + The horizontal spacing to add between children + + + + The vertical spacing to add between children + + + + + + Gets the allocation mode. + + The #GtkWrapAllocationMode for @box. + + + + + Gets the horizontal spacing. + + The horizontal spacing. + + + + + Gets the horizontal spreading mode. + + The horizontal #GtkWrapBoxSpreading for @box. + + + + + Gets the minimum amount of children per line. + + The minimum amount of children per line. + + + + + Gets the natural amount of children per line. + + The natural amount of children per line. + + + + + Gets the vertical spacing. + + The vertical spacing. + + + + + Gets the vertical spreading mode. + + The vertical #GtkWrapBoxSpreading for @box. + + + + + Adds a child to an #GtkWrapBox with its packing options set + + + + + + the child #GtkWidget to add + + + + the position in the child list to insert, specify -1 to append to the list. + + + + The #GtkWrapBoxPacking options to use. + + + + + + Reorders the child @widget in @box's list of children. + + + + + + The child to reorder + + + + The new child position + + + + + + Sets the allocation mode for @box's children. + + + + + + The #GtkWrapAllocationMode to use. + + + + + + Sets the horizontal space to add between children. + + + + + + The spacing to use. + + + + + + Sets the horizontal spreading mode for @box's children. + + + + + + The #GtkWrapBoxSpreading to use. + + + + + + Sets the minimum amount of children to line up +in @box's orientation before wrapping. + + + + + + The minimum amount of children per line. + + + + + + Sets the natural length of items to request and +allocate space for in @box's orientation. +Setting the natural amount of children per line +limits the overall natural size request to be no more +than @n_children items long in the given orientation. + + + + + + The natural amount of children per line. + + + + + + Sets the vertical space to add between children. + + + + + + The spacing to use. + + + + + + Sets the vertical spreading mode for @box's children. + + + + + + The #GtkWrapBoxSpreading to use. + + + + + + The #GtkWrapAllocationMode to use. + + + + The amount of horizontal space between two children. + + + + The #GtkWrapBoxSpreading to used to define what is done with extra +space in a given orientation. + + + + The minimum number of children to allocate consecutively in the given orientation. +<note><para>Setting the minimum children per line ensures +that a reasonably small height will be requested +for the overall minimum width of the box.</para></note> + + + + The maximum amount of children to request space for consecutively in the given orientation. + + + + The amount of vertical space between two children. + + + + The #GtkWrapBoxSpreading to used to define what is done with extra +space in a given orientation. + + + + + + + + + + + + + + + + Specifies how widgets will expand vertically and +horizontally when placed inside a #GtkWrapBox. + + + + + + + Describes how a #GtkWrapBox deals with extra space in a given orientation when allocating children. + + + + + + Finds the first accelerator in any #GtkAccelGroup attached to @object that matches @accel_key and @accel_mods, and -activates that accelerator."> +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 - + c:identifier="gtk_accel_groups_from_object"> + 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 + c:identifier="gtk_accelerator_get_default_mod_mask"> + 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". +this function returns "&lt;Control&gt;q". If you need to display accelerators in the user interface, -see gtk_accelerator_get_label()."> +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;". +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)."> +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 +#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."> +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."> +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. +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." - version="2.6"> +#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."> +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 + @@ -83014,169 +77297,181 @@ arguments."> + c:identifier="gtk_binding_entry_add_signall"> + 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 + + + + c:identifier="gtk_binding_entry_remove"> + 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 - - - - - - - - - - + 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."> - +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()."> - +a class used in gtk_binding_set_by_class(). + + %NULL or the specified binding set + unique binding set name - + + 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 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 @@ -83188,213 +77483,359 @@ 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 +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 +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."> +or freed. + %NULL if the GTK+ library is compatible with the - + the required major version. + - + the required minor version. + - + the required micro version. + - + 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 + + + + + + Adds a GTK+ grab on @device, so all the events on @device and its +associated pointer or keyboard (if any) are delivered to @widget. +If the @block_others parameter is %TRUE, any other devices will be +unable to interact with @widget during the grab. + + + + + + a #GtkWidget + + + + a #GtkDevice to grab on. + + + + %TRUE to prevent other devices to interact with @widget. + + + + + + Removes a device grab from the given widget. You have to pair calls +to gtk_device_grab_add() and gtk_device_grab_remove(). + + + + + + a #GtkWidget + + + + a #GdkDevice + + + + + + 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 +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."> +Most programs should not need to call this function. + + Distributes @extra_space to child @sizes by bringing up smaller +children up to natural size first. +The remaining space will be added to the @minimum_size member of the +GtkRequestedSize struct. If all sizes reach their natural size then +the remaining space is returned. +to @sizes. + + The remainder of @extra_space after redistributing space + + + + + Extra space to redistribute among children after subtracting minimum sizes and any child padding from the overall allocation + + + + Number of requests to fit into the allocation + + + + An array of structs with a client pointer and a minimum/natural size in the orientation of the allocation. + + + + + 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."> - +gtk_drag_source_set() is used. +The @event is used to retrieve the timestamp that will be used internally to +grab the pointer. If @event is #NULL, then GDK_CURRENT_TIME will be used. +However, you should try to pass a real event in all cases, since that can be +used by GTK+ to get information about the start position of the drag, for +example if the @event is a GDK_MOTION_NOTIFY. +Generally there are three cases when you want to start a drag by hand by +calling this function: +1. During a button-press-event handler, if you want to start a drag +immediately when the user presses the mouse button. Pass the @event +that you have in your button-press-event handler. +2. During a motion-notify-event handler, if you want to start a drag +when the mouse moves past a certain threshold distance after a button-press. +Pass the @event that you have in your motion-notify-event handler. +3. During a timeout handler, if you want to start a drag after the mouse +button is held down for some time. Try to save the last event that you got +from the mouse, using gdk_event_copy(), and pass it to this function +(remember to free the event with gdk_event_free() when you are done). +If you can really not pass a real event, pass #NULL instead. + + 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."> +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."> - +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). + c:identifier="gtk_drag_dest_get_target_list"> + 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 +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 +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 @@ -83404,8 +77845,8 @@ 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 +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 @@ -83423,29 +77864,31 @@ 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. @@ -83466,47 +77909,48 @@ gdk_drag_status (context, GDK_ACTION_MOVE, time); - + + 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()."> +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 + @@ -83529,13 +77973,13 @@ actions regardless of the targets that the source offers." - + - + - + @@ -83554,17 +77998,22 @@ actions regardless of the targets that the source offers." - + - + Determines the source widget for a drag. +within a single application, a pointer to the source widget. +Otherwise, %NULL. + + if the drag is occurring + a (destination side) drag context @@ -83579,369 +78028,364 @@ actions regardless of the targets that the source offers." - - - - - - - - - - - - - - - - - - - - - - + c:identifier="gtk_drag_set_icon_default"> + 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" - version="2.8"> +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 + + c:identifier="gtk_drag_set_icon_pixbuf"> + 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."> +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. + + c:identifier="gtk_drag_set_icon_stock"> + 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. + + c:identifier="gtk_drag_set_icon_widget"> + 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."> +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 + c:identifier="gtk_drag_source_set_icon_pixbuf"> + 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 + c:identifier="gtk_drag_source_set_icon_stock"> + 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 @@ -83966,912 +78410,231 @@ gtk_drag_source_set()." - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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. + - + - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - + + Registers an error quark for #GtkFileChooser if necessary. - + The error quark used for #GtkFileChooser errors. + - - - - - - + Returns the binary age as passed to +<application>libtool</application> when building the GTK+ library +the process is running against. If +<application>libtool</application> means nothing to you, don't +worry about it. + + the binary age of the GTK+ library. + + + + + 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."> +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 device, return that +device, otherwise return %NULL. - + a #GdkDevice, or %NULL + + + + + 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 + c:identifier="gtk_get_current_event_time"> + 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 GTK+ debug flags setting. + + + 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"> +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."> - +originally. +received @event, or %NULL + + the widget that originally + a #GdkEvent + + Returns the interface age as passed to +<application>libtool</application> when building the GTK+ library +the process is running against. If +<application>libtool</application> means nothing to you, don't +worry about it. + + the interface age of the GTK+ library. + + + + + Returns the major version number of the GTK+ library. (e.g. in GTK+ version +3.1.5 this is 3.) +This function is in the library, so it represents the GTK+ library +your code is running against. Contrast with the #GTK_MAJOR_VERSION +macro, which represents the major version of the GTK+ headers you +have included when compiling your code. + + the major version number of the GTK+ library. + + + + + Returns the micro version number of the GTK+ library. (e.g. in GTK+ version +3.1.5 this is 5.) +This function is in the library, so it represents the GTK+ library +your code is are running against. Contrast with the +#GTK_MICRO_VERSION macro, which represents the micro version of the +GTK+ headers you have included when compiling your code. + + the micro version number of the GTK+ library. + + + + + Returns the minor version number of the GTK+ library. (e.g. in GTK+ version +3.1.5 this is 1.) +This function is in the library, so it represents the GTK+ library +your code is are running against. Contrast with the +#GTK_MINOR_VERSION macro, which represents the minor version of the +GTK+ headers you have included when compiling your code. + + the minor version number of the GTK+ library. + + + + 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+" - version="2.6"> - +by GTK+ + + a #GOptionGroup for the commandline arguments recognized - + whether to open the default display when parsing the commandline arguments + @@ -84886,7 +78649,10 @@ by GTK+" - + Queries the current grab of the default window group. +has the grab or %NULL if no grab is active + + The widget which currently @@ -84901,227 +78667,165 @@ by GTK+" - - + c:identifier="gtk_icon_size_from_name"> + 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 +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."> +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 +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." - version="2.2"> +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."> +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. -Note that there are some alternative ways to initialize GTK+: -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(). +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 +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> @@ -85131,66 +78835,67 @@ 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>"> +</para></note> - + caller-allocates="0" + transfer-ownership="full"> + 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 +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."> +%FALSE otherwise. - + %TRUE if the GUI has been successfully initialized, + - + caller-allocates="0" + transfer-ownership="full"> + 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. @@ -85199,93 +78904,53 @@ with the user - for example a curses or command line interface. + 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." - version="2.6" - throws="1"> +%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 and the @parameter_string with gettext(), or %NULL + + c:identifier="gtk_key_snooper_install" + introspectable="0"> - + - + - + @@ -85295,7 +78960,7 @@ be terminated after writing out the help output. - + @@ -85316,22 +78981,22 @@ be terminated after writing out the help output. - + - + - + - + @@ -85339,1251 +79004,1161 @@ be terminated after writing out the help output. - + + 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 +"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."> +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 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 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()."> +You shouldn't call this function explicitely if you are using +gtk_init(), or gtk_init_check(). - + %TRUE if initialization succeeded, otherwise %FALSE. + - + caller-allocates="0" + transfer-ownership="full"> + a pointer to the number of command line arguments. + + caller-allocates="0" + transfer-ownership="full"> + a pointer to the array of command line arguments. + + Registers an error quark for #GtkPrintOperation if necessary. + + The error quark used for #GtkPrintOperation errors. + + + - + introspectable="0"> + - + - + @@ -86593,86 +80168,71 @@ a problem." + introspectable="0"> - + - + - + - + - + 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 +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 +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."> +gtk_widget_queue_draw() instead of making up expose events. + a #GtkWidget + an event - + - + - + - + - + @@ -86682,22 +80242,24 @@ gtk_widget_queue_draw() instead of making up expose events."> - + - + - + - + - + - + - + @@ -86721,7 +80283,7 @@ gtk_widget_queue_draw() instead of making up expose events."> - + @@ -86732,205 +80294,169 @@ gtk_widget_queue_draw() instead of making up expose events."> - - - - - - - - - - - - - - + + c:identifier="gtk_rc_add_default_file"> + 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."> - +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."> +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."> - +This memory 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. + c:identifier="gtk_rc_get_im_module_file"> + 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."> +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"/>."> +<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 +(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."> - +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 +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), +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."> - +supplied paths, 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 + 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 @@ -86950,53 +80476,56 @@ keep a reference to it."> - + 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"> +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" - version="2.12"> +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 - + @@ -87009,7 +80538,7 @@ that was expected but not found" - + @@ -87031,150 +80560,174 @@ that was expected but not found" + 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 +borders in the form +<literal>"{ left, right, top, bottom }"</literal> for integers %left, %right, %top and %bottom. -has been set to the resulting #GtkBorder."> +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 +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."> +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."> +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."> +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."> +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."> +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."> +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 @@ -87182,240 +80735,263 @@ 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()." - version="2.4"> +doesn't affect widgets that have a style set explicitely on them +with gtk_widget_set_style(). + a #GtkSettings - - + + + c:identifier="gtk_rc_set_default_files"> + 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." - version="2.14"> +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 + + c:identifier="gtk_selection_add_target"> + 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. + + c:identifier="gtk_selection_add_targets"> + 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 + + c:identifier="gtk_selection_clear_targets"> + 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)."> +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) + + c:identifier="gtk_selection_owner_set"> + 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."> +called by applications. + a #GtkWidget - + Sets the GTK+ debug flags. + + + + + + + + + + + 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 @@ -87425,34 +81001,35 @@ 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 +<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."> +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." - version="2.6"> +reused for future invocations of this function. - + + transient parent, or %NULL for none + the name of the first property @@ -87463,7 +81040,9 @@ reused for future invocations of this function." + 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> @@ -87475,346 +81054,96 @@ 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()." - version="2.14" - throws="1"> +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."> +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()."> - +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. @@ -87824,9 +81153,9 @@ 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" }, +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, @@ -87837,15 +81166,15 @@ 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"); -]|" - version="2.8"> +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." - version="2.10"> - +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 + - + c:identifier="gtk_test_create_simple_window" + introspectable="0"> + @@ -87992,8 +81344,10 @@ otherwise %FALSE." - - + + @@ -88010,8 +81364,9 @@ otherwise %FALSE." - + c:identifier="gtk_test_display_button_window" + introspectable="0"> + @@ -88027,8 +81382,10 @@ otherwise %FALSE." - - + + @@ -88040,8 +81397,10 @@ otherwise %FALSE." - - + + @@ -88053,8 +81412,10 @@ otherwise %FALSE." - - + + @@ -88071,26 +81432,26 @@ otherwise %FALSE." + 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 +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." - version="2.14"> +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. @@ -88105,8 +81466,8 @@ processed and stripped from @argc and @argv." - - + + @@ -88119,7 +81480,7 @@ processed and stripped from @argc and @argv." - + @@ -88137,24 +81498,24 @@ processed and stripped from @argc and @argv." - + - + - + - + @@ -88183,14 +81544,14 @@ processed and stripped from @argc and @argv." - + - + @@ -88200,286 +81561,184 @@ processed and stripped from @argc and @argv." - + - + - + - + + + + - - + + - - - - - - - - - + + - - + + - - + + - - - - - - - - - + + - - + + - - + + - - + + - - - - - - - - - - - - + + + + + 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 +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"> +is otherwise valid - + %TRUE if @selection_data had target type %GTK_TREE_MODEL_ROW and + + a #GtkSelectionData + a #GtkTreeModel + row in @tree_model + c:identifier="gtk_tree_row_reference_deleted"> + 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 + c:identifier="gtk_tree_row_reference_inserted"> + 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 + c:identifier="gtk_tree_row_reference_reordered"> + 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 + + c:identifier="gtk_tree_set_row_drag_data"> + 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 - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/basis/gtk/ffi/ffi.factor b/basis/gtk/ffi/ffi.factor index e649025670..1a4c3ebca0 100644 --- a/basis/gtk/ffi/ffi.factor +++ b/basis/gtk/ffi/ffi.factor @@ -1,12 +1,18 @@ -! Copyright (C) 2009 Anton Gorenko. +! Copyright (C) 2010 Anton Gorenko. ! See http://factorcode.org/license.txt for BSD license. -USING: alien alien.syntax alien.destructors alien.libraries -cairo.ffi combinators kernel system -gobject-introspection atk.ffi gdk.ffi gdk.pixbuf.ffi gio.ffi -glib.ffi gmodule.ffi gobject.ffi pango.ffi ; -EXCLUDE: alien.c-types => pointer ; +USING: alien alien.c-types alien.destructors alien.libraries +alien.syntax combinators gobject-introspection +gobject-introspection.standard-types kernel pango.ffi system +vocabs.loader ; IN: gtk.ffi +<< +"atk.ffi" require +"gdk.ffi" require +>> + +LIBRARY: gtk + << "gtk" { { [ os winnt? ] [ "libgtk-win32-2.0-0.dll" cdecl add-library ] } @@ -15,14 +21,14 @@ IN: gtk.ffi } cond >> -TYPEDEF: void GtkAllocation -TYPEDEF: void GtkEnumValue -TYPEDEF: void GtkFlagValue -TYPEDEF: GType GtkType - IMPLEMENT-STRUCTS: GtkTreeIter ; -GIR: vocab:gtk/Gtk-2.0.gir +GIR: vocab:gtk/Gtk-3.0.gir DESTRUCTOR: gtk_widget_destroy +! diff --git a/basis/gtk/gl/GtkGL-1.0.gir b/basis/gtk/gl/GtkGL-1.0.gir deleted file mode 100644 index a2d54ffdeb..0000000000 --- a/basis/gtk/gl/GtkGL-1.0.gir +++ /dev/null @@ -1,173 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/basis/gtk/gl/GtkGLExt-1.0.gir b/basis/gtk/gl/GtkGLExt-1.0.gir new file mode 100644 index 0000000000..01b4bd05dd --- /dev/null +++ b/basis/gtk/gl/GtkGLExt-1.0.gir @@ -0,0 +1,213 @@ + + + + + + + + + + + + + + + + + + + + + + Call this function before using any other GtkGLExt functions in your +applications. It will initialize everything needed to operate the library +and parses some standard command line options. @argc and +never see those standard arguments. +<note><para> +This function will terminate your program if it was unable to initialize +the library for some reason. If you want your program to fall back to a +textual interface you want to call gtk_gl_init_check() instead. +</para></note> + + + + + + Address of the <parameter>argc</parameter> parameter of your <function>main()</function> function. Changed if any arguments were handled. + + + + Address of the <parameter>argv</parameter> parameter of <function>main()</function>. Any parameters understood by gtk_gl_init() are stripped before return. + + + + + + + + This function does the same work as gtk_gl_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 <function>main()</function> function. Changed if any arguments were handled. + + + + Address of the <parameter>argv</parameter> parameter of <function>main()</function>. Any parameters understood by gtk_gl_init() are stripped before return. + + + + + + + + Creates a new #GdkGLContext with the appropriate #GdkGLDrawable +for this widget. The GL context must be freed when you're +finished with it. See also gtk_widget_get_gl_context(). + + the new #GdkGLContext. + + + + + a #GtkWidget. + + + + the #GdkGLContext with which to share display lists and texture objects. NULL indicates that no sharing is to take place. + + + + whether rendering is to be done with a direct connection to the graphics system. + + + + GDK_GL_RGBA_TYPE or GDK_GL_COLOR_INDEX_TYPE (currently not used). + + + + + + Returns the #GdkGLConfig referred by the @widget. + + the #GdkGLConfig. + + + + + a #GtkWidget. + + + + + + Returns the #GdkGLContext with the appropriate #GdkGLDrawable +for this widget. Unlike the GL context returned by +gtk_widget_create_gl_context(), this context is owned by the widget. +#GdkGLContext is needed for the function gdk_gl_drawable_begin, +or for sharing display lists (see gtk_widget_set_gl_capability()). + + the #GdkGLContext. + + + + + a #GtkWidget. + + + + + + Returns the #GdkGLWindow owned by the @widget. + + the #GdkGLWindow. + + + + + a #GtkWidget. + + + + + + Returns whether the @widget is OpenGL-capable. + + TRUE if the @widget is OpenGL-capable, FALSE otherwise. + + + + + a #GtkWidget. + + + + + + Set the OpenGL-capability to the @widget. +This function prepares the widget for its use with OpenGL. + + TRUE if it is successful, FALSE otherwise. + + + + + the #GtkWidget to be used as the rendering area. + + + + a #GdkGLConfig. + + + + the #GdkGLContext with which to share display lists and texture objects. NULL indicates that no sharing is to take place. + + + + whether rendering is to be done with a direct connection to the graphics system. + + + + GDK_GL_RGBA_TYPE or GDK_GL_COLOR_INDEX_TYPE (currently not used). + + + + + + diff --git a/basis/gtk/gl/ffi/ffi.factor b/basis/gtk/gl/ffi/ffi.factor index 775537063b..e901c5bb2f 100644 --- a/basis/gtk/gl/ffi/ffi.factor +++ b/basis/gtk/gl/ffi/ffi.factor @@ -1,11 +1,16 @@ ! Copyright (C) 2010 Anton Gorenko. ! See http://factorcode.org/license.txt for BSD license. -USING: alien alien.libraries combinators kernel system -gobject-introspection gdk.ffi gdk.pixbuf.ffi gdk.gl.ffi gio.ffi -glib.ffi gmodule.ffi gobject.ffi gtk.ffi ; -EXCLUDE: alien.c-types => pointer ; +USING: alien alien.libraries alien.syntax combinators +gobject-introspection kernel system vocabs.loader ; IN: gtk.gl.ffi +<< +"gtk.ffi" require +"gdk.gl.ffi" require +>> + +LIBRARY: gtk.gl + << "gtk.gl" { { [ os winnt? ] [ drop ] } @@ -14,5 +19,4 @@ IN: gtk.gl.ffi } cond >> -GIR: vocab:gtk/gl/GtkGL-1.0.gir - +GIR: vocab:gtk/gl/GtkGLExt-1.0.gir diff --git a/basis/pango/Pango-1.0.gir b/basis/pango/Pango-1.0.gir index 06ce0e31f0..99ec659aeb 100644 --- a/basis/pango/Pango-1.0.gir +++ b/basis/pango/Pango-1.0.gir @@ -2,7 +2,7 @@ - @@ -15,15 +15,22 @@ and/or use gtk-doc annotations. --> - - - + c:identifier-prefixes="Pango" + c:symbol-prefixes="pango"> + + + + + + + + + - + - + - + - + - + - + - + + + - - + + + + + + + + + + + - + + + + + + + + + + - + + + + + + + + + + + + + @@ -93,26 +132,28 @@ and/or use gtk-doc annotations. --> - - - + + + - + - + - + @@ -121,7 +162,7 @@ and/or use gtk-doc annotations. --> - + @@ -131,134 +172,116 @@ and/or use gtk-doc annotations. --> - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - + - + introspectable="0"> + Copy a #PangoAttrIterator +be freed with pango_attr_iterator_destroy(). + + the newly allocated #PangoAttrIterator, which should - + + Destroy a #PangoAttrIterator and free all associated memory. + Find the current attribute of a particular type at the iterator location. When multiple attributes of the same type overlap, the attribute whose range starts closest to the current location is used. if no attribute of that type applies to the current -location."> - +location. + + the current attribute of the given type, or %NULL + the type of attribute to find. - - - - - - - - - - - - - - - - + Gets a list of all attributes at the current position of the iterator. all attributes for the current range. To free this value, call pango_attribute_destroy() on -each value and g_slist_free() on the list." - version="1.2"> - +each value and g_slist_free() on the list. + + a list of - + + + Get the font and other attributes at the current iterator position. + + + + + + a #PangoFontDescription to fill in with the current values. The family name in this structure will be set using pango_font_description_set_family_static() using values from an attribute in the #PangoAttrList associated with the iterator, so if you plan to keep it around, you must call: <literal>pango_font_description_set_family (desc, pango_font_description_get_family (desc))</literal>. + + + + if non-%NULL, location to store language tag for item, or %NULL if none is found. + + + + if non-%NULL, location in which to store a list of non-font attributes at the the current position; only the highest priority value of each attribute will be added to this list. In order to free this value, you must call pango_attribute_destroy() on each member. + + + + + + + + Advance the iterator until the next change of style. + + %FALSE if the iterator is at the end of the list, otherwise %TRUE + + + + + Get the range of the current segment. Note that the +stored return values are signed, not unsigned like +the values in #PangoAttribute. To deal with this API +oversight, stored return values that wouldn't fit into +a signed integer are clamped to %G_MAXINT. + + + + + + location to store the start of the range + + + + location to store the end of the range + + + + @@ -267,163 +290,149 @@ each value and g_slist_free() on the list." - - - - - - - - - - - + glib:get-type="pango_attr_list_get_type" + c:symbol-prefix="attr_list"> + + Create a new empty attribute list with a reference count of one. +be freed with pango_attr_list_unref(). + the newly allocated #PangoAttrList, which should - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + Insert the given attribute into the #PangoAttrList. It will replace any attributes of the same type on that segment and be merged with any adjoining attributes that are identical. This function is slower than pango_attr_list_insert() for creating a attribute list in order (potentially much slower for large lists). However, pango_attr_list_insert() is not suitable for continually changing a set of attributes -since it never removes or combines existing attributes."> +since it never removes or combines existing attributes. + the attribute to insert. Ownership of this value is assumed by the list. - + Copy @list and return an identical new list. +reference count of one, which should +be freed with pango_attr_list_unref(). +Returns %NULL if @list was %NULL. + + the newly allocated #PangoAttrList, with a + + + + + Given a #PangoAttrList and callback function, removes any elements +of @list for which @func returns %TRUE and inserts them into +a new list. +no attributes of the given types were found. + + the new #PangoAttrList or %NULL if + + + + + callback function; returns %TRUE if an attribute should be filtered out. + + + + Data to be passed to @func + + + + + + Create a iterator initialized to the beginning of the list. +be freed with pango_attr_iterator_destroy(). + + the newly allocated #PangoAttrIterator, which should + + + + + Insert the given attribute into the #PangoAttrList. It will +be inserted after all other attributes with a matching + + + + + + the attribute to insert. Ownership of this value is assumed by the list. + + + + + + Insert the given attribute into the #PangoAttrList. It will +be inserted before all other attributes with a matching + + + + + + the attribute to insert. Ownership of this value is assumed by the list. + + + + + + Increase the reference count of the given attribute list by one. + + The attribute list passed in + + + + + This function opens up a hole in @list, fills it in with attributes from the left, and then merges @other on top of the hole. This operation is equivalent to stretching every attribute that applies at position @pos in @list by an amount @len, and then calling pango_attr_list_change() with a copy of each attribute in @other in sequence (offset in position by @pos). This operation proves useful for, for instance, inserting -a pre-edit string in the middle of an edit buffer."> +a pre-edit string in the middle of an edit buffer. + another #PangoAttrList - + the position in @list at which to insert @other + - + the length of the spliced segment. (Note that this must be specified since the attributes in @other may only be present at some subsection of this range) + - - - - - - - - - - - - - - - - + + Decrease the reference count of the given attribute list by one. +If the result is zero, free the attribute list and the attributes +it contains. + + @@ -438,107 +447,25 @@ be freed with pango_attr_iterator_destroy()."> - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - - - - - - - - - - - - - - - - - - - - @@ -650,66 +577,67 @@ freed with pango_attribute_destroy()." - + - + - + Make a copy of an attribute. +freed with pango_attribute_destroy(). + + the newly allocated #PangoAttribute, which should be + + + + + Destroy a #PangoAttribute and free all associated memory. + + + + + + Compare two attributes for equality. This compares only the +actual value of the two attributes and not the ranges that the +attributes apply to. + + %TRUE if the two attributes have the same value. + + + + + another #PangoAttribute + + + + + + Initializes @attr's klass to @klass, +it's start_index to %PANGO_ATTR_INDEX_FROM_TEXT_BEGINNING and end_index to %PANGO_ATTR_INDEX_TO_TEXT_END such that the attribute applies -to the entire text by default." - version="1.20"> +to the entire text by default. + a #PangoAttributeClass - - - - - - - - - - - - - - - - - - - - + The #PangoBidiType type represents the bidirectional character +type of a Unicode character as specified by the +<ulink url="http://www.unicode.org/reports/tr9/">Unicode bidirectional algorithm</ulink>. + glib:get-type="pango_color_get_type" + c:symbol-prefix="color"> - + - + - + - + Creates a copy of @src, which should be freed with pango_color_free(). Primarily used by language bindings, not that useful otherwise (since colors can just be copied by assignment in C). be freed with pango_color_free(), or %NULL -if @src was %NULL."> +if @src was %NULL. + the newly allocated #PangoColor, which should - + + Frees a color allocated by pango_color_copy(). - + Fill in the fields of a color from a string specification. The string can either one of a large set of standard names. (Taken from the X11 <filename>rgb.txt</filename> file), or it can be a hex value in the -form '&num;rgb' '&num;rrggbb' '&num;rrrgggbbb' or '&num;rrrrggggbbbb' where -'r', 'g' and 'b' are hex digits of the red, green, and blue +form '&num;rgb' '&num;rrggbb' '&num;rrrgggbbb' or '&num;rrrrggggbbbb' where +'r', 'g' and 'b' are hex digits of the red, green, and blue components of the color, respectively. (White in the four -forms is '&num;fff' '&num;ffffff' '&num;fffffffff' and '&num;ffffffffffff') -otherwise false."> +forms is '&num;fff' '&num;ffffff' '&num;fffffffff' and '&num;ffffffffffff') +otherwise false. - + %TRUE if parsing of the specifier succeeded, + + a string specifying the new color + Returns a textual specification of @color in the hexadecimal form <literal>&num;rrrrggggbbbb</literal>, where <literal>r</literal>, <literal>g</literal> and <literal>b</literal> are hex digits representing -the red, green, and blue components respectively." - version="1.16"> +the red, green, and blue components respectively. + a newly-allocated text string that must be freed with g_free(). - + Creates a new #PangoContext initialized to default values. This function is not particularly useful as it should always be followed by a pango_context_set_font_map() call, and the function pango_font_map_create_context() does these two steps together and hence users are recommended to use that. If you are using Pango as part of a higher-level system, -that system may have it's own way of create a #PangoContext. +that system may have it's own way of create a #PangoContext. For instance, the GTK+ toolkit has, among others, gdk_pango_context_get_for_screen(), and gtk_widget_get_pango_context(). Use those instead. -be freed with g_object_unref()."> +be freed with g_object_unref(). + the newly allocated #PangoContext, which should - + + Retrieves the base direction for the context. See +pango_context_set_base_dir(). - + the base direction for the context. + + + + + Retrieves the base gravity for the context. See +pango_context_set_base_gravity(). + + the base gravity for the context. + + + + + Retrieve the default font description for the context. +This value must not be modified or freed. + + a pointer to the context's default font description. + - - - - - - + version="1.6" + introspectable="0"> + Gets the #PangoFontmap used to look up fonts for this context. +is owned by Pango and should not be unreferenced. + + the font map for the #PangoContext. This value - + + Retrieves the gravity for the context. This is similar to +pango_context_get_base_gravity(), except for when the base gravity +is %PANGO_GRAVITY_AUTO for which pango_gravity_get_for_matrix() is used +to return the gravity from the current context matrix. - + the resolved gravity for the context. + - - - - - - - - - + + Retrieves the gravity hint for the context. See +pango_context_set_gravity_hint() for details. + + the gravity hint for the context. + + + + + Retrieves the global language tag for the context. - + the global language tag. + - - - - - - - - + + Gets the transformation matrix that will be applied when +rendering with this context. See pango_context_set_matrix(). +(which is the same as the identity matrix). The returned +matrix is owned by Pango and must not be modified or +freed. + + the matrix, or %NULL if no matrix has been set + - - - - - - - - - + Get overall metric information for a particular font description. Since the metrics may be substantially different for different scripts, a language tag can be provided to indicate that the metrics should be retrieved that correspond to the script(s) @@ -961,273 +896,276 @@ list of figures. If characters from multiple of these families would be used to render the string, then the returned fonts would be a composite of the metrics for the fonts loaded for the individual families. -when finished using the object."> +when finished using the object. + a #PangoFontMetrics object. The caller must call pango_font_metrics_unref() + a #PangoFontDescription structure. %NULL means that the font description from the context will be used. + language tag used to determine which script to get the metrics for. %NULL means that the language tag from the context will be used. If no language tag is set on the context, metrics for the default language (as determined by pango_language_get_default()) will be returned. - + + List all families for a context. + + + location to store a pointer to an array of #PangoFontFamily *. This array should be freed with g_free(). + + + + location to store the number of elements in @descs + + + + + + Loads the font in one of the fontmaps in the context +that is the closest match for @desc. + + the font loaded, or %NULL if no font matched. + + + a #PangoFontDescription describing the font to load - - - - - - - - - - - - - + + Load a set of fonts in the context that can be used to render +a font matching @desc. + + the fontset, or %NULL if no font matched. + + + a #PangoFontDescription describing the fonts to load + + + a #PangoLanguage the fonts will be used for - + Sets the base direction for the context. The base direction is used in applying the Unicode bidirectional algorithm; if the @direction is %PANGO_DIRECTION_LTR or %PANGO_DIRECTION_RTL, then the value will be used as the paragraph direction in the Unicode bidirectional algorithm. A value of %PANGO_DIRECTION_WEAK_LTR or %PANGO_DIRECTION_WEAK_RTL is used only -for paragraphs that do not contain any strong characters themselves."> +for paragraphs that do not contain any strong characters themselves. + the new base direction - - - - - + Sets the base gravity for the context. +The base gravity is used in laying vertical text out. + the new base gravity - - - + + Set the default font description for the context + + + + + the new pango font description + + + - - - + + Sets the font map to be searched when fonts are looked-up in this context. +This is only for internal use by Pango backends, a #PangoContext obtained +via one of the recommended methods should already have a suitable font map. + + + + + the #PangoFontMap to set. + + + + Sets the gravity hint for the context. The gravity hint is used in laying vertical text out, and is only relevant if gravity of the context as returned by pango_context_get_gravity() -is set %PANGO_GRAVITY_EAST or %PANGO_GRAVITY_WEST." - version="1.16"> +is set %PANGO_GRAVITY_EAST or %PANGO_GRAVITY_WEST. + the new gravity hint - - - + + Sets the global language tag for the context. The default language +for the locale of the running process can be found using +pango_language_get_default(). + + + + + the new language tag. + + + + Sets the transformation matrix that will be applied when rendering with this context. Note that reported metrics are in the user space coordinates before the application of the matrix, not device-space -coordinates after the application of the matrix. So, they don't scale +coordinates after the application of the matrix. So, they don't scale with the matrix, though they may change slightly for different -matrices, depending on how the text is fit to the pixel grid." - version="1.6"> +matrices, depending on how the text is fit to the pixel grid. + a #PangoMatrix, or %NULL to unset any existing matrix. (No matrix set is the same as setting the identity matrix.) - - - - - - - - - - - - - - - - - - - - - + + Copy an existing #PangoCoverage. (This function may now be unnecessary since we refcount the structure. File a bug if you use it.) with a reference count of one, which -should be freed with pango_coverage_unref()."> - +should be freed with pango_coverage_unref(). + + the newly allocated #PangoCoverage, - - + + Determine whether a particular index is covered by @coverage + + the coverage level of @coverage for character @index_. - + the index to check + - - - - - - - - - - - - - - + Set the coverage for each index in @coverage to be the max (better) value of the current coverage for the index and the coverage for -the corresponding index in @other."> +the corresponding index in @other. + another #PangoCoverage - + + Increase the reference count on the #PangoCoverage by one + + @coverage + + + + + Modify a particular index within @coverage - - + + the index to modify + - - + + the new level for @index_ + + + Convert a #PangoCoverage structure into a flat binary format + + + + + + location to store result (must be freed with g_free()) + + + + location to store size of result + + + + + + Decrease the reference count on the #PangoCoverage by one. +If the result is zero, free the coverage and all associated memory. + + + + glib:nick="exact"/> + The #PangoDirection type represents a direction in the Unicode bidirectional algorithm; not every value in this enumeration makes sense for every usage of #PangoDirection; for example, the return value of pango_unichar_direction() and pango_find_base_dir() cannot be %PANGO_DIRECTION_WEAK_LTR or %PANGO_DIRECTION_WEAK_RTL, since every character is either neutral or has a strong direction; on the other hand -%PANGO_DIRECTION_NEUTRAL doesn't make sense to pass +%PANGO_DIRECTION_NEUTRAL doesn't make sense to pass to pango_itemize_with_base_dir(). The %PANGO_DIRECTION_TTB_LTR, %PANGO_DIRECTION_TTB_RTL values come from an earlier interpretation of this enumeration as the writing direction of a block of text and are no longer used; See #PangoGravity for how -vertical text is handled in Pango." - glib:type-name="PangoDirection" - glib:get-type="pango_direction_get_type" - c:type="PangoDirection"> +vertical text is handled in Pango. - + - + - + - + - - - + + Frees an array of font descriptions. + + - - + + a pointer to an array of #PangoFontDescription, may be %NULL + + + + number of font descriptions in @descs + - + Returns a description of the font, with font size set in points. Use pango_font_describe_with_absolute_size() if you want the font -size in device units."> +size in device units. + a newly-allocated #PangoFontDescription object. + Returns a description of the font, with absolute font size set +(in device units). Use pango_font_describe() if you want the font +size in points. + a newly-allocated #PangoFontDescription object. - - - - - - - - - - - + introspectable="0"> + Finds the best matching shaper for a font for a particular +language tag and character point. + + the best matching shaper. + the language tag - + a Unicode character. + - - - + + Computes the coverage map for a given font and language tag. + + a newly-allocated #PangoCoverage object. + + the language tag + + Gets the font map for which the font was created. +Note that the font maintains a <firstterm>weak</firstterm> reference +to the font map, so if all references to font map are dropped, the font +map will be finalized even if there are fonts created with the font +map that are still alive. In that case this function will return %NULL. +It is the responsibility of the user to ensure that the font map is kept +alive. In most uses this is not an issue as a #PangoContext holds +a reference to the font map. + + the #PangoFontMap for the font, or %NULL if @font is %NULL. + + + + Gets the logical and ink extents of a glyph within a font. The coordinate system for each rectangle has its origin at the base line and horizontal origin of the character with increasing coordinates extending to the right and down. The macros PANGO_ASCENT(), @@ -1438,411 +1372,61 @@ PANGO_DESCENT(), PANGO_LBEARING(), and PANGO_RBEARING() can be used to convert from the extents rectangle to more traditional font metrics. The units of the rectangles are in 1/PANGO_SCALE of a device unit. If @font is %NULL, this function gracefully sets some sane values in the -output variables and returns."> +output variables and returns. + the glyph index + rectangle used to store the extents of the glyph as drawn or %NULL to indicate that the result is not needed. + rectangle used to store the logical extents of the glyph or %NULL to indicate that the result is not needed. - + + Gets overall metric information for a font. Since the metrics may be +substantially different for different scripts, a language tag can +be provided to indicate that the metrics should be retrieved that +correspond to the script(s) used by that language. +If @font is %NULL, this function gracefully sets some sane values in the +output variables and returns. +when finished using the object. - + a #PangoFontMetrics object. The caller must call pango_font_metrics_unref() + + + + language tag used to determine which script to get the metrics for, or %NULL to indicate to get the metrics for the entire font. + + + - + glib:get-type="pango_font_description_get_type" + c:symbol-prefix="font_description"> + + Creates a new font description structure with all fields unset. +should be freed using pango_font_description_free(). + the newly allocated #PangoFontDescription, which - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + Determines if the style attributes of @new_match are a closer match for @desc than those of @old_match are, or if @old_match is %NULL, determines if @new_match is a match at all. Approximate matching is done for @@ -1851,137 +1435,481 @@ Style attributes are all attributes other than family and size-related attributes. Approximate matching for style considers PANGO_STYLE_OBLIQUE and PANGO_STYLE_ITALIC as matches, but not as good a match as when the styles are equal. -Note that @old_match must match @desc."> +Note that @old_match must match @desc. - + %TRUE if @new_match is a better match + + a #PangoFontDescription, or %NULL + a #PangoFontDescription - + Make a copy of a #PangoFontDescription. +be freed with pango_font_description_free(), or %NULL +if @desc was %NULL. + + the newly allocated #PangoFontDescription, which should + + + + + Like pango_font_description_copy(), but only a shallow copy is made +of the family name and other allocated fields. The result can only +be used until @desc is modified or freed. This is meant to be used +when the copy is only needed temporarily. +be freed with pango_font_description_free(), or %NULL +if @desc was %NULL. + + the newly allocated #PangoFontDescription, which should + + + + + Compares two font descriptions for equality. Two font descriptions +are considered equal if the fonts they describe are provably identical. +This means that their masks do not have to match, as long as other fields +are all the same. (Two font descriptions may result in identical fonts +being loaded, but still compare %FALSE.) +%FALSE otherwise. + + %TRUE if the two font descriptions are identical, + + + + + another #PangoFontDescription + + + + + + Frees a font description. + + + + + + Gets the family name field of a font description. See +pango_font_description_set_family(). +%NULL if not previously set. This has the same life-time +as the font description itself and should not be freed. + + the family name field for the font description, or + + + + + Gets the gravity field of a font description. See +pango_font_description_set_gravity(). +pango_font_description_get_set_fields() to find out if +the field was explicitly set or not. + + the gravity field for the font description. Use + + + + + Determines which fields in a font description have been set. +fields in @desc that have been set. + + a bitmask with bits set corresponding to the + + + + + Gets the size field of a font description. +See pango_font_description_set_size(). +You must call pango_font_description_get_size_is_absolute() +to find out which is the case. Returns 0 if the size field has not +previously been set or it has been set to 0 explicitly. +Use pango_font_description_get_set_fields() to +find out if the field was explicitly set or not. + + the size field for the font description in points or device units. + + + + + Determines whether the size of the font is in points (not absolute) or device units (absolute). +See pango_font_description_set_size() and pango_font_description_set_absolute_size(). +points or device units. Use pango_font_description_get_set_fields() to +find out if the size field of the font description was explicitly set or not. + + whether the size for the font description is in + + + + + Gets the stretch field of a font description. +See pango_font_description_set_stretch(). +pango_font_description_get_set_fields() to find out if +the field was explicitly set or not. + + the stretch field for the font description. Use + + + + + Gets the style field of a #PangoFontDescription. See +pango_font_description_set_style(). +Use pango_font_description_get_set_fields() to find out if +the field was explicitly set or not. + + the style field for the font description. + + + + + Gets the variant field of a #PangoFontDescription. See +pango_font_description_set_variant(). +pango_font_description_get_set_fields() to find out if +the field was explicitly set or not. + + the variant field for the font description. Use + + + + + Gets the weight field of a font description. See +pango_font_description_set_weight(). +pango_font_description_get_set_fields() to find out if +the field was explicitly set or not. + + the weight field for the font description. Use + + + + + Computes a hash of a #PangoFontDescription structure suitable +to be used, for example, as an argument to g_hash_table_new(). +The hash value is independent of @desc->mask. + + the hash value. + + + + + Merges the fields that are set in @desc_to_merge into the fields in +are not already set are affected. If %TRUE, then fields that are +already set will be replaced as well. +If @desc_to_merge is %NULL, this function performs nothing. + + + + + + the #PangoFontDescription to merge from, or %NULL + + + + if %TRUE, replace fields in @desc with the corresponding values from @desc_to_merge, even if they are already exist. + + + + + + Like pango_font_description_merge(), but only a shallow copy is made +of the family name and other allocated fields. @desc can only be +used until @desc_to_merge is modified or freed. This is meant +to be used when the merged font description is only needed temporarily. + + + + + + the #PangoFontDescription to merge from + + + + if %TRUE, replace fields in @desc with the corresponding values from @desc_to_merge, even if they are already exist. + + + + + + Sets the size field of a font description, in device units. This is mutually +exclusive with pango_font_description_set_size() which sets the font size +in points. + + + + + + the new size, in Pango units. There are %PANGO_SCALE Pango units in one device unit. For an output backend where a device unit is a pixel, a @size value of 10 * PANGO_SCALE gives a 10 pixel font. + + + + + + Sets the family name field of a font description. The family +name represents a family of related font styles, and will +resolve to a particular #PangoFontFamily. In some uses of +#PangoFontDescription, it is also possible to use a comma +separated list of family names for this field. + + + + + + a string representing the family name. + + + + + + Like pango_font_description_set_family(), except that no +copy of @family is made. The caller must make sure that the +string passed in stays around until @desc has been freed +or the name is set again. This function can be used if +if @desc is only needed temporarily. + + + + + + a string representing the family name. + + + + + + Sets the gravity field of a font description. The gravity field +specifies how the glyphs should be rotated. If @gravity is +%PANGO_GRAVITY_AUTO, this actually unsets the gravity mask on +the font description. +This function is seldom useful to the user. Gravity should normally +be set on a #PangoContext. + + + + + + the gravity for the font description. + + + + + + Sets the size field of a font description in fractional points. This is mutually +exclusive with pango_font_description_set_absolute_size(). + + + + + + the size of the font in points, scaled by PANGO_SCALE. (That is, a @size value of 10 * PANGO_SCALE is a 10 point font. The conversion factor between points and device units depends on system configuration and the output device. For screen display, a logical DPI of 96 is common, in which case a 10 point font corresponds to a 10 * (96 / 72) = 13.3 pixel font. Use pango_font_description_set_absolute_size() if you need a particular size in device units. + + + + + + Sets the stretch field of a font description. The stretch field +specifies how narrow or wide the font should be. + + + + + + the stretch for the font description + + + + + + Sets the style field of a #PangoFontDescription. The +#PangoStyle enumeration describes whether the font is slanted and +the manner in which it is slanted; it can be either +#PANGO_STYLE_NORMAL, #PANGO_STYLE_ITALIC, or #PANGO_STYLE_OBLIQUE. +Most fonts will either have a italic style or an oblique +style, but not both, and font matching in Pango will +match italic specifications with oblique fonts and vice-versa +if an exact match is not found. + + + + + + the style for the font description + + + + + + Sets the variant field of a font description. The #PangoVariant +can either be %PANGO_VARIANT_NORMAL or %PANGO_VARIANT_SMALL_CAPS. + + + + + + the variant type for the font description. + + + + + + Sets the weight field of a font description. The weight field +specifies how bold or light the font should be. In addition +to the values of the #PangoWeight enumeration, other intermediate +numeric values are possible. + + + + + + the weight for the font description. + + + + + + Creates a filename representation of a font description. The +filename is identical to the result from calling +pango_font_description_to_string(), but with underscores instead of +characters that are untypical in filenames, and in lower case only. + + a new string that must be freed with g_free(). + + + + + Creates a string representation of a font description. See pango_font_description_from_string() for a description of the format of the string representation. The family list in the string description will only have a terminating comma if the -last word of the list is a valid style option."> +last word of the list is a valid style option. + a new string that must be freed with g_free(). - - - + + Unsets some of the fields in a #PangoFontDescription. The unset +fields will get back to their default values. + + + + + bitmask of fields in the @desc to unset. + + + - + Returns the family, style, variant, weight and stretch of a #PangoFontFace. The size field of the resulting font description will be unset. holding the description of the face. Use pango_font_description_free() -to free the result."> +to free the result. + a newly-created #PangoFontDescription structure + Gets a name representing the style of this face among the different faces in the #PangoFontFamily for the face. This name is unique among all faces in the family and is suitable for displaying to users. -owned by the face object and must not be modified or freed."> +owned by the face object and must not be modified or freed. + the face name for the face. This string is + + Returns whether a #PangoFontFace is synthesized by the underlying +font rendering engine from another face, perhaps by shearing, emboldening, +or lightening it. + + whether @face is synthesized. + + + + List the available sizes for a font. This is only applicable to bitmap +fonts. For scalable fonts, stores %NULL at the location pointed to by +are in Pango units and are sorted in ascending order. - - + + location to store a pointer to an array of int. This array should be freed with g_free(). + - - + + location to store the number of elements in @sizes + - - - - - - - - - - - - - - - - - - - + Gets the name of the family. The name is unique among all fonts for the font backend and can be used in a #PangoFontDescription to specify that a face from this family is desired. -by the family object and must not be modified or freed."> +by the family object and must not be modified or freed. + the name of the family. This string is owned + A monospace font is a font designed for text display where the the characters form a regular grid. For Western languages this would mean that the advance width of all characters are the same, but this categorization also includes Asian fonts which include @@ -1990,14 +1918,33 @@ character is typically double-width in a monospace font. The best way to find out the grid-cell size is to call pango_font_metrics_get_approximate_digit_width(), since the results of pango_font_metrics_get_approximate_char_width() may be affected -by double-width characters." - version="1.4"> +by double-width characters. - + %TRUE if the family is monospace. + + + Lists the different font faces that make up @family. The faces +in a family share a common design, but differ in slant, weight, +width and other aspects. + + + + + + location to store an array of pointers to #PangoFontFace objects, or %NULL. This array should be freed with g_free() when it is no longer needed. + + + + location to store number of elements in @faces. + + + + + Creates a #PangoContext connected to @fontmap. This is equivalent to pango_context_new() followed by pango_context_set_font_map(). If you are using Pango as part of a higher-level system, -that system may have it's own way of create a #PangoContext. +that system may have it's own way of create a #PangoContext. For instance, the GTK+ toolkit has, among others, gdk_pango_context_get_for_screen(), and gtk_widget_get_pango_context(). Use those instead. -be freed with g_object_unref()." - version="1.22"> - +be freed with g_object_unref(). + + the newly allocated #PangoContext, which should + + List all families for a fontmap. + + + + + + location to store a pointer to an array of #PangoFontFamily *. This array should be freed with g_free(). + + + + location to store the number of elements in @families + + + + - + introspectable="0"> + Load the font in the fontmap that is the closest match for @desc. + + the font loaded, or %NULL if no font matched. + the #PangoContext the font will be used with + a #PangoFontDescription describing the font to load - + introspectable="0"> + Load a set of fonts in the fontmap that can be used to render +a font matching @desc. + + the fontset, or %NULL if no font matched. + the #PangoContext the font will be used with + a #PangoFontDescription describing the font to load + a #PangoLanguage the fonts will be used for - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + glib:get-type="pango_font_metrics_get_type" + c:symbol-prefix="font_metrics"> + Gets the approximate character width for a font metrics structure. This is merely a representative value useful, for example, for determining the initial size for a window. Actual characters in -text will be wider and narrower than this."> +text will be wider and narrower than this. - + the character width, in Pango units. + + Gets the approximate digit width for a font metrics structure. This is merely a representative value useful, for example, for determining the initial size for a window. Actual digits in text can be wider or narrower than this, though this value is generally somewhat more accurate than the result of -pango_font_metrics_get_approximate_char_width() for digits."> +pango_font_metrics_get_approximate_char_width() for digits. - + the digit width, in Pango units. + - + + Gets the ascent from a font metrics structure. The ascent is +the distance from the baseline to the logical top of a line +of text. (The logical top may be above or below the top of the +actual drawn ink. It is necessary to lay out the text to figure +where the ink will be.) - + the ascent, in Pango units. + - + + Gets the descent from a font metrics structure. The descent is +the distance from the baseline to the logical bottom of a line +of text. (The logical bottom may be above or below the bottom of the +actual drawn ink. It is necessary to lay out the text to figure +where the ink will be.) - + the descent, in Pango units. + + Gets the suggested position to draw the strikethrough. +The value returned is the distance <emphasis>above</emphasis> the +baseline of the top of the strikethrough. - + the suggested strikethrough position, in Pango units. + + Gets the suggested thickness to draw for the strikethrough. - + the suggested strikethrough thickness, in Pango units. + + + + + Gets the suggested position to draw the underline. +The value returned is the distance <emphasis>above</emphasis> the +baseline of the top of the underline. Since most fonts have +underline positions beneath the baseline, this value is typically +negative. + + the suggested underline position, in Pango units. + + + + + Gets the suggested thickness to draw for the underline. + + the suggested underline thickness, in Pango units. + + + + + Increase the reference count of a font metrics structure by one. + + @metrics + + + + + Decrease the reference count of a font metrics structure by one. If +the result is zero, frees the structure and any associated +memory. + + - - - - - - - - - - - - - - - + version="1.4" + introspectable="0"> + Iterates through all the fonts in a fontset, calling @func for +each one. If @func returns %TRUE, that stops the iteration. - + + Callback function - + data to pass to the callback function + + + Returns the font in the fontset that contains the best glyph for the +Unicode character @wc. +with the font. + + a #PangoFont. The caller must call g_object_unref when finished + + + + + a Unicode character + + + + + + Get overall metric information for the fonts in the fontset. +when finished using the object. + + a #PangoFontMetrics object. The caller must call pango_font_metrics_unref() + + + - + @@ -2268,7 +2234,7 @@ each one. If @func returns %TRUE, that stops the iteration." - + @@ -2297,61 +2263,21 @@ each one. If @func returns %TRUE, that stops the iteration." + glib:get-type="pango_glyph_item_get_type" + c:symbol-prefix="glyph_item"> - - - - - - - - - - - - - - - - - - - - - - - + Splits a shaped item (PangoGlyphItem) into multiple items based on an attribute list. The idea is that if you have attributes -that don't affect shaping, such as color or underline, to avoid +that don't affect shaping, such as color or underline, to avoid affecting shaping, you filter them out (pango_attr_list_filter()), apply the shaping process and then reapply them to the result using this function. @@ -2363,69 +2289,107 @@ cases, it may happen that item->extra_attrs for some of the result items can have multiple attributes of the same type. This function takes ownership of @glyph_item; it will be reused as one of the elements in the list. -the list using g_slist_free()." - version="1.2"> - - +the list using g_slist_free(). + + a list of glyph items resulting from splitting + + + + text that @list applies to + a #PangoAttrList + + Make a deep copy of an existing #PangoGlyphItem structure. +be freed with pango_glyph_item_free(), or %NULL +if @orig was %NULL. + + the newly allocated #PangoGlyphItem, which should + + + + + Frees a #PangoGlyphItem and resources to which it points. + + + + + + Given a #PangoGlyphItem and the corresponding +text, determine the screen width corresponding to each character. When +multiple characters compose a single cluster, the width of the entire +cluster is divided equally among the characters. +See also pango_glyph_string_get_logical_widths(). + + + + + + text that @glyph_item corresponds to (glyph_item->item->offset is an offset from the start of @text) + + + + an array whose length is the number of characters in glyph_item (equal to glyph_item->item->num_chars) to be filled in with the resulting character widths. + + + + + Adds spacing between the graphemes of @glyph_item to +give the effect of typographic letter spacing. + text that @glyph_item corresponds to (glyph_item->item->offset is an offset from the start of @text) + logical attributes for the item (the first logical attribute refers to the position before the first character in the item) - + amount of letter spacing to add in Pango units. May be negative, though too large negative values will give ugly results. + - - - + + Modifies @orig to cover only the text after @split_index, and +returns a new item that covers the text before @split_index that +used to be in @orig. You can think of @split_index as the length of +the returned item. @split_index may not be 0, and it may not be +greater than or equal to the length of @orig (that is, there must +be at least one byte assigned to each item, you can't create a +zero-length item). +This function is similar in function to pango_item_split() (and uses +it internally.) +with pango_glyph_item_free(). + + the newly allocated item representing text before + + text to which positions in @orig apply - - + + byte index of position to split item, relative to the start of the item + @@ -2433,7 +2397,8 @@ See also pango_glyph_string_get_logical_widths()." + glib:get-type="pango_glyph_item_iter_get_type" + c:symbol-prefix="glyph_item_iter"> @@ -2441,326 +2406,346 @@ See also pango_glyph_string_get_logical_widths()." - + - + - + - + - + - + + Make a shallow copy of an existing #PangoGlyphItemIter structure. +be freed with pango_glyph_item_iter_free(), or %NULL +if @orig was %NULL. + the newly allocated #PangoGlyphItemIter, which should + Frees a #PangoGlyphItemIter created by pango_glyph_item_iter_copy(). - + Initializes a #PangoGlyphItemIter structure to point to the +last cluster in a glyph item. +See #PangoGlyphItemIter for details of cluster orders. - + %FALSE if there are no clusters in the glyph item + + the glyph item to iterate over + text corresponding to the glyph item - + Initializes a #PangoGlyphItemIter structure to point to the +first cluster in a glyph item. +See #PangoGlyphItemIter for details of cluster orders. - + %FALSE if there are no clusters in the glyph item + + the glyph item to iterate over + text corresponding to the glyph item + Advances the iterator to the next cluster in the glyph item. +See #PangoGlyphItemIter for details of cluster orders. +last cluster. - + %TRUE if the iterator was advanced, %FALSE if we were already on the + + Moves the iterator to the preceding cluster in the glyph item. +See #PangoGlyphItemIter for details of cluster orders. +first cluster. - + %TRUE if the iterator was moved, %FALSE if we were already on the + + glib:get-type="pango_glyph_string_get_type" + c:symbol-prefix="glyph_string"> - + - + - + - + + Create a new #PangoGlyphString. +should be freed with pango_glyph_string_free(). + the newly allocated #PangoGlyphString, which - - - - - - - - - - - + Copy a glyph string and associated storage. should be freed with pango_glyph_string_free(), -or %NULL if @string was %NULL."> +or %NULL if @string was %NULL. + the newly allocated #PangoGlyphString, which - - - - - - + Compute the logical and ink extents of a glyph string. See the documentation for pango_font_get_glyph_extents() for details about the interpretation -of the rectangles."> +of the rectangles. + a #PangoFont + rectangle used to store the extents of the glyph string as drawn or %NULL to indicate that the result is not needed. + rectangle used to store the logical extents of the glyph string or %NULL to indicate that the result is not needed. - - - - - + or %NULL to indicate that the result is not needed. or %NULL to indicate that the result is not needed. Computes the extents of a sub-portion of a glyph string. The extents are relative to the start of the glyph string range (the origin of their coordinate system is at the start of the range, not at the start of the entire -glyph string)."> +glyph string). - + start index + - + end index (the range is the set of bytes with + + a #PangoFont + rectangle used to store the extents of the glyph string range as drawn + rectangle used to store the logical extents of the glyph string range + + Free a glyph string and associated storage. + + + + + Given a #PangoGlyphString resulting from pango_shape() and the corresponding text, determine the screen width corresponding to each character. When multiple characters compose a single cluster, the width of the entire cluster is divided equally among the characters. -See also pango_glyph_item_get_logical_widths()."> +See also pango_glyph_item_get_logical_widths(). + the text corresponding to the glyphs - + the length of @text, in bytes + - + the embedding level of the string + - - + + an array whose length is the number of characters in text (equal to g_utf8_strlen (text, length) unless text has NUL bytes) to be filled in with the resulting character widths. + - + Computes the logical width of the glyph string as can also be computed +using pango_glyph_string_extents(). However, since this only computes the +width, it's much faster. This is in fact only a convenience function that +computes the sum of geometry.width for each glyph in the @glyphs. + + the logical width of the glyph string. + + + + + Converts from character position to x position. (X position is measured from the left edge of the run). Character positions -are computed by dividing up each cluster into equal portions."> +are computed by dividing up each cluster into equal portions. - + + the text for the run - - + + the number of bytes (not characters) in @text. + + the analysis information return from pango_itemize() - + the byte index within @text + - + whether we should compute the result for the beginning (%FALSE) or end (%TRUE) of the character. + - - + + location to store result + - + Resize a glyph string to the given length. + + + + + + the new length of the string. + + + + + + Convert from x offset to character position. Character positions are computed by dividing up each cluster into equal portions. In scripts where positioning within a cluster is not allowed (such as Thai), the returned value may not be a valid cursor position; the caller must combine the result with the logical -attributes for the text to compute the valid cursor position."> +attributes for the text to compute the valid cursor position. - + + the text for the run - - + + the number of bytes (not characters) in text. + + the analysis information return from pango_itemize() - + the x offset (in Pango units) + - - + + location to store calculated byte index within @text + - - + + location to store a boolean indicating whether the user clicked on the leading or trailing edge of the character. + - + + The #PangoGravity type represents the orientation of glyphs in a segment of text. This is useful when rendering vertical text layouts. In those situations, the layout is rotated using a non-identity PangoMatrix, and then glyph orientation is controlled using #PangoGravity. Not every value in this enumeration makes sense for every usage of #PangoGravity; for example, %PANGO_GRAVITY_AUTO only can be passed to pango_context_set_base_gravity() and can only be returned by -pango_context_get_base_gravity()." - version="1.16" - glib:type-name="PangoGravity" - glib:get-type="pango_gravity_get_type" - c:type="PangoGravity"> +pango_context_get_base_gravity(). + The #PangoGravityHint defines how horizontal scripts should behave in a +vertical context. That is, English excerpt in a vertical paragraph for +example. +See #PangoGravity. + glib:get-type="pango_item_get_type" + c:symbol-prefix="item"> - + - + - + - + + Creates a new #PangoItem structure initialized to default values. +be freed with pango_item_free(). + the newly allocated #PangoItem, which should - + + Copy an existing #PangoItem structure. +be freed with pango_item_free(), or %NULL if + the newly allocated #PangoItem, which should - + + Free a #PangoItem and all associated memory. - + Modifies @orig to cover only the text after @split_index, and returns a new item that covers the text before @split_index that used to be in @orig. You can think of @split_index as the length of the returned item. @split_index may not be 0, and it may not be greater than or equal to the length of @orig (that is, there must -be at least one byte assigned to each item, you can't create a +be at least one byte assigned to each item, you can't create a zero-length item). @split_offset is the length of the first item in chars, and must be provided because the text used to generate the -item isn't available, so pango_item_split() can't count the char +item isn't available, so pango_item_split() can't count the char length of the split items itself. -should be freed with pango_item_free()."> +should be freed with pango_item_free(). + new item representing text before @split_index, which - + byte index of position to split item, relative to the start of the item + - + number of chars between start of @orig and @split_index + @@ -2877,18 +2859,11 @@ should be freed with pango_item_free()."> - - - - - + glib:get-type="pango_language_get_type" + c:symbol-prefix="language"> + Get a string that is representative of the characters needed to render a particular language. The sample text may be a pangram, but is not necessarily. It is chosen to be demonstrative of normal text in the language, as well as exposing font @@ -2897,64 +2872,22 @@ as sample text in a font selection dialog. If @language is %NULL, the default language as found by pango_language_get_default() is used. If Pango does not have a sample string for @language, the classic -"The quick brown fox..." is returned. This can be detected by +"The quick brown fox..." is returned. This can be detected by comparing the returned pointer value to that returned for (non-existent) -language code "xx". That is, compare to: +language code "xx". That is, compare to: <informalexample><programlisting> -pango_language_get_sample_string (pango_language_from_string ("xx")) +pango_language_get_sample_string (pango_language_from_string ("xx")) </programlisting></informalexample> -and should not be freed."> +and should not be freed. + the sample string. This value is owned by Pango - - - - - - - - - - - - - - - - - - - - + Determines the scripts used to to write @language. If nothing is known about the language tag @language, or if @language is %NULL, then %NULL is returned. The list of scripts returned starts with the script that the @@ -2973,211 +2906,702 @@ number of entries in the array stored in @num_scripts, or %NULL if Pango does not have any information about this particular language tag (also the case if @language is %NULL). The returned array is owned by Pango and should not be modified -or freed." - version="1.22"> +or freed. + An array of #PangoScript values, with the - - + + location to return number of scripts, or %NULL + + + Determines if @script is one of the scripts used to +write @language. The returned value is conservative; +if nothing is known about the language tag @language, +%TRUE will be returned, since, as far as Pango knows, +This routine is used in Pango's itemization process when +determining if a supplied language tag is relevant to +a particular section of text. It probably is not useful for +applications in most circumstances. +This function uses pango_language_get_scripts() internally. +to write @language or if nothing is known about @language +(including the case that @language is %NULL), +%FALSE otherwise. + + %TRUE if @script is one of the scripts used + + + + + a #PangoScript + + + + + + Checks if a language tag matches one of the elements in a list of +language ranges. A language tag is considered to match a range +in the list if the range is '*', the range is exactly the tag, +or the range is a prefix of the tag, and the character after it +in the tag is '-'. + + %TRUE if a match was found. + + + + + a list of language ranges, separated by ';', ':', ',', or space characters. Each element must either be '*', or a RFC 3066 language range canonicalized as by pango_language_from_string() + + + + + + Gets the RFC-3066 format string representing the given language tag. +Pango and should not be freed. + + a string representing the language tag. This is owned by + + + - + Create a new #PangoLayout object with attributes initialized to default values for a particular #PangoContext. count of one, which should be freed with -g_object_unref()."> +g_object_unref(). + the newly allocated #PangoLayout, with a reference + a #PangoContext - + Forces recomputation of any state in the #PangoLayout that +might depend on the layout's context. This function should +be called if you make changes to the context subsequent +to creating the layout. + + + + + + Does a deep copy-by-value of the @src layout. The attribute list, tab array, and text from the original layout are all copied by value. count of one, which should be freed with -g_object_unref()."> - +g_object_unref(). + + the newly allocated #PangoLayout, with a reference + + positioned within the horizontal space available. + + the alignment. + + + + + Gets the attribute list for the layout, if any. + + a #PangoAttrList. + + + + + Gets whether to calculate the bidirectional base direction +for the layout according to the contents of the layout. +See pango_layout_set_auto_dir(). +is computed from the layout's contents, %FALSE otherwise. + + %TRUE if the bidirectional base direction + + + + + Gets the Y position of baseline of the first line in @layout. + + baseline of first line, from top of @layout. + + + + Retrieves the #PangoContext used for this layout. have an additional refcount added, so if you want to keep -a copy of this around, you must reference it yourself."> - +a copy of this around, you must reference it yourself. + + the #PangoContext for the layout. This does not - + + Given an index within a layout, determines the positions that of the +strong and weak cursors if the insertion point is at that +index. 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 +layout are inserted. The weak cursor location is the location +where characters of the directionality opposite to the base +direction of the layout are inserted. - - + + the byte index of the cursor + + + + location to store the strong cursor position (may be %NULL) + + + + location to store the weak cursor position (may be %NULL) + - - - + + Gets the type of ellipsization being performed for @layout. +See pango_layout_set_ellipsize() +Use pango_layout_is_ellipsized() to query whether any paragraphs +were actually ellipsized. + + the current ellipsization mode for @layout. + - + + Computes the logical and ink extents of @layout. Logical extents +are usually what you want for positioning things. Note that both extents +may have non-zero x and y. You may want to use those to offset where you +render the layout. Not doing that is a very typical bug that shows up as +right-to-left layouts not being correctly positioned in a layout with +a set width. +The extents are given in layout coordinates and in Pango units; layout +coordinates begin at the top left corner of the layout. - - + + rectangle used to store the extents of the layout as drawn or %NULL to indicate that the result is not needed. + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + rectangle used to store the logical extents of the layout + + Gets the font description for the layout, if any. +or %NULL if the font description from the layout's +context is inherited. This value is owned by the layout +and must not be modified or freed. + a pointer to the layout's font description, - + + Gets the height of layout used for ellipsization. See +pango_layout_set_height() for details. +number of lines if negative. + + the height, in Pango units if positive, or + + + + + Gets the paragraph indent width in Pango units. A negative value +indicates a hanging indentation. + + the indent in Pango units. + + + + + Returns an iterator to iterate over the visual extents of the layout. +pango_layout_iter_free(). + + the new #PangoLayoutIter that should be freed using + + + + + Gets whether each complete line should be stretched to fill the entire +width of the layout. + + the justify. + + + + + Retrieves a particular line from a #PangoLayout. +Use the faster pango_layout_get_line_readonly() if you do not plan +to modify the contents of the line (glyphs, glyph widths, etc.). +index is out of range. This layout line can +be ref'ed and retained, but will become invalid +if changes are made to the #PangoLayout. + + the requested #PangoLayoutLine, or %NULL if the + + + + + the index of a line, which must be between 0 and <literal>pango_layout_get_line_count(layout) - 1</literal>, inclusive. + + + + + + Retrieves the count of lines for the @layout. + + the line count. + + + + + Retrieves a particular line from a #PangoLayout. +This is a faster alternative to pango_layout_get_line(), +but the user is not expected +to modify the contents of the line (glyphs, glyph widths, etc.). +index is out of range. This layout line can +be ref'ed and retained, but will become invalid +if changes are made to the #PangoLayout. +No changes should be made to the line. + + the requested #PangoLayoutLine, or %NULL if the + + + + + the index of a line, which must be between 0 and <literal>pango_layout_get_line_count(layout) - 1</literal>, inclusive. + + + + + + Returns the lines of the @layout as a list. +Use the faster pango_layout_get_lines_readonly() if you do not plan +to modify the contents of the lines (glyphs, glyph widths, etc.). +the lines in the layout. This points to internal data of the #PangoLayout +and must be used with care. It will become invalid on any change to the layout's +text or properties. + + a #GSList containing + + + + + + + Returns the lines of the @layout as a list. +This is a faster alternative to pango_layout_get_lines(), +but the user is not expected +to modify the contents of the lines (glyphs, glyph widths, etc.). +the lines in the layout. This points to internal data of the #PangoLayout and +must be used with care. It will become invalid on any change to the layout's +text or properties. No changes should be made to the lines. + + a #GSList containing + + + + + + + Retrieves an array of logical attributes for each character in +the @layout. + + + + + + location to store a pointer to an array of logical attributes This value must be freed with g_free(). + + + + location to store the number of the attributes in the array. (The stored value will be one more than the total number of characters in the layout, since there need to be attributes corresponding to both the position before the first character and the position after the last character.) + + + + + + Computes the logical and ink extents of @layout in device units. +This function just calls pango_layout_get_extents() followed by +two pango_extents_to_pixels() calls, rounding @ink_rect and @logical_rect +such that the rounded rectangles fully contain the unrounded one (that is, +passes them as first argument to pango_extents_to_pixels()). + + + + + + rectangle used to store the extents of the layout as drawn or %NULL to indicate that the result is not needed. + + + + rectangle used to store the logical extents of the layout or %NULL to indicate that the result is not needed. + + + + + + Determines the logical width and height of a #PangoLayout +in device units. (pango_layout_get_size() returns the width +and height scaled by %PANGO_SCALE.) This +is simply a convenience function around +pango_layout_get_pixel_extents(). - + location to store the logical width, or %NULL + + + + location to store the logical height, or %NULL + - + + Obtains the value set by pango_layout_set_single_paragraph_mode(). +paragraph separator characters, %FALSE otherwise. - + %TRUE if the layout does not break paragraphs at + + + Determines the logical width and height of a #PangoLayout +in Pango units (device units scaled by %PANGO_SCALE). This +is simply a convenience function around pango_layout_get_extents(). + + + + + + location to store the logical width, or %NULL + + + + location to store the logical height, or %NULL + + + + + + Gets the amount of spacing between the lines of the layout. + + the spacing in Pango units. + + + + + Gets the current #PangoTabArray used by this layout. If no +#PangoTabArray has been set, then the default tabs are in use +and %NULL is returned. Default tabs are every 8 spaces. +The return value should be freed with pango_tab_array_free(). + + a copy of the tabs for this layout, or %NULL. + + + + + Gets the text in the layout. The returned text should not +be freed or modified. + + the text in the @layout. + + + + + Counts the number unknown glyphs in @layout. That is, zero if +glyphs for all characters in the layout text were found, or more +than zero otherwise. +This function can be used to determine if there are any fonts +available to render all characters in a certain string, or when +used in combination with %PANGO_ATTR_FALLBACK, to check if a +certain font supports all the characters in the string. + + The number of unknown glyphs in @layout. + + + + + Gets the width to which the lines of the #PangoLayout should wrap. + + the width in Pango units, or -1 if no width set. + + + + + Gets the wrap mode for the layout. +Use pango_layout_is_wrapped() to query whether any paragraphs +were actually wrapped. + + active wrap mode. + + + + + Converts from byte @index_ within the @layout to line and X position. +(X position is measured from the left edge of the line) + + + + + + the byte index of a grapheme within the layout. + + + + an integer indicating the edge of the grapheme to retrieve the position of. If 0, the trailing edge of the grapheme, if > 0, the leading of the grapheme. + + + + location to store resulting line index. (which will between 0 and pango_layout_get_line_count(layout) - 1) + + + + location to store resulting position within line (%PANGO_SCALE units per device unit) + + + + + + Converts from an index within a #PangoLayout to the onscreen position +corresponding to the grapheme at that index, which is represented +as rectangle. Note that <literal>pos->x</literal> is always the leading +edge of the grapheme and <literal>pos->x + pos->width</literal> the trailing +edge of the grapheme. If the directionality of the grapheme is right-to-left, +then <literal>pos->width</literal> will be negative. + + + + + + byte index within @layout + + + + rectangle in which to store the position of the grapheme + + + + + + Queries whether the layout had to ellipsize any paragraphs. +This returns %TRUE if the ellipsization mode for @layout +is not %PANGO_ELLIPSIZE_NONE, a positive width is set on @layout, +and there are paragraphs exceeding that width that have to be +ellipsized. +otherwise. + + %TRUE if any paragraphs had to be ellipsized, %FALSE + + + + + Queries whether the layout had to wrap any paragraphs. +This returns %TRUE if a positive width is set on @layout, +ellipsization mode of @layout is set to %PANGO_ELLIPSIZE_NONE, +and there are paragraphs exceeding the layout width that have +to be wrapped. +otherwise. + + %TRUE if any paragraphs had to be wrapped, %FALSE + + + + + Computes a new cursor position from an old position and +a count of positions to move visually. If @direction is positive, +then the new strong cursor position will be one position +to the right of the old cursor position. If @direction is negative, +then the new strong cursor position will be one position +to the left of the old cursor position. +In the presence of bidirectional 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. +Motion here is in cursor positions, not in characters, so a +single call to pango_layout_move_cursor_visually() may move the +cursor over multiple characters when multiple characters combine +to form a single grapheme. + + + + + + whether the moving cursor is the strong cursor or the weak cursor. The strong cursor is the cursor corresponding to text insertion in the base direction for the layout. + + + + the byte index of the grapheme for the old index + + + + if 0, the cursor was at the trailing edge of the grapheme indicated by @old_index, if > 0, the cursor was at the leading edge. + + + + direction to move cursor. A negative value indicates motion to the left. + + + + location to store the new cursor byte index. A value of -1 indicates that the cursor has been moved off the beginning of the layout. A value of %G_MAXINT indicates that the cursor has been moved off the end of the layout. + + + + number of characters to move forward from the location returned for @new_index to get the position where the cursor should be displayed. This allows distinguishing the position at the beginning of one line from the position at the end of the preceding line. @new_index is always on the line where the cursor should be displayed. + + + + + + positioned within the horizontal space available. + + + + + + the alignment + + + + + + Sets the text attributes for a layout object. +References @attrs, so the caller can unref its reference. + + + + + + a #PangoAttrList, can be %NULL + + + + + + Sets whether to calculate the bidirectional base direction +for the layout according to the contents of the layout; +when this flag is on (the default), then paragraphs in +(Arabic and Hebrew principally), will have right-to-left +layout, paragraphs with letters from other scripts will +have left-to-right layout. Paragraphs with only neutral +characters get their direction from the surrounding paragraphs. +When %FALSE, the choice between left-to-right and +right-to-left layout is done according to the base direction +of the layout's #PangoContext. (See pango_context_set_base_dir()). +When the auto-computed direction of a paragraph differs from the +base direction of the context, the interpretation of +%PANGO_ALIGN_LEFT and %PANGO_ALIGN_RIGHT are swapped. + + + + + + if %TRUE, compute the bidirectional base direction from the layout's contents. + + + + + + Sets the type of ellipsization being performed for @layout. +Depending on the ellipsization mode @ellipsize text is +removed from the start, middle, or end of text so they +fit within the width and height of layout set with +pango_layout_set_width() and pango_layout_set_height(). +If the layout contains characters such as newlines that +force it to be layed out in multiple paragraphs, then whether +each paragraph is ellipsized separately or the entire layout +is ellipsized as a whole depends on the set height of the layout. +See pango_layout_set_height() for details. + + + + + + the new ellipsization mode for @layout + + + + + + Sets the default font description for the layout. If no font +description is set on the layout, the font description from +the layout's context is used. + + + + + + the new #PangoFontDescription, or %NULL to unset the current font description + + + + + Sets the height to which the #PangoLayout should be ellipsized at. There are two different behaviors, based on whether @height is positive or negative. If @height is positive, it will be the maximum height of the layout. Only @@ -3191,1044 +3615,625 @@ this value if the layout contains multiple paragraphs of text. The default value of -1 means that first line of each paragraph is ellipsized. This behvaior may be changed in the future to act per layout instead of per paragraph. File a bug against pango at <ulink -url="http://bugzilla.gnome.org/">http://bugzilla.gnome.org/</ulink> if your +url="http://bugzilla.gnome.org/">http://bugzilla.gnome.org/</ulink> if your code relies on this behavior. Height setting only has effect if a positive width is set on The behavior is undefined if a height other than -1 is set and ellipsization mode is set to %PANGO_ELLIPSIZE_NONE, and may change in the -future." - version="1.20"> +future. - + the desired height of the layout in Pango units if positive, or desired number of lines if negative. + - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - + Sets whether each complete line should be stretched to fill the entire width of the layout. This stretching is typically done by adding whitespace, but for some scripts (such as Arabic), the justification may be done in more complex ways, like extending the characters. Note that this setting is not implemented and so is ignored in Pango -older than 1.18."> +older than 1.18. - + whether the lines in the layout should be justified. + - - - - - - + + Same as pango_layout_set_markup_with_accel(), but +the markup text isn't scanned for accelerators. - - + + marked-up text + + + + length of marked-up text in bytes, or -1 if @markup is nul-terminated + - - - - - - + + Sets the layout text and attribute list from marked-up text (see +<link linkend="PangoMarkupFormat">markup format</link>). Replaces +the current text and attribute list. +If @accel_marker is nonzero, the given character will mark the +character following it as an accelerator. For example, @accel_marker +might be an ampersand or underscore. All characters marked +as an accelerator will receive a %PANGO_UNDERLINE_LOW attribute, +and the first character so marked will be returned in @accel_char. +Two @accel_marker characters following each other produce a single +literal @accel_marker character. - - + + marked-up text (see <link linkend="PangoMarkupFormat">markup format</link>) + + + + length of marked-up text in bytes, or -1 if @markup is nul-terminated + + + + marker for accelerators in the text + + + + return location for first located accelerator, or %NULL + - - - - - - - - - - - - - - - - - - - - + If @setting is %TRUE, do not treat newlines and similar characters as paragraph separators; instead, keep all text in a single paragraph, and display a glyph for paragraph separator characters. Used when -you want to allow editing of newlines on a single text line."> +you want to allow editing of newlines on a single text line. - + new setting + - - - - - - + + Sets the amount of spacing in Pango unit between the lines of the +layout. - - + + the amount of spacing + - - - - - - - - - - - - - - - - - - - - - + + Sets the tabs to use for @layout, overriding the default tabs +(by default, tabs are every 8 spaces). If @tabs is %NULL, the default +tabs are reinstated. @tabs is copied into the layout; you must +free your copy of @tabs yourself. - - - - - + + a #PangoTabArray, or %NULL + - + + Sets the text of the layout. +Note that if you have used +pango_layout_set_markup() or pango_layout_set_markup_with_accel() on +the attributes set on the layout from the markup as this function does not +clear attributes. - - + + a valid UTF-8 string + - - + + maximum length of @text, in bytes. -1 indicates that the string is nul-terminated and the length should be calculated. The text will also be truncated on encountering a nul-termination even when @length is positive. + - + + Sets the width to which the lines of the #PangoLayout should wrap or - - - - - - - - - - - + + the desired width in Pango units, or -1 to indicate that no wrapping or ellipsization should be performed. + - + + Sets the wrap mode; the wrap mode only has effect if a width +is set on the layout with pango_layout_set_width(). +To turn off wrapping, set the width to -1. - - - - - - - - + + the wrap mode + - - - - - - - - - - - - - - - - - - - - - - - - - - + Converts from X and Y position within a layout to the byte index to the character at that logical position. If the Y position is not inside the layout, the closest position is chosen (the position will be clamped inside the layout). If the X position is not within the layout, then the start or the end of the line is chosen as described for pango_layout_x_to_index(). If either the X or Y positions were not inside the layout, then the -function returns %FALSE; on an exact hit, it returns %TRUE."> +function returns %FALSE; on an exact hit, it returns %TRUE. - + %TRUE if the coordinates were inside text, %FALSE otherwise. + - + the X offset (in Pango units) from the left edge of the layout. + - + the Y offset (in Pango units) from the top edge of the layout + - - + + location to store calculated byte index + - - + + location to store a 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. + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + glib:get-type="pango_layout_iter_get_type" + c:symbol-prefix="layout_iter"> + + Determines whether @iter is on the last line of the layout. + + %TRUE if @iter is on the last line. + + + + + Copies a #PangLayoutIter. +be freed with pango_layout_iter_free(), or %NULL if + the newly allocated #PangoLayoutIter, which should - + + Frees an iterator that's no longer in use. - + + Gets the Y position of the current line's baseline, in layout +coordinates (origin at top left of the entire layout). - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + baseline of current line. + + Gets the extents of the current character, in layout coordinates (origin is the top left of the entire layout). Only logical extents can sensibly be obtained for characters; ink extents make sense only -down to the level of clusters."> +down to the level of clusters. + rectangle to fill with logical extents + c:identifier="pango_layout_iter_get_cluster_extents"> + Gets the extents of the current cluster, in layout coordinates +(origin is the top left of the entire layout). + rectangle to fill with ink extents, or %NULL + rectangle to fill with logical extents, or %NULL - + + Gets the current byte index. Note that iterating forward by char +moves in visual order, not logical order, so indexes may not be +sequential. Also, the index may be equal to the length of the text +in the layout, if on the %NULL run (see pango_layout_iter_get_run()). + + current byte index. + + + + + Gets the layout associated with a #PangoLayoutIter. + + the layout associated with @iter. + + + + + Obtains the extents of the #PangoLayout being iterated +over. @ink_rect or @logical_rect can be %NULL if you +aren't interested in them. + rectangle to fill with ink extents, or %NULL + rectangle to fill with logical extents, or %NULL + + Gets the current line. +Use the faster pango_layout_iter_get_line_readonly() if you do not plan +to modify the contents of the line (glyphs, glyph widths, etc.). + + the current line. + + + + Obtains the extents of the current line. @ink_rect or @logical_rect +can be %NULL if you aren't interested in them. Extents are in layout coordinates (origin is the top-left corner of the entire #PangoLayout). Thus the extents returned by this function will be the same width/height but not at the same x/y as the extents -returned from pango_layout_line_get_extents()."> +returned from pango_layout_line_get_extents(). + rectangle to fill with ink extents, or %NULL + rectangle to fill with logical extents, or %NULL + + Gets the current line for read-only access. +This is a faster alternative to pango_layout_iter_get_line(), +but the user is not expected +to modify the contents of the line (glyphs, glyph widths, etc.). + + the current line, that should not be modified. + + + + Divides the vertical space in the #PangoLayout being iterated over between the lines in the layout, and returns the space belonging to -the current line. A line's range includes the line's logical +the current line. A line's range includes the line's logical extents, plus half of the spacing above and below the line, if pango_layout_set_spacing() has been called to set layout spacing. The Y positions are in layout coordinates (origin at top left of the -entire layout)."> +entire layout). - - + + start of line + - - + + end of line + - + + Gets the current run. When iterating by run, at the end of each +line, there's a position with a %NULL run, so this function can return +%NULL. The %NULL run at the end of each line ensures that all lines have +at least one run, even lines consisting of only a newline. +Use the faster pango_layout_iter_get_run_readonly() if you do not plan +to modify the contents of the run (glyphs, glyph widths, etc.). + + the current run. + + + + + Gets the extents of the current run in layout coordinates +(origin is the top left of the entire layout). + rectangle to fill with ink extents, or %NULL + rectangle to fill with logical extents, or %NULL - + + Gets the current run. When iterating by run, at the end of each +line, there's a position with a %NULL run, so this function can return +%NULL. The %NULL run at the end of each line ensures that all lines have +at least one run, even lines consisting of only a newline. +This is a faster alternative to pango_layout_iter_get_run(), +but the user is not expected +to modify the contents of the run (glyphs, glyph widths, etc.). + + the current run, that should not be modified. + + + + + Moves @iter forward to the next character in visual order. If @iter was already at +the end of the layout, returns %FALSE. - + whether motion was possible. + + + + + Moves @iter forward to the next cluster in visual order. If @iter +was already at the end of the layout, returns %FALSE. + + whether motion was possible. + + + + + Moves @iter forward to the start of the next line. If @iter is +already on the last line, returns %FALSE. + + whether motion was possible. + + + + + Moves @iter forward to the next run in visual order. If @iter was +already at the end of the layout, returns %FALSE. + + whether motion was possible. + + glib:get-type="pango_layout_line_get_type" + c:symbol-prefix="layout_line"> - + - + - + + + - + - + - + + Computes the logical and ink extents of a layout line. See +pango_font_get_glyph_extents() for details about the interpretation +of the rectangles. + + + + + + rectangle used to store the extents of the glyph string as drawn, or %NULL + + + + rectangle used to store the logical extents of the glyph string, or %NULL + + + + + + Computes the logical and ink extents of @layout_line in device units. +This function just calls pango_layout_line_get_extents() followed by +two pango_extents_to_pixels() calls, rounding @ink_rect and @logical_rect +such that the rounded rectangles fully contain the unrounded one (that is, +passes them as first argument to pango_extents_to_pixels()). + + + + + + rectangle used to store the extents of the glyph string as drawn, or %NULL + + + + rectangle used to store the logical extents of the glyph string, or %NULL + + + + + + Gets a list of visual ranges corresponding to a given logical range. +This list is not necessarily minimal - there may be consecutive +ranges which are adjacent. The ranges will be sorted from left to +right. The ranges are with respect to the left edge of the entire +layout, not with respect to the line. + + + + + + Start byte index of the logical range. If this value is less than the start index for the line, then the first range will extend all the way to the leading edge of the layout. Otherwise it will start at the leading edge of the first character. + + + + Ending byte index of the logical range. If this value is greater than the end index for the line, then the last range will extend all the way to the trailing edge of the layout. Otherwise, it will end at the trailing edge of the last character. + + + + location to store a pointer to an array of ranges. The array will be of length <literal>2*n_ranges</literal>, with each range starting at <literal>(*ranges)[2*n]</literal> and of width <literal>(*ranges)[2*n + 1] - (*ranges)[2*n]</literal>. This array must be freed with g_free(). The coordinates are relative to the layout and are in Pango units. + + + + + + The number of ranges stored in @ranges. + + + + + + Converts an index within a line to a X position. + + + + + + byte offset of a grapheme within the layout + + + + an integer indicating the edge of the grapheme to retrieve the position of. If > 0, the trailing edge of the grapheme, if 0, the leading of the grapheme. + + + + location to store the x_offset (in Pango unit) + + + + + + Increase the reference count of a #PangoLayoutLine by one. + the line passed in. - + Decrease the reference count of a #PangoLayoutLine by one. If the result is zero, the line and all associated memory -will be freed."> +will be freed. - + Converts from x offset to the byte index of the corresponding character within the text of the layout. If @x_pos is outside the line, in the line. This determination is based on the resolved direction of the paragraph; for example, if the resolved direction is @@ -4236,298 +4241,176 @@ right-to-left, then an X position to the right of the line (after it) results in 0 being stored in @index_ and @trailing. An X position to the left of the line results in @index_ pointing to the (logical) last grapheme in the line and @trailing being set to the number of characters -in that grapheme. The reverse is true for a left-to-right line."> +in that grapheme. The reverse is true for a left-to-right line. - + %FALSE if @x_pos was outside the line, %TRUE if inside + - + the X offset (in Pango units) from the left edge of the line. + - - - - - - - - - - - - - - + location to store calculated byte index for the grapheme in which the user clicked. + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 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 leading edge of the grapheme. + - + - + - + - + - + - + - + - + - + - + - + - + - + + A structure specifying a transformation between user-space coordinates and device coordinates. The transformation is given by <programlisting> x_device = x_user * matrix->xx + y_user * matrix->xy + matrix->x0; y_device = x_user * matrix->yx + y_user * matrix->yy + matrix->y0; -</programlisting>" - version="1.6" - glib:type-name="PangoMatrix" - glib:get-type="pango_matrix_get_type"> +</programlisting> - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + Changes the transformation represented by @matrix to be the transformation given by first applying transformation -given by @new_matrix then applying the original transformation." - version="1.6"> +given by @new_matrix then applying the original transformation. + a #PangoMatrix - + + Copies a #PangoMatrix. +be freed with pango_matrix_free(), or %NULL if + + the newly allocated #PangoMatrix, which should + + + + + Free a #PangoMatrix created with pango_matrix_copy(). + + + + + + Returns the scale factor of a matrix on the height of the font. +That is, the scale factor in the direction perpendicular to the +vector that the X coordinate is mapped to. +or 1.0 if @matrix is %NULL. + + the scale factor of @matrix on the height of the font, + + + + + Changes the transformation represented by @matrix to be the +transformation given by first rotating by @degrees degrees +counter-clockwise then applying the original transformation. - - + + degrees to rotate counter-clockwise + - - + + + + Changes the transformation represented by @matrix to be the +transformation given by first scaling by @sx in the X direction +and @sy in the Y direction then applying the original +transformation. + + + + + + amount to scale by in X direction + + + + amount to scale by in Y direction + + Transforms the distance vector (@dx,@dy) by @matrix. This is similar to pango_matrix_transform_point() except that the translation components of the transformation are ignored. The calculation of the returned vector is as follows: @@ -4538,23 +4421,64 @@ dy2 = dx1 * yx + dy1 * yy; Affine transformations are position invariant, so the same vector always transforms to the same vector. If (@x1,@y1) transforms to (@x2,@y2) then (@x1+@dx1,@y1+@dy1) will transform to -(@x1+@dx2,@y1+@dy2) for all values of @x1 and @x2." - version="1.16"> +(@x1+@dx2,@y1+@dy2) for all values of @x1 and @x2. - - + + in/out X component of a distance vector + - - + + yn/out Y component of a distance vector + + + + + + First transforms the @rect using @matrix, then calculates the bounding box +of the transformed rectangle. The rectangle should be in device units +(pixels). +This function is useful for example when you want to draw a rotated +should be and how much you should shift the layout when rendering. +For better accuracy, you should use pango_matrix_transform_rectangle() on +original rectangle in Pango units and convert to pixels afterward +using pango_extents_to_pixels()'s first argument. + + + + + + in/out bounding box in device units, or %NULL + + + + + + Transforms the point (@x, @y) by @matrix. + + + + + + in/out X position + + + + in/out Y position + + First transforms @rect using @matrix, then calculates the bounding box of the transformed rectangle. The rectangle should be in Pango units. This function is useful for example when you want to draw a rotated should be and how much you should shift the layout when rendering. @@ -4567,81 +4491,62 @@ first argument, for an inclusive rounded rectangle. However, there are valid reasons that you may want to convert to pixels first and then transform, for example when the transformed coordinates may overflow in Pango units (large matrix translation for -example)." - version="1.16"> +example). + in/out bounding box in Pango units, or %NULL - + + Changes the transformation represented by @matrix to be the +transformation given by first translating by (@tx, @ty) +then applying the original transformation. - - + + amount to translate in the X direction + + + + amount to translate in the Y direction + - - - - - - - - - - - - - - + - + - + - + - + + #PangoRenderPart defines different items to render for such +purposes as setting colors. - + #PangoRenderer is a base class for objects that are used to +render Pango objects such as #PangoGlyphString and +#PangoLayout. + + + + + + + Draw a squiggly line that approximately covers the given rectangle +in the style of an underline used to indicate a spelling error. +(The width of the underline is rounded to an integer number +of up/down segments and the resulting rectangle is centered +in the original rectangle) +This should be called while @renderer is already active. Use +pango_renderer_activate() to activate a renderer. + + + + + + X coordinate of underline, in Pango units in user coordinate system + + + + Y coordinate of underline, in Pango units in user coordinate system + + + + width of underline, in Pango units in user coordinate system + + + + height of underline, in Pango units in user coordinate system + + + + + + Draws a single glyph with coordinates in device space. + a #PangoFont - - + + the glyph index of a single glyph + - + X coordinate of left edge of baseline of glyph + - + Y coordinate of left edge of baseline of glyph + - + + Draws the glyphs in @glyph_item with the specified #PangoRenderer, +embedding the text associated with the glyphs in the output if the +output format supports it (PDF for example). +Note that @text is the start of the text for layout, which is then +indexed by <literal>@glyph_item->item->offset</literal>. +If @text is %NULL, this simply calls pango_renderer_draw_glyphs(). +The default implementation of this method simply falls back to +pango_renderer_draw_glyphs(). + + + + + + the UTF-8 text that @glyph_item refers to, or %NULL + + + + a #PangoGlyphItem + + + + X position of left edge of baseline, in user space coordinates in Pango units. + + + + Y position of left edge of baseline, in user space coordinates in Pango units. + + + + + + Draws the glyphs in @glyphs with the specified #PangoRenderer. + + + + + + a #PangoFont + + + + a #PangoGlyphString + + + + X position of left edge of baseline, in user space coordinates in Pango units. + + + + Y position of left edge of baseline, in user space coordinates in Pango units. + + + + + + Draws an axis-aligned rectangle in user space coordinates with the +specified #PangoRenderer. +This should be called while @renderer is already active. Use +pango_renderer_activate() to activate a renderer. + type of object this rectangle is part of - + X position at which to draw rectangle, in user space coordinates in Pango units + - + Y position at which to draw rectangle, in user space coordinates in Pango units + - + width of rectangle in Pango units in user space coordinates + - - - - - - - - - - - - - - - - - - - - + height of rectangle in Pango units in user space coordinates + @@ -4741,80 +4736,79 @@ render Pango objects such as #PangoGlyphString and - + - + - + + Draws a trapezoid with the parallel sides aligned with the X axis +using the given #PangoRenderer; coordinates are in device space. + type of object this trapezoid is part of - + Y coordinate of top of trapezoid + - + X coordinate of left end of top of trapezoid + - + X coordinate of right end of top of trapezoid + - + Y coordinate of bottom of trapezoid + - + X coordinate of left end of bottom of trapezoid + - + X coordinate of right end of bottom of trapezoid + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + Informs Pango that the way that the rendering is done +for @part has changed in a way that would prevent multiple +pieces being joined together into one drawing call. For +instance, if a subclass of #PangoRenderer was to add a stipple +option for drawing underlines, it needs to call +<informalexample><programlisting> +pango_renderer_part_changed (render, PANGO_RENDER_PART_UNDERLINE); +</programlisting></informalexample> +When the stipple changes or underlines with different stipples +might be joined together. Pango automatically calls this for +changes to colors. (See pango_renderer_set_color()) + + + + + + the part for which rendering has changed. + + + + @@ -4825,258 +4819,325 @@ render Pango objects such as #PangoGlyphString and - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + Does initial setup before rendering operations on @renderer. pango_renderer_deactivate() should be called when done drawing. Calls such as pango_renderer_draw_layout() automatically activate the layout before drawing on it. Calls to pango_renderer_activate() and pango_renderer_deactivate() can be nested and the renderer will only be initialized and -deinitialized once." - version="1.8"> +deinitialized once. + Cleans up after rendering operations on @renderer. See +docs for pango_renderer_activate(). + + Draw a squiggly line that approximately covers the given rectangle +in the style of an underline used to indicate a spelling error. +(The width of the underline is rounded to an integer number +of up/down segments and the resulting rectangle is centered +in the original rectangle) +This should be called while @renderer is already active. Use +pango_renderer_activate() to activate a renderer. + + + + + + X coordinate of underline, in Pango units in user coordinate system + + + + Y coordinate of underline, in Pango units in user coordinate system + + + + width of underline, in Pango units in user coordinate system + + + + height of underline, in Pango units in user coordinate system + + + + + + Draws a single glyph with coordinates in device space. + + + + + + a #PangoFont + + + + the glyph index of a single glyph + + + + X coordinate of left edge of baseline of glyph + + + + Y coordinate of left edge of baseline of glyph + + + + + + Draws the glyphs in @glyph_item with the specified #PangoRenderer, +embedding the text associated with the glyphs in the output if the +output format supports it (PDF for example). +Note that @text is the start of the text for layout, which is then +indexed by <literal>@glyph_item->item->offset</literal>. +If @text is %NULL, this simply calls pango_renderer_draw_glyphs(). +The default implementation of this method simply falls back to +pango_renderer_draw_glyphs(). + + + + + + the UTF-8 text that @glyph_item refers to, or %NULL + + + + a #PangoGlyphItem + + + + X position of left edge of baseline, in user space coordinates in Pango units. + + + + Y position of left edge of baseline, in user space coordinates in Pango units. + + + + + + Draws the glyphs in @glyphs with the specified #PangoRenderer. + + + + + + a #PangoFont + + + + a #PangoGlyphString + + + + X position of left edge of baseline, in user space coordinates in Pango units. + + + + Y position of left edge of baseline, in user space coordinates in Pango units. + + + + + + Draws @layout with the specified #PangoRenderer. + + + + + + a #PangoLayout + + + + X position of left edge of baseline, in user space coordinates in Pango units. + + + + Y position of left edge of baseline, in user space coordinates in Pango units. + + + + + + Draws @line with the specified #PangoRenderer. + + + + + + a #PangoLayoutLine + + + + X position of left edge of baseline, in user space coordinates in Pango units. + + + + Y position of left edge of baseline, in user space coordinates in Pango units. + + + + + + Draws an axis-aligned rectangle in user space coordinates with the +specified #PangoRenderer. +This should be called while @renderer is already active. Use +pango_renderer_activate() to activate a renderer. + + + + + + type of object this rectangle is part of + + + + X position at which to draw rectangle, in user space coordinates in Pango units + + + + Y position at which to draw rectangle, in user space coordinates in Pango units + + + + width of rectangle in Pango units in user space coordinates + + + + height of rectangle in Pango units in user space coordinates + + + + + + Draws a trapezoid with the parallel sides aligned with the X axis +using the given #PangoRenderer; coordinates are in device space. + + + + + + type of object this trapezoid is part of + + + + Y coordinate of top of trapezoid + + + + X coordinate of left end of top of trapezoid + + + + X coordinate of right end of top of trapezoid + + + + Y coordinate of bottom of trapezoid + + + + X coordinate of left end of bottom of trapezoid + + + + X coordinate of right end of bottom of trapezoid + + + + + + Gets the current rendering color for the specified part. +if it hasn't been set and should be inherited from the +environment. + + the color for the specified part, or %NULL + + + + + the part to get the color for + + + + + + Gets the layout currently being rendered using @renderer. +Calling this function only makes sense from inside a subclass's +methods, like in its draw_shape<!---->() for example. +The returned layout should not be modified while still being +rendered. +rendered using @renderer at this time. + + the layout, or %NULL if no layout is being + + + + + Gets the layout line currently being rendered using @renderer. +Calling this function only makes sense from inside a subclass's +methods, like in its draw_shape<!---->() for example. +The returned layout line should not be modified while still being +rendered. +rendered using @renderer at this time. + + the layout line, or %NULL if no layout line is being + + + + + Gets the transformation matrix that will be applied when +rendering. See pango_renderer_set_matrix(). +(which is the same as the identity matrix). The returned +matrix is owned by Pango and must not be modified or +freed. + + the matrix, or %NULL if no matrix has been set + + + + Informs Pango that the way that the rendering is done for @part has changed in a way that would prevent multiple pieces being joined together into one drawing call. For instance, if a subclass of #PangoRenderer was to add a stipple @@ -5086,100 +5147,49 @@ pango_renderer_part_changed (render, PANGO_RENDER_PART_UNDERLINE); </programlisting></informalexample> When the stipple changes or underlines with different stipples might be joined together. Pango automatically calls this for -changes to colors. (See pango_renderer_set_color())" - version="1.8"> +changes to colors. (See pango_renderer_set_color()) + the part for which rendering has changed. + Sets the color for part of the rendering. + the part to change the color of + the new color or %NULL to unset the current color - - - - - - - - - - + Sets the transformation matrix that will be applied when rendering. + a #PangoMatrix, or %NULL to unset any existing matrix. (No matrix set is the same as setting the identity matrix.) - - - - - - - - - - - - - - - @@ -5187,10 +5197,10 @@ rendered using @renderer at this time." - + - + @@ -5202,17 +5212,13 @@ rendered using @renderer at this time." + Class structure for #PangoRenderer. - + @@ -5221,22 +5227,26 @@ Class structure for #PangoRenderer." + a #PangoFont + a #PangoGlyphString - + X position of left edge of baseline, in user space coordinates in Pango units. + - + Y position of left edge of baseline, in user space coordinates in Pango units. + - + @@ -5245,25 +5255,30 @@ Class structure for #PangoRenderer." + type of object this rectangle is part of - + X position at which to draw rectangle, in user space coordinates in Pango units + - + Y position at which to draw rectangle, in user space coordinates in Pango units + - + width of rectangle in Pango units in user space coordinates + - + height of rectangle in Pango units in user space coordinates + - + @@ -5272,22 +5287,26 @@ Class structure for #PangoRenderer." - + X coordinate of underline, in Pango units in user coordinate system + - + Y coordinate of underline, in Pango units in user coordinate system + - + width of underline, in Pango units in user coordinate system + - + height of underline, in Pango units in user coordinate system + - + @@ -5299,16 +5318,16 @@ Class structure for #PangoRenderer." - + - + - + @@ -5317,31 +5336,38 @@ Class structure for #PangoRenderer." + type of object this trapezoid is part of - + Y coordinate of top of trapezoid + - + X coordinate of left end of top of trapezoid + - + X coordinate of right end of top of trapezoid + - + Y coordinate of bottom of trapezoid + - + X coordinate of left end of bottom of trapezoid + - + X coordinate of right end of bottom of trapezoid + - + @@ -5350,22 +5376,26 @@ Class structure for #PangoRenderer." + a #PangoFont + the glyph index of a single glyph - + X coordinate of left edge of baseline of glyph + - + Y coordinate of left edge of baseline of glyph + - + @@ -5374,13 +5404,14 @@ Class structure for #PangoRenderer." + the part for which rendering has changed. - + @@ -5392,7 +5423,7 @@ Class structure for #PangoRenderer." - + @@ -5404,7 +5435,7 @@ Class structure for #PangoRenderer." - + @@ -5419,7 +5450,7 @@ Class structure for #PangoRenderer." - + @@ -5428,46 +5459,50 @@ Class structure for #PangoRenderer." + the UTF-8 text that @glyph_item refers to, or %NULL + a #PangoGlyphItem - + X position of left edge of baseline, in user space coordinates in Pango units. + - + Y position of left edge of baseline, in user space coordinates in Pango units. + - - + + - - + + - - + + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + A #PangoScriptIter is used to iterate through a string +and identify ranges in different scripts. + + Frees a #PangoScriptIter created with pango_script_iter_new(). + + - - - - - - - - - + + Gets information about the range to which @iter currently points. +The range is the set of locations p where *start <= p < *end. +(That is, it doesn't include the character stored at *end) - - - + location to store start position of the range, or %NULL + - - - + location to store end position of the range, or %NULL + + location to store script for range, or %NULL - + Advances a #PangoScriptIter to the next range. If @iter is already at the end, it is left unchanged and %FALSE -is returned." - version="1.4"> +is returned. - - - - - - + %TRUE if @iter was successfully advanced. + @@ -5937,10 +5910,10 @@ is returned." glib:nick="ultra-expanded"/> + An enumeration specifying the various slant styles possible for a font. - + + Creates an array of @initial_size tab stops. Tab stops are specified in pixel units if @positions_in_pixels is %TRUE, otherwise in Pango units. All stops are initially at position 0. -be freed with pango_tab_array_free()."> +be freed with pango_tab_array_free(). + the newly allocated #PangoTabArray, which should - + Initial number of tab stops to allocate, can be 0 + - + whether positions are in pixel units + + This is a convenience function that creates a #PangoTabArray and allows you to specify the alignment and position of each tab stop. You <emphasis>must</emphasis> provide an alignment and position for @size tab stops. -be freed with pango_tab_array_free()."> +be freed with pango_tab_array_free(). + the newly allocated #PangoTabArray, which should - + number of tab stops in the array + - + whether positions are in pixel units + + alignment of first tab stop - + position of first tab stop + @@ -6014,111 +5996,114 @@ be freed with pango_tab_array_free()."> - + + Copies a #PangoTabArray +be freed with pango_tab_array_free(). + the newly allocated #PangoTabArray, which should - + + Frees a tab array and associated resources. - + + Returns %TRUE if the tab positions are in pixels, %FALSE if they are +in Pango units. - + whether positions are in pixels. + - + + Gets the number of tab stops in @tab_array. - + the number of tab stops in the array. + - - - - - - + + Gets the alignment and position of a tab stop. - - - - - - - - - - - - - - - - - + tab stop index + + location to store alignment, or %NULL - - + + location to store tab position, or %NULL + - + If non-%NULL, @alignments and @locations are filled with allocated arrays of length pango_tab_array_get_size(). You must free the -returned array."> +returned array. + location to store an array of tab stop alignments, or %NULL - - + + location to store an array of tab positions, or %NULL + - + + Resizes a tab array. You must subsequently initialize any tabs that +were added as a result of growing the array. - + + + + new size of the array + + + + + + Sets the alignment and location of a tab stop. +implementation. + + + + + + the index of a tab stop + + + + tab alignment + + + + tab location in Pango units + + + - + - + c:identifier="PANGO_WRAP_WORD_CHAR" glib:nick="word-char"/> + + + + + + + + + + + + - + introspectable="0"> + Create a new background color attribute. +freed with pango_attribute_destroy(). + + the newly allocated #PangoAttribute, which should be - + the red value (ranging from 0 to 65535) + - + the green value + - + the blue value + + Create a new font fallback attribute. If fallback is disabled, characters will only be used from the closest matching font on the system. No fallback will be done to other fonts on the system that might contain the characters in the text. -freed with pango_attribute_destroy()." - version="1.4"> - +freed with pango_attribute_destroy(). + + the newly allocated #PangoAttribute, which should be - + %TRUE if we should fall back on other fonts for characters the active font is missing. + - + introspectable="0"> + Create a new font family attribute. +freed with pango_attribute_destroy(). + + the newly allocated #PangoAttribute, which should be + the family or comma separated list of families + + Create a new font description attribute. This attribute +allows setting family, style, weight, variant, stretch, +and size simultaneously. +freed with pango_attribute_destroy(). + + the newly allocated #PangoAttribute, which should be + + + + + the font description + + + + - + introspectable="0"> + Create a new foreground color attribute. +freed with pango_attribute_destroy(). + + the newly allocated #PangoAttribute, which should be - + the red value (ranging from 0 to 65535) + - + the green value + - + the blue value + - + version="1.16" + introspectable="0"> + Create a new gravity hint attribute. +freed with pango_attribute_destroy(). + + the newly allocated #PangoAttribute, which should be + the gravity hint value. - + version="1.16" + introspectable="0"> + Create a new gravity attribute. +freed with pango_attribute_destroy(). + + the newly allocated #PangoAttribute, which should be + the gravity value; should not be %PANGO_GRAVITY_AUTO. + + Create a new language tag attribute. +freed with pango_attribute_destroy(). + + the newly allocated #PangoAttribute, which should be + + + + + language tag + + + + - + version="1.6" + introspectable="0"> + Create a new letter-spacing attribute. +freed with pango_attribute_destroy(). + + the newly allocated #PangoAttribute, which should be - + amount of extra space to add between graphemes of the text, in Pango units. + - + introspectable="0"> + Create a new baseline displacement attribute. +freed with pango_attribute_destroy(). + + the newly allocated #PangoAttribute, which should be - + the amount that the text should be displaced vertically, in Pango units. Positive values displace the text upwards. + + Create a new font size scale attribute. The base font for the affected text will have its size multiplied by @scale_factor. -freed with pango_attribute_destroy()."> - +freed with pango_attribute_destroy(). + + the newly allocated #PangoAttribute, which should be - + factor to scale the font + + + + + + Create a new shape attribute. A shape is used to impose a +particular ink and logical rectangle on the result of shaping a +particular glyph. This might be used, for instance, for +embedding a picture or a widget inside a #PangoLayout. +freed with pango_attribute_destroy(). + + the newly allocated #PangoAttribute, which should be + + + + + ink rectangle to assign to each character + + + + logical rectangle to assign to each character + + + + + + Like pango_attr_shape_new(), but a user data pointer is also +provided; this pointer can be accessed when later +rendering the glyph. +freed with pango_attribute_destroy(). + + the newly allocated #PangoAttribute, which should be + + + + + ink rectangle to assign to each character + + + + logical rectangle to assign to each character + + + + user data pointer + + + + function to copy @data when the attribute is copied. If %NULL, @data is simply copied as a pointer. + + + + function to free @data when the attribute is freed, or %NULL + + + + + + Create a new font-size attribute in fractional points. +freed with pango_attribute_destroy(). + + the newly allocated #PangoAttribute, which should be + + + + + the font size, in %PANGO_SCALE<!-- -->ths of a point. + + + + + + Create a new font-size attribute in device units. +freed with pango_attribute_destroy(). + + the newly allocated #PangoAttribute, which should be + + + + + the font size, in %PANGO_SCALE<!-- -->ths of a device unit. + - + introspectable="0"> + Create a new font stretch attribute +freed with pango_attribute_destroy(). + + the newly allocated #PangoAttribute, which should be + the stretch + Create a new strikethrough color attribute. This attribute modifies the color of strikethrough lines. If not set, strikethrough lines will use the foreground color. -freed with pango_attribute_destroy()." - version="1.8"> - +freed with pango_attribute_destroy(). + + the newly allocated #PangoAttribute, which should be - + the red value (ranging from 0 to 65535) + - + the green value + - + the blue value + - + introspectable="0"> + Create a new strike-through attribute. +freed with pango_attribute_destroy(). + + the newly allocated #PangoAttribute, which should be - + %TRUE if the text should be struck-through. + - + introspectable="0"> + Create a new font slant style attribute. +freed with pango_attribute_destroy(). + + the newly allocated #PangoAttribute, which should be + the slant style + Fetches the attribute type name passed in when registering the type using pango_attr_type_register(). The returned value is an interned string (see g_intern_string() for what that means) that should not be modified or freed. -a built-in Pango attribute type or invalid." - version="1.22"> - +a built-in Pango attribute type or invalid. + + the type ID name (which may be %NULL), or %NULL if @type is + an attribute type ID to fetch the name for - + c:identifier="pango_attr_type_register"> + Allocate a new attribute type ID. The attribute type name can be accessed +later by using pango_attr_type_get_name(). + + the new type ID. + an identifier for the type + Create a new underline color attribute. This attribute modifies the color of underlines. If not set, underlines will use the foreground color. -freed with pango_attribute_destroy()." - version="1.8"> - +freed with pango_attribute_destroy(). + + the newly allocated #PangoAttribute, which should be - + the red value (ranging from 0 to 65535) + - + the green value + - + the blue value + - + introspectable="0"> + Create a new underline-style attribute. +freed with pango_attribute_destroy(). + + the newly allocated #PangoAttribute, which should be + the underline style. - + introspectable="0"> + Create a new font variant attribute (normal or small caps) +freed with pango_attribute_destroy(). + + the newly allocated #PangoAttribute, which should be + the variant - + introspectable="0"> + Create a new font weight attribute. +freed with pango_attribute_destroy(). + + the newly allocated #PangoAttribute, which should be + the weight - + c:identifier="pango_bidi_type_for_unichar" + introspectable="0"> + - + - + Determines possible line, word, and character breaks for a string of Unicode text with a single analysis. For most -purposes you may want to use pango_get_log_attrs()."> +purposes you may want to use pango_get_log_attrs(). + the text to process - + length of @text in bytes (may be -1 if @text is nul-terminated) + + #PangoAnalysis structure from pango_itemize() + an array to store character information in - + size of the array passed as @attrs + + Convert data generated from pango_converage_to_bytes() back to a #PangoCoverage -the data was invalid."> - +the data was invalid. + + a newly allocated #PangoCoverage, or %NULL if - - - + binary data representing a #PangoCoverage + - + the size of @bytes in bytes + + + Create a new #PangoCoverage +initialized to %PANGO_COVERAGE_NONE +with a reference count of one, which +should be freed with pango_coverage_unref(). + + the newly allocated #PangoCoverage, + + + + Converts extents from Pango units to device units, dividing by the %PANGO_SCALE factor and performing rounding. The @inclusive rectangle is converted by flooring the x/y coordinates and extending width/height, such that the final rectangle completely includes the original @@ -6585,163 +6790,208 @@ of the rectangle to the nearest device unit (pixel). rectangle to completely contain the original rectangle, pass it in as @inclusive. If you want two touching-but-not-overlapping rectangles stay touching-but-not-overlapping after rounding to device units, pass them in -as @nearest." - version="1.16"> +as @nearest. + rectangle to round to pixels inclusively, or %NULL. + rectangle to round to nearest pixels, or %NULL. - + Searches a string the first character that has a strong +direction, according to the Unicode bidirectional algorithm. +If no such character is found, then %PANGO_DIRECTION_NEUTRAL is returned. + + The direction corresponding to the first strong character. + the text to process - + length of @text in bytes (may be -1 if @text is nul-terminated) + + Locates a paragraph boundary in @text. A boundary is caused by delimiter characters, such as a newline, carriage return, carriage return-newline pair, or Unicode paragraph separator character. The index of the run of delimiters is returned in (index after all delimiters) is stored in @next_paragraph_start. If no delimiters are found, both @paragraph_delimiter_index and -off the end)."> +off the end). + UTF-8 text - + length of @text in bytes, or -1 if nul-terminated + - - + + return location for index of delimiter + - - + + return location for start of next paragraph + - + Creates a new font description from a string representation in the +form "[FAMILY-LIST] [STYLE-OPTIONS] [SIZE]", where FAMILY-LIST is a +comma separated list of families optionally terminated by a comma, +STYLE_OPTIONS is a whitespace separated list of words where each WORD +describes one of style, variant, weight, stretch, or gravity, and SIZE +is a decimal number (size in points) or optionally followed by the +unit modifier "px" for absolute size. Any one of the options may +be absent. If FAMILY-LIST is absent, then the family_name field of +the resulting font description will be initialized to %NULL. If +STYLE-OPTIONS is missing, then all style options will be set to the +default values. If SIZE is missing, the size in the resulting font +description will be set to 0. + + a new #PangoFontDescription. + + + + + string representation of a font description. + + + + + + Computes a #PangoLogAttr for each character in @text. The @log_attrs array must have one #PangoLogAttr for each position in @text; if last position at the end of the text. @text should be an entire -paragraph; logical attributes can't be computed without context +paragraph; logical attributes can't be computed without context (for example you need to see spaces on either side of a word to know -the word is a word)."> +the word is a word). + text to process - + length in bytes of @text + - + embedding level, or -1 if unknown + + language tag + array with one #PangoLogAttr per character in @text, plus one extra, to be filled in - + length of @log_attrs array + + If @ch has the Unicode mirrored property and there is another Unicode +character that typically has a glyph that is the mirror image of @ch's glyph, puts that character in the address pointed to by @mirrored_ch. Use g_unichar_get_mirror_char() instead; the docs for that function provide full details. -filled in, %FALSE otherwise"> +filled in, %FALSE otherwise - + %TRUE if @ch has a mirrored character and @mirrored_ch is + - + a Unicode character + - + location to store the mirrored character + - + Finds the gravity that best matches the rotation component +in a #PangoMatrix. +%PANGO_GRAVITY_AUTO, or %PANGO_GRAVITY_SOUTH if @matrix is %NULL + + the gravity of @matrix, which will never be + a #PangoMatrix + Based on the script, base gravity, and hint, returns actual gravity to use in laying out a single #PangoItem. If @base_gravity is %PANGO_GRAVITY_AUTO, it is first replaced with the preferred gravity of @script. To get the preferred gravity of a script, pass %PANGO_GRAVITY_AUTO and %PANGO_GRAVITY_HINT_STRONG in. -with @script." - version="1.16"> - +with @script. + + resolved gravity suitable to use for a run of text + #PangoScript to query + base gravity of the paragraph + orientation hint + Based on the script, East Asian width, base gravity, and hint, returns actual gravity to use in laying out a single character or #PangoItem. This function is similar to pango_gravity_get_for_script() except @@ -6752,63 +7002,70 @@ whereas narrow/full-width characters are always rotated in vertical context. If @base_gravity is %PANGO_GRAVITY_AUTO, it is first replaced with the preferred gravity of @script. -with @script and @wide." - version="1.26"> - +with @script and @wide. + + resolved gravity suitable to use for a run of text + #PangoScript to query - + %TRUE for wide characters as returned by g_unichar_iswide() + + base gravity of the paragraph + orientation hint + Converts a #PangoGravity value to its natural rotation in radians. Note that pango_matrix_rotate() takes angle in degrees, not radians. So, to call pango_matrix_rotate() with the output of this function -you should multiply it by (180. / G_PI)." - version="1.16"> +you should multiply it by (180. / G_PI). - + the rotation value corresponding to @gravity. + + gravity to query + Checks @ch to see if it is a character that should not be normally rendered on the screen. This includes all Unicode characters -with "ZERO WIDTH" in their name, as well as <firstterm>bidi</firstterm> formatting characters, and +with "ZERO WIDTH" in their name, as well as <firstterm>bidi</firstterm> formatting characters, and a few other ones. This is totally different from g_unichar_iszerowidth() -and is at best misnamed." - version="1.10"> +and is at best misnamed. - + %TRUE if @ch is a zero-width character, %FALSE otherwise + - + a Unicode character + - + after @start_index. This must be >= 0. Breaks a piece of text into segments with consistent directional level and shaping engine. Each byte of @text will @@ -6817,94 +7074,116 @@ the generated list of items will be in logical order (the start offsets of the items are ascending). range before or containing @start_index; @cached_iter will be advanced to the range covering the position just after @start_index + @length. -(i.e. if itemizing in a loop, just keep passing in the same @cached_iter)."> - - +(i.e. if itemizing in a loop, just keep passing in the same @cached_iter). + + a #GList of #PangoItem structures. + + + + a structure holding information that affects + the text to itemize. - + first byte in @text to process + - - + + the number of bytes (not characters) to process + + the set of attributes that apply to @text. + Cached attribute iterator, or %NULL + after @start_index. This must be >= 0. Like pango_itemize(), but the base direction to use when computing bidirectional levels (see pango_context_set_base_dir ()), is specified explicitly rather than gotten from the #PangoContext. freed using pango_item_free() probably in combination with g_list_foreach(), -and the list itself using g_list_free()." - version="1.4"> - - +and the list itself using g_list_free(). + + a #GList of #PangoItem structures. The items should be + + + + a structure holding information that affects + base direction to use for bidirectional processing + the text to itemize. - + first byte in @text to process + - - + + the number of bytes (not characters) to process + + the set of attributes that apply to @text. + Cached attribute iterator, or %NULL + Take a RFC-3066 format language tag as a string and convert it to a #PangoLanguage pointer that can be efficiently copied (copy the pointer) and compared with other language tags (compare the pointer.) This function first canonicalizes the string by converting it to -lowercase, mapping '_' to '-', and stripping all characters other -than letters and '-'. +lowercase, mapping '_' to '-', and stripping all characters other +than letters and '-'. Use pango_language_get_default() if you want to get the #PangoLanguage for the current locale of the process. if @language was %NULL. The returned pointer will be valid -forever after, and should not be freed."> +forever after, and should not be freed. + an opaque pointer to a #PangoLanguage structure, or %NULL + a string representing a language tag, or %NULL + Returns the #PangoLanguage for the current locale of the process. Note that this can change over the life of an application. On Unix systems, this is the return value is derived from <literal>setlocale(LC_CTYPE, NULL)</literal>, and the user can @@ -6915,90 +7194,93 @@ COUNTRY is an ISO-3166 country code. For instance, sv_FI for Swedish as written in Finland or pt_BR for Portuguese as written in Brazil. On Windows, the C library does not use any such environment -variables, and setting them won't affect the behavior of functions +variables, and setting them won't affect the behavior of functions like ctime(). The user sets the locale through the Regional Options in the Control Panel. The C library (in the setlocale() function) does not use country and language codes, but country and language names spelled out in English. However, this function does check the above environment variables, and does return a Unix-style locale string based on -either said environment variables or the thread's current locale. -Your application should call <literal>setlocale(LC_ALL, "");</literal> +either said environment variables or the thread's current locale. +Your application should call <literal>setlocale(LC_ALL, "");</literal> for the user settings to take effect. Gtk+ does this in its initialization functions automatically (by calling gtk_set_locale()). See <literal>man setlocale</literal> for more details. -freed." - version="1.16"> +freed. + the default language as a #PangoLanguage, must not be + This will return the bidirectional embedding levels of the input paragraph as defined by the Unicode Bidirectional Algorithm available at: http://www.unicode.org/reports/tr9/ If the input base direction is a weak direction, the direction of the characters in the text will determine the final resolved direction. -character (not byte), that should be freed using g_free." - version="1.4"> - - - - +character (not byte), that should be freed using g_free. + + a newly allocated array of embedding levels, one item per + + the text to itemize. - - + + the number of bytes (not characters) to process, or -1 if @text is nul-terminated and the length should be calculated. + + input base direction, and output resolved direction. - + Parses an enum type and stores the result in @value. If @str does not match the nick name of any of the possible values for the enum and is not an integer, %FALSE is returned, a warning is issued if @warn is %TRUE, and a string representing the list of possible values is stored in -"none/start/middle/end". If failed and @possible_values is not %NULL, -returned string should be freed using g_free()." - version="1.16"> +"none/start/middle/end". If failed and @possible_values is not %NULL, +returned string should be freed using g_free(). - + %TRUE if @str was successfully parsed. + + enum type to parse, eg. %PANGO_TYPE_ELLIPSIZE_MODE. + string to parse. May be %NULL. - - + + integer to store the result in, or %NULL. + - - + + if %TRUE, issue a g_warning() on bad input. + - - - + place to store list of possible values on failure, or %NULL. + + Parses marked-up text (see +<link linkend="PangoMarkupFormat">markup format</link>) to create a plain-text string and an attribute list. If @accel_marker is nonzero, the given character will mark the character following it as an accelerator. For example, @accel_marker @@ -7008,233 +7290,287 @@ and the first character so marked will be returned in @accel_char. Two @accel_marker characters following each other produce a single literal @accel_marker character. If any error happens, none of the output arguments are touched except -for @error." - throws="1"> +for @error. - + %FALSE if @error is set, otherwise %TRUE + + markup to parse (see <link linkend="PangoMarkupFormat">markup format</link>) - + length of @markup_text, or -1 if nul-terminated + - + character that precedes an accelerator, or 0 for none + + address of return location for a #PangoAttrList, or %NULL - - - + address of return location for text with tags stripped, or %NULL + - + address of return location for accelerator char, or %NULL + - + + Parses a font stretch. The allowed values are +"ultra_condensed", "extra_condensed", "condensed", +"semi_condensed", "normal", "semi_expanded", "expanded", +"extra_expanded" and "ultra_expanded". Case variations are +ignored and the '_' characters may be omitted. - + %TRUE if @str was successfully parsed. + + a string to parse. + a #PangoStretch to store the result in. - - + + if %TRUE, issue a g_warning() on bad input. + - + + Parses a font style. The allowed values are "normal", +"italic" and "oblique", case variations being +ignored. - + %TRUE if @str was successfully parsed. + + a string to parse. + a #PangoStyle to store the result in. - - + + if %TRUE, issue a g_warning() on bad input. + - + + Parses a font variant. The allowed values are "normal" +and "smallcaps" or "small_caps", case variations being +ignored. - + %TRUE if @str was successfully parsed. + + a string to parse. + a #PangoVariant to store the result in. - - + + if %TRUE, issue a g_warning() on bad input. + - + + Parses a font weight. The allowed values are "heavy", +"ultrabold", "bold", "normal", "light", "ultraleight" +and integers. Case variations are ignored. - + %TRUE if @str was successfully parsed. + + a string to parse. + a #PangoWeight to store the result in. - - + + if %TRUE, issue a g_warning() on bad input. + + Quantizes the thickness and position of a line, typically an underline or strikethrough, to whole device pixels, that is integer multiples of %PANGO_SCALE. The purpose of this function is to avoid such lines looking blurry. Care is taken to make sure @thickness is at least one pixel when this function returns, but returned @position may become zero as a result -of rounding." - version="1.12"> +of rounding. - - + + pointer to the thickness of a line, in Pango units + - - + + corresponding position + + + + + + Reads an entire line from a file into a buffer. Lines may +be delimited with '\n', '\r', '\n\r', or '\r\n'. The delimiter +is not written into the buffer. Text after a '#' character is treated as +a comment and skipped. '\' can be used to escape a # character. +'\' proceeding a line delimiter combines adjacent lines. A '\' proceeding +any other character is ignored and written into the output buffer +unmodified. +the number of lines read (this is useful for maintaining +a line number counter which doesn't combine lines with '\') + + 0 if the stream was already at an %EOF character, otherwise + + + + + a stdio stream + + + + #GString buffer into which to write the result + + From a list of items in logical order and the associated directional levels, produce a list in visual order. The original list is unmodified. (Please open a bug if you use this function. It is not a particularly convenient interface, and the code -is duplicated elsewhere in Pango for that reason.)"> - - +is duplicated elsewhere in Pango for that reason.) + + a #GList of #PangoItem structures in visual order. + + + - + a #GList of #PangoItem in logical order. + + + - + + Scans an integer. +Leading white space is skipped. - + %FALSE if a parse error occurred. + - - - - - - - - - - - - - - - - - - + in/out string position + + an int into which to write the result + + + + + + Scans a string into a #GString buffer. The string may either +be a sequence of non-white-space characters, or a quoted +string with '"'. Instead a quoted string, '\"' represents +a literal quote. Leading white space outside of quotes is skipped. + + %FALSE if a parse error occurred. + + + + + in/out string position + + + + a #GString into which to write the result - + Scans a word into a #GString buffer. A word consists of [A-Za-z_] followed by zero or more [A-Za-z_0-9] -Leading white space is skipped."> +Leading white space is skipped. - + %FALSE if a parse error occurred. + - - - + in/out string position + + a #GString into which to write the result + Looks up the #PangoScript for a particular character (as defined by Unicode Standard Annex #24). No check is made for @ch being a valid Unicode character; if you pass in invalid character, the result is undefined. As of Pango 1.18, this function simply returns the return value of -g_unichar_get_script()." - version="1.4"> - +g_unichar_get_script(). + + the #PangoScript for the character. - + a Unicode character + + Given a script, finds a language tag that is reasonably representative of that script. This will usually be the most widely spoken or used language written in that script: for instance, the sample language for %PANGO_SCRIPT_CYRILLIC @@ -7255,150 +7591,190 @@ separated by colons or other separators. This function will return the first language in the parsed list that Pango believes may use @script for writing. This last predicate is tested using pango_language_includes_script(). This can -be used to control Pango's font selection for non-primary +be used to control Pango's font selection for non-primary languages. For example, a PANGO_LANGUAGE enviroment variable -set to "en:fa" makes Pango choose fonts suitable for Persian (fa) +set to "en:fa" makes Pango choose fonts suitable for Persian (fa) instead of Arabic (ar) when a segment of Arabic text is found in an otherwise non-Arabic text. The same trick can be used to choose a default language for %PANGO_SCRIPT_HAN when setting context language is not feasible. -of the script, or %NULL if no such language exists." - version="1.4"> +of the script, or %NULL if no such language exists. + a #PangoLanguage that is representative + a #PangoScript - + Create a new #PangoScriptIter, used to break a string of +Unicode into runs by text. No copy is made of @text, so +the caller needs to make sure it remains valid until +the iterator is freed with pango_script_iter_free(). +to point at the first range in the text, which should be +freed with pango_script_iter_free(). If the string is +empty, it will point at an empty range. + + the new script iterator, initialized + + + + + a UTF-8 string + + + + length of @text, or -1 if @text is nul-terminated. + + + + + + Given a segment of text and the corresponding #PangoAnalysis structure returned from pango_itemize(), convert the characters into glyphs. You may also pass -in only a substring of the item from pango_itemize()."> +in only a substring of the item from pango_itemize(). + the text to process - - + + the length (in bytes) of @text + + #PangoAnalysis structure from pango_itemize() + glyph string in which to store results - + + Skips 0 or more characters of white space. +the position at a '\0' character. - + %FALSE if skipping the white space leaves + - - - + in/out string position + - + introspectable="0"> + Splits a %G_SEARCHPATH_SEPARATOR-separated list of files, stripping +white space and substituting ~/ with $HOME/. + + a list of strings to be freed with g_strfreev() + a %G_SEARCHPATH_SEPARATOR separated list of filenames - + + Trims leading and trailing whitespace from a string. + A newly-allocated string that must be freed with g_free() + a string + Determines the inherent direction of a character; either %PANGO_DIRECTION_LTR, %PANGO_DIRECTION_RTL, or %PANGO_DIRECTION_NEUTRAL. This function is useful to categorize characters into left-to-right letters, right-to-left letters, and everything else. If full Unicode bidirectional type of a character is needed, -pango_bidi_type_for_gunichar() can be used instead."> - +pango_bidi_type_for_gunichar() can be used instead. + + the direction of the character. - + a Unicode character + + it by %PANGO_SCALE and rounds to nearest integer. - + the value in Pango units. + - + double floating-point value + + it by %PANGO_SCALE. - + the double value. + - + value in Pango units + - + This is similar to the macro %PANGO_VERSION except that it returns the encoded version of Pango available at run-time, as opposed to the version available at compile-time. A version number can be encoded into an integer using PANGO_VERSION_ENCODE(). -available at run time." - version="1.16"> +available at run time. - + The encoded version of Pango library + + Checks that the Pango library in use is compatible with the given version. Generally you would pass in the constants %PANGO_VERSION_MAJOR, %PANGO_VERSION_MINOR, %PANGO_VERSION_MICRO as the three arguments to this function; that produces @@ -7411,33 +7787,37 @@ version @required_major.required_minor.@required_micro For compile-time version checking use PANGO_VERSION_CHECK(). given version, or a string describing the version mismatch. The returned string is owned by Pango and should not be modified -or freed." - version="1.16"> +or freed. + %NULL if the Pango library is compatible with the - + the required major version. + - + the required minor version. + - + the required major version. + + This is similar to the macro %PANGO_VERSION_STRING except that it returns the version of Pango available at run-time, as opposed to the version available at compile-time. available at run time. The returned string is owned by Pango and should not be modified -or freed." - version="1.16"> +or freed. + A string containing the version of Pango library diff --git a/basis/pango/cairo/PangoCairo-1.0.gir b/basis/pango/cairo/PangoCairo-1.0.gir index 13d9e9d924..2f6b01ae30 100644 --- a/basis/pango/cairo/PangoCairo-1.0.gir +++ b/basis/pango/cairo/PangoCairo-1.0.gir @@ -2,7 +2,7 @@ - @@ -18,173 +18,361 @@ and/or use gtk-doc annotations. --> - - - + + + + + + + + + + + + + + #PangoCairoFont is an interface exported by fonts for use with Cairo. The actual type of the font will depend -on the particular font technology Cairo was compiled to use." - version="1.18"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +on the particular font technology Cairo was compiled to use. + + + Gets the #cairo_scaled_font_t used by @font. +The scaled font can be referenced and kept using +cairo_scaled_font_reference(). +or %NULL if @font is %NULL. - + the #cairo_scaled_font_t used by @font, + - + + + + #PangoCairoFontMap is an interface exported by font maps for +use with Cairo. The actual type of the font map will depend +on the particular font technology Cairo was compiled to use. + + + Create a #PangoContext for the given fontmap. + + the newly created context; free with g_object_unref(). + + + + + Gets the type of Cairo font backend that @fontmap uses. + + the #cairo_font_type_t cairo font backend type + + + + + Gets the resolution for the fontmap. See pango_cairo_font_map_set_resolution() + + the resolution in "dots per inch" + + + + Sets a default #PangoCairoFontMap to use with Cairo. This can be used to change the Cairo font backend that the default fontmap uses for example. The old default font map is unreffed and the new font map referenced. A value of %NULL for @fontmap will cause the current default font map to be released and a new default font -map to be created on demand, using pango_cairo_font_map_new()." - version="1.22"> +map to be created on demand, using pango_cairo_font_map_new(). + Sets the resolution for the fontmap. This is a scale factor between points specified in a #PangoFontDescription and Cairo units. The default value is 96, meaning that a 10 point font will be 13 -units high. (10 * 96. / 72. = 13.3)." - version="1.10"> +units high. (10 * 96. / 72. = 13.3). - + the resolution in "dots per inch". (Physical inches aren't actually involved; the terminology is conventional.) + - - - - - - - - - - - - - - - - - - - - - - - + + - + + + + + + + + + + + + + + + + + + + Retrieves any font rendering options previously set with +pango_cairo_font_map_set_font_options(). This function does not report options +that are derived from the target surface by pango_cairo_update_context() +if no options have been set. This value is owned by the context +and must not be modified or freed. + + the font options previously set on the context, or %NULL + + a #PangoContext, from a pangocairo font map - + Gets the resolution for the context. See pango_cairo_context_set_resolution() +be returned if no resolution has previously been set. + + the resolution in "dots per inch". A negative value will + + + + + a #PangoContext, from a pangocairo font map + + + + + + Sets callback function for context to use for rendering attributes +of type %PANGO_ATTR_SHAPE. See #PangoCairoShapeRendererFunc for +details. +Retrieves callback function and associated user data for rendering +attributes of type %PANGO_ATTR_SHAPE as set by +pango_cairo_context_set_shape_renderer(), if any. +if no shape rendering callback have been set. + + the shape rendering callback previously set on the context, or %NULL + + + + + a #PangoContext, from a pangocairo font map + + + + Pointer to #gpointer to return user data + + + + + + Sets the font options used when rendering text with this context. +These options override any options that pango_cairo_update_context() +derives from the target surface. + a #PangoContext, from a pangocairo font map + + + + a #cairo_font_options_t, or %NULL to unset any previously set options. A copy is made. + + + + + + Sets the resolution for the context. This is a scale factor between +points specified in a #PangoFontDescription and Cairo units. The +default value is 96, meaning that a 10 point font will be 13 +units high. (10 * 96. / 72. = 13.3). + + + + + + a #PangoContext, from a pangocairo font map - + the resolution in "dots per inch". (Physical inches aren't actually involved; the terminology is conventional.) A 0 or negative value means to use the resolution from the font map. + + + + + + Sets callback function for context to use for rendering attributes +of type %PANGO_ATTR_SHAPE. See #PangoCairoShapeRendererFunc for +details. + + + + + + a #PangoContext, from a pangocairo font map + + + + Callback function for rendering attributes of type %PANGO_ATTR_SHAPE, or %NULL to disable shape rendering. + + + + User data that will be passed to @func. + + + + Callback that will be called when the context is freed to release @data, or %NULL. + + + + + + Creates a context object set up to match the current transformation +and target surface of the Cairo context. This context can then be +used to create a layout using pango_layout_new(). +This function is a convenience function that creates a context using +the default font map, then updates it to @cr. If you just need to +create a layout for use with @cr and do not need to access #PangoContext +directly, you can use pango_cairo_create_layout() instead. +g_object_unref(). + + the newly created #PangoContext. Free with + + + + + a Cairo context + + + + + + Creates a layout object set up to match the current transformation +and target surface of the Cairo context. This layout can then be +used for text measurement with functions like +pango_layout_get_size() or drawing with functions like +pango_cairo_show_layout(). If you change the transformation +or target surface for @cr, you need to call pango_cairo_update_layout() +This function is the most convenient way to use Cairo with Pango, +however it is slightly inefficient since it creates a separate +#PangoContext object for each layout. This might matter in an +application that was laying out large amounts of text. +g_object_unref(). + + the newly created #PangoLayout. Free with + + + + + a Cairo context + + + + + + Add a squiggly line to the current path in the specified cairo context that +approximately covers the given rectangle in the style of an underline used +to indicate a spelling error. (The width of the underline is rounded to an +integer number of up/down segments and the resulting rectangle is centered +in the original rectangle) + + + + + + a Cairo context + + + + The X coordinate of one corner of the rectangle + + + + The Y coordinate of one corner of the rectangle + + + + Non-negative width of the rectangle + + + + Non-negative height of the rectangle + + Gets a default #PangoCairoFontMap to use with Cairo. Note that the type of the returned object will depend on the particular font backend Cairo was compiled to use; You generally should only use the #PangoFontMap and @@ -193,11 +381,278 @@ The default Cairo fontmap can be changed by using pango_cairo_font_map_set_default(). This can be used to change the Cairo font backend that the default fontmap uses for example. -object is owned by Pango and must not be freed." - version="1.10"> - +object is owned by Pango and must not be freed. + + the default Cairo fontmap for Pango. This + + Creates a new #PangoCairoFontMap object; a fontmap is used +to cache information about available fonts, and holds +certain global parameters such as the resolution. +In most cases, you can use pango_cairo_font_map_get_default() +instead. +Note that the type of the returned object will depend +on the particular font backend Cairo was compiled to use; +You generally should only use the #PangoFontMap and +#PangoCairoFontMap interfaces on the returned object. +be freed with g_object_unref(). + + the newly allocated #PangoFontMap, which should + + + + + Creates a new #PangoCairoFontMap object of the type suitable +to be used with cairo font backend of type @fonttype. +In most cases one should simply use @pango_cairo_font_map_new(), +or in fact in most of those cases, just use +which should be freed with g_object_unref(), +or %NULL if the requested cairo font backend is +not supported / compiled in. + + the newly allocated #PangoFontMap of suitable type + + + + + desired #cairo_font_type_t + + + + + + + + + + + + + + + + + + + + + + Adds the text in #PangoLayoutLine to the current path in the +specified cairo context. The origin of the glyphs (the left edge +of the line) will be at the current point of the cairo context. + + + + + + a Cairo context + + + + a #PangoLayoutLine + + + + + + Adds the text in a #PangoLayout to the current path in the +specified cairo context. The top-left corner of the #PangoLayout +will be at the current point of the cairo context. + + + + + + a Cairo context + + + + a Pango layout + + + + + + Draw a squiggly line in the specified cairo context that approximately +covers the given rectangle in the style of an underline used to indicate a +spelling error. (The width of the underline is rounded to an integer +number of up/down segments and the resulting rectangle is centered in the +original rectangle) + + + + + + a Cairo context + + + + The X coordinate of one corner of the rectangle + + + + The Y coordinate of one corner of the rectangle + + + + Non-negative width of the rectangle + + + + Non-negative height of the rectangle + + + + + + Draws the glyphs in @glyph_item in the specified cairo context, +embedding the text associated with the glyphs in the output if the +output format supports it (PDF for example), otherwise it acts +similar to pango_cairo_show_glyph_string(). +The origin of the glyphs (the left edge of the baseline) will +be drawn at the current point of the cairo context. +Note that @text is the start of the text for layout, which is then +indexed by <literal>@glyph_item->item->offset</literal>. + + + + + + a Cairo context + + + + the UTF-8 text that @glyph_item refers to + + + + a #PangoGlyphItem + + + + + + Draws the glyphs in @glyphs in the specified cairo context. +The origin of the glyphs (the left edge of the baseline) will +be drawn at the current point of the cairo context. + + + + + + a Cairo context + + + + a #PangoFont from a #PangoCairoFontMap + + + + a #PangoGlyphString + + + + + + Draws a #PangoLayout in the specified cairo context. +The top-left corner of the #PangoLayout will be drawn +at the current point of the cairo context. + + + + + + a Cairo context + + + + a Pango layout + + + + + + Draws a #PangoLayoutLine in the specified cairo context. +The origin of the glyphs (the left edge of the line) will +be drawn at the current point of the cairo context. + + + + + + a Cairo context + + + + a #PangoLayoutLine + + + + + + Updates a #PangoContext previously created for use with Cairo to +match the current transformation and target surface of a Cairo +context. If any layouts have been created for the context, +it's necessary to call pango_layout_context_changed() on those +layouts. + + + + + + a Cairo context + + + + a #PangoContext, from a pangocairo font map + + + + + + Updates the private #PangoContext of a #PangoLayout created with +pango_cairo_create_layout() to match the current transformation +and target surface of a Cairo context. + + + + + + a Cairo context + + + + a #PangoLayout, from pango_cairo_create_layout() + + + + diff --git a/basis/pango/cairo/ffi/ffi.factor b/basis/pango/cairo/ffi/ffi.factor index c37a08b6d6..1b19ba6ab7 100644 --- a/basis/pango/cairo/ffi/ffi.factor +++ b/basis/pango/cairo/ffi/ffi.factor @@ -1,10 +1,15 @@ ! Copyright (C) 2010 Anton Gorenko. ! See http://factorcode.org/license.txt for BSD license. -USING: alien alien.c-types alien.libraries alien.syntax cairo.ffi -combinators kernel system -gobject-introspection pango.ffi ; +USING: alien alien.libraries alien.syntax cairo.ffi combinators +gobject-introspection system vocabs.loader ; IN: pango.cairo.ffi +<< +"pango.ffi" require +>> + +LIBRARY: pango.cairo + << "pango.cairo" { { [ os winnt? ] [ "libpangocairo-1.0-0.dll" cdecl add-library ] } @@ -13,14 +18,9 @@ IN: pango.cairo.ffi } cond >> +FOREIGN-RECORD-TYPE: cairo.Context cairo_t +FOREIGN-RECORD-TYPE: cairo.ScaledFont cairo_scaled_font_t +FOREIGN-ENUM-TYPE: cairo.FontType cairo_font_type_t +FOREIGN-RECORD-TYPE: cairo.FontOptions cairo_font_options_t + GIR: vocab:pango/cairo/PangoCairo-1.0.gir - -FUNCTION: void -pango_cairo_update_layout ( cairo_t* cr, PangoLayout* layout ) ; - -FUNCTION: void -pango_cairo_show_layout ( cairo_t* cr, PangoLayout* layout ) ; - -FUNCTION: PangoLayout* -pango_cairo_create_layout ( cairo_t* cr ) ; - diff --git a/basis/pango/ffi/ffi.factor b/basis/pango/ffi/ffi.factor index e6c794e8bf..4e05226edc 100644 --- a/basis/pango/ffi/ffi.factor +++ b/basis/pango/ffi/ffi.factor @@ -1,10 +1,16 @@ -! Copyright (C) 2009 Anton Gorenko. +! Copyright (C) 2010 Anton Gorenko. ! See http://factorcode.org/license.txt for BSD license. USING: alien alien.c-types alien.destructors alien.libraries -alien.syntax combinators kernel system -gobject-introspection glib.ffi ; +alien.syntax combinators gobject-introspection +gobject-introspection.standard-types system vocabs.loader ; IN: pango.ffi +<< +"gobject.ffi" require +>> + +LIBRARY: pango + << "pango" { { [ os winnt? ] [ "libpango-1.0-0.dll" cdecl add-library ] } @@ -13,9 +19,6 @@ IN: pango.ffi } cond >> -TYPEDEF: void PangoLayoutRun -TYPEDEF: guint32 PangoGlyph - IMPLEMENT-STRUCTS: PangoRectangle ; GIR: vocab:pango/Pango-1.0.gir @@ -23,3 +26,14 @@ GIR: vocab:pango/Pango-1.0.gir DESTRUCTOR: pango_font_description_free DESTRUCTOR: pango_layout_iter_free +! diff --git a/basis/ui/backend/gtk/gtk.factor b/basis/ui/backend/gtk/gtk.factor index 996a26e584..3fbf2431b3 100644 --- a/basis/ui/backend/gtk/gtk.factor +++ b/basis/ui/backend/gtk/gtk.factor @@ -1,13 +1,14 @@ ! Copyright (C) 2010 Anton Gorenko, Philipp Brüschweiler. ! See http://factorcode.org/license.txt for BSD license. USING: accessors alien.accessors alien.c-types alien.data -alien.strings arrays assocs classes.struct command-line destructors -gdk.ffi gdk.gl.ffi glib.ffi gobject.ffi gtk.ffi gtk.gl.ffi io.backend -io.backend.unix.multiplexers io.encodings.utf8 io.thread kernel libc -literals locals math math.bitwise math.order math.vectors namespaces -sequences strings system threads ui ui.backend ui.clipboards -ui.event-loop ui.gadgets ui.gadgets.editors ui.gadgets.private -ui.gadgets.worlds ui.gestures ui.pixel-formats +alien.strings alien.syntax arrays assocs classes.struct command-line +destructors gdk.ffi gdk.gl.ffi glib.ffi +gobject-introspection.standard-types gobject.ffi gtk.ffi gtk.gl.ffi +io.backend io.backend.unix.multiplexers io.encodings.utf8 io.thread +kernel libc literals locals math math.bitwise math.order math.vectors +namespaces sequences strings system threads ui ui.backend +ui.clipboards ui.event-loop ui.gadgets ui.gadgets.editors +ui.gadgets.private ui.gadgets.worlds ui.gestures ui.pixel-formats ui.pixel-formats.private ui.private ; IN: ui.backend.gtk @@ -144,33 +145,33 @@ CONSTANT: modifiers CONSTANT: action-key-codes H{ - { $ GDK_BackSpace "BACKSPACE" } - { $ GDK_Tab "TAB" } - { $ GDK_Return "RET" } - { $ GDK_KP_Enter "ENTER" } - { $ GDK_Escape "ESC" } - { $ GDK_Delete "DELETE" } - { $ GDK_Home "HOME" } - { $ GDK_Left "LEFT" } - { $ GDK_Up "UP" } - { $ GDK_Right "RIGHT" } - { $ GDK_Down "DOWN" } - { $ GDK_Page_Up "PAGE_UP" } - { $ GDK_Page_Down "PAGE_DOWN" } - { $ GDK_End "END" } - { $ GDK_Begin "BEGIN" } - { $ GDK_F1 "F1" } - { $ GDK_F2 "F2" } - { $ GDK_F3 "F3" } - { $ GDK_F4 "F4" } - { $ GDK_F5 "F5" } - { $ GDK_F6 "F6" } - { $ GDK_F7 "F7" } - { $ GDK_F8 "F8" } - { $ GDK_F9 "F9" } - { $ GDK_F10 "F10" } - { $ GDK_F11 "F11" } - { $ GDK_F12 "F12" } + { $ GDK_KEY_BackSpace "BACKSPACE" } + { $ GDK_KEY_Tab "TAB" } + { $ GDK_KEY_Return "RET" } + { $ GDK_KEY_KP_Enter "ENTER" } + { $ GDK_KEY_Escape "ESC" } + { $ GDK_KEY_Delete "DELETE" } + { $ GDK_KEY_Home "HOME" } + { $ GDK_KEY_Left "LEFT" } + { $ GDK_KEY_Up "UP" } + { $ GDK_KEY_Right "RIGHT" } + { $ GDK_KEY_Down "DOWN" } + { $ GDK_KEY_Page_Up "PAGE_UP" } + { $ GDK_KEY_Page_Down "PAGE_DOWN" } + { $ GDK_KEY_End "END" } + { $ GDK_KEY_Begin "BEGIN" } + { $ GDK_KEY_F1 "F1" } + { $ GDK_KEY_F2 "F2" } + { $ GDK_KEY_F3 "F3" } + { $ GDK_KEY_F4 "F4" } + { $ GDK_KEY_F5 "F5" } + { $ GDK_KEY_F6 "F6" } + { $ GDK_KEY_F7 "F7" } + { $ GDK_KEY_F8 "F8" } + { $ GDK_KEY_F9 "F9" } + { $ GDK_KEY_F10 "F10" } + { $ GDK_KEY_F11 "F11" } + { $ GDK_KEY_F12 "F12" } } : event-modifiers ( event -- seq ) @@ -195,30 +196,24 @@ CONSTANT: action-key-codes : on-motion ( win event user-data -- ? ) drop swap - [ GdkEventMotion memory>struct event-loc ] dip window + [ event-loc ] dip window move-hand fire-motion t ; -: on-enter ( win event user-data -- ? ) - on-motion ; - : on-leave ( win event user-data -- ? ) 3drop forget-rollover t ; : on-button-press ( win event user-data -- ? ) drop swap [ - GdkEventButton memory>struct mouse-event>gesture [ ] dip ] dip window send-button-down t ; : on-button-release ( win event user-data -- ? ) drop swap [ - GdkEventButton memory>struct mouse-event>gesture [ ] dip ] dip window send-button-up t ; : on-scroll ( win event user-data -- ? ) drop swap [ - GdkEventScroll memory>struct [ scroll-direction ] [ event-loc ] bi ] dip window send-scroll t ; @@ -227,7 +222,6 @@ CONSTANT: action-key-codes [ gdk_keyval_to_unicode [ f ] [ 1string ] if-zero f ] ?if ; : key-event>gesture ( event -- mods sym/f action? ) - GdkEventKey memory>struct [ event-modifiers ] [ key-sym ] bi ; : on-key-press ( win event user-data -- ? ) @@ -250,8 +244,6 @@ CONSTANT: action-key-codes GtkWidget:motion-notify-event connect-signal win "leave-notify-event" [ on-leave yield ] GtkWidget:leave-notify-event connect-signal - win "enter-notify-event" [ on-enter yield ] - GtkWidget:enter-notify-event connect-signal win "button-press-event" [ on-button-press yield ] GtkWidget:button-press-event connect-signal win "button-release-event" [ on-button-release yield ] @@ -274,7 +266,7 @@ CONSTANT: action-key-codes : on-configure ( win event user-data -- ? ) drop [ window ] [ GdkEventConfigure memory>struct ] bi* - [ event-loc >>window-loc ] [ event-dim >>dim ] bi + [ event-loc >>window-loc ] [ event-dim >>dim ] bi relayout-1 f ; : on-delete ( win event user-data -- ? ) @@ -323,7 +315,7 @@ M: editor get-cursor-loc&dim [ delete-cursor-surrounding t ] [ 3drop f ] if nip ; : get-preedit-string ( im-context -- str cursor-pos ) - { void* int } [ f swap gtk_im_context_get_preedit_string ] + { pointer: gchar gint } [ f swap gtk_im_context_get_preedit_string ] with-out-parameters [ [ utf8 alien>string ] [ g_free ] bi ] dip ; @@ -340,7 +332,11 @@ M: editor get-cursor-loc&dim : gadget-cursor-location ( gadget -- rectangle ) [ gadget-location ] [ get-cursor-loc&dim ] bi [ v+ ] dip - [ first2 ] bi@ GdkRectangle ; + [ first2 ] bi@ + ! ; + ! workaround> + ! GdkRectangle ; : update-cursor-location ( im-context gadget -- ) gadget-cursor-location gtk_im_context_set_cursor_location ; @@ -464,7 +460,7 @@ M: gtk-ui-backend (free-pixel-format) M: gtk-ui-backend (pixel-format-attribute) [ handle>> ] [ >gl-config-attribs ] bi* - { int } [ gdk_gl_config_get_attrib drop ] + { gint } [ gdk_gl_config_get_attrib drop ] with-out-parameters ; M: window-handle select-gl-context ( handle -- ) @@ -557,16 +553,20 @@ M: gtk-ui-backend beep gdk_beep ; M:: gtk-ui-backend system-alert ( caption text -- ) - f GTK_DIALOG_MODAL GTK_MESSAGE_WARNING GTK_BUTTONS_OK - caption utf8 string>alien f gtk_message_dialog_new - [ text utf8 string>alien f gtk_message_dialog_format_secondary_text ] - [ gtk_dialog_run drop ] - [ gtk_widget_destroy ] tri ; + [ + f GTK_DIALOG_MODAL GTK_MESSAGE_WARNING GTK_BUTTONS_OK + caption utf8 string>alien f + gtk_message_dialog_new >k_widget_destroy + [ + text utf8 string>alien f + gtk_message_dialog_format_secondary_text + ] [ gtk_dialog_run drop ] bi + ] with-destructors ; M: gtk-ui-backend (with-ui) [ - f f gtk_init - f f gtk_gl_init + 0 f gtk_init + 0 f gtk_gl_init init-clipboard start-ui stop-io-thread @@ -577,6 +577,7 @@ M: gtk-ui-backend (with-ui) ] with-destructors ] ui-running ; + gtk-ui-backend ui-backend set-global [ "ui.tools" ] main-vocab-hook set-global diff --git a/basis/ui/text/pango/pango.factor b/basis/ui/text/pango/pango.factor index ede8135e95..9b40448737 100644 --- a/basis/ui/text/pango/pango.factor +++ b/basis/ui/text/pango/pango.factor @@ -1,10 +1,10 @@ ! Copyright (C) 2009, 2010 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: accessors alien.c-types alien.strings arrays assocs cache cairo -cairo.ffi classes.struct combinators destructors fonts fry -init io.encodings.utf8 kernel math math.rectangles math.vectors -memoize namespaces sequences ui.text ui.text.private -gobject.ffi pango.ffi pango.cairo.ffi ; +USING: accessors alien.c-types alien.data alien.strings arrays assocs +cache cairo cairo.ffi classes.struct combinators destructors fonts fry +gobject.ffi init io.encodings.utf8 kernel math math.rectangles +math.vectors memoize namespaces pango.cairo.ffi pango.ffi sequences +ui.text ui.text.private ; IN: ui.text.pango : pango>float ( n -- x ) PANGO_SCALE /f ; inline @@ -69,16 +69,17 @@ SYMBOL: dpi : line-offset>x ( layout n -- x ) #! n is an index into the UTF8 encoding of the text [ drop first-line ] [ swap string>> >utf8-index ] 2bi - f 0 [ pango_layout_line_index_to_x ] keep - *int pango>float ; + f { int } [ pango_layout_line_index_to_x ] with-out-parameters + pango>float ; : x>line-offset ( layout x -- n ) #! n is an index into the UTF8 encoding of the text [ [ first-line ] dip - float>pango 0 0 - [ pango_layout_line_x_to_index drop ] 2keep - [ *int ] bi@ swap + float>pango + { int int } + [ pango_layout_line_x_to_index drop ] with-out-parameters + swap ] [ drop string>> ] 2bi utf8-index> + ; : selection-start/end ( selection -- start end )