# tk_bisque, tk_setPalette

Модифицирует цветовую палитру Tk.

## СИНТАКСИС

          tk_setPalette фон
          tk_setPalette имя значение ?имя значение ...
          tk_bisque

## ОПИСАНИЕ

Процедура tk_setPalette изменяет цветовую схему Tk. Это происходит за счет изменения цветов в существующих примитивах и внесения изменений в базу данных параметров, в результате чего будущие примитивы будут пользоваться новой цветовой схемой. При выполнении команды tk_setPalette с единственным аргументом, этим аргументом является имя цвета, который становится нормальным цветом фона; процедура tk_setPalette вычисляет всю палитру цветов на основе этого цвета фона. Если же аргументы команды tk_setPalette включают несколько пар имя-значение, то имя это имя параметра, а второй элемент пары представляет собой новое значение параметра. В настоящее время поддерживаются следующие имена параметров в базе данных:

- activeBackground
- activeForeground
- background
- disabledForeground
- foreground
- highlightBackground
- highlightColor
- insertBackground
- selectBackground
- selectColor
- selectForeground
- troughColor

Процедура tk_setPalette пытается вычислить разумные значения по умолчанию для любого незаданного параметра. Можно указать и параметры, отличные от приведенных выше, и Tk изменит значения и этих параметров. Такая возможность полезна при использовании специальных примитивов с дополнительными цветовыми параметрами.

После того, как новое значение каждого из цветовых параметров вычислено, tk_setPalette просматривает иерархию примитивов, чтобы изменить значения параметров всех существующих примитивов. Для каждого примитива она проверяет, определен ли для него какой-либо из заданных параметров. Если это так и если текущее значение параметра совпадает со значением по умолчанию, то это значение заменяется новым; если же текущее значение отлично от значения по умолчанию, то tk_setPalette не изменяет его. Значением параметра по умолчанию является то, которое порождено примитивом ([lindex [ configure ] 3]) или, если процедура tk_setPalette выполнялась и раньше, то значение, установленное ее предыдущим выполнением.

После модификации всех примитивов в приложении tk_setPalette добавляет параметры в базу данных параметров, изменяя значения по умолчанию для будущих примитивов. Новые параметры добавляются с приоритетом widgetDefault, поэтому они будут подавлены параметрами из файла .Xdefaults или параметрами, заданными в командной строке, создающей примитив.

Процедура tk_bisque обеспечивает совместимость с предыдущими версиями: она задает схему "bisque" на основе светло-коричневого (бисквитного) цвета, которая использовалась в Tk 3.6 и более ранних версиях.