mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-26 05:31:07 +00:00
48efe2ca80
This completes commit d853fb05ea904acb9cc60d740b151c0a2bced0b8
98 lines
3.3 KiB
Plaintext
98 lines
3.3 KiB
Plaintext
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
|