GtkWidget Base class for all widgets GtkWidget introduces style properties - these are basically object properties that are stored not on the object, but in the style object associated to the widget. Style properties are set in resource files. This mechanism is used for configuring such things as the location of the scrollbar arrows through the theme, giving theme authors more control over the look of applications without the need to write a theme engine in C. Use gtk_widget_class_install_style_property() to install style properties for a widget class, gtk_widget_class_find_style_property() or gtk_widget_class_list_style_properties() to get information about existing style properties and gtk_widget_style_get_property(), gtk_widget_style_get() or gtk_widget_style_get_valist() to obtain the value of a style property. GtkWidget as GtkBuildable The GtkWidget implementation of the GtkBuildable interface supports a custom <accelerator> element, which has attributes named key, modifiers and signal and allows to specify accelerators. A UI definition fragment specifying an accelerator ]]> In addition to accelerators, GtkWidget also support a custom <accessible> element, which supports actions and relations. Properties on the accessible implementation of an object can be set by accessing the internal child "accessible" of a GtkWidget. A UI definition fragment specifying an accessible I am a Label for a Button Clickable Button ]]> @widget: the object which received the signal. @widget: the object which received the signal. @event: @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further. @widget: the object which received the signal. @event: @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further. @widget: the object which received the signal. @arg1: @Returns: @widget: the object which received the signal. @arg1: @widget: the object which received the signal. @event: @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further. @widget: the object which received the signal. @widget: the object which received the signal. @event: @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further. @widget: the object which received the signal. @event: @Returns: @widget: the object which received the signal. @event: @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further. @widget: the object which received the signal. @event: @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further. @widget: the object which received the signal. @arg1: @widget: the object which received the signal. @drag_context: @widget: the object which received the signal. @drag_context: @widget: the object which received the signal. @drag_context: @data: @info: @time: @widget: the object which received the signal. @drag_context: @x: @y: @data: @info: @time: @widget: the object which received the signal. @drag_context: @x: @y: @time: @Returns: @widget: the object which received the signal. @drag_context: @widget: the object which received the signal. @arg1: @arg2: @Returns: @widget: the object which received the signal. @drag_context: @time: @widget: the object which received the signal. @drag_context: @x: @y: @time: @Returns: @widget: the object which received the signal. @event: @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further. @widget: the object which received the signal. @event: @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further. @widget: the object which received the signal. @event: @widget: the object which received the signal. @event: @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further. @widget: the object which received the signal. @arg1: @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further. @widget: the object which received the signal. @event: @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further. @widget: the object which received the signal. @event: @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further. @widget: the object which received the signal. @event: @Returns: @widget: the object which received the signal. @widget: the object which received the signal. @arg1: @widget: the object which received the signal. @widget: @widget2: @widget: the object which received the signal. @event: @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further. @widget: the object which received the signal. @event: @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further. @widget: the object which received the signal. @arg1: @Returns: @widget: the object which received the signal. @event: @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further. @widget: the object which received the signal. @widget: the object which received the signal. @event: @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further. @widget: the object which received the signal. @arg1: @Returns: @widget: the object which received the signal. @event: @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further. @widget: the object which received the signal. @arg1: @widget: the object which received the signal. @event: @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further. @widget: the object which received the signal. @old_parent: @widget: the object which received the signal. @Returns: @widget: the object which received the signal. @event: @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further. @widget: the object which received the signal. @event: @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further. @widget: the object which received the signal. @event: @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further. @widget: the object which received the signal. @arg1: @arg2: @arg3: @arg4: @Returns: @widget: the object which received the signal. @widget: the object which received the signal. @arg1: @widget: the object which received the signal. @event: @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further. @widget: the object which received the signal. @event: @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further. @widget: the object which received the signal. @data: @info: @time: @widget: the object which received the signal. @event: @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further. @widget: the object which received the signal. @data: @time: @widget: the object which received the signal. @event: @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further. @widget: the object which received the signal. @widget: the object which received the signal. @arg1: @Returns: @widget: the object which received the signal. @allocation: @widget: the object which received the signal. @requisition: @widget: the object which received the signal. @state: @widget: the object which received the signal. @previous_style: @widget: the object which received the signal. @widget: the object which received the signal. @event: @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further. @widget: the object which received the signal. @widget: the object which received the signal. @event: @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further. @widget: the object which received the signal. @event: @Returns: %TRUE to stop other handlers from being invoked for the event. %FALSE to propagate the event further. activate_signal The signal to emit when a widget of this class is activated, gtk_widget_activate() handles the emission. Implementation of this signal is optional. set_scroll_adjustment_signal This signal is emitted when a widget of this class is added to a scrolling aware parent, gtk_widget_set_scroll_adjustments() handles the emission. Implementation of this signal is optional. @parent_class: @activate_signal: @set_scroll_adjustments_signal: Tells about certain properties of the widget. @GTK_TOPLEVEL: widgets without a real parent, as there are #GtkWindows and #GtkMenus have this flag set throughout their lifetime. Toplevel widgets always contain their own #GdkWindow. @GTK_NO_WINDOW: Indicative for a widget that does not provide its own #GdkWindow. Visible action (e.g. drawing) is performed on the parent's #GdkWindow. @GTK_REALIZED: Set by gtk_widget_realize(), unset by gtk_widget_unrealize(). A realized widget has an associated #GdkWindow. @GTK_MAPPED: Set by gtk_widget_map(), unset by gtk_widget_unmap(). Only realized widgets can be mapped. It means that gdk_window_show() has been called on the widgets window(s). @GTK_VISIBLE: Set by gtk_widget_show(), unset by gtk_widget_hide(). Implies that a widget will be mapped as soon as its parent is mapped. @GTK_SENSITIVE: Set and unset by gtk_widget_set_sensitive(). The sensitivity of a widget determines whether it will receive certain events (e.g. button or key presses). One premise for the widget's sensitivity is to have this flag set. @GTK_PARENT_SENSITIVE: Set and unset by gtk_widget_set_sensitive() operations on the parents of the widget. This is the second premise for the widget's sensitivity. Once it has %GTK_SENSITIVE and %GTK_PARENT_SENSITIVE set, its state is effectively sensitive. This is expressed (and can be examined) by the #GTK_WIDGET_IS_SENSITIVE macro. @GTK_CAN_FOCUS: Determines whether a widget is able to handle focus grabs. @GTK_HAS_FOCUS: Set by gtk_widget_grab_focus() for widgets that also have %GTK_CAN_FOCUS set. The flag will be unset once another widget grabs the focus. @GTK_CAN_DEFAULT: The widget is allowed to receive the default action via gtk_widget_grab_default(). @GTK_HAS_DEFAULT: The widget currently is receiving the default action. @GTK_HAS_GRAB: Set by gtk_grab_add(), unset by gtk_grab_remove(). It means that the widget is in the grab_widgets stack, and will be the preferred one for receiving events other than ones of cosmetic value. @GTK_RC_STYLE: Indicates that the widget's style has been looked up through the rc mechanism. It does not imply that the widget actually had a style defined through the rc mechanism. @GTK_COMPOSITE_CHILD: Indicates that the widget is a composite child of its parent; see gtk_widget_push_composite_child(), gtk_widget_pop_composite_child(). @GTK_NO_REPARENT: Unused since before GTK+ 1.2, will be removed in a future version. @GTK_APP_PAINTABLE: Set and unset by gtk_widget_set_app_paintable(). Must be set on widgets whose window the application directly draws on, in order to keep GTK+ from overwriting the drawn stuff. @GTK_RECEIVES_DEFAULT: The widget when focused will receive the default action and have %GTK_HAS_DEFAULT set even if there is a different widget set as default. @GTK_DOUBLE_BUFFERED: Set and unset by gtk_widget_set_double_buffered(). Indicates that exposes done on the widget should be double-buffered. @GTK_NO_SHOW_ALL: Gets the type of a widget. @wid: a #GtkWidget. Returns the current state of the widget, as a #GtkStateType. @wid: a #GtkWidget. Returns the saved state of the widget, as a #GtkStateType. The saved state will be restored when a widget gets sensitive again, after it has been made insensitive with gtk_widget_set_state() or gtk_widget_set_sensitive(). @wid: a #GtkWidget. Returns the widget flags from @wid. @wid: a #GtkWidget. Evaluates to %TRUE if the widget is a toplevel widget. @wid: a #GtkWidget. Evaluates to %TRUE if the widget doesn't have an own #GdkWindow. @wid: a #GtkWidget. Evaluates to %TRUE if the widget is realized. @wid: a #GtkWidget. Evaluates to %TRUE if the widget is mapped. @wid: a #GtkWidget. Evaluates to %TRUE if the widget is visible. @wid: a #GtkWidget. Evaluates to %TRUE if the widget is mapped and visible. @wid: a #GtkWidget. Evaluates to %TRUE if the #GTK_SENSITIVE flag has be set on the widget. @wid: a #GtkWidget. Evaluates to %TRUE if the #GTK_PARENT_SENSITIVE flag has be set on the widget. @wid: a #GtkWidget. Evaluates to %TRUE if the widget is effectively sensitive. @wid: a #GtkWidget. Evaluates to %TRUE if the widget is able to handle focus grabs. @wid: a #GtkWidget. Evaluates to %TRUE if the widget has grabbed the focus and no other widget has done so more recently. @wid: a #GtkWidget. Evaluates to %TRUE if the widget is allowed to receive the default action via gtk_widget_grab_default(). @wid: a #GtkWidget. Evaluates to %TRUE if the widget when focused will receive the default action even if there is a different widget set as default. @wid: a #GtkWidget. Evaluates to %TRUE if the widget currently is receiving the default action. @wid: a #GtkWidget. Evaluates to %TRUE if the widget is in the grab_widgets stack, and will be the preferred one for receiving events other than ones of cosmetic value. @wid: a #GtkWidget. Evaluates to %TRUE if the widget's style has been looked up through the rc mechanism. @wid: a #GtkWidget. Evaluates to %TRUE if the widget is a composite child of its parent. @wid: a #GtkWidget. Evaluates to %TRUE if the #GTK_APP_PAINTABLE flag has been set on the widget. @wid: a #GtkWidget. Evaluates to %TRUE if the #GTK_DOUBLE_BUFFERED flag has been set on the widget. @wid: a #GtkWidget. Turns on certain widget flags. @wid: a #GtkWidget. @flag: the flags to set. Turns off certain widget flags. @wid: a #GtkWidget. @flag: the flags to unset. The type of the callback functions used for e.g. iterating over the children of a container, see gtk_container_foreach(). @widget: the widget to operate on @data: user-supplied data A GtkRequisition represents the desired size of a widget. See for more information. @width: the widget's desired width @height: the widget's desired height A GtkAllocation of a widget represents region which has been allocated to the widget by its parent. It is a subregion of its parents allocation. See for more information. @x: the X position of the widget's area relative to its parents allocation. @y: the Y position of the widget's area relative to its parents allocation. @width: the width of the widget's allocated area. @height: the height of the widget's allocated area. @x: @y: @width: @height: @x_set: @y_set: @offset_x: @offset_y: @shape_mask: @GTK_WIDGET_HELP_TOOLTIP: @GTK_WIDGET_HELP_WHATS_THIS: @type: @first_property_name: @Varargs: @Returns: @widget: @Returns: @widget: @widget: @widget: @widget_pointer: @widget: @first_property_name: @Varargs: @widget: @widget: @widget: @widget: @widget: @widget: @widget: @widget: @widget: @widget: @widget: @widget: @widget: @widget: @area: @widget: @requisition: @widget: @requisition: @widget: @allocation: @widget: @accel_signal: @accel_group: @accel_key: @accel_mods: @accel_flags: @widget: @accel_group: @accel_key: @accel_mods: @Returns: @widget: @accel_path: @accel_group: @widget: @Returns: @widget: @signal_id: @Returns: @widget: @event: @Returns: @widget: @Returns: @widget: @new_parent: @widget: @area: @intersection: @Returns: @widget: @Returns: @widget: @widget: @widget: @name: @widget: @Returns: @widget: @state: @widget: @sensitive: @widget: @parent: @widget: @parent_window: @widget: @Returns: @widget: @x: @y: @widget: @width: @height: @widget: @events: @widget: @events: @widget: @mode: @widget: @Returns: @widget: @Returns: @widget: @widget_type: @Returns: @widget: @Returns: @widget: @colormap: @widget: @Returns: @widget: @Returns: @widget: @x: @y: @widget: @ancestor: @Returns: @src_widget: @dest_widget: @src_x: @src_y: @dest_x: @dest_y: @Returns: @widget: @Returns: @widget: @style: Equivalent to gtk_widget_set_style (widget, NULL). @widget: a #GtkWidget. @widget: @widget: @Returns: Equivalent to gtk_widget_set_style (widget, NULL). @widget: a #GtkWidget. 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. @widget: a #GtkWidget. @cmap: @colormap: @Returns: @Returns: @Returns: @widget: @dir: @GTK_TEXT_DIR_NONE: @GTK_TEXT_DIR_LTR: @GTK_TEXT_DIR_RTL: @widget: @Returns: @dir: @Returns: @widget: @shape_mask: @offset_x: @offset_y: @widget: @shape_mask: @offset_x: @offset_y: @widget: @path_length: @path: @path_reversed: @widget: @path_length: @path: @path_reversed: @widget: @Returns: @widget: @style: @widget: @Returns: @widget: @state: @color: @widget: @state: @color: @widget: @state: @color: @widget: @state: @color: @widget: @font_desc: @widget: @primary: @secondary: @widget: @Returns: @widget: @Returns: @widget: @text: @Returns: @widget: @stock_id: @size: @detail: @Returns: @widget: @widget: @x: @y: @width: @height: @widget: @x: @y: @width: @height: @widget: @widget: @app_paintable: @widget: @double_buffered: @widget: @redraw_on_allocate: @widget: @name: @widget: @hadjustment: @vadjustment: @Returns: @widget: @group_cycling: @Returns: @klass: @pspec: @klass: @pspec: @parser: @klass: @property_name: @Returns: @klass: @n_properties: @Returns: @widget: @region: @Returns: @widget: @event: @Returns: @widget: @first_property_name: @Varargs: @widget: @property_name: @value: @widget: @first_property_name: @var_args: @widget: @Returns: @widget: @direction: @Returns: @widget: @child_property: @widget: @widget: @Returns: @widget: @Returns: @widget: @Returns: @widget: @selection: @Returns: @widget: @Returns: @widget: @Returns: @widget: @Returns: @widget: @Returns: @widget: @width: @height: This function is deprecated; it does nothing. This function is deprecated; it does nothing. @visual: @widget: @is_visible: This function is deprecated; it does nothing. @visual: @widget: @width: @height: This function is deprecated; it does nothing. @widget: @visual: @widget: @widget: @no_show_all: @widget: @Returns: @widget: @Returns: @widget: @label: @widget: @label: @widget: @Returns: @widget: @Returns: @widget: @widget: @direction: @Returns: @widget: @Returns: @widget: @markup: @widget: @Returns: @widget: @text: @widget: @Returns: @widget: @custom_window: @widget: @Returns: @widget: @has_tooltip: @widget: @widget: @clip_rect: @Returns: @requisition: @Returns: @requisition: