+++ /dev/null
-HANDLING WIDGET STYLES
-======================
-
-
-A widget gets created with a default style.
-The global default style can be affected by gtk_widget_set_default_style()
-and can be queried by gtk_widget_get_default_style().
-The initial style that is assigned to a widget as default style upon
-creation can be affected by wrapping the widget's creation as follows:
-gtk_widget_push_style (my_style);
-widget = gtk_type_new (gtk_button_get_type ());
-gtk_widget_pop_style ();
-
-There are certain functions to affect widget styles after a widget's
-creation:
-
-gtk_widget_set_style ()
- Save the default style and set a user style.
- This will override a previously set user style or
- previously set rc styles.
-
-gtk_widget_reset_rc_styles ()
- Descends through a widget hierarchy and sets the rc style
- on all widgets that don't have a user style set.
-
-gtk_widget_ensure_style ()
- Ensure that the widget either has a user style set, or an rc lookup
- has been performed.
-
-gtk_rc_get_style ()
- Return an rc style for a widget if there is one.
-
-gtk_widget_set_name ()
- Change widget name, and perform a new rc lookup if no user style
- is set.
-
-gtk_widget_realize ()
- Besides realizing the widget this function will:
- - perform an rc lookup if necessary,
- - attach a widget's style.
-
-gtk_widget_get_style ()
- Return a widgets style, this function will perform an rc lookup
- if necessary.
-
-gtk_widget_set_parent ()
- This function will perform rc lookups recursively for all widgets
- that do not have a user style set.
-
-gtk_style_copy ()
- This function can be used to copy a widget's style.
- The style can subsequently be changed (e.g., by modifications to the
- red/green/blue values of a certain color) and then be applied to the
- widget via gtk_widget_set_style().
-
-
-GtkWidget::style_set
- This signal will be emitted for a widget once its style changes with
- an additional argument previous_style which will hold the widget->style
- value from a previous emission.
- The initial emission of this signal is guaranteed to happen prior
- to any GtkWidget::size_request emission, and will have the previous_style
- argument set to NULL.
- The GtkWidgetClass implements a default handler for this signal that
- will set the widget's window's background of widgets that provide their
- own windows according to the new style.
- Derived widgets need to override this default handler, if:
- - their size requisition depends on the current style.
- (e.g., on the style's fonts)
- - they set the background of widget->window to something other than.
- style->bg. (e.g., GtkListItem)
- - the widget provides windows other than widget->window.
- - the widget has any other stored dependencies on the style.
-
-
-
-Flag indications:
-
-!GTK_RC_STYLE && !GTK_USER_STYLE:
- The widget has its default style set, no rc lookup has been
- performed, the widget has not been size requested yet and is
- therefore not yet realized.
-
-GTK_USER_STYLE:
- GTK_RC_STYLE is not set.
- The widget has a user style assigned, and its default style has been
- saved.
-
-GTK_RC_STYLE:
- GTK_USER_STYLE is not set.
- If the widget has a saved default style, it has been assigned an
- rc style. If the widget does not have a saved default style, it still
- has its default style but an rc lookup has already been performed.
-
-
- - Tim Janik <timj@gimp.org>
- 1998/02/27