mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-27 06:00:22 +00:00
6ab2659931
Tue Feb 29 13:10:00 GMT 2000 Tony Gale <gale@gtk.org> * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml docs/gtk_tut.sgml docs/gtk.texi TODO: Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
109 lines
3.8 KiB
Plaintext
109 lines
3.8 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_set_rc_style ()
|
|
Set GTK_RC_STYLE to indicate that an rc lookup has been performed.
|
|
If there is an rc style for a widget, set it and save the default style,
|
|
restore the default style otherwise.
|
|
This will override a previously set user style or rc style.
|
|
|
|
gtk_widget_reset_rc_styles ()
|
|
Descends through a widget heirarchy and sets the rc style
|
|
on all widgets that don't have a user style set.
|
|
|
|
gtk_widget_restore_default_style ()
|
|
Reset the widget's style to the default style, this is only usefull if
|
|
the widgets default style had been saved by previous calls to
|
|
gtk_widget_set_style() or gtk_widget_set_rc_style().
|
|
|
|
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 neccessary,
|
|
- attach a widget's style.
|
|
|
|
gtk_widget_get_style ()
|
|
Return a widgets style, this function will perform an rc lookup
|
|
if neccessary.
|
|
|
|
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 subsequntly 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 wich will hold the widget->style
|
|
avlue 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 overide 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
|