381 lines
23 KiB
HTML
381 lines
23 KiB
HTML
<!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN>
|
||
<html>
|
||
<head>
|
||
<title>scale</title>
|
||
</head>
|
||
<body>
|
||
<h1>scale</h1>
|
||
|
||
<p>Создание примитива линейной шкалы и управление им.</p>
|
||
|
||
<h2><a name=СИНТАКСИС></a>СИНТАКСИС</h2>
|
||
|
||
<pre>
|
||
<strong>scale</strong> <em>имяПути</em> ?<em>параметры</em>?
|
||
</pre>
|
||
|
||
<h2><a name=СТАНДАРТНЫЕ_ПАРАМЕТРЫ></a>СТАНДАРТНЫЕ ПАРАМЕТРЫ</h2>
|
||
|
||
<ul>
|
||
<li><strong>-activebackground</strong></li>
|
||
<li><strong>-background</strong></li>
|
||
<li><strong>-borderwidth</strong></li>
|
||
<li><strong>-cursor</strong></li>
|
||
<li><strong>-font</strong></li>
|
||
<li><strong>-foreground</strong></li>
|
||
<li><strong>-highlightbackground</strong></li>
|
||
<li><strong>-highlightcolor</strong></li>
|
||
<li><strong>-highlightthickness</strong></li>
|
||
<li><strong>-orient</strong></li>
|
||
<li><strong>-relief</strong></li>
|
||
<li><strong>-repeatdelay</strong></li>
|
||
<li><strong>-repeatinterval</strong></li>
|
||
<li><strong>-takefocus</strong></li>
|
||
<li><strong>-troughcolor</strong></li>
|
||
</ul>
|
||
|
||
<p>Подробное описание этих параметров приведено в разделе <a
|
||
href=options.html><strong>options</strong></a>.</p>
|
||
|
||
<h2><a name=ДОПОЛНИТЕЛЬНЫЕ_ПАРАМЕТРЫ_ПРИМИТИВА></a>ДОПОЛНИТЕЛЬНЫЕ ПАРАМЕТРЫ ПРИМИТИВА</h2>
|
||
|
||
<table>
|
||
<tr><td>Имя параметра:</td><td><strong>-bigincrement</strong></td></tr>
|
||
<tr><td>Имя в Базе:</td><td><strong>bigIncrement</strong></td></tr>
|
||
<tr><td>Класс в Базе:</td><td><strong>BigIncrement</strong></td></tr>
|
||
</table>
|
||
|
||
<p>Некоторые способы обращения со шкалой требуют использования
|
||
"больших" шагов. Этот параметр задает величину
|
||
большого шага. Если его значение равно 0 (как, например, по
|
||
умолчанию), то большой шаг считается равным 1/10 интервала
|
||
шкалы.</p>
|
||
|
||
<table>
|
||
<tr><td>Имя параметра:</td><td><strong>-command</strong></td></tr>
|
||
<tr><td>Имя в Базе:</td><td><strong>command</strong></td></tr>
|
||
<tr><td>Класс в Базе:</td><td><strong>Command</strong></td></tr>
|
||
</table>
|
||
|
||
<p>Задает префикс команды Tcl, исполняемой при всяком изменении
|
||
показателя шкалы какой-либо командой примитива. Сама команда Tcl
|
||
состоит из этого префикса, за которым следует пробел и
|
||
вещественное число, равное новому значению показателя шкалы.
|
||
|
||
<table>
|
||
<tr><td>Имя параметра:</td><td><strong>-digits</strong></td></tr>
|
||
<tr><td>Имя в Базе:</td><td><strong>digits</strong></td></tr>
|
||
<tr><td>Класс в Базе:</td><td><strong>Digits</strong></td></tr>
|
||
</table>
|
||
|
||
<p>Целое число, указывающее, сколько значащих цифр следует
|
||
сохранить при преобразовании показателя шкалы в строку
|
||
текста. Если это число неположительно, то выбирается наименьшее
|
||
число, обеспечивающее различное представление всех возможных
|
||
положений движка шкалы.<br>
|
||
|
||
|
||
<table>
|
||
<tr><td>Имя параметра:</td><td><strong>-from</strong></td></tr>
|
||
<tr><td>Имя в Базе:</td><td><strong>from</strong></td></tr>
|
||
<tr><td>Класс в Базе:</td><td><strong>From</strong></td></tr>
|
||
</table>
|
||
|
||
<p>Вещественное число левая или верхняя граница шкалы.</p>
|
||
|
||
<table>
|
||
<tr><td>Имя параметра:</td><td><strong>-label</strong></td></tr>
|
||
<tr><td>Имя в Базе:</td><td><strong>label</strong></td></tr>
|
||
<tr><td>Класс в Базе:</td><td><strong>Label</strong></td></tr>
|
||
</table>
|
||
|
||
<p>Строка текста, выводимая в качестве названия шкалы. Для
|
||
вертикальной шкалы выводится непосредственно справа от верхнего
|
||
конца шкалы. Для горизонтальной шкалы название выводится
|
||
непосредственно выше левого конца шкалы. Если значением
|
||
параметра служит пустая строка, то никакого названия не
|
||
выводится.</p>
|
||
|
||
<table>
|
||
<tr><td>Имя параметра:</td><td><strong>-length</strong></td></tr>
|
||
<tr><td>Имя в Базе:</td><td><strong>length</strong></td></tr>
|
||
<tr><td>Класс в Базе:</td><td><strong>Length</strong></td></tr>
|
||
</table>
|
||
|
||
<p>Задает желаемую длину шкалы на экране в пикселах (т.е. в любой
|
||
форме, приемлемой для <strong>Tk_GetPixels</strong>). Это высота
|
||
вертикальной шкалы или ширина горизонтальной.</p>
|
||
|
||
<table>
|
||
<tr><td>Имя параметра:</td><td><strong>-resolution</strong></td></tr>
|
||
<tr><td>Имя в Базе:</td><td><strong>resolution</strong></td></tr>
|
||
<tr><td>Класс в Базе:</td><td><strong>Resolution</strong></td></tr>
|
||
</table>
|
||
|
||
<p>Вещественное число, задающее цену деления шкалы. Если это
|
||
значение положительно, то показатель шкалы будет всегда
|
||
округляться к целому кратному этой величины (такими будут, в
|
||
частности, метки шкалы и границы ее интервала). Если это
|
||
значение неположительно, то округления не происходит. Значение
|
||
параметра по умолчанию равно "1" (т.е. показатели
|
||
должны быть целыми).</p>
|
||
|
||
<table>
|
||
<tr><td>Имя параметра:</td><td><strong>-showvalue</strong></td></tr>
|
||
<tr><td>Имя в Базе:</td><td><strong>showValue</strong></td></tr>
|
||
<tr><td>Класс в Базе:</td><td><strong>ShowValue</strong></td></tr>
|
||
</table>
|
||
|
||
<p>Булевское значение, указывающее, следует или нет выводить
|
||
текущий показатель шкалы.</p>
|
||
|
||
<table>
|
||
<tr><td>Имя параметра:</td><td><strong>-sliderlength</strong></td></tr>
|
||
<tr><td>Имя в Базе:</td><td><strong>sliderLength</strong></td></tr>
|
||
<tr><td>Класс в Базе:</td><td><strong>SliderLength</strong></td></tr>
|
||
</table>
|
||
|
||
<p>Задает размер движка шкалы (вдоль его длинной стороны) в
|
||
пикселах (т.е. в любой форме, приемлемой для
|
||
<strong>Tk_GetPixels</strong>).</p>
|
||
|
||
|
||
<table>
|
||
<tr><td>Имя параметра:</td><td><strong>-sliderrelief</strong></td></tr>
|
||
<tr><td>Имя в Базе:</td><td><strong>sliderRelief</strong></td></tr>
|
||
<tr><td>Класс в Базе:</td><td><strong>SliderRelief</strong></td></tr>
|
||
</table>
|
||
|
||
<p>Задает вид движка шкалы, например, <strong>raised</strong> или
|
||
<strong>sunken</strong>.</p>
|
||
|
||
<table>
|
||
<tr><td>Имя параметра:</td><td><strong>-state</strong></td></tr>
|
||
<tr><td>Имя в Базе:</td><td><strong>state</strong></td></tr>
|
||
<tr><td>Класс в Базе:</td><td><strong>State</strong></td></tr>
|
||
</table>
|
||
|
||
<p>Задает одно из трех состояний шкалы:
|
||
<strong>normal</strong>,<strong>active</strong> или
|
||
<strong>disabled</strong>. Если шкала недоступна, то значение ее
|
||
показателя нельзя изменить и шкалу нельзя активизировать. Движок
|
||
на активной шкале изображается цветом, заданным параметром
|
||
<strong>activeBackground</strong>.</p>
|
||
|
||
<table>
|
||
<tr><td>Имя параметра:</td><td><strong>-tickinterval</strong></td></tr>
|
||
<tr><td>Имя в Базе:</td><td><strong>tickInterval</strong></td></tr>
|
||
<tr><td>Класс в Базе:</td><td><strong>TickInterval</strong></td></tr>
|
||
</table>
|
||
|
||
<p>Вещественное число, определяющее величину промежутка между
|
||
числовыми метками снизу или слева от движка. Если значение
|
||
параметра равно "0", то метки не выводятся.</p>
|
||
|
||
<table>
|
||
<tr><td>Имя параметра:</td><td><strong>-to</strong></td></tr>
|
||
<tr><td>Имя в Базе:</td><td><strong>to</strong></td></tr>
|
||
<tr><td>Класс в Базе:</td><td><strong>To</strong></td></tr>
|
||
</table>
|
||
|
||
<p>Вещественное число правая или нижняя граница шкалы. Может быть
|
||
как меньше, так и больше значения, задаваемого параметром
|
||
<strong>from</strong>.</p>
|
||
|
||
<table>
|
||
<tr><td>Имя параметра:</td><td><strong>-variable</strong></td></tr>
|
||
<tr><td>Имя в Базе:</td><td><strong>variable</strong></td></tr>
|
||
<tr><td>Класс в Базе:</td><td><strong>Variable</strong></td></tr>
|
||
</table>
|
||
|
||
<p>Задает имя глобальной переменной, ассоциированной со
|
||
шкалой. При изменении значения переменной шкала обновляется и
|
||
показывает новое значение. При интерактивном изменении
|
||
показателя шкалы происходит соответствующее изменение значения
|
||
переменной.</p>
|
||
|
||
<table>
|
||
<tr><td>Имя параметра:</td><td><strong>-width</strong></td></tr>
|
||
<tr><td>Имя в Базе:</td><td><strong>width</strong></td></tr>
|
||
<tr><td>Класс в Базе:</td><td><strong>Width</strong></td></tr>
|
||
</table>
|
||
|
||
<p>Задает желаемую толщину полосы шкалы (в любой форме, приемлемой
|
||
для <strong>Tk_GetPixels</strong>). Для вертикальной шкалы это
|
||
ее ширина, для горизонтальной высота.</p>
|
||
|
||
<h2><a name=ОПИСАНИЕ></a>ОПИСАНИЕ</h2>
|
||
|
||
<p>Команда <strong>scale</strong> создает новое
|
||
окно (задаваемое аргументом <em>имяПути</em>) и превращает его в
|
||
примитив линейной шкалы. Детали изображения шкалы, такие как ее
|
||
цвета, ориентация и объемный вид задаются с помощью описанных
|
||
выше дополнительных параметров. Команда scale возвращает
|
||
аргумент <em>имяПути</em>. В момент выполнения этой команды не
|
||
должно существовать окна с именем <em>имяПути</em>, но должен
|
||
существовать его предок.</p>
|
||
|
||
<p>Шкала представляет собой примитив, который выводит на экран
|
||
прямоугольную <em>полоску шкалы</em> и маленький
|
||
<em>движок</em>. Полоска отображает интервал вещественных чисел
|
||
(определенный параметрами <strong>from</strong>,
|
||
<strong>to</strong> и <strong>resolution</strong>), а положение
|
||
движка задает некоторое конкретное число на этом
|
||
интервале. Положение движка (а значит, и показатель шкалы) можно
|
||
менять с помощью "Мыши" или клавиатуры, как описано
|
||
ниже (см. "<a href=#ПРИВЯЗКИ>ПРИВЯЗКИ</a>"). При
|
||
каждом изменении показателя шкалы исполняется команда Tcl
|
||
(заданная параметром command), и другие примитивы получают
|
||
доступ к результатам выполненного изменения. Кроме того
|
||
показатель шкалы можно (с помощью параметра variable) связать с
|
||
некоторой переменной, так что изменения значений показателя или
|
||
переменной немедленно отзываются друг на друге.</p>
|
||
|
||
<p>В примитиве шкалы можно вывести также три внешних атрибута: имя
|
||
шкалы справа сверху (или слева сверху, если шкала
|
||
горизонтальна), число непосредственно слева от движка
|
||
(непосредственно сверху, если шкала горизонтальна) и набор
|
||
числовых меток непосредственно слева от текущего значения
|
||
(непосредственно снизу, если шкала горизонтальна). Вывод любого
|
||
из этих атрибутов можно отменить с помощью параметров
|
||
конфигурации.</p>
|
||
|
||
<h2><a name=КОМАНДА_ПРИМИТИВА></a>КОМАНДА ПРИМИТИВА</h2>
|
||
|
||
<p>Команда <strong>scale</strong> создает новую команду Tcl с
|
||
именем <em>имяПути</em>. С помощью этой команды можно выполнять
|
||
различные операции над примитивом. Ее общий вид.</p>
|
||
|
||
<pre>
|
||
имяПути параметр ?арг арг ...?
|
||
</pre>
|
||
|
||
<p><em>Параметр</em> и <em>арг</em>ументы уточняют поведение
|
||
команды. Примитивы линейной шкалы допускают следующие формы
|
||
команды:</p>
|
||
|
||
<dl>
|
||
<dt><em>имяПути</em> <strong>cget</strong> <em>параметр</em></dt>
|
||
|
||
<dd>Возвращает текущее значение параметра конфигурации с
|
||
именем<em>параметр</em>. <em>Параметр</em>может быть любым из
|
||
параметров команды <strong>scale</strong>.</dd>
|
||
|
||
<dt><em>имяПути</em> <strong>configure</strong>
|
||
?<em>параметр</em>? ?<em>значение параметр значение ...</em>?</dt>
|
||
|
||
<dd>Запрашивает значения параметров конфигурации примитива или
|
||
изменяет их. Если параметр не указан, то возвращает список,
|
||
содержащий значения всех допустимых в <em>имениПути</em>
|
||
параметров (формат списка описан в
|
||
<strong>Tk_ConfigureInfo</strong>). Если <em>параметр</em>
|
||
задан, а его новое <em>значение</em> нет, то команда
|
||
возвращает часть полного списка, относящуюся к указанному
|
||
параметру. Если заданы одна или несколько пар
|
||
параметр-значение, то указанным параметрам примитива
|
||
присваиваются новые значения, а команда возвращает пустую
|
||
строку. Параметр может быть любым из параметров
|
||
команды<strong>scale</strong>.</dd>
|
||
|
||
<dt><em>имяПути</em> <strong>coords</strong> ?<em>значение</em>?</dt>
|
||
|
||
<dd>Возвращает список, элементами которого являются x и y
|
||
координаты точки посередине полосы шкалы, отвечающей
|
||
указанному значению. Если аргумент <em>значение</em> опущен,
|
||
то возвращаются координаты точки, отвечающей текущему
|
||
показателю шкалы.</dd>
|
||
|
||
<dt><em>имяПути</em> <strong>get</strong> ?<em>x y</em>?</dt>
|
||
|
||
<dd>Если аргументы <em>x</em> и <em>y</em> опущены, то
|
||
возвращает текущий показатель шкалы. Если они заданы, то они
|
||
определяют координаты точки в примитиве; в этом случае команда
|
||
возвращает значение показателя шкалы, соответствующего
|
||
указанной точке. При этом используется только одна из
|
||
координат: x для горизонтальной шкалы и y для
|
||
вертикальной.</dd>
|
||
|
||
<dt><em>имяПути</em> <strong>identify</strong> <em>x y</em></dt>
|
||
|
||
<dd>Возвращает текстовую строку, указывающую, какая часть шкалы
|
||
расположена в точке с координатами <em>x</em> и
|
||
<em>y</em>. Возвращаемое значение <strong>slider</strong>
|
||
означает, что это точка на движке; <strong>trough1</strong>
|
||
означает, что точка находится выше или левее движка;
|
||
<strong>trough2</strong>означает, что точка находится ниже или
|
||
правее движка. Если точка расположена вне шкалы, то команда
|
||
возвращает пустую строку.</dd>
|
||
|
||
<dt><em>имяПути</em> <strong>set</strong> <em>значение</em></dt>
|
||
|
||
<dd>Эта команда предназначена для изменения текущего показателя
|
||
шкалы, а значит, и положения движка. Аргумент
|
||
<em>значение</em>задает новое значение показателя. Если шкала
|
||
недоступна, то команда не приводит ни к каким
|
||
результатам.</dd>
|
||
</dl>
|
||
|
||
<h2><a name=ПРИВЯЗКИ></a>ПРИВЯЗКИ</h2>
|
||
|
||
<p>При создании линейной шкалы Tk автоматически создает привязки
|
||
класса, определяющие следующее поведение примитива по
|
||
умолчанию. В случае, если имеются различия в поведении
|
||
вертикальной и горизонтальной шкалы, описание поведения
|
||
горизонтальной приводится в скобках.</p>
|
||
|
||
<p>При нажатии клавиши 1 "Мыши" на полосе шкалы движок
|
||
сдвигается в направлении курсора на величину, заданную
|
||
параметром <strong>resolution</strong>. Если клавишу не
|
||
отпускать, то сдвиг автоматически повторяется.</p>
|
||
|
||
<p>Если нажать клавишу 1 на движке, то движок можно тащить.</p>
|
||
|
||
<p>Если нажать клавишу 1 на полосе шкалы при нажатой клавише
|
||
<strong>Control</strong>. то движок пробежит до конца полосы в
|
||
направлении курсора "Мыши".</p>
|
||
|
||
<p>Если нажать клавишу 2, то показатель шкалы будет установлен в
|
||
положение курсора "Мыши". Если тащить "Мышь"
|
||
с нажатой клавишей 2, то показатель шкалы будет соответственно
|
||
меняться.</p>
|
||
|
||
<p>Нажатие на клавиши <strong>Up</strong> и <strong>Left</strong>
|
||
приводит к перемещению движка вверх (влево) на величину,
|
||
указанную параметром<strong>resolution</strong>.</p>
|
||
|
||
<p>Нажатие на клавиши <strong>Down</strong> и
|
||
<strong>Right</strong> приводит к перемещению движка вниз
|
||
(вправо) на величину, указанную параметром
|
||
<strong>resolution</strong>.</p>
|
||
|
||
<p>Нажатие на клавиши <strong>Control-Up</strong> и
|
||
<strong>Control-Left</strong> приводит к перемещению движка
|
||
вверх (влево) на величину, указанную параметром
|
||
<strong>bigIncrement</strong>.</p>
|
||
|
||
<p>Нажатие на клавиши <strong>Control-Down</strong> и
|
||
<strong>Control-Right</strong> приводит к перемещению движка
|
||
вниз (вправо) на величину, указанную параметром
|
||
<strong>bigIncrement</strong>.</p>
|
||
|
||
<p>Нажатие на клавишу <strong>Home</strong> приводит к перемещению
|
||
движка вверх (влево) до конца полосы.</p>
|
||
|
||
<p>Нажатие на клавишу <strong>End</strong> приводит к перемещению
|
||
движка вниз (вправо) до конца полосы.</p>
|
||
|
||
<p>Если шкала сделана недоступной с помощью параметра
|
||
<strong>state</strong>, то ни одна из описанных выше привязок не
|
||
оказывает какого-либо действия.</p>
|
||
|
||
<p>Определяя новые привязки к отдельным примитивам или
|
||
переопределяя привязки класса, поведение линейной шкалы можно
|
||
изменить.</p>
|
||
|
||
</body>
|
||
</html>
|
||
|
||
|
||
|
||
|