home *** CD-ROM | disk | FTP | other *** search
- # Copyright (c) 1995-1996 Sun Microsystems, Inc.
- # See the file "license.terms" for information on usage and redistribution
- # of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- #
- #
-
- =head1 NAME
-
- setPalette, bisque - Modify the Tk color palette
-
- =for category Creating and Configuring Widgets
-
- =head1 SYNOPSIS
-
- I<$widget>-E<gt>B<setPalette>(I<background>)
-
- I<$widget>-E<gt>B<setPalette(>I<name>=E<gt>I<value>?,I<name>=E<gt>I<value ...>?)
-
- I<$widget>-E<gt>B<bisque>
-
- =head1 DESCRIPTION
-
- The B<setPalette> method changes the color scheme for Tk.
- It does this by modifying the colors of existing widgets and by changing
- the option database so that future widgets will use the new color scheme.
- If B<setPalette> is invoked with a single argument, the
- argument is the name of a color to use as the normal background
- color; B<setPalette> will compute a complete color palette
- from this background color.
- Alternatively, the arguments to B<setPalette> may consist of any number
- of I<name>-I<value> pairs, where the first argument of the pair
- is the name of an option in the Tk option database and the second
- argument is the new value to use for that option. The following
- database names are currently supported:
-
- activeBackground foreground selectColor
- activeForeground highlightBackground selectBackground
- background highlightColor selectForeground
- disabledForeground insertBackground troughColor
-
- B<setPalette> tries to compute reasonable defaults for any
- options that you don't specify. You can specify options other
- than the above ones and Tk will change those options on widgets as
- well. This feature may be useful if you are using custom widgets with
- additional color options.
-
- Once it has computed the new value to use for each of the color options,
- B<setPalette> scans the widget hierarchy to modify the options
- of all existing widgets. For each widget, it checks to see if any
- of the above options is defined for the widget. If so, and if the
- option's current value is the default, then the value is changed; if
- the option has a value other than the default, B<setPalette>
- will not change it. The default for an option is the one provided by
- the widget (B<($w-E<gt>configure('option'))[3]>) unless
- B<setPalette> has been run previously, in which case it is the
- value specified in the previous invocation of B<setPalette>.
-
- After modifying all the widgets in the application, B<setPalette>
- adds options to the option database to change the defaults for
- widgets created in the future. The new options are added at
- priority B<widgetDefault>, so they will be overridden by options
- from the .Xdefaults file or options specified on the command-line
- that creates a widget.
-
- The method B<bisque> is provided for backward compatibility:
- it restores the application's colors to the light brown (``bisque'')
- color scheme used in Tk 3.6 and earlier versions.
-
- =head1 BUGS
-
- The use of option database names rather than the configure names is
- understandable given the mechanism (copied from Tcl/Tk), but
- is potentially confusing.
-
- The interpolation of different 'shades' of color used for 3D effects
- in 'RGB' space can lead to undesirable changes in 'hue'.
- Interpolation in 'HSV' (as used in B<Tk::ColorEditor>) would be more
- robust and X11R5's color support probably even more so.
-
- =head1 SEE ALSO
-
- L<Tk::options|Tk::options>
-
- =head1 KEYWORDS
-
- bisque, color, palette
-
- =cut
-
-