 07e7719441
			
		
	
	07e7719441
	
	
	
		
			
			2006-10-08 Matthias Clasen <mclasen@redhat.com> * Apply a cleanup patch by Kjartan Maraas (#341812)
		
			
				
	
	
		
			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 hierarchy 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 useful 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 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
 |