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>
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | 
