2093 lines
		
	
	
		
			152 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			2093 lines
		
	
	
		
			152 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 | ||
| <html>
 | ||
|   <head>
 | ||
|     <title>text</title>
 | ||
|   </head>
 | ||
|   <body>
 | ||
|     <h1>text</h1>
 | ||
| 
 | ||
|     <p>Создание текстового примитива и управление им.</p>
 | ||
| 
 | ||
|     <h2><a name="СИНТАКСИС"></a>СИНТАКСИС</h2> 
 | ||
| 
 | ||
|     <pre>
 | ||
|       <strong>text</strong> <em>имяПути параметры</em>
 | ||
|     </pre>
 | ||
| 
 | ||
|     <h2><a name="СТАНДАРТНЫЕ_ПАРАМЕТРЫ"></a>СТАНДАРТНЫЕ ПАРАМЕТРЫ</h2>
 | ||
| 
 | ||
|     <ul>
 | ||
|       <li><strong>-background</strong></li> 
 | ||
|       <li><strong>-borderwidth</strong></li> 
 | ||
|       <li><strong>-cursor</strong></li> 
 | ||
|       <li><strong>-exportselection</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>-insertbackground</strong></li> 
 | ||
|       <li><strong>-insertborderwidth</strong></li> 
 | ||
|       <li><strong>-insertofftime</strong></li> 
 | ||
|       <li><strong>-insertontime</strong></li> 
 | ||
|       <li><strong>-insertwidth</strong></li> 
 | ||
|       <li><strong>-padx</strong></li> 
 | ||
|       <li><strong>-pady</strong></li> 
 | ||
|       <li><strong>-relief</strong></li> 
 | ||
|       <li><strong>-selectbackground</strong></li> 
 | ||
|       <li><strong>-selectborderwidth</strong></li>
 | ||
|       <li><strong>-selectforeground</strong></li> 
 | ||
|       <li><strong>-setgrid</strong></li> 
 | ||
|       <li><strong>-takefocus</strong></li> 
 | ||
|       <li><strong>-xscrollcommand</strong></li> 
 | ||
|       <li><strong>-yscrollcommand</strong></li> 
 | ||
|     </ul>
 | ||
| 
 | ||
|     <p>Подробное описание этих параметров приведено в разделе
 | ||
|       <a href="options.html"><strong>options</strong></a>.</p>
 | ||
| 
 | ||
|     <h2><a name="ДОПОЛНИТЕЛЬНЫЕ_ПАРАМЕТРЫ_ПРИМИТИВА"></a>ДОПОЛНИТЕЛЬНЫЕ ПАРАМЕТРЫ ПРИМИТИВА</h2>
 | ||
| 
 | ||
|     
 | ||
|     <table>
 | ||
|         <tr><td>Имя параметра:</td><td><strong>-height</strong></td></tr>
 | ||
|         <tr><td>Имя в Базе:</td><td><strong>height</strong></td></tr>
 | ||
|         <tr><td>Класс в Базе:</td><td><strong>Height</strong></td></tr>
 | ||
|     </table>
 | ||
| 
 | ||
| 
 | ||
|     <p>Задает желаемую высоту окна в символах; размер символа
 | ||
|       определяется шрифтом, который задан параметром <a
 | ||
|       href="">-font</a>. Значение параметра должно быть не меньше
 | ||
|       единицы.</p>
 | ||
| 
 | ||
|     <table>
 | ||
|         <tr><td>Имя параметра:</td><td><strong>-spacing1</strong></td></tr>
 | ||
|         <tr><td>Имя в Базе:</td><td><strong>spacing1</strong></td></tr>
 | ||
|         <tr><td>Класс в Базе:</td><td><strong>Spacing1</strong></td></tr>
 | ||
|     </table>
 | ||
| 
 | ||
|     <p>Запрашивает дополнительный промежуток перед каждой строкой
 | ||
|       текста в примитиве (в любой из разрешенных форм для расстояний
 | ||
|       на экране). При переносе строки заданное значение относится
 | ||
|       только к первой строчке на экране. Параметр
 | ||
|       <strong>-spacing1</strong> в тегах подавляет данный.</p>
 | ||
| 
 | ||
|     
 | ||
|     <table>
 | ||
|         <tr><td>Имя параметра:</td><td><strong>-spacing2</strong></td></tr>
 | ||
|         <tr><td>Имя в Базе:</td><td><strong>spacing2</strong></td></tr>
 | ||
|         <tr><td>Класс в Базе:</td><td><strong>Spacing2</strong></td></tr>
 | ||
|     </table>
 | ||
| 
 | ||
| 
 | ||
|     <p>Задает величину дополнительного промежутка между двумя
 | ||
|       последовательными строчками на экране, полученными в результате
 | ||
|       переноса одной строки текста (в любой из разрешенных форм для
 | ||
|       расстояний на экране). Параметр <strong>spacing2</strong> в
 | ||
|       тегах подавляет данный.</p>
 | ||
| 
 | ||
|     <table>
 | ||
|         <tr><td>Имя параметра:</td><td><strong>-spacing3</strong></td></tr>
 | ||
|         <tr><td>Имя в Базе:</td><td><strong>spacing3</strong></td></tr>
 | ||
|         <tr><td>Класс в Базе:</td><td><strong>Spacing3</strong></td></tr>
 | ||
|     </table>
 | ||
| 
 | ||
|     <p>Запрашивает дополнительный промежуток после каждой строкой
 | ||
|       текста в примитиве (в любой из разрешенных форм для расстояний
 | ||
|       на экране). При переносе строки заданное значение относится
 | ||
|       только к последней строчке на экране. Параметр
 | ||
|       <strong>-spacing3</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>disabled</strong>). Текст, находящийся в недоступном
 | ||
|       состоянии, нельзя редактировать и в нем не отображается курсор
 | ||
|       ввода, даже если данный примитив находится в фокусе ввода.</p>
 | ||
| 
 | ||
|     
 | ||
|     <table>
 | ||
|         <tr><td>Имя параметра:</td><td><strong>-tabs</strong></td></tr>
 | ||
|         <tr><td>Имя в Базе:</td><td><strong>tabs</strong></td></tr>
 | ||
|         <tr><td>Класс в Базе:</td><td><strong>Tabs</strong></td></tr>
 | ||
|     </table>
 | ||
| 
 | ||
| 
 | ||
|     <p>Задает набор положений табулятора в окне. Значение параметра
 | ||
|       представляет собой список расстояний на экране, задающих эти
 | ||
|       положения. Элемент списка, следующий за элементом, который
 | ||
|       указывает очередное положение табулятора, может описывать способ
 | ||
|       расположения текста относительно этого положения с помощью
 | ||
|       ключевых слов <strong>left</strong>, <strong>right</strong>,
 | ||
|       <strong>center</strong> или <strong>numeric</strong>.  Значение
 | ||
|       по умолчанию равно <strong>left</strong>; в этом случае левый
 | ||
|       край текста, следующего за символом табуляции, располагается в
 | ||
|       позиции табуляции. <strong>Right</strong> означает, что в
 | ||
|       позиции табуляции располагается правый край текста, следующего
 | ||
|       за символом табуляции, а <strong>center</strong> указывает на
 | ||
|       необходимость центрировать текст относительно позиции
 | ||
|       табуляции. <strong>Numeric</strong> означает, что в позиции
 | ||
|       табуляции следует располагать десятичную точку текста; если в
 | ||
|       тексте нет десятичной точки, то младшая значащая цифра числа
 | ||
|       располагается непосредственно слева от позиции табуляции; если в
 | ||
|       тексте нет чисел, то он выравнивается вправо по позиции
 | ||
|       табуляции.  Например, задание параметра <strong>-tabs {2c left
 | ||
|       4c 6c center}</strong> приводит к созданию трех позиций
 | ||
|       табулятора с двухсантиметровым интервалом, первые два из которых
 | ||
|       используют выравнивание влево, а третья выравнивание по
 | ||
|       центру. Если в списке положений табулятора их оказывается
 | ||
|       недостаточно, чтобы обеспечить все символы табуляции в строке
 | ||
|       текста, то Tk создает дополнительные позиции табуляции,
 | ||
|       экстраполируя промежуток и способ выравнивания текста, указанные
 | ||
|       последним элементом списка.  Параметр <strong>-tabs</strong> в
 | ||
|       тегах подавляет данный. Если параметр <strong>-tabs</strong> не
 | ||
|       задан или его значением является пустая строка, то Tk использует
 | ||
|       табуляцию по умолчанию с шагом, равным восьми символам среднего
 | ||
|       размера.</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>Задает желаемую ширину окна в символах; размер символа
 | ||
|       определяется шрифтом, который задан параметром -font. Если
 | ||
|       ширина символа в шрифте непостоянна, то для перевода числа
 | ||
|       символов в единицы экрана используется ширина символа "0".
 | ||
|     </p>
 | ||
| 
 | ||
|     
 | ||
|     <table>
 | ||
|         <tr><td>Имя параметра:</td><td><strong>-wrap</strong></td></tr>
 | ||
|         <tr><td>Имя в Базе:</td><td><strong>wrap</strong></td></tr>
 | ||
|         <tr><td>Класс в Базе:</td><td><strong>Wrap</strong></td></tr>
 | ||
|     </table>
 | ||
| 
 | ||
|     <p>Задает способ обращения с чересчур длинными строками, которые
 | ||
|       не помещаются в одной строчке экрана. Может принимать одно из
 | ||
|       значений <strong>none</strong>, <strong>char</strong> или
 | ||
|       <strong>word</strong>. Значение <strong>none</strong> указывает
 | ||
|       на то, что каждая строка текста отображается в единственной
 | ||
|       строчке экрана не поместившиеся символы не выводятся. В
 | ||
|       остальных двух режимах при необходимости осуществляется перенос
 | ||
|       каждой строки текста, чтобы все ее содержимое отображалось на
 | ||
|       экране. В режиме <strong>char</strong> переход на новую строчку
 | ||
|       можно осуществлять после любого символа; в режиме
 | ||
|       <strong>word</strong> перенос строки выполняется только после
 | ||
|       конца слова.</p>
 | ||
| 
 | ||
|     <h2><a name="ОПИСАНИЕ"></a>ОПИСАНИЕ</h2>
 | ||
| 
 | ||
|     <p>Команда <strong>text</strong> создает новое окно (задаваемое
 | ||
|       аргументом <em>имяПути</em>) и превращает его в текстовый
 | ||
|       примитив. Детали изображения текста, такие как цвет фона по
 | ||
|       умолчанию и объемный вид, задаются с помощью описанных выше
 | ||
|       дополнительных параметров. Команда <strong>text</strong>
 | ||
|       возвращает имя пути нового окна.</p>
 | ||
| 
 | ||
|     <p>Текстовый примитив предназначен для вывода одной или нескольких
 | ||
|       строк текста и для редактирования этого текста. Текстовые
 | ||
|       примитивы поддерживают четыре способа отметить часть текста так
 | ||
|       называемые теги, метки, вставленные окна и вставленные
 | ||
|       изображения. Теги позволяют выводить различные части текста
 | ||
|       различными шрифтами и цветом. Кроме того с тегами можно связать
 | ||
|       команды Tcl, которые будут выполняться каждый раз при совершении
 | ||
|       определенных действий, например, при нажатиях на клавиши
 | ||
|       клавиатуры и "Мыши", если курсор находится в определенной части
 | ||
|       текста. Подробно эти возможности описаны ниже (см. "<a
 | ||
|       href="#ТЕГИ">Теги</a>").</p>
 | ||
| 
 | ||
|     <p>Метки представляют собой другой способ отметить часть
 | ||
|       текста. Они предназначены для указания на различные интересные
 | ||
|       места в тексте, возникающие в процессе его
 | ||
|       редактирования. Подробно эти возможности описаны ниже
 | ||
|       (см. "<a href="#МЕТКИ">Метки</a>").</p>
 | ||
| 
 | ||
|     <p>Третий способ обеспечивает возможность вставки в текст
 | ||
|       произвольных окон. Подробно эти возможности описаны ниже
 | ||
|       (см. "<a href="#ВСТАВЛЕННЫЕ_ОКНА">Вставленные
 | ||
|       окна</a>").</p>
 | ||
| 
 | ||
|     <p>Четвертый способ обеспечивает возможность вставки в текст
 | ||
|       изображений Tk. Подробно эти возможности описаны ниже
 | ||
|       (см. "<a href="#ВСТАВЛЕННЫЕ_ИЗОБРАЖЕНИЯ">Вставленные
 | ||
|       изображения</a>".)</p>
 | ||
| 
 | ||
| 
 | ||
|     <h2><a name="ИНДЕКСЫ"></a>ИНДЕКСЫ</h2>
 | ||
| 
 | ||
|     <p>Аргументами многих команд примитива являются один или несколько
 | ||
|       индексов. Индекс представляет собой строку, указывающую
 | ||
|       конкретное место в тексте например, место вставки текста или
 | ||
|       один из граничных символов удаляемого участка текста. Индексы
 | ||
|       имеют следующий синтаксис:</p>
 | ||
| 
 | ||
|     <pre>
 | ||
|       база модификатор модификатор модификатор ...
 | ||
|     </pre>
 | ||
| 
 | ||
|     <p><em>База</em> это указатель начальной точки, а
 | ||
|       <em>модификаторы</em> указывают сдвиг от начальной точки
 | ||
|       (например, на один символ влево или вправо от базы). База
 | ||
|       является обязательной частью индекса, а модификаторы
 | ||
|       необязательной.</p>
 | ||
| 
 | ||
|     <p><em>База</em> индекса должна быть представлена в одном из
 | ||
|       следующих видов:</p>
 | ||
| 
 | ||
|     <dl>
 | ||
|       <dt><em>строка</em>.<em>сим</em></dt>
 | ||
| 
 | ||
|       <dd>Указывает на символ с номером <em>сим</em> в строке с
 | ||
|         номером <em>строка</em> . Для совместимости с другими
 | ||
|         программами ОС UNIX, использующими тот же подход к нумерации,
 | ||
|         строки нумеруются, начиная с "1". Нумерация символов
 | ||
|         в строке начинается с "0". Если значением
 | ||
|         <em>сим</em> является <strong>end</strong>, то база ссылается
 | ||
|         на символ перевода строки, завершающий строку.</dd>
 | ||
| 
 | ||
|       <dt><strong>@</strong><em>x</em>,<em>y</em></dt>
 | ||
| 
 | ||
|       <dd>Указывает на символ, в котором находится точка с
 | ||
|         координатами в окне текста равными <em>x</em> и
 | ||
|         <em>y</em>.</dd>
 | ||
| 
 | ||
|       <dt><strong>end</strong></dt>
 | ||
| 
 | ||
|       <dd>Указывает на конец текста (на символ, следующий
 | ||
|         непосредственно за последним символом перехода на новую
 | ||
|         строку).</dd>
 | ||
| 
 | ||
|       <dt><em>метка</em></dt>
 | ||
| 
 | ||
|       <dd>Указывает на символ, следующий непосредственно за меткой с
 | ||
|         именем <em>метка</em>.</dd>
 | ||
| 
 | ||
|       <dt><em>тег</em>.<strong>first</strong></dt>
 | ||
| 
 | ||
|       <dd>Указывает на первый символ в тексте, помеченный тегом с
 | ||
|         именем <em>тег</em>. Если в тексте нет символов, помеченных
 | ||
|         <em>тег</em>ом, то возникает ошибка.</dd>
 | ||
| 
 | ||
|       <dt><em>тег</em>.<strong>last</strong></dt>
 | ||
| 
 | ||
|       <dd>Указывает на символ, непосредственно следующий за последним
 | ||
|         символом, помеченным тегом с именем <em>тег</em>. Если в
 | ||
|         тексте нет символов, помеченных <em>тег</em>ом, то возникает
 | ||
|         ошибка.</dd>
 | ||
| 
 | ||
|       <dt><em>имяПути</em></dt>
 | ||
| 
 | ||
|       <dd>Указывает положение вставленного окна с именем
 | ||
|         <em>имяПути</em>. Если вставленное окно с заданным именем
 | ||
|         отсутствует, то возникает ошибка.</dd>
 | ||
| 
 | ||
|       <dt><em>имяИзобр</em></dt>
 | ||
| 
 | ||
|       <dd>Указывает положение вставленного изображения с именем
 | ||
|         <em>имяИзобр</em>. Если вставленное изображение с заданным
 | ||
|         именем отсутствует, то возникает ошибка.</dd>
 | ||
|     </dl>
 | ||
| 
 | ||
|     <p>Если вид базы не определяется однозначно (так, например, если
 | ||
|       <em>метка</em> и <em>имяИзобр</em> имеют одинаковое значение, то
 | ||
|       их нельзя различить), то предпочтение отдается виду,
 | ||
|       встречающемуся в приведенном списке раньше. Если за индексом
 | ||
|       базы идут модификаторы, то каждый из них должен быть представлен
 | ||
|       в одном из описанных ниже видов. Ключевые слова, например,
 | ||
|       <strong>chars</strong> или <strong>wordend</strong>, можно
 | ||
|       сокращать, если результат сокращения позволяет однозначно
 | ||
|       восстановить слово.</p>
 | ||
| 
 | ||
|     <dl>
 | ||
|       <dt><strong>+</strong> <em>счет</em> <strong>chars</strong></dt>
 | ||
| 
 | ||
|       <dd>Увеличивает индекс на <em>счет</em> символов, при
 | ||
|         необходимости переходя на следующую строку. Если за символом с
 | ||
|         текущим индексом следует меньше символов, чем <em>счет</em>,
 | ||
|         то индекс устанавливается на последний символ в
 | ||
|         тексте. Пробелы по обе стороны от значения <em>счет</em>
 | ||
|         необязательны.</dd>
 | ||
| 
 | ||
|       <dt><strong>-</strong> <em>счет</em> <strong>chars</strong></dt>
 | ||
| 
 | ||
|       <dd>Уменьшает индекс на <em>счет</em> символов, при
 | ||
|         необходимости переходя на предыдущую строку. Если перед
 | ||
|         символом с текущим индексом идет меньше символов, чем
 | ||
|         <em>счет</em>, то индекс устанавливается на первый символ в
 | ||
|         тексте. Пробелы по обе стороны от значения <em>счет</em>
 | ||
|         необязательны.</dd>
 | ||
| 
 | ||
|       <dt><strong>+</strong> <em>счет</em> <strong>lines</strong></dt>
 | ||
| 
 | ||
|       <dd>Увеличивает индекс на <em>счет</em> строк, сохраняя номер
 | ||
|         символа в строке. Если за строкой с текущим индексом следует
 | ||
|         меньше строк, чем <em>счет</em>, то индекс устанавливается на
 | ||
|         символ с тем же номером в последней строчке текста. Если длина
 | ||
|         строки с новым положением индекса меньше номера символа, то
 | ||
|         индекс указывает на последний символ в этой строке (символ
 | ||
|         перевода строки). Пробелы по обе стороны от значения
 | ||
|         <em>счет</em> необязательны.</dd>
 | ||
| 
 | ||
|       <dt><strong>-</strong> <em>счет</em> <strong>lines</strong></dt>
 | ||
| 
 | ||
|       <dd>Уменьшает индекс на <em>счет</em> строк, сохраняя номер
 | ||
|         символа в строке. Если перед строкой с текущим индексом идет
 | ||
|         меньше строк, чем <em>счет</em>, то индекс устанавливается на
 | ||
|         символ с тем же номером в первой строчке текста. Если длина
 | ||
|         строки с новым положением индекса меньше номера символа, то
 | ||
|         индекс указывает на последний символ в этой строке (символ
 | ||
|         перевода строки). Пробелы по обе стороны от значения
 | ||
|         <em>счет</em> необязательны.</dd>
 | ||
| 
 | ||
|       <dt><strong>linestart</strong></dt>
 | ||
| 
 | ||
|       <dd>Устанавливает индекс на первый символ в строке.</dd>
 | ||
| 
 | ||
|       <dt><strong>lineend</strong></dt>
 | ||
| 
 | ||
|       <dd>Устанавливает индекс на последний символ в строке (символ
 | ||
|         перевода строки).</dd>
 | ||
| 
 | ||
|       <dt><strong>wordstart</strong></dt>
 | ||
| 
 | ||
|       <dd>Устанавливает индекс на первый символ в слове, содержащем
 | ||
|         символ с текущим значением индекса. Слово представляет собой
 | ||
|         последовательность букв, цифр или символов подчеркивания
 | ||
|         (состоящую, быть может, из одного символа).</dd>
 | ||
| 
 | ||
|       <dt><strong>wordend</strong></dt>
 | ||
| 
 | ||
|       <dd>Устанавливает индекс на первый символ в слове, содержащем
 | ||
|         символ с текущим значением индекса. Если текущее значение
 | ||
|         индекса и без того указывает на последний символ в слове, то
 | ||
|         оно не изменяется.</dd>
 | ||
|     </dl>
 | ||
|     
 | ||
|     <p>Если в команде задано несколько модификаторов, то они
 | ||
|       применяются слева направо. Так, например, индекс
 | ||
|       "<strong>end-1 chars</strong>" указывает на
 | ||
|       предпоследний символ в тексте, а индекс "<strong>insert
 | ||
|       wordstart-1 c</strong>" указывает на символ,
 | ||
|       непосредственно предшествующий первому символу в слове,
 | ||
|       содержащем символ с текущим значением индекса.</p>
 | ||
| 
 | ||
|   <h2><a name="ТЕГИ"></a>ТЕГИ</h2> 
 | ||
| 
 | ||
|     <p>Участки текста можно помечать с помощью тегов. Тег представляет
 | ||
|       собой символьную строку, которая привязана к некоторым символам
 | ||
|       текста. В принципе теги могут содержать любые символы, однако
 | ||
|       использования символов " " (пробел), "+"
 | ||
|       и "-" лучше избегать: это специальные символы
 | ||
|       индексов и использование тега, в котором присутствуют такие
 | ||
|       символы, в качестве индекса невозможно. С символами данного
 | ||
|       текста можно связать произвольное количество тегов. Каждый тег
 | ||
|       может относиться к одному символу, последовательности символов
 | ||
|       или к нескольким последовательностям символов. С отдельным
 | ||
|       символом может быть связано произвольное количество тегов.</p>
 | ||
| 
 | ||
|     <p>Все теги упорядочены; на этот порядок опираются некоторые из
 | ||
|       описываемых ниже функций работы с тегами. При определении тега
 | ||
|       (путем связывания его с символами, или при установке параметров
 | ||
|       его представления на экране, или при привязке к нему команд) он
 | ||
|       получает более высокий приоритет, чем все существующие
 | ||
|       теги. Приоритетный порядок тегов можно изменить с помощью команд
 | ||
|       примитива "<em>имяПути</em> <strong>tag
 | ||
|       raise</strong>" и "<em>имяПути</em> <strong>tag
 | ||
|       lower</strong>".</p>
 | ||
| 
 | ||
|     <p>В текстовых примитивах теги служат для достижения трех
 | ||
|       целей. Во-первых, они управляют отображением информации на
 | ||
|       экране. По умолчанию способ отображения текста определяется
 | ||
|       значениями параметров <strong>background</strong>,
 | ||
|       <strong>font</strong> и <strong>foreground</strong> текстового
 | ||
|       примитива. Однако команда примитива "<em>имяПути</em>
 | ||
|       <strong>tag configure</strong>" позволяет связать с каждым тегом
 | ||
|       свои значения параметров отображения. Если с символом связан
 | ||
|       тег, то значения параметров отображения для этого тега подавляют
 | ||
|       значения по умолчанию. В настоящее время для тегов можно
 | ||
|       пользоваться следующими параметрами:</p>
 | ||
| 
 | ||
|     <dl>
 | ||
|       <dt><strong>-background</strong> <em>цвет</em></dt>
 | ||
| 
 | ||
|       <dd>Параметр <em>цвет</em> задает цвет фона для изображения
 | ||
|         символов, связанных с данным тегом. Его значение может быть
 | ||
|         представлено в любом виде, приемлемом для
 | ||
|         <strong>Tk_GetColor</strong>.</dd>
 | ||
| 
 | ||
|       <dt><strong>-bgstipple</strong> <em>двуцвет</em></dt>
 | ||
| 
 | ||
|       <dd>Параметр <em>двуцвет</em> задает двуцветное изображение,
 | ||
|         предназначенное для вывода в качестве фона для текста. Его
 | ||
|         значение может быть представлено в любом виде, приемлемом для
 | ||
|         <strong>Tk_GetBitmap</strong>. Если параметр <em>двуцвет</em>
 | ||
|         не задан или его значением является пустая строка, то
 | ||
|         используется равномерное заполнение фона.
 | ||
|       </dd>
 | ||
| 
 | ||
|       <dt><strong>-borderwidth</strong> <em>пиксели</em></dt>
 | ||
| 
 | ||
|       <dd>Параметр <em>пиксели</em> задает ширину трехмерного бордюра,
 | ||
|         окружающего фон. Его значение может быть представлено в любом
 | ||
|         виде, приемлемом для <strong>Tk_GetPixels</strong>.  Этот
 | ||
|         параметр используется в сочетании с параметром
 | ||
|         <strong>-relief</strong> для описания трехмерного
 | ||
|         представления фона для символов; если параметр
 | ||
|         <strong>-background</strong> для тега не задан, то параметр
 | ||
|         <strong>-borderwidth</strong> игнорируется.</dd>
 | ||
| 
 | ||
|       <dt><strong>-fgstipple</strong> <em>двуцвет</em></dt>
 | ||
| 
 | ||
|       <dd>Параметр <em>двуцвет</em> задает двуцветное изображение,
 | ||
|         предназначенное для вывода в качестве фона для рисования
 | ||
|         текста и другой информации переднего плана (например,
 | ||
|         подчеркивания). Его значение может быть представлено в любом
 | ||
|         виде, приемлемом для <strong>Tk_GetBitmap</strong>. Если
 | ||
|         параметр <em>двуцвет</em> не задан или его значением является
 | ||
|         пустая строка, то используется равномерное заполнение
 | ||
|         фона.</dd>
 | ||
| 
 | ||
|       <dt><strong>-font</strong> <em>имяШрифта</em></dt>
 | ||
| 
 | ||
|       <dd>Параметр <em>имяШрифта</em> задает имя шрифта для
 | ||
|         изображения символов. Его значение может быть представлено в
 | ||
|         любом виде, которы описан в команде <a
 | ||
|           href="font.html"><strong>font</strong></a>.</dd>
 | ||
| 
 | ||
|       <dt><strong>-foreground</strong> <em>цвет</em></dt>
 | ||
| 
 | ||
|       <dd>Параметр <em>цвет</em> задает цвет символов текста и другой
 | ||
|         информации переднего плана, например, подчеркивания. Его
 | ||
|         значение может быть представлено в любом виде, приемлемом для
 | ||
|         <strong>Tk_GetColor</strong>.</dd>
 | ||
| 
 | ||
|       <dt><strong>-justify</strong> <em>вырав</em></dt>
 | ||
| 
 | ||
|       <dd>Если первый символ строчки на экране связан с тегом, для
 | ||
|         которого задан такой параметр, то значение параметра
 | ||
|         определяет способ выравнивания текста в строчке. Параметр
 | ||
|         вырав может принимать значения <strong>left</strong>,
 | ||
|         <strong>right</strong> и <strong>center</strong>. При переносе
 | ||
|         строки выравнивание каждой из получившихся строчек на экране
 | ||
|         определяется первым символом этой строчки.</dd>
 | ||
| 
 | ||
|       <dt><strong>-lmargin1</strong> <em>пиксели</em></dt>
 | ||
| 
 | ||
|       <dd>Если первый символ строчки на экране связан с тегом, для
 | ||
|         которого задан такой параметр, то значение параметра пиксели
 | ||
|         задает величину отступа от левого края окна. Значение
 | ||
|         параметра пиксели представляет собой расстояние на экране в
 | ||
|         любом допустимом виде. При переносе строки этот параметр
 | ||
|         применяется только к первой строчке на экране; отступом
 | ||
|         остальных строк управляет параметр
 | ||
|         <strong>-lmargin2</strong>.</dd>
 | ||
| 
 | ||
|       <dt><strong>-lmargin2</strong> <em>пиксели</em></dt>
 | ||
| 
 | ||
|       <dd>Если первый символ строчки на экране связан с тегом, для
 | ||
|         которого задан такой параметр, и если строчка на экране не
 | ||
|         является первой строчкой строки текста (т.е. она представляет
 | ||
|         собой часть перенесенной строки текста), то значение параметра
 | ||
|         пиксели задает величину отступа данной строчки от левого края
 | ||
|         окна. Значение параметра пиксели представляет собой расстояние
 | ||
|         на экране в любом допустимом виде. Этот параметр используется
 | ||
|         только если допускается перенос строки; он применяется только
 | ||
|         ко второй и последующим перенесенным строчкам.</dd>
 | ||
| 
 | ||
|       <dt><strong>-offset</strong> <em>пиксели</em></dt>
 | ||
| 
 | ||
|       <dd>Параметр <em>пиксели</em> задает величину сдвига (в
 | ||
|         пикселях) по вертикали базиса строки текста от базиса основной
 | ||
|         строки. Например, для верхних индексов базисная строка
 | ||
|         сдвигается вверх, а для нижних вниз. Значение параметра
 | ||
|         пиксели представляет собой расстояние на экране в любом
 | ||
|         допустимом виде.</dd>
 | ||
| 
 | ||
|       <dt><strong>-overstrike</strong> <em>булевское</em></dt>
 | ||
| 
 | ||
|       <dd>Указывает, следует ли проводить горизонтальную прямую
 | ||
|         посередине символов. Значение параметра <em>булевское</em>
 | ||
|         может быть представлено в любом виде, приемлемом для
 | ||
|         <strong>Tk_GetBoolean</strong>.</dd>
 | ||
| 
 | ||
|       <dt><strong>-relief</strong> <em>обвид</em></dt>
 | ||
| 
 | ||
|       <dd>Значение параметра <em>обвид</em> задает объемный вид фона в
 | ||
|         любом виде, приемлемом для <strong>Tk_GetRelief</strong>. Этот
 | ||
|         параметр используется в сочетании с параметром
 | ||
|         <strong>-borderwidth</strong> для установления трехмерного
 | ||
|         вида фона для символов; если параметр
 | ||
|         <strong>-background</strong> для данного тега не установлен,
 | ||
|         то параметр <strong>-relief</strong> игнорируется.</dd>
 | ||
| 
 | ||
|       <dt><strong>-rmargin</strong> <em>пиксели</em></dt>
 | ||
| 
 | ||
|       <dd>Если первый символ строчки на экране связан с тегом, для
 | ||
|         которого задан такой параметр, то значение параметра пиксели
 | ||
|         задает величину отступа между последним символом строчки и
 | ||
|         правым краем окна. Значение параметра пиксели представляет
 | ||
|         собой расстояние на экране в любом допустимом виде. Этот
 | ||
|         параметр используется только, если перенос строки
 | ||
|         допустим. При переносе строки этот параметр применяется только
 | ||
|         ко всем перенесенным строчкам.</dd>
 | ||
| 
 | ||
|       <dt><strong>-spacing1</strong> <em>пиксели</em></dt>
 | ||
| 
 | ||
|       <dd>Параметр <em>пиксели</em> задает размер дополнительного
 | ||
|         пространства над каждой строкой текста. Значение параметра
 | ||
|         пиксели представляет собой расстояние на экране в любом
 | ||
|         допустимом виде. При переносе строки этот параметр применяется
 | ||
|         только к первой строчке на экране.</dd>
 | ||
| 
 | ||
|       <dt><strong>-spacing2</strong> <em>пиксели</em></dt>
 | ||
| 
 | ||
|       <dd>Параметр <em>пиксели</em> задает размер дополнительного
 | ||
|         пространства над каждой перенесенной строчкой из строчек,
 | ||
|         составляющих одну строку текста. Значение параметра пиксели
 | ||
|         представляет собой расстояние на экране в любом допустимом
 | ||
|         виде.</dd>
 | ||
| 
 | ||
|       <dt><strong>-spacing3</strong> <em>пиксели</em></dt>
 | ||
| 
 | ||
|       <dd>Параметр <em>пиксели</em> задает размер дополнительного
 | ||
|         пространства под каждой строкой текста. Значение параметра
 | ||
|         пиксели представляет собой расстояние на экране в любом
 | ||
|         допустимом виде. При переносе строки этот параметр применяется
 | ||
|         только к последней строчке на экране.</dd>
 | ||
| 
 | ||
|       <dt><strong>-tabs</strong> <em>списТаб</em></dt>
 | ||
| 
 | ||
|       <dd>Параметр <em>списТаб</em> задает набор положений табулятора
 | ||
|         в том же виде, что и параметр <strong>-tabs</strong> для
 | ||
|         текстового примитива. Этот параметр относится к строке текста
 | ||
|         только в том случае, если он связан с первым символом
 | ||
|         строки. Если значением параметра является пустая строка, то
 | ||
|         параметр считается не заданным для данного тега (по
 | ||
|         умолчанию). Если значением параметра является не пустая
 | ||
|         строка, а пустой список (например, установка параметра имеет
 | ||
|         вид <strong>-tags { }</strong>), то его значением считается
 | ||
|         стандартный набор 8-символьных позиций табулятора
 | ||
|         (см. описание параметра <strong>-tags</strong> для
 | ||
|         примитива).</dd>
 | ||
| 
 | ||
|       <dt><strong>-underline</strong> <em>булевское</em></dt>
 | ||
| 
 | ||
|       <dd>Параметр <em>булевское</em> указывает, следует ли
 | ||
|         подчеркивать символы. Значение параметра булевское может быть
 | ||
|         представлено в любом виде, приемлемом для
 | ||
|         <strong>Tk_GetBoolean</strong>.</dd>
 | ||
| 
 | ||
|       <dt><strong>-wrap</strong> <em>режим</em></dt>
 | ||
| 
 | ||
|       <dd>Параметр <em>режим</em> задает способ обработки строк, длина
 | ||
|         которых превышает ширину текстового окна. Допустимые значения
 | ||
|         параметра те же, что и у параметра <strong>-wrap</strong>
 | ||
|         текстового примитива: <strong>none</strong>,
 | ||
|         <strong>char</strong> и <strong>word</strong>. Если этот
 | ||
|         параметр задан, то он подавляет параметр
 | ||
|         <strong>-wrap</strong> текстового примитива.</dd>
 | ||
|     </dl>
 | ||
|     
 | ||
|     <p>Если с символом связано несколько тегов, причем задаваемые ими
 | ||
|       параметры вывода противоречат друг другу, то используются
 | ||
|       значения параметров тегов с наивысшим приоритетом. Если
 | ||
|       некоторый параметр вывода для конкретного тега не задан или если
 | ||
|       его значением является пустая строка, то этот параметр при
 | ||
|       выводе не используется; вместо него берется параметр тега со
 | ||
|       следующим приоритетом. Если ни один из тегов не определяет
 | ||
|       параметра вывода, то используется стиль, принятый для данного
 | ||
|       примитива по умолчанию.</p>
 | ||
| 
 | ||
| <p>Во-вторых, теги служат для привязки событий. Привязки к тегу
 | ||
| осуществляются практически таким же образом, как и привязки к
 | ||
|       классу примитива: заданная команда Tcl исполняется всякий раз,
 | ||
|       когда на символе с данным тегом происходит указанное событие. С
 | ||
|       помощью привязок к тегам можно задать поведение групп символов;
 | ||
|       помимо прочего таким образом можно реализовать некоторые
 | ||
|       свойства гипертекста. Подробное описание этих возможностей
 | ||
|       см. ниже в описании команды примитива <strong>tag
 | ||
|       bind</strong>.</p>
 | ||
|     
 | ||
|     <p>Третья задача тегов обеспечивать управление выделениями
 | ||
|       (См. "<a href="#ВЫДЕЛЕНИЕ">Выделение</a>" ).</p>
 | ||
| 
 | ||
|     <h2><a name="МЕТКИ"></a>МЕТКИ</h2>
 | ||
| 
 | ||
|     <p>Метки представляют собой другой способ отмечать части
 | ||
|       текста. Они служат для запоминания фиксированных мест в
 | ||
|       тексте. Метки похожи на теги в том, что они поименованы и
 | ||
|       ссылаются на определенные места в тексте, однако они не связаны
 | ||
|       ни с какими конкретными символами.  Напротив, метка указывает на
 | ||
|       промежуток между двумя символами. В каждый момент времени метка
 | ||
|       указывает в точности на одно положение. При удалении символов,
 | ||
|       окружающих положение метки, сама метка сохраняется, меняются
 | ||
|       лишь ее соседи. Теги же теряют привязку к символам при удалении
 | ||
|       этих символов.  Для работы с метками предназначена команда
 | ||
|       примитива "<em>имяПути</em> <strong>mark</strong>";
 | ||
|       имя метки можно использовать в качестве индекса в командах
 | ||
|       примитива этот индекс указывает на текущее положение метки.</p>
 | ||
| 
 | ||
|     <p>Каждой метке приписывается <em>притяжение</em>, которое может
 | ||
|       принимать значения <strong>left</strong> и
 | ||
|       <strong>right</strong>. Притяжение определяет поведение метка
 | ||
|       при вводе текста в положении метки. При левом притяжении метка
 | ||
|       ведет себя, как если бы она была приписана к символу слева от
 | ||
|       нее; такая метка будет оставаться слева от вновь вводимого
 | ||
|       текста. Для метки с правым притяжением вновь вводимый текст
 | ||
|       окажется слева от нее. По умолчанию притяжение имеет значение
 | ||
|       <strong>right</strong>.</p>
 | ||
| 
 | ||
|     <p>Пространства имен меток и тегов различны: одинаковые имена
 | ||
|       могут использоваться для метки и тега; при этом они будут
 | ||
|       ссылаться на различные объекты.</p>
 | ||
| 
 | ||
|     <p>У двух меток есть особый смысл. Метка <strong>insert</strong>
 | ||
|       связана с курсором ввода; см. описание ниже (см. "<a
 | ||
|       href="#КУРСОР">Курсор ввода</a>"). Метка
 | ||
|       <strong>current</strong> связана с символом, ближайшим к курсору
 | ||
|       "Мыши", ее положение меняется автоматически при
 | ||
|       изменении позиции курсора и любых изменениях текста в примитиве
 | ||
|       (с одним исключением: метка <strong>current</strong> не
 | ||
|       обновляется в ответ на изменение положения курсора при нажатой
 | ||
|       клавише "Мыши"; обновление откладывается до момента,
 | ||
|       когда все клавиши "Мыши" будут отпущены). Ни одну из
 | ||
|       этих двух специальных меток нельзя удалить.</p>
 | ||
|     
 | ||
|     <h2><a name="ВСТАВЛЕННЫЕ_ОКНА"></a>ВСТАВЛЕННЫЕ ОКНА</h2>
 | ||
| 
 | ||
|     <p>Вставленное окно это третий тип ссылок в текстовом
 | ||
|       примитиве. Ссылка на вставленное окно приводит к появлению окна
 | ||
|       в заданном месте текста. В текстовом примитиве может быть любое
 | ||
|       количество вставленных окон; в качестве вставленного окна может
 | ||
|       быть использован любой примитив (при соблюдении обычных
 | ||
|       ограничений управления геометрией, согласно которым текстовое
 | ||
|       окно должно быть непосредственным предком вставленного окна или
 | ||
|       потомком этого предка).  Положение вставленного окна меняется
 | ||
|       при редактировании или прокрутке текста; окно выводится или
 | ||
|       стирается в зависимости от того, попадает ли оно в видимую часть
 | ||
|       текста. Вставленное окно считается одним символом в индексном
 | ||
|       пространстве текстового примитива; на него можно сослаться либо
 | ||
|       по имени текстового окна, либо по значению индекса в индексном
 | ||
|       пространстве. При удалении области текста, содержащей
 | ||
|       вставленное окно, оно разрушается.</p>
 | ||
| 
 | ||
|     <p>При добавлении в текстовый примитив вставленного окна с помощью
 | ||
|       команды примитива <strong>window create</strong> с ним можно
 | ||
|       связать несколько параметров конфигурации. Значения этих
 | ||
|       параметров можно впоследствии изменить командой примитива
 | ||
|       <strong>window configure</strong>. В настоящее время
 | ||
|       поддерживаются следующие параметры:</p>
 | ||
| 
 | ||
|     <dl>
 | ||
|       
 | ||
|       <dt><strong>-align</strong> <em>где</em></dt>
 | ||
| 
 | ||
|       <dd>Если высота вставленного окна отличается от высоты строчки,
 | ||
|         в которой оно выводится, то этот параметр определяет место,
 | ||
|         где выводится окно. Параметр где может принимать следующие
 | ||
|         значения: <strong>top</strong> (верхушка окна совпадает с
 | ||
|         верхней частью строчки), <strong>center</strong> (окно
 | ||
|         центрируется в области строчки), <strong>bottom</strong>
 | ||
|         (нижняя часть окна совпадает с нижней частью строчки) и
 | ||
|         <strong>baseline</strong> (нижняя часть окна совпадает с базой
 | ||
|         строчки).</dd>
 | ||
| 
 | ||
|       <dt><strong>-create</strong> <em>скрипт</em></dt>
 | ||
| 
 | ||
|       <dd>Задает скрипт Tcl, выполняемый для создания вставленного
 | ||
|         окна. Этот скрипт выполняется при выводе окна, если для окна
 | ||
|         не был указан параметр <strong>-window</strong>.Скрипт
 | ||
|         создает окно и возвращает в качестве результата имя этого
 | ||
|         окна. Если окно удаляется, то при его повторном выводе снова
 | ||
|         исполняется тот же скрипт.</dd>
 | ||
| 
 | ||
|       <dt><strong>-padx</strong> <em>пиксели</em></dt>
 | ||
| 
 | ||
|       <dd>Параметр пиксели задает размер дополнительного пространства,
 | ||
|         которое следует оставить по обе стороны вставленного окна. Его
 | ||
|         значение представляет собой расстояние на экране в любом
 | ||
|         допустимом виде.</dd>
 | ||
| 
 | ||
|       <dt><strong>-pady</strong> <em>пиксели</em></dt>
 | ||
| 
 | ||
|       <dd>Параметр <em>пиксели</em> задает размер дополнительного
 | ||
|         пространства, которое следует оставить сверху и снизу от
 | ||
|         вставленного окна. Его значение представляет собой расстояние
 | ||
|         на экране в любом допустимом виде.</dd>
 | ||
| 
 | ||
|       <dt><strong>-stretch</strong> <em>булевское</em></dt>
 | ||
| 
 | ||
|       <dd>Параметр указывает, следует ли вытягивать вставленное окно
 | ||
|         до высоты строчки, если запрошенная для него высота меньше
 | ||
|         высоты строчки, на которой это окно выводится. Если для окна
 | ||
|         задан также параметр <strong>-pady</strong>, то запрошенное
 | ||
|         этим параметром обрамление сохраняется и при вытягивании
 | ||
|         окна.</dd>
 | ||
| 
 | ||
|       <dt><strong>-window</strong> <em>имяПути</em></dt>
 | ||
| 
 | ||
|       <dd>Задает имя выводимого окна.</dd>
 | ||
|     </dl>
 | ||
|     
 | ||
|     <h2><a name="ВСТАВЛЕННЫЕ_ИЗОБРАЖЕНИЯ"></a>ВСТАВЛЕННЫЕ ИЗОБРАЖЕНИЯ</h2>
 | ||
| 
 | ||
|     <p>Последним видом пометок в текстовых примитивах являются
 | ||
|       вставленные изображения. Такая пометка приводит к выводу
 | ||
|       изображения в заданном месте текста. В текстовом примитиве может
 | ||
|       присутствовать произвольное количество вставленных изображений,
 | ||
|       а одно и то же изображение может вставляться в произвольном
 | ||
|       количестве мест в тексте. Положение вставленного изображения
 | ||
|       меняется при редактировании или прокрутке текста. Вставленное
 | ||
|       изображение считается одним символом в индексном пространстве
 | ||
|       текстового примитива; на него можно сослаться либо по значению
 | ||
|       индекса в индексном пространстве, либо по имени, которое оно
 | ||
|       получает при создании командой <a
 | ||
|       href="image.html#create"><strong>image create</strong></a>. При
 | ||
|       удалении области текста, содержащей вставленное изображение,
 | ||
|       данная его копия стирается с экрана.</p>
 | ||
| 
 | ||
|     <p>При добавлении в текстовый примитив вставленного изображения с
 | ||
|       помощью команды примитива <a
 | ||
|       href="image.html#create"><strong>image create</strong></a>
 | ||
|       команда возвращает уникальное имя данного вхождения изображения
 | ||
|       в текст. Это имя в дальнейшем можно использовать для ссылок на
 | ||
|       вхождение изображения. Имя совпадает со значением параметра
 | ||
|       <strong>-name</strong> (см. ниже). Если параметр
 | ||
|       <strong>-name</strong> не задан, то вместо него используется имя
 | ||
|       <strong>-image</strong>. Если значение <em>имяИзобр</em> уже
 | ||
|       использовано в примитиве, то к нему дописываются символы
 | ||
|       <em>#nn</em>, где <em>nn</em> произвольное целое число.  Таким
 | ||
|       образом обеспечивается уникальность имени. После присвоения
 | ||
|       имени данному вхождению изображения это имя в дальнейшем не
 | ||
|       меняется, несмотря на то, что значения параметров
 | ||
|       <strong>-image</strong> и <strong>-name</strong> можно поменять
 | ||
|       с помощью команды <a href="image.html#configure"><strong>image
 | ||
|       configure</strong></a>.</p>
 | ||
| 
 | ||
|     <p>При добавлении в текстовый примитив вставленного изображения с
 | ||
|       помощью команды примитива <a
 | ||
|       href="image.html#create"><strong>image create</strong></a> с ним
 | ||
|       можно связать несколько параметров конфигурации. Значения этих
 | ||
|       параметров можно впоследствии изменить командой примитива <a
 | ||
|       href="image.html#configure"><strong>image
 | ||
|       configure</strong></a>. В настоящее время поддерживаются
 | ||
|       следующие параметры:</p>
 | ||
| 
 | ||
|     <dl>
 | ||
|       <dt><strong>-align</strong> <em>где</em></dt>
 | ||
| 
 | ||
|       <dd>Если высота вставленного изображения отличается от высоты
 | ||
|         строчки, в которой оно выводится, то этот параметр определяет
 | ||
|         место, где выводится изображение. Параметр где может принимать
 | ||
|         следующие значения: <strong>top</strong> (верхушка
 | ||
|         изображения совпадает с верхней частью строчки),
 | ||
|         <strong>center</strong> (изображение центрируется в области
 | ||
|         строчки), <strong>bottom</strong> (нижняя часть изображения
 | ||
|         совпадает с нижней частью строчки) и <strong>baseline</strong>
 | ||
|         (нижняя часть изображения совпадает с базой строчки).</dd>
 | ||
| 
 | ||
|       <dt><strong>-image</strong> <em>изобр</em></dt>
 | ||
| 
 | ||
|       <dd>Задает имя выводимого изображения Tk. Если значение
 | ||
|         параметра не является допустимым именем изображения, то
 | ||
|         возвращается сообщение об ошибке.</dd>
 | ||
| 
 | ||
|       <dt><strong>-name</strong> <em>ИмяИзобр</em></dt>
 | ||
| 
 | ||
|       <dd>Задает имя ссылки на данное вхождение изображения. Если
 | ||
|         параметр <em>ИмяИзобр</em> не задан, то именем служит имя
 | ||
|         изображения Tk. Если значение параметра ИмяИзобр уже
 | ||
|         использовалось, то к нему приписываются символы #nn, как
 | ||
|         описано выше.</dd>
 | ||
| 
 | ||
|       <dt><strong>-padx</strong> <em>пиксели</em></dt>
 | ||
| 
 | ||
|       <dd>Параметр <em>пиксели</em> задает размер дополнительного
 | ||
|         пространства, которое следует оставить по обе стороны
 | ||
|         вставленного изображения. Его значение представляет собой
 | ||
|         расстояние на экране в любом допустимом виде.</dd>
 | ||
| 
 | ||
|       <dt><strong>-pady</strong> <em>пиксели</em></dt>
 | ||
| 
 | ||
|       <dd>Параметр <em>пиксели</em> задает размер дополнительного
 | ||
|         пространства, которое следует оставить сверху и снизу от
 | ||
|         вставленного изображения. Его значение представляет собой
 | ||
|         расстояние на экране в любом допустимом виде.</dd>
 | ||
|     </dl>
 | ||
| 
 | ||
|     <h2><a name="ВЫДЕЛЕНИЕ"></a>ВЫДЕЛЕНИЕ</h2> 
 | ||
| 
 | ||
|     <p>Выделение реализуется с помощью тегов. Если параметр
 | ||
|       <strong>exportSelection</strong> текстового примитива имеет
 | ||
|       значение истина, то с выделением ассоциируется тег
 | ||
|       <strong>sel</strong>:
 | ||
| 
 | ||
|     <ol>
 | ||
|       <li>Если некоторые символы помечены тегом
 | ||
|         <strong>sel</strong>, то текстовый примитив притязает на
 | ||
|         владение выделением.</li>
 | ||
| 
 | ||
|       <li>Результатом поиска выделения будут служить все символы,
 | ||
|         помеченные тегом <strong>sel</strong>.</li>
 | ||
| 
 | ||
|       <li>Если выделение запрашивается другим приложением или другим
 | ||
|         окном данного приложения, то тег <strong>sel</strong>
 | ||
|         снимается со всех символов текста.</li>
 | ||
|     </ol>
 | ||
|     
 | ||
|     <p>Тег <strong>sel</strong> определяется автоматически при
 | ||
|       создании текстового примитива; его нельзя удалить командой
 | ||
|       примитива "<em>имяПути</em> <strong>tag
 | ||
|       delete</strong>". Кроме того параметры
 | ||
|       <strong>selectBackground</strong>,
 | ||
|       <strong>selectBorderWidth</strong> и
 | ||
|       <strong>selectForeground</strong> текстового примитива связаны с
 | ||
|       параметрами <strong>-background</strong>,
 | ||
|       <strong>-borderwidth</strong> и <strong>-foreground</strong>
 | ||
|       тега <strong>sel</strong>: изменение одного из этих параметров
 | ||
|       примитива автоматически вызывает изменение соответствующего
 | ||
|       параметра тега и наоборот.</p>
 | ||
|       
 | ||
| 
 | ||
|     <h2><a name="КУРСОР_ВВОДА"></a>КУРСОР ВВОДА</h2>
 | ||
| 
 | ||
|     <p>Метка с именем <strong>insert</strong> имеет в текстовых
 | ||
|       примитивах специальное значение. Она определяется автоматически
 | ||
|       при создании примитива и ее нельзя отменить командой примитива
 | ||
|       "<em>имяПути</em><strong>mark unset</strong>". Метка
 | ||
|       <strong>insert</strong> задает положение курсора ввода; курсор
 | ||
|       ввода отображается в этом положении всякий раз, когда текстовый
 | ||
|       примитив попадает в фокус ввода.</p>
 | ||
| 
 | ||
|     <h2><a name="КОМАНДА_ПРИМИТИВА"></a>КОМАНДА ПРИМИТИВА</h2> 
 | ||
| 
 | ||
|     <p>Команда <strong>text</strong> создает новую команду Tcl, имя
 | ||
|       которой совпадает с именем текстового окна. С помощью этой
 | ||
|       команды можно выполнять различные операции над примитивом. Ее
 | ||
|       общий вид</p>
 | ||
| 
 | ||
|     <pre>
 | ||
|       имяПути параметр ?арг арг ...?
 | ||
|     </pre>
 | ||
| 
 | ||
|     <p><em>имяПути</em> является именем команды; оно совпадает с
 | ||
|       именем пути текстового примитива. Параметр и аргументы уточняют
 | ||
|       поведение команды. Текстовые примитивы допускают следующие формы
 | ||
|       команды:</p>
 | ||
| 
 | ||
|     <dl>
 | ||
|       <dt><em>имяПути</em> <strong>bbox</strong> <em>индекс</em></dt>
 | ||
| 
 | ||
|       <dd>Возвращает список из четырех элементов, описывающий область
 | ||
|         экрана, занимаемую символом с индексом <em>индекс</em>. Первые
 | ||
|         два элемента списка представляют собой координаты x и y
 | ||
|         верхнего левого угла этой области; последние два это ее ширина
 | ||
|         и высота. Если символ виден на экране лишь частично, то
 | ||
|         возвращаемые значения описывают видимую часть области. Если
 | ||
|         символ на экране не виден, то возвращаемое значение является
 | ||
|         пустым списком.</dd>
 | ||
| 
 | ||
|       <dt><em>имяПути</em> <strong>cget</strong>
 | ||
|         <em>параметр</em></dt>
 | ||
| 
 | ||
|       <dd>Возвращает текущее значение параметра конфигурации с именем
 | ||
|         <em>параметр</em>. Параметр может быть любым из параметров
 | ||
|         команды <strong>text</strong>.</dd>
 | ||
| 
 | ||
|       <dt><em>имяПути</em> <strong>compare</strong> <em>индекс1 оп
 | ||
|           индекс2</em></dt>
 | ||
| 
 | ||
|       <dd>Сравнивает индексы, задаваемые параметрами <em>индекс1</em>
 | ||
|         и <em>индекс2</em>, в соответствии с оператором отношения,
 | ||
|         задаваемым параметром <em>оп</em>; команда возвращает
 | ||
|         "1", если указанное отношение выполняется, и
 | ||
|         "0" в противном случае. Параметр оп может принимать
 | ||
|         одно из значений "<", "<=",
 | ||
|         "=", ">=", ">" или
 | ||
|         "!=". Если значением оператора является
 | ||
|         "=", то команда возвращает "1", если оба
 | ||
|         индекса ссылаются на один и тот же символ; при операторе
 | ||
|         "<" команда возвращает "1", если
 | ||
|         <em>индекс1</em> ссылается на символ, предшествующий символу с
 | ||
|         индексом <em>индекс2</em>, и т.д.</dd>
 | ||
| 
 | ||
|       <dt><em>имяПути</em> <strong>configure</strong>
 | ||
|         ?<em>параметр</em>? ?<em>значение параметр значение</em>
 | ||
|         ...?</dt>
 | ||
| 
 | ||
|       <dd>Запрашивает значения параметров конфигурации примитива или
 | ||
|         изменяет их. Если <em>параметр</em> не указан, то возвращает
 | ||
|         список, содержащий значения всех допустимых в
 | ||
|         <em>имениПути</em> параметров (формат списка описан в
 | ||
|         Tk_ConfigureInfo). Если <em>параметр</em> задан, а его новое
 | ||
|         <em>значение</em> нет, то команда возвращает часть полного
 | ||
|         списка, относящуюся к указанному параметру. Если заданы одна
 | ||
|         или несколько пар <em>параметр-значение</em>, то указанным
 | ||
|         <em>параметр</em>ам примитива присваиваются новые
 | ||
|         <em>значения</em>, а команда возвращает пустую
 | ||
|         строку. <em>Параметр</em> может быть любым из параметров
 | ||
|         команды <strong>text</strong>.</dd>
 | ||
| 
 | ||
|       <dt><em>имяПути</em> <strong>debug</strong>
 | ||
|         ?<em>булевское</em>?</dt>
 | ||
| 
 | ||
|       <dd>Если задан параметр <em>булевское</em>, то он может иметь
 | ||
|         значение истина или ложь в виде, приемлемом для
 | ||
|         <strong>Tcl_GetBoolean</strong>. Если значение параметра
 | ||
|         истина, то в B-дереве, связанном с текстовыми примитивами,
 | ||
|         будет выполняться внутренняя проверка согласованности. В
 | ||
|         противном случае эта проверка будет отключена. Независимо от
 | ||
|         полученного значения команда возвращает пустую строку. Если
 | ||
|         параметр <em>булевское</em> не задан, то команда возвращает
 | ||
|         <strong>on</strong> или <strong>off</strong> в зависимости от
 | ||
|         того, подключена или нет в момент выполнения команды система
 | ||
|         отладки. Переключатель отладки один на все текстовые
 | ||
|         примитивы: изменение его значения в одном примитиве приводит к
 | ||
|         изменению этого значения для всех примитивов. Проверка
 | ||
|         согласованности для примитивов с длинными текстами может
 | ||
|         привести к существенному замедлению работы.</dd>
 | ||
| 
 | ||
|       <dt><em>имяПути</em> <strong>delete</strong> <em>индекс1</em>
 | ||
|         ?<em>индекс2</em>?</dt>
 | ||
| 
 | ||
|       <dd>Удаляет последовательность символов в тексте. Если заданы
 | ||
|         оба параметра <em>индекс1</em> и <em>индекс2</em>, то
 | ||
|         удаляются все символы, начиная с символа с индексом
 | ||
|         <em>индекс1</em>, и кончая символом, непосредственно
 | ||
|         предшествующим символу с индексом <em>индекс2</em>
 | ||
|         (т.е. символ с индексом <em>индекс2</em> не удаляется). Если
 | ||
|         параметр <em>индекс2</em> не задан, то удаляется только символ
 | ||
|         с индексом <em>индекс1</em>. Невозможно такое удаление, при
 | ||
|         котором последний символ оставшегося текста не будет символом
 | ||
|         перевода строки. Команда возвращает пустую строку.</dd>
 | ||
| 
 | ||
|       <dt><em>имяПути</em> <strong>dlineinfo</strong> <em>индекс</em></dt>
 | ||
| 
 | ||
|       <dd>Возвращает список из пяти элементов, описывающий область
 | ||
|         экрана, занимаемую строчкой, содержащей символ с индексом
 | ||
|         <em>индекс</em>. Первые два элемента списка представляют собой
 | ||
|         координаты x и y верхнего левого угла этой области; следующие
 | ||
|         два это ее ширина и высота; пятый элемент это расстояние от
 | ||
|         верхней границы области вниз до базы строчки. Все значения
 | ||
|         измеряются в пикселях. Если текущий режим переноса строки
 | ||
|         имеет значение <strong>none</strong> и строка видна на экране
 | ||
|         лишь частично, то возвращаемые значения описывают всю область
 | ||
|         строки, включая и ее невидимые части. Если строчка короче
 | ||
|         полной ширины экрана, то возвращаемые значения описывают
 | ||
|         только ту ее часть, которая занята символами и вставленными
 | ||
|         окнами. Если строчка, содержащая символ с индексом
 | ||
|         <em>индекс</em>, на экране не видна, то возвращаемое значение
 | ||
|         является пустым списком.</dd>
 | ||
| 
 | ||
|       <dt><em>имяПути</em> <strong>dump</strong> ?<em>переключатели</em>?
 | ||
|         <em>индекс1</em> ?<em>индекс2</em>?</dt>
 | ||
| 
 | ||
|       <dd><p>Возвращает содержимое текстового примитива от символа с
 | ||
|           индексом <em>индекс1</em> до символа с индексом
 | ||
|           <em>индекс2</em> (не включая последний), включая сам текст,
 | ||
|           а также информацию о метках, тегах и вставленных окнах. Если
 | ||
|           параметр <em>индекс2</em> не задан, то по умолчанию
 | ||
|           описывается символ с индексом <em>индекс1</em>. Возвращаемая
 | ||
|           информация имеет следующий формат:</p>
 | ||
| 
 | ||
|         <pre>
 | ||
|           ключ1 значение1 индекс1 ключ 2 значение 2 индекс 2 ...
 | ||
|         </pre>
 | ||
| 
 | ||
|         <p>Ключи могут принимать значения <strong>text</strong>,
 | ||
|           <strong>mark</strong>, <strong>tagon</strong>,
 | ||
|           <strong>tagoff</strong> и
 | ||
|           <strong>window</strong>. Соответствующими возвращаемыми
 | ||
|           значениями будут текст, имя метки, имя тега или имя
 | ||
|           окна. Возвращаемыми значениями индекса будут индекс начала
 | ||
|           текста, метки, тегового перехода или окна. Для управления
 | ||
|           результатом можно использовать один или несколько из
 | ||
|           следующих переключателей (или их аббревиатур):</p>
 | ||
| 
 | ||
|         <dl>
 | ||
|           <dt><strong>-all</strong></dt>
 | ||
| 
 | ||
|           <dd>Возвращается информация обо всех элементах тексте,
 | ||
|             метках, тегах и окнах. Это значение принято по
 | ||
|             умолчанию.</dd>
 | ||
| 
 | ||
|           <dt><strong>-command</strong> <em>команда</em></dt>
 | ||
| 
 | ||
|           <dd>В этом случае вместо возвращения информации об элементах
 | ||
|             текстового примитива на каждом из этих элементов в
 | ||
|             указанной области текста выполняется
 | ||
|             <em>команда</em>. Аргументами <em>команды</em> служат
 | ||
|             ключ, значение и индекс соответствующего элемента.</dd>
 | ||
| 
 | ||
|           <dt><strong>-mark</strong></dt>
 | ||
| 
 | ||
|           <dd>Включить в результат информацию о метках.</dd>
 | ||
| 
 | ||
|           <dt><strong>-tag</strong></dt>
 | ||
| 
 | ||
|           <dd>Включить в результат информацию о теговых
 | ||
|             переходах. Информация о тегах возвращается в виде
 | ||
|             элементов <strong>tagon</strong> и
 | ||
|             <strong>tagoff</strong>, указывающих соответственно начало
 | ||
|             и конец каждой области тега.</dd>
 | ||
| 
 | ||
|           <dt><strong>-text</strong></dt>
 | ||
| 
 | ||
|           <dd>Включить в результат информацию о тексте. Значением
 | ||
|             служит текст до следующего элемента или до конца области,
 | ||
|             указанного параметром <em>индекс2</em>. Текстовый элемент
 | ||
|             не захватывает новых строк. Часть текста, содержащая
 | ||
|             несколько строк и не включающая меток и теговых переходов,
 | ||
|             будет выводиться в виде набора отрезков текста, каждый из
 | ||
|             которых кончается символом перевода строки. Эти символы
 | ||
|             являются частью результата.</dd>
 | ||
| 
 | ||
|         <dt><strong>-window</strong></dt>
 | ||
| 
 | ||
|           <dd>Включить в результат информацию о вставленных
 | ||
|             окнах. Значением является имя Tk пути вставленного окна,
 | ||
|             за исключением случая, когда окно еще не создано. (Окно
 | ||
|             должно содержать создающий скрипт.) В последнем случае
 | ||
|             результатом служит пустая строка, а дополнительную
 | ||
|             информацию об окне можно получить, задав значение его
 | ||
|             индекса.</dd>
 | ||
|         </dl>
 | ||
|         
 | ||
|       <dt><em>имяПути</em> <strong>get</strong> <em>индекс1</em>
 | ||
|         ?<em>индекс2</em>?</dt>
 | ||
| 
 | ||
|       <dd>Возвращает последовательность символов в тексте. В
 | ||
|         последовательность включаются все символы текста, начиная с
 | ||
|         символа с индексом <em>индекс1</em> и кончая символом,
 | ||
|         непосредственно предшествующим символу с индексом
 | ||
|         <em>индекс2</em> (символ с индексом <em>индекс2</em> в эту
 | ||
|         последовательность не входит). Если параметр <em>индекс2</em>
 | ||
|         опущен, то команда возвращает единственный символ с индексом
 | ||
|         <em>индекс1</em>. Если в указанном интервале нет символов
 | ||
|         (например, если <em>индекс1</em> указывает за конец файла или
 | ||
|         значение <em>индекс2</em> меньше, чем <em>индекс1</em>), то
 | ||
|         команда возвращает пустую строку. Если в указанном интервале
 | ||
|         есть вставленные окна, то информация о них в возвращаемую
 | ||
|         строку не входит.</dd>
 | ||
| 
 | ||
|       <dt><em>имяПути</em> <strong>image</strong> ?<em>параметр</em>?
 | ||
|         ?<em>арг арг ...</em>?</dt>
 | ||
| 
 | ||
|       <dd><p>Команда предназначена для управления вставленными
 | ||
|         изображениями. Поведение команды определяется значением
 | ||
|         аргумента <em>параметр</em>. В настоящее время поддерживаются
 | ||
|         следующие формы команды:</p>
 | ||
| 
 | ||
|         <dl>
 | ||
|           <dt><em>имяПути</em> <strong>image cget</strong> <em>индекс
 | ||
|               параметр</em></dt>
 | ||
| 
 | ||
|           <dd>Возвращает значение параметра конфигурации вставленного
 | ||
|             изображения. Аргумент <em>индекс</em> указывает
 | ||
|             вставленное изображение, а <em>параметр</em> задает имя
 | ||
|             требуемого параметра конфигурации; это имя должно быть
 | ||
|             элементом списка, приведенного (см. "<a
 | ||
|             href="#ВСТАВЛЕННЫЕ_ИЗОБРАЖЕНИЯ">Вставленные
 | ||
|               изображения</a>").</dd>
 | ||
| 
 | ||
|           <dt><em>имяПути</em> <strong>image configure</strong>
 | ||
|             <em>индекс</em> ?<em>параметр значение ...</em>?</dt>
 | ||
| 
 | ||
|           <dd>Запрашивает значение параметров вставленного изображения
 | ||
|             или изменяет эти значения. Если ни один аргумент параметр
 | ||
|             не задан, то возвращает список, содержащий значения всех
 | ||
|             наличных параметров вставленного изображения с индексом
 | ||
|             индекс (формат списка описан в Tk_ConfigureInfo). Если
 | ||
|             параметр задан, а его значение нет, то команда возвращает
 | ||
|             часть списка, относящуюся к данному параметру. Если задано
 | ||
|             несколько пар параметр-значение, то команда придает
 | ||
|             указанным параметрам новые значения; в этом случае команда
 | ||
|             возвращает пустую строку. Описание поддерживаемых
 | ||
|             параметров (см. "<a
 | ||
|             href="#ВСТАВЛЕННЫЕ_ИЗОБРАЖЕНИЯ">Вставленные
 | ||
|             изображения</a>").</dd>
 | ||
| 
 | ||
|           <dt><em>имяПути</em> <strong>image create</strong>
 | ||
|             <em>индекс</em> ?<em>параметр значение ...</em>?</dt>
 | ||
| 
 | ||
|           <dd>Команда создает новую ссылку на изображение, которое
 | ||
|             появляется в тексте в положении, указанном аргументом
 | ||
|             <em>индекс</em>. Для установки параметров конфигурации
 | ||
|             изображения можно указать произвольное число пар
 | ||
|             <em>параметр-значение</em>. Команда возвращает уникальный
 | ||
|             идентификатор, который можно использовать в качестве
 | ||
|             индекса при ссылке на данное изображение. Описания
 | ||
|             поддерживаемых параметров и возвращаемого идентификатора
 | ||
|             (см. "<a
 | ||
|             href="text.html#ВСТАВЛЕННЫЕ_ИЗОБРАЖЕНИЯ">Вставленные
 | ||
|             изображения</a>").</dd>
 | ||
| 
 | ||
|           <dt><em>имяПути</em> <strong>image names</strong></dt>
 | ||
| 
 | ||
|           <dd>Возвращает список, элементами которого служат имена всех
 | ||
|             вхождений изображений, вставленных в данное
 | ||
|             <em>окно</em>.</dd>
 | ||
|           </dl>
 | ||
|         </dd>
 | ||
| 
 | ||
|         <dt><em>имяПути</em> <strong>index</strong> <em>индекс</em></dt>
 | ||
| 
 | ||
|         <dd>Возвращает положение символа с индексом индекс; положение
 | ||
|           выдается в виде строч.симв, где строч это номер строчки, а
 | ||
|           симв номер символа в этой строчке. Аргумент индекс может
 | ||
|           иметь любую из форм, описанных выше (см. "<a
 | ||
|           href="#ИНДЕКСЫ">Индексы</a>").</dd>
 | ||
| 
 | ||
|         <dt><em>имяПути</em> <strong>insert</strong> <em>индекс
 | ||
|             символы</em> ?<em>списТегов символы
 | ||
|             списТегов...</em>?</dt>
 | ||
| 
 | ||
|         <dd>Вставляет значения всех аргументов символы непосредственно
 | ||
|           перед символом с индексом <em>индекс</em>. Если
 | ||
|           <em>индекс</em> ссылается на конец текста (т.е. на символ,
 | ||
|           следующий за последним символом перевода строки), то новый
 | ||
|           текст вставляется непосредственно перед последним символом
 | ||
|           перевода строки. Если у команды один аргумент символы, а
 | ||
|           аргументы <em>списТегов</em> отсутствуют, то ко вновь
 | ||
|           введенному тексту будут приписаны все теги, присутствующие у
 | ||
|           обоих символов слева и справа от нового текста; если тег
 | ||
|           приписан лишь к одному из соседних символов, то на вновь
 | ||
|           введенный текст он не распространяется. Аргументы
 | ||
|           <em>списТегов</em> представляют собой списки имен тегов;
 | ||
|           новым символам будут приписаны только эти теги, независимо
 | ||
|           от состояния тегов по обе стороны от точки ввода. Если в
 | ||
|           аргументах команды присутствует несколько пар
 | ||
|           символы <em>-списТегов</em>, то результат ее выполнения
 | ||
|           совпадает с результатом выполнения нескольких таких же
 | ||
|           команд примитива, по одной на каждую пару. Последний
 | ||
|           аргумент списТегов может быть опущен.</dd>
 | ||
| 
 | ||
|         <dt><em>имяПути</em> <strong>mark</strong> <em>параметр</em>
 | ||
|           ?<em>арг арг ...</em>?</dt>
 | ||
| 
 | ||
|         <dd><p>Эта команда предназначена для работы с
 | ||
|             метками. Поведение команды определяется значением
 | ||
|             аргумента <em>параметр</em>. В настоящее время
 | ||
|             поддерживаются следующие формы команды:</p>
 | ||
| 
 | ||
|           <dl>
 | ||
|             <dt><em>имяПути</em> <strong>mark gravity</strong>
 | ||
|               <em>имяМетки</em> ?<em>направление</em>?</dt>
 | ||
| 
 | ||
|             <dd>Если аргумент <em>направление</em> не задан, то
 | ||
|               команда возвращает значение <strong>left</strong> или
 | ||
|               <strong>right</strong>, указывающее, притягивается ли
 | ||
|               метка к символу слева или справа от нее. Если
 | ||
|               <em>направление</em> задано, то оно должно иметь
 | ||
|               значение <strong>left</strong> или
 | ||
|               <strong>right</strong>, и притяжению метки с именем
 | ||
|               <em>имяМетки</em> присваивается указанное значение.</dd>
 | ||
| 
 | ||
|           <dt><em>имяПути</em> <strong>mark names</strong></dt>
 | ||
| 
 | ||
|             <dd>Возвращает список, элементами которого являются имена
 | ||
|               всех уже установленных меток.</dd>
 | ||
| 
 | ||
|             <dt><em>имяПути</em> <strong>mark next</strong>
 | ||
|               <em>индекс</em></dt>
 | ||
| 
 | ||
|             <dd>Возвращает имя первой метки, идущей за символом с
 | ||
|               индексом <em>индекс</em> (или притягивающейся к этому
 | ||
|               символу). Если аргумент <em>индекс</em> задан в числовом
 | ||
|               виде, то поиск метки начинается с указанного
 | ||
|               символа. Если значением аргумента <em>индекс</em>
 | ||
|               является имя метки, то поиск очередной метки начинается
 | ||
|               непосредственно после заданной метки. При этом
 | ||
|               возвращаемым значением может оказаться имя метки с тем
 | ||
|               же самым положением, если в этом положении находится
 | ||
|               несколько меток.  Смысл этого действия состоит в том,
 | ||
|               что команда <strong>mark next</strong> позволяет
 | ||
|               последовательно перебрать все метки в текстовом
 | ||
|               примитиве в том же порядке, в котором информация о
 | ||
|               метках выводится командой <strong>dump</strong>. Если
 | ||
|               метка установлена в положении, указанном специальным
 | ||
|               индексом <strong>end</strong>, то для операции
 | ||
|               <strong>mark next</strong> эта метка находится
 | ||
|               <em>после</em> индекса <strong>end</strong>. Если после
 | ||
|               символа с индексом <em>индекс</em> меток нет, то команда
 | ||
|               возвращает пустую строку.</dd>
 | ||
| 
 | ||
|             <dt><em>имяПути</em> <strong>mark previous</strong>
 | ||
|               <em>индекс</em></dt>
 | ||
| 
 | ||
|             <dd>Возвращает имя первой метки, идущей перед символом с
 | ||
|               индексом <em>индекс</em> (или притягивающейся к этому
 | ||
|               символу). Если аргумент <em>индекс</em> задан в числовом
 | ||
|               виде, то поиск метки начинается с символа,
 | ||
|               непосредственно предшествующего указанному. Если
 | ||
|               значением аргумента <em>индекс</em> является имя метки,
 | ||
|               то поиск очередной метки начинается непосредственно
 | ||
|               перед заданной меткой. При этом возвращаемым значением
 | ||
|               может оказаться имя метки с тем же самым положением,
 | ||
|               если в этом положении находится несколько меток. Смысл
 | ||
|               этого действия состоит в том, что команда <strong>mark
 | ||
|               previous</strong> позволяет последовательно перебрать
 | ||
|               все метки в текстовом примитиве в порядке, обратном
 | ||
|               тому, в котором информация о метках выводится командой
 | ||
|               <strong>dump</strong>. Если перед символом с индексом
 | ||
|               <em>индекс</em> меток нет, то команда возвращает пустую
 | ||
|               строку.</dd>
 | ||
| 
 | ||
|             <dt><em>имяПути</em> <strong>mark set</strong>
 | ||
|               <em>имяМетки индекс</em></dt>
 | ||
| 
 | ||
|             <dd>Устанавливает метку с именем <em>имяМетки</em>
 | ||
|               непосредственно перед символом с индексом индекс. Если
 | ||
|               метка с именем имяМетки уже существует, то она
 | ||
|               перемещается из своего старого положения в новое; если
 | ||
|               такой метки нет, то создается новая метка. Команда
 | ||
|               возвращает пустую строку.</dd>
 | ||
| 
 | ||
|             <dt><em>имяПути</em> <strong>mark unset</strong>
 | ||
|               <em>имяМетки</em> ?<em>имяМетки имяМетки...</em>?</dt>
 | ||
| 
 | ||
|             <dd>Удаляет все метки с именами <em>имяМетки</em>.
 | ||
|               Удаленные метки нельзя использовать в качестве индексов;
 | ||
|               команда "<em>имяПути</em> <strong>mark names</strong>"
 | ||
|               так же не возвращает их в списке меток. Команда
 | ||
|               возвращает пустую строку.</dd>
 | ||
|           </dl>
 | ||
|         </dd>
 | ||
|           
 | ||
|         <dt><em>имяПути</em> <strong>scan</strong> <em>параметр
 | ||
|             арг</em></dt>
 | ||
|             
 | ||
|         <dd><p>Команда используется для сканирования текстов. Она
 | ||
|             может иметь один из двух видов в зависимости от значения
 | ||
|             параметра:</p>
 | ||
| 
 | ||
|           <dl>
 | ||
|             <dt><em>имяПути</em> <strong>scan mark</strong> <em>x
 | ||
|                 y</em></dt>
 | ||
| 
 | ||
|             <dd>Записывает координаты x и y и текущий вид текстового
 | ||
|               окна для последующего использования командами
 | ||
|               <strong>scan dragto</strong>. Обычно эта команда связана
 | ||
|               с нажатием клавиши "Мыши" в
 | ||
|               примитиве. Возвращает пустую строку.</dd>
 | ||
| 
 | ||
|             <dt><em>имяПути</em> <strong>scan dragto</strong>
 | ||
|               <em>x y</em></dt>
 | ||
| 
 | ||
|             <dd>Команда вычисляет разность значений аргументов x и y и
 | ||
|               значений аргументов x и y последней выполненной на
 | ||
|               примитиве команды <strong>scan mark</strong>. Затем
 | ||
|               команда переносит сохраненный вид окна на расстояние, в
 | ||
|               10 раз пресыщающее вычисленную разность. Обычно эта
 | ||
|               команда связывается с событиями движения курсора
 | ||
|               "Мыши" в примитиве и предназначена для
 | ||
|               перетаскивания текста по окну с высокой
 | ||
|               скоростью. Возвращает пустую строку.</dd>
 | ||
|           </dl>
 | ||
|         </dd>
 | ||
|         
 | ||
|         <dt><em>имяПути</em> <strong>search</strong>
 | ||
|           ?<em>переключатели</em>?  <em>образец индекс
 | ||
|           индексСтоп</em>?</dt>
 | ||
|         
 | ||
|         <dd><p>Ищет в примитиве с именем <em>имяПути</em> текст
 | ||
|           подходящий под образец, начиная с символа с индексом
 | ||
|           индекс. Если подходящая последовательность символов найдена,
 | ||
|           то команда возвращает в качестве результата индекс первого
 | ||
|           символа в этой последовательности; в противном случае
 | ||
|           возвращает пустую строку. Для управления поиском можно
 | ||
|           задать один или несколько из описываемых ниже переключателей
 | ||
|           (или их аббревиатур):</p>
 | ||
| 
 | ||
|           <dl>
 | ||
|             <dt><strong>-forwards</strong></dt>
 | ||
| 
 | ||
|             <dd>Поиск осуществляется в направлении "вперед",
 | ||
|               подходящая последовательность символов ищется в
 | ||
|               положении, указанном аргументом <em>индекс</em>, и
 | ||
|               дальше по тексту. Это значение принято по
 | ||
|               умолчанию.</dd>
 | ||
| 
 | ||
|             <dt><strong>-backwards</strong></dt>
 | ||
| 
 | ||
|             <dd>Поиск осуществляется в направлении "назад",
 | ||
|               подходящая последовательность символов ищется перед
 | ||
|               положением, указанным аргументом <em>индекс</em>, и
 | ||
|               ближе всего к нему.</dd>
 | ||
| 
 | ||
|             <dt><strong>-exact</strong></dt>
 | ||
| 
 | ||
|             <dd>Требует точного соответствия образцу: символы в
 | ||
|               подходящей последовательности должны в точности
 | ||
|               совпадать с символами образца. Это значение принято по
 | ||
|               умолчанию.</dd>
 | ||
| 
 | ||
|           <dt><strong>-regexp</strong></dt>
 | ||
| 
 | ||
|             <dd>Указывает на необходимость считать образец регулярным
 | ||
|               выражением и устанавливать соответствие согласно
 | ||
|               правилам, принятым для регулярных выражений (подробности
 | ||
|               см. в описании команды <a
 | ||
|               href="../tcl/regexp.html">regexp</a>).</dd>
 | ||
| 
 | ||
|             <dt><strong>-nocase</strong></dt>
 | ||
| 
 | ||
|             <dd>Игнорировать различие регистров в образце и
 | ||
|               тексте.</dd>
 | ||
| 
 | ||
|             <dt><strong>-count</strong> <em>имяПерем</em></dt>
 | ||
| 
 | ||
|             <dd>Аргумент <em>имяПерем</em> представляет собой имя
 | ||
|               переменной; если подходящая последовательность найдена,
 | ||
|               то в эту переменную заносится число символов в ней.</dd>
 | ||
| 
 | ||
|             <dt><strong>--</strong></dt>
 | ||
| 
 | ||
|             <dd>Единственная задача этого переключателя завершение
 | ||
|               списка переключателей; следующий за ним аргумент будет
 | ||
|               интерпретирован как <em>образец</em>, даже если он и
 | ||
|               начинается с "-"</dd>
 | ||
|           </dl>
 | ||
| 
 | ||
|           <p>Вся подходящая последовательность должна содержаться в
 | ||
|             одной строке текста. Перед сопоставлении с регулярным
 | ||
|             выражением из текста удаляются все символы перевода
 | ||
|             строки. Для поиска соответствия такому символу можно
 | ||
|             воспользоваться служебным символом .$. в регулярных
 | ||
|             выражениях. Для точных соответствий переводы строк
 | ||
|             сохраняются. Если задан аргумент <em>индексСтоп</em>, то
 | ||
|             поиск прекращается по достижении символа с этим индексом:
 | ||
|             для поиска вперед не будут рассматриваться соответствия,
 | ||
|             начинающиеся на символе с этим индексом или позднее, для
 | ||
|             поиска назад не рассматриваются соответствия, начинающиеся
 | ||
|             раньше указанного индекса. Если аргумент
 | ||
|             <em>индексСтоп</em> опущен, то поиск осуществляется по
 | ||
|             всему тексту: по достижении одного из краев текста поиск
 | ||
|             продолжается, начиная с другого края, до тех пор пока не
 | ||
|             будет снова достигнуто исходное положение. Если аргумент
 | ||
|             <em>индексСтоп</em> задан, то перескакивания на
 | ||
|             противоположный край текста не происходит.</p>
 | ||
|         </dd>
 | ||
| 
 | ||
|         <dt><em>имяПути</em> <strong>see</strong> <em>индекс</em></dt>
 | ||
| 
 | ||
|         <dd>Сдвигает содержимое окна таким образом, чтобы символ с
 | ||
|           индексом <em>индекс</em> был виден полностью. Если этот
 | ||
|           символ расположен недалеко от видимой части текста, то сдвиг
 | ||
|           осуществляется настолько, чтобы он был виден у края
 | ||
|           окна. Если же указанный символ располагается далеко, то в
 | ||
|           результате сдвига он оказывается в центре окна.
 | ||
|         </dd>
 | ||
| 
 | ||
|         <dt><em>имяПути</em> <strong>tag</strong> <em>параметр</em>
 | ||
|             ?<em>арг арг ...</em>?</dt>
 | ||
| 
 | ||
|         <dd><p>Эта команда используется для работы с тегами. Ее поведение
 | ||
|           определяется значением аргумента <em>параметр</em>. В
 | ||
|           настоящее время поддерживаются следующие формы команды:</p>
 | ||
| 
 | ||
|           <dl>
 | ||
|             <dt><em>имяПути</em> <strong>tag add</strong> <em>имяТега
 | ||
|                 индекс1</em> ?<em>индекс2 индекс1 индекс2 ...</em>?</dt>
 | ||
| 
 | ||
|             <dd>Приписывает тег <em>имяТега</em> ко всем символам,
 | ||
|               начиная с <em>индекса1</em> и кончая непосредственно
 | ||
|               перед символа с индексом <em>индекс2</em> (к самому
 | ||
|               этому символу данный тег не приписывается). В одной
 | ||
|               команде может присутствовать произвольное число пар
 | ||
|               <em>индекс1-индекс2</em>. Если последний аргумент
 | ||
|               <em>индекс2</em> опущен, то тег приписывается к
 | ||
|               единственному символу с индексом <em>индекс1</em>. Если
 | ||
|               в указанном промежутке нет символов (например,
 | ||
|               <em>индекс1</em> указывает за конец файла или
 | ||
|               <em>индекс2</em> оказывается не больше
 | ||
|               <em>индекса1</em>), то команда не совершает никаких
 | ||
|               действий.</dd>
 | ||
| 
 | ||
|             <dt><em>имяПути</em> <strong>tag bind</strong> <em>имяТега</em>
 | ||
|               ?<em>послед</em>? ?<em>скрипт</em></dt>
 | ||
| 
 | ||
|             <dd><p>Эта команда приписывает скрипт к тегу с именем
 | ||
|                 <em>имяТега</em>. При наступлении последовательности
 | ||
|                 событий, заданной аргументом <em>послед</em>, на
 | ||
|                 символе, к которому приписан тег с именем
 | ||
|                 <em>имяТега</em> , выполняется указанный
 | ||
|                 <em>скрипт</em>. Эта команда примитива похожа на
 | ||
|                 команду <a href="bind.html">bind</a>; единственное ее
 | ||
|                 отличие состоит в том, что она действует на символах,
 | ||
|                 а не на всем примитиве.  Полное описание синтаксиса
 | ||
|                 последовательности и подстановок, производимых в
 | ||
|                 скрипте перед его выполнением, см. в п. 1.3. Если
 | ||
|                 указаны все аргументы, то создается новая привязка,
 | ||
|                 заменяющая все предыдущие привязки данной
 | ||
|                 последовательности к тегу <em>имяТега</em> (если
 | ||
|                 первым символом аргумента скрипт является
 | ||
|                 "+", то скрипт присоединяется к текущей
 | ||
|                 привязке, а не замещает ее). В этом случае команда
 | ||
|                 возвращает пустую строку. Если аргумент
 | ||
|                 <em>скрипт</em> опущен, то команда возвращает скрипт,
 | ||
|                 привязанный к тегу <em>имяТега</em> (при отсутствии
 | ||
|                 такого скрипта возникает ошибка). Если опущены и
 | ||
|                 аргумент <em>скрипт</em>, и аргумент <em>послед</em>,
 | ||
|                 то команда возвращает список всех последовательностей,
 | ||
|                 привязки к которым определены для тега с именем
 | ||
|                 <em>имяТега</em>.</p>
 | ||
| 
 | ||
| <p>Привязки можно определять только для событий,
 | ||
|                 связанных с "Мышью" и клавиатурой (например,
 | ||
|                 <strong>Enter</strong>, <strong>Leave</strong>,
 | ||
|                 <strong>ButtonPress</strong>, <strong>Motion</strong>
 | ||
|                 и <strong>KeyPress</strong>), или для виртуальных
 | ||
|                 событий. Привязки событий для текстового примитива
 | ||
|                 используют текущую метку (см. "<a
 | ||
|                 href="#МЕТКИ">Метки</a>").  Событие
 | ||
|                 <strong>Enter</strong> наступает для тега при первом
 | ||
|                 появлении этого тега на текущем символе, а событие
 | ||
|                 <strong>Leave</strong> наступает, когда текущий символ
 | ||
|                 оказывается несвязанным с данным тегом. События
 | ||
|                 <strong>Enter</strong> и <strong>Leave</strong> могут
 | ||
|                 наступить либо в результате перемещения текущей метки,
 | ||
|                 либо как следствие изменения символа в позиции текущей
 | ||
|                 метки. Обратите внимание на то, что эти события
 | ||
|                 отличаются от событий <strong>Enter</strong> и
 | ||
|                 <strong>Leave</strong> для окон. События, связанные с
 | ||
|                 "Мышью" и клавиатурой, направлены на текущий
 | ||
|                 символ. Если в привязке используется виртуальное
 | ||
|                 событие, то оно может наступить только в случае если
 | ||
|                 для его определения был использован выход с
 | ||
|                 подчеркиванием, связанный с "Мышью" или
 | ||
|                 клавиатурой.</p>
 | ||
| 
 | ||
|               <p>К текущему символу может быть приписано много тегов,
 | ||
|                 причем каждый из этих тегов может иметь привязку для
 | ||
|                 одной и той же последовательности событий. В таком
 | ||
|                 случае исполняется по одной привязке к каждому из
 | ||
|                 тегов в порядке от наименьшего приоритета к
 | ||
|                 наибольшему. Если к одному тегу подходят несколько
 | ||
|                 образцов привязок, то выбирается самая конкретная из
 | ||
|                 них (подробности приведены в п. 1.3). Команды continue
 | ||
|                 и break в скрипте привязки обрабатываются так же, как
 | ||
|                 и в случае привязок, созданных командой <a
 | ||
|                 href="bind.html"><strong>bind</strong></a>.</p>
 | ||
| 
 | ||
| <p>Если есть привязки и к примитиву в целом (созданные с
 | ||
|                 помощью команды <a
 | ||
|                 href="bind.html"><strong>bind</strong></a>), то они
 | ||
|                 служат дополнением привязок к тегам. Сначала
 | ||
|                 выполняются привязки к тегам, а затем привязки ко
 | ||
|                 всему примитиву.</p>
 | ||
|             </dd>
 | ||
|             
 | ||
|             <dt><em>имяПути</em> <strong>tag cget</strong> <em>имяТега
 | ||
|                 параметр</em></dt>
 | ||
| 
 | ||
|             <dd>Команда возвращает текущее значение параметра с именем
 | ||
|               <em>параметр</em>, ассоциированного с тегом
 | ||
|               <em>имяТега</em>. Параметр может иметь любое значение,
 | ||
|               воспринимаемое командой примитива <strong>tag
 | ||
|               configure</strong>.
 | ||
| 
 | ||
|             <dt><em>имяПути</em> <strong>tag configure</strong>
 | ||
|               <em>имяТега</em> ?<em>параметр</em>? ?<em>значение</em>?
 | ||
|               ?<em>параметр значение ...</em>?</dt>
 | ||
| 
 | ||
|             <dd>Эта команда похожа на команду примитива
 | ||
|               <strong>configure</strong>; ее отличие состоит в том,
 | ||
|               что она модифицирует параметры, связанные с тегом
 | ||
|               <em>имяТега</em>, а не со всем текстовым
 | ||
|               примитивом. Если аргумент <em>параметр</em> не задан, то
 | ||
|               команда возвращает список значений всех параметров тега
 | ||
|               <em>имяТега</em> (формат списка описан в
 | ||
|               <strong>Tk_ConfigureInfo</strong>).  Если
 | ||
|               <em>параметр</em> задан, а его <em>значение</em> нет, то
 | ||
|               возвращается часть списка, относящаяся к указанному
 | ||
|               параметру. Если заданы одна или несколько пар
 | ||
|               <em>параметр-значение</em>, то команда присваивает
 | ||
|               указанным параметрам тега <em>имяТега</em> новые
 | ||
|               значения; в этом случае она возвращает пустую
 | ||
|               строку. Подробно параметры тегов описаны выше (см. "<a
 | ||
|                 href="#ТЕГИ">Теги</a>").</dd>
 | ||
| 
 | ||
|             <dt><em>имяПути</em> <strong>tag delete</strong>
 | ||
|               <em>имяТега</em> ?<em>имяТега ...</em>?</dt>
 | ||
| 
 | ||
|             <dd>Стирает всю информацию о тегах для каждого из
 | ||
|               аргументов <em>имяТега</em>. Команда снимает теги с
 | ||
|               символов и удаляет всю остальную информацию о них
 | ||
|               например, привязки и характеристики вывода на
 | ||
|               экран. Возвращает пустую строку.</dd>
 | ||
| 
 | ||
|             <dt><em>имяПути</em> <strong>tag lower</strong>
 | ||
|               <em>имяТегаНижеЭтого</em></dt>
 | ||
| 
 | ||
|             <dd>Изменяет приоритет тега с именем <em>имяТега</em> ,
 | ||
|               устанавливая его непосредственно перед тегом с именем
 | ||
|               <em>нижеЭтого</em>. Если аргумент <em>нижеЭтого</em>
 | ||
|               опущен, то тег <em>имяТега</em> получается самый нижний
 | ||
|               приоритет среди всех тегов.</dd>
 | ||
| 
 | ||
|             <dt><em>имяПути</em> <strong>tag names</strong>
 | ||
|               ?<em>индекс</em>?</dt>
 | ||
| 
 | ||
|             <dd>Возвращает список имен всех тегов, активных в позиции,
 | ||
|               указанной аргументом <em>индекс</em>. Если аргумент
 | ||
|               <em>индекс</em> опущен, то команда возвращает список
 | ||
|               всех существующих тегов в тексте (это все теги,
 | ||
|               установленные командой примитива "<em>имяПути</em>
 | ||
|               <strong>tag</strong>" и не удаленные командой
 | ||
|               примитива "<em>имяПути</em> <strong>tag
 | ||
|               delete</strong>", в том числе и те из них, которые
 | ||
|               в текущий момент не относятся ни к какому
 | ||
|               символу). Выводимый список отсортирован в порядке
 | ||
|               приоритетов тегов (от тега с наименьшим приоритетом к
 | ||
|               тегу с наибольшим).</dd>
 | ||
| 
 | ||
|             <dt><em>имяПути</em> <strong>tag nextrange</strong>
 | ||
|               <em>имяТега индекс1</em> ?<em>индекс2</em>?</dt>
 | ||
| 
 | ||
|             <dd>Команда ищет последовательность символов, помеченных
 | ||
|               тегом <em>имяТега</em>, первый символ которой стоит
 | ||
|               после символа с индексом <em>индекс1</em>, а последний
 | ||
|               символ предшествует символу с индексом
 | ||
|               <em>индекс2</em>. В случае, если таких
 | ||
|               последовательностей несколько, выбирается первая из
 | ||
|               них. Команда возвращает список из двух элементов, первый
 | ||
|               из которых индекс первого символа последовательности: а
 | ||
|               второй индекс символа, непосредственно следующего за
 | ||
|               последним символом последовательности. Если подходящей
 | ||
|               последовательности нет, то команда возвращает пустую
 | ||
|               строку. Если аргумент <em>индекс2</em> не задан, то его
 | ||
|               значением по умолчанию считается конец текста.</dd>
 | ||
| 
 | ||
|             <dt><em>имяПути</em> <strong>tag prevrange</strong>
 | ||
|               <em>имяТега индекс1</em> ?<em>индекс2</em>?</dt>
 | ||
| 
 | ||
|             <dd>Команда ищет последовательность символов, помеченных
 | ||
|               тегом <em>имяТега</em>, первый символ которой стоит
 | ||
|               перед символом с индексом <em>индекс1</em>, но не
 | ||
|               раньше, чем символ с индексом <em>индекс2</em> (символ с
 | ||
|               этим индексом допускается). В случае, если таких
 | ||
|               последовательностей несколько, выбирается ближайшая к
 | ||
|               символу с индексом <em>индекс1</em>. Команда возвращает
 | ||
|               список из двух элементов, первый из которых индекс
 | ||
|               первого символа последовательности: а второй индекс
 | ||
|               символа, непосредственно следующего за последним
 | ||
|               символом последовательности. Если подходящей
 | ||
|               последовательности нет, то команда возвращает пустую
 | ||
|               строку. Если аргумент <em>индекс2</em> не задан, то его
 | ||
|               значением по умолчанию считается начало текста.</dd>
 | ||
| 
 | ||
|             <dt><em>имяПути</em> <strong>tag raise</strong>
 | ||
|               <em>имяТега</em> ?<em>ВышеЭтого</em>?</dt>
 | ||
| 
 | ||
|             <dd>Изменяет приоритет тега с именем <em>имяТега</em> ,
 | ||
|               устанавливая его непосредственно после тега с именем
 | ||
|               <em>вышеЭтого</em>. Если аргумент <em>вышеЭтого</em>
 | ||
|               опущен, то тег <em>имяТега</em> получается самый большой
 | ||
|               приоритет среди всех тегов.</dd>
 | ||
| 
 | ||
|             <dt><em>имяПути</em> <strong>tag ranges</strong>
 | ||
|               <em>имяТега</em></dt>
 | ||
| 
 | ||
|             <dd>Возвращает список всех участков текста, помеченных
 | ||
|               тегом с именем <em>имяТега</em>. Первые два элемента
 | ||
|               списка описывают первый участок, следующие два второй и
 | ||
|               т.д. Первый элемент каждой пары представляет собой
 | ||
|               индекс первого символа на соответствующем участке,
 | ||
|               второй элемент пары индекс символа, непосредственно
 | ||
|               следующего за последним символом участка. Если тегом
 | ||
|               <em>имяТега</em> не помечен ни один символ, то команда
 | ||
|               возвращает пустую строку.</dd>
 | ||
| 
 | ||
|             <dt><em>имяПути</em> <strong>tag remove</strong>
 | ||
|               <em>имяТега индекс1</em> ?<em>индекс2 индекс1 индекс2
 | ||
|               ...?</em></dt>
 | ||
| 
 | ||
|             <dd>Снимает пометку тегом <em>имяТега</em> со всех
 | ||
|               символов в промежутках, указанных индексами
 | ||
|               <em>индекс1</em> и <em>индекс2</em> (на символ с
 | ||
|               индексом <em>индекс2</em> команда не действует). Если в
 | ||
|               указанном промежутке нет символов (например, если
 | ||
|               <em>индекс1</em> указывает за конец текста или
 | ||
|               <em>индекс2</em> оказывается не меньше
 | ||
|               <em>индекса1</em>), то команда не совершает никаких
 | ||
|               действий. Возвращает пустую строку.</dd>
 | ||
|           </dl>
 | ||
|         </dd>
 | ||
|         
 | ||
|         <dt><em>имяПути</em> <strong>window</strong> <em>параметр</em>
 | ||
|           ?<em>арг арг ...</em>? </dt>
 | ||
| 
 | ||
|         <dd><p>Команда используется для работы со вставленными
 | ||
|           окнами. Поведение команды зависит от значения аргумента
 | ||
|           <em>параметр</em>. В настоящее время поддерживаются
 | ||
|           следующие формы команды:</p>
 | ||
| 
 | ||
|           <dl>
 | ||
|             <dt><em>имяПути</em> <strong>window cget</strong>
 | ||
|               <em>индекс параметр</em></dt>
 | ||
| 
 | ||
|             <dd>Возвращает значение параметра конфигурации
 | ||
|               вставленного окна. Окно задается аргументом
 | ||
|               <em>индекс</em>, а аргумент <em>параметр</em> указывает
 | ||
|               имя конкретного параметра конфигурации; это имя должно
 | ||
|               быть одним из тех, которые описаны во фрагменте "<a
 | ||
|               href="#ВСТАВЛЕННЫЕ_ОКНА">Вставленные
 | ||
|               окна</a>".</dd>
 | ||
| 
 | ||
|             <dt><em>имяПути</em> <strong>window configure</strong>
 | ||
|               <em>индекс</em> ?<em>параметр значение ...</em>?</dt>
 | ||
| 
 | ||
|             <dd>Запрашивает или модифицирует значения параметров
 | ||
|               конфигурации вставленного окна. Если <em>параметр</em>
 | ||
|               не указан, то возвращает список, содержащий значения
 | ||
|               всех допустимых параметров вставленного окна (формат
 | ||
|               списка описан в <strong>Tk_ConfigureInfo</strong>). Если
 | ||
|               <em>параметр</em> задан, а его новое <em>значение</em>
 | ||
|               нет, то команда возвращает часть полного списка,
 | ||
|               относящуюся к указанному параметру. Если заданы одна или
 | ||
|               несколько пар <em>параметр-значение</em>, то указанным
 | ||
|               <em>параметр</em>ам присваиваются новые
 | ||
|               <em>значения</em>, а команда возвращает пустую
 | ||
|               строку. Список возможных параметров приведен в фрагменте
 | ||
|               "<a href="#ВСТАВЛЕННЫЕ_ОКНА">Вставленные
 | ||
|                 окна</a>".</dd>
 | ||
| 
 | ||
|             <dt><em>имяПути</em> <strong>window create</strong>
 | ||
|               <em>индекс</em> ?<em>параметр значение ...</em>?</dt>
 | ||
| 
 | ||
|             <dd>Команда создает ссылку на новое окно, положение
 | ||
|               которого в тексте определяется аргументом
 | ||
|               <em>индекс</em>. Конфигурация окна задается произвольным
 | ||
|               числом пар <em>параметр-значение</em>. Список возможных
 | ||
|               параметров см. в "<a
 | ||
|               href="#ВСТАВЛЕННЫЕ_ОКНА">ВСТАВЛЕННЫЕ
 | ||
|                 ОКНА</a>". Команда возвращает пустую строку.</dd>
 | ||
| 
 | ||
|             <dt><em>имяПути</em> <strong>window names</strong></dt>
 | ||
| 
 | ||
|             <dd>Возвращает список имен всех вставленных в настоящий
 | ||
|               момент в окно окон.</dd>
 | ||
|           </dl>
 | ||
|         </dd>
 | ||
|         
 | ||
|         <dt><em>имяПути</em> <strong>xview</strong> <em>параметр арг</em></dt>
 | ||
| 
 | ||
|         <dd><p>Команда используется для запроса горизонтального положения
 | ||
|           текста в окне примитива и изменения этого положения. Она
 | ||
|           может принимать одну из следующих форм:</p>
 | ||
| 
 | ||
|           <dl>
 | ||
|             <dt><em>имяПути</em> <strong>xview</strong></dt>
 | ||
| 
 | ||
|             <dd>Возвращает список из двух элементов, каждый из которых
 | ||
|               представляет собой вещественное число в промежутке между
 | ||
|               "0" и "1". В совокупности эти два
 | ||
|               числа описывают, какая часть документа по горизонтали
 | ||
|               видна в окне. Если, например, значение первого числа
 | ||
|               равно ".2", а второго ".6", то слева
 | ||
|               от экрана не видно 20% текста, 40% видимы на экране и
 | ||
|               еще 40% не видимы справа от экрана. Числа относятся
 | ||
|               только к строчкам, которые действительно попадают на
 | ||
|               экран. Если все строчки в окне короткие и полностью
 | ||
|               умещаются на экране, то команда возвращает значения
 | ||
|               "0" и "1", даже если в тексте
 | ||
|               фактически присутствуют строчки, длина которых намного
 | ||
|               превышает ширину окна. Те же самые значения передаются
 | ||
|               полосам прокрутки через параметр
 | ||
|               <strong>-xscrollcommand</strong>.</dd>
 | ||
| 
 | ||
|             <dt><em>имяПути</em> <strong>xview moveto</strong>
 | ||
|               <em>число</em></dt>
 | ||
| 
 | ||
|             <dd>Сдвигает содержимое окна таким образом, чтобы часть
 | ||
|               текста по горизонтали, описываемая аргументом
 | ||
|               <em>число</em>, находилась слева от
 | ||
|               экрана. <em>Число</em> должно быть вещественным числом в
 | ||
|               промежутке между "0" и "1".</dd>
 | ||
| 
 | ||
|             <dt><em>имяПути</em> <strong>xview scroll</strong>
 | ||
|               <em>число что</em></dt>
 | ||
| 
 | ||
|             <dd>Команда сдвигает содержимое окна влево или вправо в
 | ||
|               соответствии со значениями аргументов <em>число</em> и
 | ||
|               <em>что</em>. Число должно быть целым. Аргумент что
 | ||
|               может принимать значения <strong>units</strong> и
 | ||
|               <strong>pages</strong>, а также их аббревиатуры. Если
 | ||
|               аргумент <em>что</em> имеет значение
 | ||
|               <strong>units</strong>, то сдвиг происходит на
 | ||
|               <em>число</em>символов средней ширины; в случае значения
 | ||
|               <strong>pages</strong> сдвиг выполняется на
 | ||
|               <em>число</em> страниц (размер страницы равен размеру
 | ||
|               экрана). Если <em>число</em> отрицательно, то сдвиг
 | ||
|               происходит вправо, в противном случае влево.</dd>
 | ||
|           </dl>
 | ||
|         </dd>
 | ||
|         
 | ||
|         <dt><em>имяПути</em> yview <em>параметр арг</em></dt>
 | ||
| 
 | ||
|         <dd><p>Команда используется для запроса вертикального положения
 | ||
|           текста в окне примитива и изменения этого положения. Она
 | ||
|           может принимать одну из следующих форм:</p>
 | ||
| 
 | ||
|           <dl>
 | ||
|             <dt><em>имяПути</em> <strong>yview</strong></dt>
 | ||
| 
 | ||
|             <dd>Возвращает список из двух элементов, каждый из которых
 | ||
|               представляет собой вещественное число в промежутке между
 | ||
|               "0" и "1". Первый элемент списка
 | ||
|               указывает положение в тексте первого символа верхней
 | ||
|               строчки на экране (например, значение "0.5"
 | ||
|               означает, что этот символ находится в середине
 | ||
|               текста). Второй элемент списка указывает положение
 | ||
|               символа, следующего непосредственно за последним
 | ||
|               символом нижней строчки экрана. Те же самые значения
 | ||
|               передаются полосам прокрутки через параметр
 | ||
|               <strong>-yscrollcommand</strong>.</dd>
 | ||
| 
 | ||
|             <dt><em>имяПути</em> <strong>yview moveto</strong>
 | ||
|               <em>число</em></dt>
 | ||
| 
 | ||
|             <dd>Сдвигает содержимое окна таким образом, чтобы символ,
 | ||
|               положение которого задано аргументом <em>число</em>,
 | ||
|               оказался в верхней строчке экрана. <em>Число</em> должно
 | ||
|               быть вещественным числом в промежутке между
 | ||
|               "0" и "1"; значение "0"
 | ||
|               указывает на первый символ в тексте, значение
 | ||
|               "0.33" на символ, отстоящий от начала текста
 | ||
|               на "1/3" и т.д.</dd>
 | ||
| 
 | ||
|             <dt><em>имяПути</em> <strong>yview scroll</strong>
 | ||
|               <em>число что</em></dt>
 | ||
| 
 | ||
|             <dd>Команда сдвигает содержимое окна вверх или вниз в
 | ||
|               соответствии со значениями аргументов <em>число</em> и
 | ||
|               <em>что</em>. Число должно быть целым. Аргумент что
 | ||
|               может принимать значения <strong>units</strong> и
 | ||
|               <strong>pages</strong>, а также их аббревиатуры. Если
 | ||
|               аргумент <em>что</em> имеет значение
 | ||
|               <strong>units</strong>, то сдвиг происходит на
 | ||
|               <em>число</em> строчек; в случае значения
 | ||
|               <strong>pages</strong> сдвиг выполняется на
 | ||
|               <em>число</em> страниц (размер страницы равен размеру
 | ||
|               экрана). Если <em>число</em> отрицательно, то сдвиг
 | ||
|               происходит вверх, в противном случае вниз.</dd>
 | ||
| 
 | ||
|             <dt><em>имяПути</em> <strong>yview ?-pickplace?</strong>
 | ||
|               <em>индекс</em></dt>
 | ||
| 
 | ||
|             <dd><p>Сдвигает содержимое окна примитива таким образом,
 | ||
|               чтобы сделать видимым символ с индексом
 | ||
|               <em>индекс</em>. Если аргумент
 | ||
|               <strong>-pickplace</strong> не задан, то символ с
 | ||
|               указанным индексом появляется в верхней строчке
 | ||
|               экрана. Если же этот аргумент задан, то примитив
 | ||
|               определяет место появления символа на экране по
 | ||
|               следующему правилу:</p>
 | ||
| 
 | ||
|               <ol>
 | ||
|                 <li>Если символ с индексом <strong>индекс</strong>
 | ||
|                   уже виден на экране, то ничего не изменяется.</li>
 | ||
| 
 | ||
|                 <li>Если этот символ находится лишь незначительно выше
 | ||
|                   экрана, то он оказывается в верхней строчке
 | ||
|                   экрана.</li>
 | ||
| 
 | ||
|                 <li>Если этот символ находится лишь незначительно ниже
 | ||
|                   экрана, то он оказывается в нижней строчке
 | ||
|                   экрана.</li>
 | ||
|                 
 | ||
|                 <li>В остальных случаях указанный символ оказывается в
 | ||
|                   центре экрана.</li>
 | ||
|               </ol>
 | ||
| 
 | ||
|               <p>Параметр <strong>-pickplace</strong> устарел после
 | ||
|                 введения команды примитива <strong>see</strong>,
 | ||
|                 которая управляет движениями как в горизонтальном, так
 | ||
|                 и в вертикальном направлении, в то время, как
 | ||
|                 <strong>-pickplace</strong> влияет только на движение
 | ||
|                 по вертикали.</p>
 | ||
|             </dd>
 | ||
|         
 | ||
|             <dt><em>имяПути</em> <strong>yview</strong> <em>число</em></dt>
 | ||
| 
 | ||
|             <dd>Команда сдвигает содержимое в окне таким образом,
 | ||
|               чтобы первый символ строки с номером, следующим за
 | ||
|               номером <em>число</em>, оказался в верхней строчке
 | ||
|               экрана. Аргумент <em>число</em> должен быть
 | ||
|               целым. Команда использовалась для прокрутки, но теперь
 | ||
|               она устарела.
 | ||
|           </dd>
 | ||
|         </dl>
 | ||
|       </dd>
 | ||
|     </dl>
 | ||
| 
 | ||
| <h2><a name="ПРИВЯЗКИ"></a>ПРИВЯЗКИ</h2> 
 | ||
| 
 | ||
|     <p>Tk автоматически создает привязки класса, которые определяют
 | ||
|       следующее поведение текстовых примитивов по умолчанию. В
 | ||
|       приводимом ниже описании "слово" это непрерывная
 | ||
|       последовательность символов, состоящая из букв, цифр и символов
 | ||
|       подчеркивания "_", либо из любого другого одиночного
 | ||
|       символа.</p>
 | ||
| 
 | ||
|     <ol>
 | ||
| 
 | ||
|       <li>Щелчок клавишей 1 "Мыши" устанавливает курсор
 | ||
|         ввода непосредственно перед символом, на котором расположен
 | ||
|         курсор "Мыши".</li>
 | ||
| 
 | ||
|       <li>Движение "Мыши" с нажатой клавишей 1 растягивает
 | ||
|         выделение от курсора ввода то символа под курсором
 | ||
|         "Мыши".</li>
 | ||
|     
 | ||
|       <li>Двойной щелчок по клавише 1 "Мыши" выделяет слово,
 | ||
|         на котором находится курсор "Мыши", и устанавливает
 | ||
|         курсор ввода на начало этого слова. Если тащить
 | ||
|         "Мышь" после двойного щелчка, то выделение
 | ||
|         растягивается на полные слова.</li>
 | ||
| 
 | ||
|       <li>Тройной щелчок по клавише 1 "Мыши" выделяет
 | ||
|         строку, на которой находится курсор "Мыши", и
 | ||
|         устанавливает курсор ввода на начало этой строки. Если тащить
 | ||
|         "Мышь" после тройного щелчка, то выделение
 | ||
|         растягивается на полные строки.</li>
 | ||
| 
 | ||
|       <li>Край выделения можно переместить, таща "Мышь" с
 | ||
|         нажатой клавишей 1 при нажатой клавише <strong>Shift</strong>:
 | ||
|         при этом движется край выделения, ближайший к курсору
 | ||
|         "Мыши" в момент нажатия клавиши 1. Если перед
 | ||
|         началом движения по клавише "Мыши" был сделан
 | ||
|         двойной щелчок, то выделение будет растягиваться на полные
 | ||
|         слова; если тройной щелчок то на полные строки.</li>
 | ||
| 
 | ||
|       <li>Щелчок по клавише 1 "Мыши" при нажатой клавише
 | ||
|         Control перемещает курсор ввода, не изменяя выделения.</li>
 | ||
| 
 | ||
|       <li>При нажатии на клавиши обычных символов эти символы вводятся
 | ||
|         на месте курсора ввода.</li>
 | ||
| 
 | ||
|       <li>Содержимое окна примитива можно сдвинуть с помощью движения
 | ||
|         "Мыши" при нажатой клавише 2. Если щелкнуть по
 | ||
|         клавише 2 "Мыши", не перемещая "Мышь", то
 | ||
|         выделение в тексте копируется в место курсора
 | ||
|         "Мыши". Нажатие на клавишу Insert также приводит к
 | ||
|         копированию выделения, но в место курсора ввода, а не курсора
 | ||
|         "Мыши".</li>
 | ||
| 
 | ||
|       <li>При движении "Мыши" вне экрана с нажатой клавишей
 | ||
|         1 содержимое примитива автоматически прокручивается и на
 | ||
|         экране появляется дополнительная порция текста (если вне
 | ||
|         экрана в направлении движения "Мыши" есть еще
 | ||
|         текст).</li>
 | ||
| 
 | ||
|       <li>Нажатие на клавиши <strong>Left</strong> или
 | ||
|         <strong>Right</strong> приводит к сдвигу курсора ввода на один
 | ||
|         символ влево или вправо соответственно; при этом всякое
 | ||
|         выделение в тексте отменяется. Нажатие на клавиши
 | ||
|         <strong>Left</strong> или <strong>Right</strong> при нажатой
 | ||
|         клавише <strong>Shift</strong> приводит к сдвигу курсора ввода
 | ||
|         и расширению выделения на один символ.</li>
 | ||
| 
 | ||
|       <li>Нажатие на клавиши <strong>Control-Left</strong> или
 | ||
|         <strong>Control-Right</strong> сдвигает курсор ввода на целое
 | ||
|         слово, а нажатие на клавиши
 | ||
|         <strong>Control-Shift-Left</strong> и
 | ||
|         <strong>Control-Shift-Right</strong> приводит к сдвигу курсора
 | ||
|         ввода и расширению выделения на одно слово.</li>
 | ||
| 
 | ||
|       <li>Нажатие на клавиши <strong>Control-b</strong> и
 | ||
|         <strong>Control-f</strong> приводит к такому же результату,
 | ||
|         что и нажатие на <strong>Left</strong> и
 | ||
|         <strong>Right</strong> соответственно. Комбинации клавиш
 | ||
|         <strong>Meta-b</strong> и <strong>Meta-f</strong> дают тот же
 | ||
|         эффект, что и <strong>Control-Left</strong> и
 | ||
|         <strong>Control-Right</strong> соответственно.</li>
 | ||
| 
 | ||
|       <li>Нажатие на клавиши <strong>Up</strong> и
 | ||
|         <strong>Down</strong> переводит курсор ввода на одну строчку
 | ||
|         вверх или вниз, отменяя при этом любое выделение в
 | ||
|         тексте. Нажатие на клавиши <strong>Up</strong> и
 | ||
|         <strong>Down</strong> при нажатой клавише
 | ||
|         <strong>Shift</strong> приводит к сдвигу курсора ввода и
 | ||
|         растягиванию выделения до нового положения курсора. Комбинации
 | ||
|         <strong>Control-Up</strong> и <strong>Control-Down</strong>
 | ||
|         сдвигают курсор ввода на один абзац (группу строчек,
 | ||
|         отделенную от соседней группы пустой строчкой), а комбинации
 | ||
|         <strong>Control-Shift-Up</strong> и
 | ||
|         <strong>Control-Shift-Down</strong> приводят к тому же к
 | ||
|         растягиванию выделения до нового положения курсора
 | ||
|         ввода. Комбинации <strong>Control-p</strong> и
 | ||
|         <strong>Control-n</strong> дают тот же результат, что и
 | ||
|         <strong>Up</strong> и <strong>Down</strong>
 | ||
|         соответственно.</li>
 | ||
| 
 | ||
|       <li>Клавиши <strong>Next</strong> и <strong>Prior</strong>
 | ||
|         сдвигают курсор ввода вперед или назад на одну страницу; при
 | ||
|         этом выделения в тексте отменяются. Нажатие на клавиши
 | ||
|         <strong>Next</strong> и <strong>Prior</strong> при нажатой
 | ||
|         клавише <strong>Shift</strong> приводит к сдвигу курсора ввода
 | ||
|         и растягиванию выделения до нового положения
 | ||
|         курсора. <strong>Control-v</strong> сдвигает видимую часть
 | ||
|         текста на одну страницу вперед, причем курсор ввода не меняет
 | ||
|         своего положения и выделение также остается неизменным.</li>
 | ||
| 
 | ||
|       <li>Комбинации <strong>Control-Next</strong> и
 | ||
|         <strong>Control-Prior</strong> сдвигают видимую часть текста
 | ||
|         на одну страницу вправо или влево, причем курсор ввода не
 | ||
|         меняет своего положения, и выделение также остается
 | ||
|         неизменным.</li>
 | ||
| 
 | ||
|       <li>Нажатие на клавиши <strong>Home</strong> и
 | ||
|         <strong>Control-a</strong> помещает курсор ввода в начало
 | ||
|         текущей строчки, причем все выделения в примитиве
 | ||
|         отменяются. <strong>Shift-Home</strong> помещает курсор ввода
 | ||
|         в начало текущей строчки и растягивает выделение до нового
 | ||
|         положения курсора. Нажатие на клавиши <strong>End</strong> и
 | ||
|         <strong>Control-e</strong> помещает курсор ввода в конец
 | ||
|         текущей строчки, причем все выделения в примитиве
 | ||
|         отменяются. <strong>Shift-End</strong> помещает курсор ввода в
 | ||
|         конец текущей строчки и растягивает выделение до нового
 | ||
|         положения курсора.</li>
 | ||
| 
 | ||
|       <li>Комбинации <strong>Control-Home</strong> и
 | ||
|         <strong>Meta-<</strong> устанавливают курсор ввода в начало
 | ||
|         текста, причем все выделения в примитиве
 | ||
|         отменяются. <strong>Control-Shift-Home</strong> устанавливает
 | ||
|         курсор ввода в начало текста и растягивает выделение до нового
 | ||
|         положения курсора.</li>
 | ||
| 
 | ||
|       <li>Комбинации <strong>Control-End</strong> и
 | ||
|         <strong>Meta-></strong> устанавливают курсор ввода в конец
 | ||
|         текста, причем все выделения в примитиве
 | ||
|         отменяются. <strong>Control-Shift-End</strong> устанавливает
 | ||
|         курсор ввода в конец текста и растягивает выделение до нового
 | ||
|         положения курсора.</li>
 | ||
| 
 | ||
|       <li>Клавиша <strong>Select</strong> и комбинация
 | ||
|         <strong>Control-Space</strong> устанавливают опорную точку
 | ||
|         выделения в текущее положение курсора ввода. Текущее выделение
 | ||
|         при этом не изменяется. Комбинации
 | ||
|         <strong>Shift-Select</strong> и
 | ||
|         <strong>Control-Shift-Space</strong> растягивают выделение до
 | ||
|         текущего положения курсора ввода; если в тексте не было
 | ||
|         выделения, то выделяются символы между опорной точкой
 | ||
|         выделения и курсором ввода.</li>
 | ||
| 
 | ||
|       <li>Нажатие на клавиши <strong>Control-/</strong> приводит к
 | ||
|         выделению всего содержимого примитива.</li>
 | ||
| 
 | ||
| <li><strong>Control-\\</strong> отменяет выделение в примитиве.</li>
 | ||
| 
 | ||
|       <li>Клавиша <strong>F16</strong> (на многих станциях Sun
 | ||
|         обозначенная <strong>Copy</strong>) или
 | ||
|         <strong>Meta-w</strong> копируют выделение в примитиве (если
 | ||
|         оно есть) в буфер обмена.</li>
 | ||
| 
 | ||
|       <li>Клавиша <strong>F20</strong> (на многих станциях Sun
 | ||
|         обозначенная <strong>Cut</strong>) или
 | ||
|         <strong>Control-w</strong> копируют выделение в примитиве в
 | ||
|         буфер обмена и удаляют выделение. Если выделения нет, то
 | ||
|         нажатие на эти клавиши не приводит ни к каким действиям.</li>
 | ||
| 
 | ||
|       <li>Клавиша <strong>F18</strong> (на многих станциях Sun
 | ||
|         обозначенная <strong>Paste</strong>) или
 | ||
|         <strong>Control-y</strong> вставляет содержимое буфера обмена
 | ||
|         в положении курсора ввода.</li>
 | ||
| 
 | ||
|       <li>Нажатие на клавишу <strong>Delete</strong> приводит к
 | ||
|         удалению выделения (если оно есть в примитиве). Если выделения
 | ||
|         нет, то нажатие на эту клавишу приводит к удалению символа
 | ||
|         справа от курсора ввода.</li>
 | ||
| 
 | ||
|       <li><strong>Backspace</strong> и <strong>Control-h</strong>
 | ||
|         удаляют выделение (если оно есть в примитиве). Если выделения
 | ||
|         нет, то нажатие на эти клавиши приводит к удалению символа
 | ||
|         слева от курсора ввода.</li>
 | ||
| 
 | ||
|       <li><strong>Control-d</strong> удаляет символ справа от курсора
 | ||
|         ввода.</li>
 | ||
| 
 | ||
|       <li><strong>Meta-d</strong> удаляет слово справа от курсора ввода.</li>
 | ||
| 
 | ||
|       <li>Нажатие на клавиши <strong>Control-k</strong> приводит к
 | ||
|         удалению символов справа от курсора ввода до конца
 | ||
|         строки. Если курсор ввода находится в конце строки, то
 | ||
|         удаляется символ перевода строки.</li>
 | ||
| 
 | ||
|       <li><strong>Control-o</strong> открывает новую строку, вставляя
 | ||
|         символ перевода строки перед курсором ввода; положение курсора
 | ||
|         ввода при этом не изменяется.</li>
 | ||
| 
 | ||
|       <li><strong>Meta-backspace</strong> и
 | ||
|         <strong>Meta-Delete</strong> удаляют слово слева от курсора
 | ||
|         ввода.</li>
 | ||
| 
 | ||
|       <li><strong>Control-x</strong> удаляет выделение в текстовом
 | ||
|         примитиве.</li>
 | ||
| 
 | ||
|       <li><strong>Control-t</strong> меняет местами два символа справа
 | ||
|         от курсора ввода.</li>
 | ||
| 
 | ||
|       <li>Если примитив сделан недоступным с помощью параметра
 | ||
|         <strong>-state</strong>, то текст можно двигать по экрану и
 | ||
|         выделять, однако курсор ввода не будет отображаться в
 | ||
|         примитиве и никакие модификации текста невозможны.</li>
 | ||
| 
 | ||
|       <li>Определяя новые привязки к отдельным примитивам или
 | ||
|         переопределяя привязки класса, поведение текстовых примитивов
 | ||
|         можно изменить.</li>
 | ||
|     </ol>
 | ||
| 
 | ||
|     <h2><a name="ВОПРОСЫ_ПРОИЗВОДИТЕЛЬНОСТИ"></a>ВОПРОСЫ ПРОИЗВОДИТЕЛЬНОСТИ</h2> 
 | ||
| 
 | ||
|     <p>Текстовые примитивы должны обрабатываться эффективно при самых
 | ||
|       разнообразных условиях. В них используется 2-3 байта основной
 | ||
|       памяти на каждый символ текста, поэтому текст длиной 1 Мегабайт
 | ||
|       и более вполне может эффективно обрабатываться на большинстве
 | ||
|       рабочих станций. Внутреннее представление текста имеет вид
 | ||
|       модифицированного B-дерева, поэтому обработка даже длинных
 | ||
|       текстов довольно эффективна. Реализация меток также позволяет
 | ||
|       использовать много меток. В большинстве случаев удобно
 | ||
|       пользоваться большим числом уникальных тегов или тегом,
 | ||
|       приписанным к большому числу различных частей текста.</p>
 | ||
| 
 | ||
|     <p>Проблема эффективности может возникнуть при использовании
 | ||
|       сотен или тысяч различных тегов со следующими характеристиками:
 | ||
|       первая часть текста, приписанная к каждому тегу, начинается
 | ||
|       вблизи начала текста, а последняя кончается вблизи его конца или
 | ||
|       имеется единственная такая часть, включающая в себя почти весь
 | ||
|       текст. Цена добавления или удаления таких тегов пропорциональна
 | ||
|       числу тегов с такими свойствами. Напротив, тысячи различных
 | ||
|       тегов обрабатываются эффективно, если области их действия
 | ||
|       невелики и равномерно распределены по всему тексту.</p>
 | ||
| 
 | ||
|     <p>Эффективность может понижаться при наличии очень длинных
 | ||
|       строк текста, содержащих большое число меток и тегов.</p>
 | ||
| 
 | ||
|     <p>При каждом мигании курсора ввода строчка экрана, на которой он
 | ||
|       находится, перерисовывается целиком, что приводит к постоянному
 | ||
|       потоку графической информации. Для устранения этого эффекта
 | ||
|       установите атрибут <strong>insertOffTime</strong> в
 | ||
|       "0".</p>
 | ||
|     
 | ||
|   </body>
 | ||
| </html>
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | ||
| 
 | 
