diff --git a/CHANGELOG b/CHANGELOG index 718cc6e..948d3a3 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -6,6 +6,10 @@ ######################################################### 0.4.5 +07.02.2018 +- Tcl, Perl, PHP highlight comment procedure fixed +- Help file Text.html utf-8 encoding + 05.02.2018 - Added binding mouse button: click on notebook tab highlight opened file name in tree - Change "Paste from Clipboard" function @@ -386,5 +390,6 @@ Fixed bug with PageRise function + diff --git a/hlp/ru/tk/text.html b/hlp/ru/tk/text.html index a2ef372..63a3328 100644 --- a/hlp/ru/tk/text.html +++ b/hlp/ru/tk/text.html @@ -6,15 +6,15 @@

text

-

.

+

Создание текстового примитива и управление им.

-

+

СИНТАКСИС

-      text  
+      text имяПути параметры
     
-

+

СТАНДАРТНЫЕ ПАРАМЕТРЫ

-

+

Подробное описание этих параметров приведено в разделе options.

-

+

ДОПОЛНИТЕЛЬНЫЕ ПАРАМЕТРЫ ПРИМИТИВА

- - - + + +
:-height
:height
:Height
Имя параметра:-height
Имя в Базе:height
Класс в Базе:Height
-

; - , -font. - .

+

Задает желаемую высоту окна в символах; размер символа + определяется шрифтом, который задан параметром -font. Значение параметра должно быть не меньше + единицы.

- - - + + +
:-spacing1
:spacing1
:Spacing1
Имя параметра:-spacing1
Имя в Базе:spacing1
Класс в Базе:Spacing1
-

- ( - ). - . - -spacing1 .

+

Запрашивает дополнительный промежуток перед каждой строкой + текста в примитиве (в любой из разрешенных форм для расстояний + на экране). При переносе строки заданное значение относится + только к первой строчке на экране. Параметр + -spacing1 в тегах подавляет данный.

- - - + + +
:-spacing2
:spacing2
:Spacing2
Имя параметра:-spacing2
Имя в Базе:spacing2
Класс в Базе:Spacing2
-

- , - ( - ). spacing2 - .

+

Задает величину дополнительного промежутка между двумя + последовательными строчками на экране, полученными в результате + переноса одной строки текста (в любой из разрешенных форм для + расстояний на экране). Параметр spacing2 в + тегах подавляет данный.

- - - + + +
:-spacing3
:spacing3
:Spacing3
Имя параметра:-spacing3
Имя в Базе:spacing3
Класс в Базе:Spacing3
-

- ( - ). - . - -spacing3 .

+

Запрашивает дополнительный промежуток после каждой строкой + текста в примитиве (в любой из разрешенных форм для расстояний + на экране). При переносе строки заданное значение относится + только к последней строчке на экране. Параметр + -spacing3 в тегах подавляет данный.

- - - + + +
:-state
:state
:State
Имя параметра:-state
Имя в Базе:state
Класс в Базе:State
-

: - (normal) - (disabled). , - , - , .

+

Задает одно из двух состояний текста: нормальное + (normal) или недоступное + (disabled). Текст, находящийся в недоступном + состоянии, нельзя редактировать и в нем не отображается курсор + ввода, даже если данный примитив находится в фокусе ввода.

- - - + + +
:-tabs
:tabs
:Tabs
Имя параметра:-tabs
Имя в Базе:tabs
Класс в Базе:Tabs
-

. - , - . , , - , - - left, right, - center numeric. - left; - , , - . Right , - , - , center - - . Numeric , - ; - , - ; - , - . , -tabs {2c left - 4c 6c center} - , - , - . - , - , Tk , - , - . -tabs - . -tabs - , Tk - , - .

+

Задает набор положений табулятора в окне. Значение параметра + представляет собой список расстояний на экране, задающих эти + положения. Элемент списка, следующий за элементом, который + указывает очередное положение табулятора, может описывать способ + расположения текста относительно этого положения с помощью + ключевых слов left, right, + center или numeric. Значение + по умолчанию равно left; в этом случае левый + край текста, следующего за символом табуляции, располагается в + позиции табуляции. Right означает, что в + позиции табуляции располагается правый край текста, следующего + за символом табуляции, а center указывает на + необходимость центрировать текст относительно позиции + табуляции. Numeric означает, что в позиции + табуляции следует располагать десятичную точку текста; если в + тексте нет десятичной точки, то младшая значащая цифра числа + располагается непосредственно слева от позиции табуляции; если в + тексте нет чисел, то он выравнивается вправо по позиции + табуляции. Например, задание параметра -tabs {2c left + 4c 6c center} приводит к созданию трех позиций + табулятора с двухсантиметровым интервалом, первые два из которых + используют выравнивание влево, а третья выравнивание по + центру. Если в списке положений табулятора их оказывается + недостаточно, чтобы обеспечить все символы табуляции в строке + текста, то Tk создает дополнительные позиции табуляции, + экстраполируя промежуток и способ выравнивания текста, указанные + последним элементом списка. Параметр -tabs в + тегах подавляет данный. Если параметр -tabs не + задан или его значением является пустая строка, то Tk использует + табуляцию по умолчанию с шагом, равным восьми символам среднего + размера.

- - - + + +
:-width
:width
:Width
Имя параметра:-width
Имя в Базе:width
Класс в Базе:Width
-

; - , -font. - , - "0". +

Задает желаемую ширину окна в символах; размер символа + определяется шрифтом, который задан параметром -font. Если + ширина символа в шрифте непостоянна, то для перевода числа + символов в единицы экрана используется ширина символа "0".

- - - + + +
:-wrap
:wrap
:Wrap
Имя параметра:-wrap
Имя в Базе:wrap
Класс в Базе:Wrap
-

, - . - none, char - word. none - , - . - - , - . char - ; - word - .

+

Задает способ обращения с чересчур длинными строками, которые + не помещаются в одной строчке экрана. Может принимать одно из + значений none, char или + word. Значение none указывает + на то, что каждая строка текста отображается в единственной + строчке экрана не поместившиеся символы не выводятся. В + остальных двух режимах при необходимости осуществляется перенос + каждой строки текста, чтобы все ее содержимое отображалось на + экране. В режиме char переход на новую строчку + можно осуществлять после любого символа; в режиме + word перенос строки выполняется только после + конца слова.

-

+

ОПИСАНИЕ

-

text ( - ) - . , - , - . text - .

+

Команда text создает новое окно (задаваемое + аргументом имяПути) и превращает его в текстовый + примитив. Детали изображения текста, такие как цвет фона по + умолчанию и объемный вид, задаются с помощью описанных выше + дополнительных параметров. Команда text + возвращает имя пути нового окна.

-

- . - - , , - . - . - Tcl, - , , - "", - . (. "").

+

Текстовый примитив предназначен для вывода одной или нескольких + строк текста и для редактирования этого текста. Текстовые + примитивы поддерживают четыре способа отметить часть текста так + называемые теги, метки, вставленные окна и вставленные + изображения. Теги позволяют выводить различные части текста + различными шрифтами и цветом. Кроме того с тегами можно связать + команды Tcl, которые будут выполняться каждый раз при совершении + определенных действий, например, при нажатиях на клавиши + клавиатуры и "Мыши", если курсор находится в определенной части + текста. Подробно эти возможности описаны ниже (см. "Теги").

-

- . - , - . - (. "").

+

Метки представляют собой другой способ отметить часть + текста. Они предназначены для указания на различные интересные + места в тексте, возникающие в процессе его + редактирования. Подробно эти возможности описаны ниже + (см. "Метки").

-

- . - (. " - ").

+

Третий способ обеспечивает возможность вставки в текст + произвольных окон. Подробно эти возможности описаны ниже + (см. "Вставленные + окна").

-

- Tk. - (. " - ".)

+

Четвертый способ обеспечивает возможность вставки в текст + изображений Tk. Подробно эти возможности описаны ниже + (см. "Вставленные + изображения".)

-

+

ИНДЕКСЫ

-

- . , - , - . - :

+

Аргументами многих команд примитива являются один или несколько + индексов. Индекс представляет собой строку, указывающую + конкретное место в тексте например, место вставки текста или + один из граничных символов удаляемого участка текста. Индексы + имеют следующий синтаксис:

-          ...
+      база модификатор модификатор модификатор ...
     
-

, - - (, ). - , - .

+

База это указатель начальной точки, а + модификаторы указывают сдвиг от начальной точки + (например, на один символ влево или вправо от базы). База + является обязательной частью индекса, а модификаторы + необязательной.

-

- :

+

База индекса должна быть представлена в одном из + следующих видов:

-
.
+
строка.сим
-
- . - UNIX, , - , "1". - "0". - end, - , .
+
Указывает на символ с номером сим в строке с + номером строка . Для совместимости с другими + программами ОС UNIX, использующими тот же подход к нумерации, + строки нумеруются, начиная с "1". Нумерация символов + в строке начинается с "0". Если значением + сим является end, то база ссылается + на символ перевода строки, завершающий строку.
@x,y
-
, - x +
Указывает на символ, в котором находится точка с + координатами в окне текста равными x и y.
end
-
( , - - ).
+
Указывает на конец текста (на символ, следующий + непосредственно за последним символом перехода на новую + строку).
-
+
метка
-
, - .
+
Указывает на символ, следующий непосредственно за меткой с + именем метка.
-
.first
+
тег.first
-
, - . , - , .
+
Указывает на первый символ в тексте, помеченный тегом с + именем тег. Если в тексте нет символов, помеченных + тегом, то возникает ошибка.
-
.last
+
тег.last
-
, - , . - , , - .
+
Указывает на символ, непосредственно следующий за последним + символом, помеченным тегом с именем тег. Если в + тексте нет символов, помеченных тегом, то возникает + ошибка.
-
+
имяПути
-
- . - , .
+
Указывает положение вставленного окна с именем + имяПути. Если вставленное окно с заданным именем + отсутствует, то возникает ошибка.
-
+
имяИзобр
-
- . - , .
+
Указывает положение вставленного изображения с именем + имяИзобр. Если вставленное изображение с заданным + именем отсутствует, то возникает ошибка.
-

(, , - , - ), , - . - , - . , , - chars wordend, - , - .

+

Если вид базы не определяется однозначно (так, например, если + метка и имяИзобр имеют одинаковое значение, то + их нельзя различить), то предпочтение отдается виду, + встречающемуся в приведенном списке раньше. Если за индексом + базы идут модификаторы, то каждый из них должен быть представлен + в одном из описанных ниже видов. Ключевые слова, например, + chars или wordend, можно + сокращать, если результат сокращения позволяет однозначно + восстановить слово.

-
+ chars
+
+ счет chars
-
, - . - , , - - . - .
+
Увеличивает индекс на счет символов, при + необходимости переходя на следующую строку. Если за символом с + текущим индексом следует меньше символов, чем счет, + то индекс устанавливается на последний символ в + тексте. Пробелы по обе стороны от значения счет + необязательны.
-
- chars
+
- счет chars
-
, - . - , - , - . - .
+
Уменьшает индекс на счет символов, при + необходимости переходя на предыдущую строку. Если перед + символом с текущим индексом идет меньше символов, чем + счет, то индекс устанавливается на первый символ в + тексте. Пробелы по обе стороны от значения счет + необязательны.
-
+ lines
+
+ счет lines
-
, - . - , , - . - , - ( - ). - .
+
Увеличивает индекс на счет строк, сохраняя номер + символа в строке. Если за строкой с текущим индексом следует + меньше строк, чем счет, то индекс устанавливается на + символ с тем же номером в последней строчке текста. Если длина + строки с новым положением индекса меньше номера символа, то + индекс указывает на последний символ в этой строке (символ + перевода строки). Пробелы по обе стороны от значения + счет необязательны.
-
- lines
+
- счет lines
-
, - . - , , - . - , - ( - ). - .
+
Уменьшает индекс на счет строк, сохраняя номер + символа в строке. Если перед строкой с текущим индексом идет + меньше строк, чем счет, то индекс устанавливается на + символ с тем же номером в первой строчке текста. Если длина + строки с новым положением индекса меньше номера символа, то + индекс указывает на последний символ в этой строке (символ + перевода строки). Пробелы по обе стороны от значения + счет необязательны.
linestart
-
.
+
Устанавливает индекс на первый символ в строке.
lineend
-
( - ).
+
Устанавливает индекс на последний символ в строке (символ + перевода строки).
wordstart
-
, - . - , - (, , ).
+
Устанавливает индекс на первый символ в слове, содержащем + символ с текущим значением индекса. Слово представляет собой + последовательность букв, цифр или символов подчеркивания + (состоящую, быть может, из одного символа).
wordend
-
, - . - , - .
+
Устанавливает индекс на первый символ в слове, содержащем + символ с текущим значением индекса. Если текущее значение + индекса и без того указывает на последний символ в слове, то + оно не изменяется.
-

, - . , , - "end-1 chars" - , "insert - wordstart-1 c" , - , - .

+

Если в команде задано несколько модификаторов, то они + применяются слева направо. Так, например, индекс + "end-1 chars" указывает на + предпоследний символ в тексте, а индекс "insert + wordstart-1 c" указывает на символ, + непосредственно предшествующий первому символу в слове, + содержащем символ с текущим значением индекса.

-

+

ТЕГИ

-

. - , - . , - " " (), "+" - "-" : - , - , . - . - , - . - .

+

Участки текста можно помечать с помощью тегов. Тег представляет + собой символьную строку, которая привязана к некоторым символам + текста. В принципе теги могут содержать любые символы, однако + использования символов " " (пробел), "+" + и "-" лучше избегать: это специальные символы + индексов и использование тега, в котором присутствуют такие + символы, в качестве индекса невозможно. С символами данного + текста можно связать произвольное количество тегов. Каждый тег + может относиться к одному символу, последовательности символов + или к нескольким последовательностям символов. С отдельным + символом может быть связано произвольное количество тегов.

-

; - . - ( , - , ) - , - . - " tag - raise" " tag +

Все теги упорядочены; на этот порядок опираются некоторые из + описываемых ниже функций работы с тегами. При определении тега + (путем связывания его с символами, или при установке параметров + его представления на экране, или при привязке к нему команд) он + получает более высокий приоритет, чем все существующие + теги. Приоритетный порядок тегов можно изменить с помощью команд + примитива "имяПути tag + raise" и "имяПути tag lower".

-

- . -, - . - background, - font foreground - . " - tag configure" - . - , - . - :

+

В текстовых примитивах теги служат для достижения трех + целей. Во-первых, они управляют отображением информации на + экране. По умолчанию способ отображения текста определяется + значениями параметров background, + font и foreground текстового + примитива. Однако команда примитива "имяПути + tag configure" позволяет связать с каждым тегом + свои значения параметров отображения. Если с символом связан + тег, то значения параметров отображения для этого тега подавляют + значения по умолчанию. В настоящее время для тегов можно + пользоваться следующими параметрами:

-
-background
+
-background цвет
-
- , . - , +
Параметр цвет задает цвет фона для изображения + символов, связанных с данным тегом. Его значение может быть + представлено в любом виде, приемлемом для Tk_GetColor.
-
-bgstipple
+
-bgstipple двуцвет
-
, - . - , - Tk_GetBitmap. - , - . +
Параметр двуцвет задает двуцветное изображение, + предназначенное для вывода в качестве фона для текста. Его + значение может быть представлено в любом виде, приемлемом для + Tk_GetBitmap. Если параметр двуцвет + не задан или его значением является пустая строка, то + используется равномерное заполнение фона.
-
-borderwidth
+
-borderwidth пиксели
-
, - . - , Tk_GetPixels. - - -relief - ; - -background , - -borderwidth .
+
Параметр пиксели задает ширину трехмерного бордюра, + окружающего фон. Его значение может быть представлено в любом + виде, приемлемом для Tk_GetPixels. Этот + параметр используется в сочетании с параметром + -relief для описания трехмерного + представления фона для символов; если параметр + -background для тега не задан, то параметр + -borderwidth игнорируется.
-
-fgstipple
+
-fgstipple двуцвет
-
, - - (, - ). - , Tk_GetBitmap. - - , - .
+
Параметр двуцвет задает двуцветное изображение, + предназначенное для вывода в качестве фона для рисования + текста и другой информации переднего плана (например, + подчеркивания). Его значение может быть представлено в любом + виде, приемлемом для Tk_GetBitmap. Если + параметр двуцвет не задан или его значением является + пустая строка, то используется равномерное заполнение + фона.
-
-font
+
-font имяШрифта
-
- . - , Параметр имяШрифта задает имя шрифта для + изображения символов. Его значение может быть представлено в + любом виде, которы описан в команде font.
-
-foreground
+
-foreground цвет
-
- , , . - , +
Параметр цвет задает цвет символов текста и другой + информации переднего плана, например, подчеркивания. Его + значение может быть представлено в любом виде, приемлемом для Tk_GetColor.
-
-justify
+
-justify вырав
-
, - , - . - left, - right center. - - .
+
Если первый символ строчки на экране связан с тегом, для + которого задан такой параметр, то значение параметра + определяет способ выравнивания текста в строчке. Параметр + вырав может принимать значения left, + right и center. При переносе + строки выравнивание каждой из получившихся строчек на экране + определяется первым символом этой строчки.
-
-lmargin1
+
-lmargin1 пиксели
-
, - , - . - - . - ; - +
Если первый символ строчки на экране связан с тегом, для + которого задан такой параметр, то значение параметра пиксели + задает величину отступа от левого края окна. Значение + параметра пиксели представляет собой расстояние на экране в + любом допустимом виде. При переносе строки этот параметр + применяется только к первой строчке на экране; отступом + остальных строк управляет параметр -lmargin2.
-
-lmargin2
+
-lmargin2 пиксели
-
, - , - (.. - ), - - . - . - ; - .
+
Если первый символ строчки на экране связан с тегом, для + которого задан такой параметр, и если строчка на экране не + является первой строчкой строки текста (т.е. она представляет + собой часть перенесенной строки текста), то значение параметра + пиксели задает величину отступа данной строчки от левого края + окна. Значение параметра пиксели представляет собой расстояние + на экране в любом допустимом виде. Этот параметр используется + только если допускается перенос строки; он применяется только + ко второй и последующим перенесенным строчкам.
-
-offset
+
-offset пиксели
-
( - ) - . , - , . - - .
+
Параметр пиксели задает величину сдвига (в + пикселях) по вертикали базиса строки текста от базиса основной + строки. Например, для верхних индексов базисная строка + сдвигается вверх, а для нижних вниз. Значение параметра + пиксели представляет собой расстояние на экране в любом + допустимом виде.
-
-overstrike
+
-overstrike булевское
-
, - . - , +
Указывает, следует ли проводить горизонтальную прямую + посередине символов. Значение параметра булевское + может быть представлено в любом виде, приемлемом для Tk_GetBoolean.
-
-relief
+
-relief обвид
-
- , Tk_GetRelief. - - -borderwidth - ; - -background , - -relief .
+
Значение параметра обвид задает объемный вид фона в + любом виде, приемлемом для Tk_GetRelief. Этот + параметр используется в сочетании с параметром + -borderwidth для установления трехмерного + вида фона для символов; если параметр + -background для данного тега не установлен, + то параметр -relief игнорируется.
-
-rmargin
+
-rmargin пиксели
-
, - , - - . - . - , - . - .
+
Если первый символ строчки на экране связан с тегом, для + которого задан такой параметр, то значение параметра пиксели + задает величину отступа между последним символом строчки и + правым краем окна. Значение параметра пиксели представляет + собой расстояние на экране в любом допустимом виде. Этот + параметр используется только, если перенос строки + допустим. При переносе строки этот параметр применяется только + ко всем перенесенным строчкам.
-
-spacing1
+
-spacing1 пиксели
-
- . - - . - .
+
Параметр пиксели задает размер дополнительного + пространства над каждой строкой текста. Значение параметра + пиксели представляет собой расстояние на экране в любом + допустимом виде. При переносе строки этот параметр применяется + только к первой строчке на экране.
-
-spacing2
+
-spacing2 пиксели
-
- , - . - - .
+
Параметр пиксели задает размер дополнительного + пространства над каждой перенесенной строчкой из строчек, + составляющих одну строку текста. Значение параметра пиксели + представляет собой расстояние на экране в любом допустимом + виде.
-
-spacing3
+
-spacing3 пиксели
-
- . - - . - .
+
Параметр пиксели задает размер дополнительного + пространства под каждой строкой текста. Значение параметра + пиксели представляет собой расстояние на экране в любом + допустимом виде. При переносе строки этот параметр применяется + только к последней строчке на экране.
-
-tabs
+
-tabs списТаб
-
- , -tabs - . - , - . , - ( - ). - , (, - -tags { }), - 8- - (. -tags - ).
+
Параметр списТаб задает набор положений табулятора + в том же виде, что и параметр -tabs для + текстового примитива. Этот параметр относится к строке текста + только в том случае, если он связан с первым символом + строки. Если значением параметра является пустая строка, то + параметр считается не заданным для данного тега (по + умолчанию). Если значением параметра является не пустая + строка, а пустой список (например, установка параметра имеет + вид -tags { }), то его значением считается + стандартный набор 8-символьных позиций табулятора + (см. описание параметра -tags для + примитива).
-
-underline
+
-underline булевское
-
, - . - , +
Параметр булевское указывает, следует ли + подчеркивать символы. Значение параметра булевское может быть + представлено в любом виде, приемлемом для Tk_GetBoolean.
-
-wrap
+
-wrap режим
-
, - . - , -wrap - : none, - char word. - , - -wrap .
+
Параметр режим задает способ обработки строк, длина + которых превышает ширину текстового окна. Допустимые значения + параметра те же, что и у параметра -wrap + текстового примитива: none, + char и word. Если этот + параметр задан, то он подавляет параметр + -wrap текстового примитива.
-

, - , - . - - , - ; - . - , , - .

+

Если с символом связано несколько тегов, причем задаваемые ими + параметры вывода противоречат друг другу, то используются + значения параметров тегов с наивысшим приоритетом. Если + некоторый параметр вывода для конкретного тега не задан или если + его значением является пустая строка, то этот параметр при + выводе не используется; вместо него берется параметр тега со + следующим приоритетом. Если ни один из тегов не определяет + параметра вывода, то используется стиль, принятый для данного + примитива по умолчанию.

-

-, . - , - : Tcl , - . - ; - - . - . tag +

Во-вторых, теги служат для привязки событий. Привязки к тегу +осуществляются практически таким же образом, как и привязки к + классу примитива: заданная команда Tcl исполняется всякий раз, + когда на символе с данным тегом происходит указанное событие. С + помощью привязок к тегам можно задать поведение групп символов; + помимо прочего таким образом можно реализовать некоторые + свойства гипертекста. Подробное описание этих возможностей + см. ниже в описании команды примитива tag bind.

-

- (. "" ).

+

Третья задача тегов обеспечивать управление выделениями + (См. "Выделение" ).

-

+

МЕТКИ

-

- . - . , - , - . , - . - . , - , , - . - . - " mark"; - - .

+

Метки представляют собой другой способ отмечать части + текста. Они служат для запоминания фиксированных мест в + тексте. Метки похожи на теги в том, что они поименованы и + ссылаются на определенные места в тексте, однако они не связаны + ни с какими конкретными символами. Напротив, метка указывает на + промежуток между двумя символами. В каждый момент времени метка + указывает в точности на одно положение. При удалении символов, + окружающих положение метки, сама метка сохраняется, меняются + лишь ее соседи. Теги же теряют привязку к символам при удалении + этих символов. Для работы с метками предназначена команда + примитива "имяПути mark"; + имя метки можно использовать в качестве индекса в командах + примитива этот индекс указывает на текущее положение метки.

-

, - left - right. - . - , - ; - . - . +

Каждой метке приписывается притяжение, которое может + принимать значения left и + right. Притяжение определяет поведение метка + при вводе текста в положении метки. При левом притяжении метка + ведет себя, как если бы она была приписана к символу слева от + нее; такая метка будет оставаться слева от вновь вводимого + текста. Для метки с правым притяжением вновь вводимый текст + окажется слева от нее. По умолчанию притяжение имеет значение right.

-

: - ; - .

+

Пространства имен меток и тегов различны: одинаковые имена + могут использоваться для метки и тега; при этом они будут + ссылаться на различные объекты.

-

. insert - ; . (. " "). - current , - "", - - ( : current - - ""; , - "" ). - .

+

У двух меток есть особый смысл. Метка insert + связана с курсором ввода; см. описание ниже (см. "Курсор ввода"). Метка + current связана с символом, ближайшим к курсору + "Мыши", ее положение меняется автоматически при + изменении позиции курсора и любых изменениях текста в примитиве + (с одним исключением: метка current не + обновляется в ответ на изменение положения курсора при нажатой + клавише "Мыши"; обновление откладывается до момента, + когда все клавиши "Мыши" будут отпущены). Ни одну из + этих двух специальных меток нельзя удалить.

-

+

ВСТАВЛЕННЫЕ ОКНА

-

- . - . - ; - ( - , - - ). - ; - , - . - ; - , - . , - , .

+

Вставленное окно это третий тип ссылок в текстовом + примитиве. Ссылка на вставленное окно приводит к появлению окна + в заданном месте текста. В текстовом примитиве может быть любое + количество вставленных окон; в качестве вставленного окна может + быть использован любой примитив (при соблюдении обычных + ограничений управления геометрией, согласно которым текстовое + окно должно быть непосредственным предком вставленного окна или + потомком этого предка). Положение вставленного окна меняется + при редактировании или прокрутке текста; окно выводится или + стирается в зависимости от того, попадает ли оно в видимую часть + текста. Вставленное окно считается одним символом в индексном + пространстве текстового примитива; на него можно сослаться либо + по имени текстового окна, либо по значению индекса в индексном + пространстве. При удалении области текста, содержащей + вставленное окно, оно разрушается.

-

- window create - . - - window configure. - :

+

При добавлении в текстовый примитив вставленного окна с помощью + команды примитива window create с ним можно + связать несколько параметров конфигурации. Значения этих + параметров можно впоследствии изменить командой примитива + window configure. В настоящее время + поддерживаются следующие параметры:

-
-align
+
-align где
-
, - , , - . - : top ( - ), center ( - ), bottom - ( ) - baseline ( - ).
+
Если высота вставленного окна отличается от высоты строчки, + в которой оно выводится, то этот параметр определяет место, + где выводится окно. Параметр где может принимать следующие + значения: top (верхушка окна совпадает с + верхней частью строчки), center (окно + центрируется в области строчки), bottom + (нижняя часть окна совпадает с нижней частью строчки) и + baseline (нижняя часть окна совпадает с базой + строчки).
-
-create
+
-create скрипт
-
Tcl, - . , - -window. - - . , - .
+
Задает скрипт Tcl, выполняемый для создания вставленного + окна. Этот скрипт выполняется при выводе окна, если для окна + не был указан параметр -window.Скрипт + создает окно и возвращает в качестве результата имя этого + окна. Если окно удаляется, то при его повторном выводе снова + исполняется тот же скрипт.
-
-padx
+
-padx пиксели
-
, - . - - .
+
Параметр пиксели задает размер дополнительного пространства, + которое следует оставить по обе стороны вставленного окна. Его + значение представляет собой расстояние на экране в любом + допустимом виде.
-
-pady
+
-pady пиксели
-
- , - . - .
+
Параметр пиксели задает размер дополнительного + пространства, которое следует оставить сверху и снизу от + вставленного окна. Его значение представляет собой расстояние + на экране в любом допустимом виде.
-
-stretch
+
-stretch булевское
-
, - , - , . - -pady, - - .
+
Параметр указывает, следует ли вытягивать вставленное окно + до высоты строчки, если запрошенная для него высота меньше + высоты строчки, на которой это окно выводится. Если для окна + задан также параметр -pady, то запрошенное + этим параметром обрамление сохраняется и при вытягивании + окна.
-
-window
+
-window имяПути
-
.
+
Задает имя выводимого окна.
-

+

ВСТАВЛЕННЫЕ ИЗОБРАЖЕНИЯ

-

- . - . - , - - . - . - - ; - , , - image create. - , , - .

+

Последним видом пометок в текстовых примитивах являются + вставленные изображения. Такая пометка приводит к выводу + изображения в заданном месте текста. В текстовом примитиве может + присутствовать произвольное количество вставленных изображений, + а одно и то же изображение может вставляться в произвольном + количестве мест в тексте. Положение вставленного изображения + меняется при редактировании или прокрутке текста. Вставленное + изображение считается одним символом в индексном пространстве + текстового примитива; на него можно сослаться либо по значению + индекса в индексном пространстве, либо по имени, которое оно + получает при создании командой image create. При + удалении области текста, содержащей вставленное изображение, + данная его копия стирается с экрана.

-

- При добавлении в текстовый примитив вставленного изображения с + помощью команды примитива image create - - . - . - -name (. ). - -name , - -image. - , - #nn, nn . - . - - , , - -image -name - image + команда возвращает уникальное имя данного вхождения изображения + в текст. Это имя в дальнейшем можно использовать для ссылок на + вхождение изображения. Имя совпадает со значением параметра + -name (см. ниже). Если параметр + -name не задан, то вместо него используется имя + -image. Если значение имяИзобр уже + использовано в примитиве, то к нему дописываются символы + #nn, где nn произвольное целое число. Таким + образом обеспечивается уникальность имени. После присвоения + имени данному вхождению изображения это имя в дальнейшем не + меняется, несмотря на то, что значения параметров + -image и -name можно поменять + с помощью команды image configure.

-

- image create - . - При добавлении в текстовый примитив вставленного изображения с + помощью команды примитива image create с ним + можно связать несколько параметров конфигурации. Значения этих + параметров можно впоследствии изменить командой примитива image - configure. - :

+ configure
. В настоящее время поддерживаются + следующие параметры:

-
-align
+
-align где
-
- , , - , . - : top ( - ), - center ( - ), bottom ( - ) baseline - ( ).
+
Если высота вставленного изображения отличается от высоты + строчки, в которой оно выводится, то этот параметр определяет + место, где выводится изображение. Параметр где может принимать + следующие значения: top (верхушка + изображения совпадает с верхней частью строчки), + center (изображение центрируется в области + строчки), bottom (нижняя часть изображения + совпадает с нижней частью строчки) и baseline + (нижняя часть изображения совпадает с базой строчки).
-
-image
+
-image изобр
-
Tk. - , - .
+
Задает имя выводимого изображения Tk. Если значение + параметра не является допустимым именем изображения, то + возвращается сообщение об ошибке.
-
-name
+
-name ИмяИзобр
-
. - , - Tk. - , #nn, - .
+
Задает имя ссылки на данное вхождение изображения. Если + параметр ИмяИзобр не задан, то именем служит имя + изображения Tk. Если значение параметра ИмяИзобр уже + использовалось, то к нему приписываются символы #nn, как + описано выше.
-
-padx
+
-padx пиксели
-
- , - . - .
+
Параметр пиксели задает размер дополнительного + пространства, которое следует оставить по обе стороны + вставленного изображения. Его значение представляет собой + расстояние на экране в любом допустимом виде.
-
-pady
+
-pady пиксели
-
- , - . - .
+
Параметр пиксели задает размер дополнительного + пространства, которое следует оставить сверху и снизу от + вставленного изображения. Его значение представляет собой + расстояние на экране в любом допустимом виде.
-

+

ВЫДЕЛЕНИЕ

-

. - exportSelection - , +

Выделение реализуется с помощью тегов. Если параметр + exportSelection текстового примитива имеет + значение истина, то с выделением ассоциируется тег sel:

    -
  1. - sel, - .
  2. +
  3. Если некоторые символы помечены тегом + sel, то текстовый примитив притязает на + владение выделением.
  4. -
  5. , - sel.
  6. +
  7. Результатом поиска выделения будут служить все символы, + помеченные тегом sel.
  8. -
  9. - , sel - .
  10. +
  11. Если выделение запрашивается другим приложением или другим + окном данного приложения, то тег sel + снимается со всех символов текста.
-

sel - ; - " tag - delete". +

Тег sel определяется автоматически при + создании текстового примитива; его нельзя удалить командой + примитива "имяПути tag + delete". Кроме того параметры selectBackground, - selectBorderWidth - selectForeground - -background, - -borderwidth -foreground - sel: - - .

+ selectBorderWidth и + selectForeground текстового примитива связаны с + параметрами -background, + -borderwidth и -foreground + тега sel: изменение одного из этих параметров + примитива автоматически вызывает изменение соответствующего + параметра тега и наоборот.

-

+

КУРСОР ВВОДА

-

insert - . - - "mark unset". - insert ; - , - .

+

Метка с именем insert имеет в текстовых + примитивах специальное значение. Она определяется автоматически + при создании примитива и ее нельзя отменить командой примитива + "имяПутиmark unset". Метка + insert задает положение курсора ввода; курсор + ввода отображается в этом положении всякий раз, когда текстовый + примитив попадает в фокус ввода.

-

+

КОМАНДА ПРИМИТИВА

-

text Tcl, - . - . -

+

Команда text создает новую команду Tcl, имя + которой совпадает с именем текстового окна. С помощью этой + команды можно выполнять различные операции над примитивом. Ее + общий вид

-        ?  ...?
+      имяПути параметр ?арг арг ...?
     
-

; - . - . - :

+

имяПути является именем команды; оно совпадает с + именем пути текстового примитива. Параметр и аргументы уточняют + поведение команды. Текстовые примитивы допускают следующие формы + команды:

-
bbox
+
имяПути bbox индекс
-
, - , . - x y - ; - . , - . - , - .
+
Возвращает список из четырех элементов, описывающий область + экрана, занимаемую символом с индексом индекс. Первые + два элемента списка представляют собой координаты x и y + верхнего левого угла этой области; последние два это ее ширина + и высота. Если символ виден на экране лишь частично, то + возвращаемые значения описывают видимую часть области. Если + символ на экране не виден, то возвращаемое значение является + пустым списком.
-
cget -
+
имяПути cget + параметр
-
- . - text.
+
Возвращает текущее значение параметра конфигурации с именем + параметр. Параметр может быть любым из параметров + команды text.
-
compare 1 - 2
+
имяПути compare индекс1 оп + индекс2
-
, 1 - 2, , - ; - "1", , - "0" . - "<", "<=", - "=", ">=", ">" - "!=". - "=", "1", - ; - "<" "1", - 1 , - 2, ..
+
Сравнивает индексы, задаваемые параметрами индекс1 + и индекс2, в соответствии с оператором отношения, + задаваемым параметром оп; команда возвращает + "1", если указанное отношение выполняется, и + "0" в противном случае. Параметр оп может принимать + одно из значений "<", "<=", + "=", ">=", ">" или + "!=". Если значением оператора является + "=", то команда возвращает "1", если оба + индекса ссылаются на один и тот же символ; при операторе + "<" команда возвращает "1", если + индекс1 ссылается на символ, предшествующий символу с + индексом индекс2, и т.д.
-
configure - ?? ? +
имяПути configure + ?параметр? ?значение параметр значение ...?
-
- . , - , - ( - Tk_ConfigureInfo). , - , - , . - -, - - , - . - text.
+
Запрашивает значения параметров конфигурации примитива или + изменяет их. Если параметр не указан, то возвращает + список, содержащий значения всех допустимых в + имениПути параметров (формат списка описан в + Tk_ConfigureInfo). Если параметр задан, а его новое + значение нет, то команда возвращает часть полного + списка, относящуюся к указанному параметру. Если заданы одна + или несколько пар параметр-значение, то указанным + параметрам примитива присваиваются новые + значения, а команда возвращает пустую + строку. Параметр может быть любым из параметров + команды text.
-
debug - ??
+
имяПути debug + ?булевское?
-
, - , - Tcl_GetBoolean. - , B-, , - . - . - . - , - on off - , - . - : - . - - .
+
Если задан параметр булевское, то он может иметь + значение истина или ложь в виде, приемлемом для + Tcl_GetBoolean. Если значение параметра + истина, то в B-дереве, связанном с текстовыми примитивами, + будет выполняться внутренняя проверка согласованности. В + противном случае эта проверка будет отключена. Независимо от + полученного значения команда возвращает пустую строку. Если + параметр булевское не задан, то команда возвращает + on или off в зависимости от + того, подключена или нет в момент выполнения команды система + отладки. Переключатель отладки один на все текстовые + примитивы: изменение его значения в одном примитиве приводит к + изменению этого значения для всех примитивов. Проверка + согласованности для примитивов с длинными текстами может + привести к существенному замедлению работы.
-
delete 1 - ?2?
+
имяПути delete индекс1 + ?индекс2?
-
. - 1 2, - , - 1, , - 2 - (.. 2 ). - 2 , - 1. , - - . .
+
Удаляет последовательность символов в тексте. Если заданы + оба параметра индекс1 и индекс2, то + удаляются все символы, начиная с символа с индексом + индекс1, и кончая символом, непосредственно + предшествующим символу с индексом индекс2 + (т.е. символ с индексом индекс2 не удаляется). Если + параметр индекс2 не задан, то удаляется только символ + с индексом индекс1. Невозможно такое удаление, при + котором последний символ оставшегося текста не будет символом + перевода строки. Команда возвращает пустую строку.
-
dlineinfo
+
имяПути dlineinfo индекс
-
, - , , - . - x y ; - ; - . - . - none - , - , . - , - , - . , - , , - .
+
Возвращает список из пяти элементов, описывающий область + экрана, занимаемую строчкой, содержащей символ с индексом + индекс. Первые два элемента списка представляют собой + координаты x и y верхнего левого угла этой области; следующие + два это ее ширина и высота; пятый элемент это расстояние от + верхней границы области вниз до базы строчки. Все значения + измеряются в пикселях. Если текущий режим переноса строки + имеет значение none и строка видна на экране + лишь частично, то возвращаемые значения описывают всю область + строки, включая и ее невидимые части. Если строчка короче + полной ширины экрана, то возвращаемые значения описывают + только ту ее часть, которая занята символами и вставленными + окнами. Если строчка, содержащая символ с индексом + индекс, на экране не видна, то возвращаемое значение + является пустым списком.
-
dump ?? - 1 ?2?
+
имяПути dump ?переключатели? + индекс1 ?индекс2?
-

- 1 - 2 ( ), , - , . - 2 , - 1. - :

+

Возвращает содержимое текстового примитива от символа с + индексом индекс1 до символа с индексом + индекс2 (не включая последний), включая сам текст, + а также информацию о метках, тегах и вставленных окнах. Если + параметр индекс2 не задан, то по умолчанию + описывается символ с индексом индекс1. Возвращаемая + информация имеет следующий формат:

-          1 1 1  2  2  2 ...
+          ключ1 значение1 индекс1 ключ 2 значение 2 индекс 2 ...
         
-

text, +

Ключи могут принимать значения text, mark, tagon, - tagoff - window. - , , - . - , , . - - ( ):

+ tagoff и + window. Соответствующими возвращаемыми + значениями будут текст, имя метки, имя тега или имя + окна. Возвращаемыми значениями индекса будут индекс начала + текста, метки, тегового перехода или окна. Для управления + результатом можно использовать один или несколько из + следующих переключателей (или их аббревиатур):

-all
-
, - , . - .
+
Возвращается информация обо всех элементах тексте, + метках, тегах и окнах. Это значение принято по + умолчанию.
-
-command
+
-command команда
-
- - - . - , .
+
В этом случае вместо возвращения информации об элементах + текстового примитива на каждом из этих элементов в + указанной области текста выполняется + команда. Аргументами команды служат + ключ, значение и индекс соответствующего элемента.
-mark
-
.
+
Включить в результат информацию о метках.
-tag
-
- . - tagon - tagoff, - .
+
Включить в результат информацию о теговых + переходах. Информация о тегах возвращается в виде + элементов tagon и + tagoff, указывающих соответственно начало + и конец каждой области тега.
-text
-
. - , - 2. - . , - , - , - . - .
+
Включить в результат информацию о тексте. Значением + служит текст до следующего элемента или до конца области, + указанного параметром индекс2. Текстовый элемент + не захватывает новых строк. Часть текста, содержащая + несколько строк и не включающая меток и теговых переходов, + будет выводиться в виде набора отрезков текста, каждый из + которых кончается символом перевода строки. Эти символы + являются частью результата.
-window
-
- . Tk , - , . ( - .) - , - , - .
+
Включить в результат информацию о вставленных + окнах. Значением является имя Tk пути вставленного окна, + за исключением случая, когда окно еще не создано. (Окно + должно содержать создающий скрипт.) В последнем случае + результатом служит пустая строка, а дополнительную + информацию об окне можно получить, задав значение его + индекса.
-
get 1 - ?2?
+
имяПути get индекс1 + ?индекс2?
-
. - , - 1 , - - 2 ( 2 - ). 2 - , - 1. - (, 1 - 2 , 1), - . - , - .
+
Возвращает последовательность символов в тексте. В + последовательность включаются все символы текста, начиная с + символа с индексом индекс1 и кончая символом, + непосредственно предшествующим символу с индексом + индекс2 (символ с индексом индекс2 в эту + последовательность не входит). Если параметр индекс2 + опущен, то команда возвращает единственный символ с индексом + индекс1. Если в указанном интервале нет символов + (например, если индекс1 указывает за конец файла или + значение индекс2 меньше, чем индекс1), то + команда возвращает пустую строку. Если в указанном интервале + есть вставленные окна, то информация о них в возвращаемую + строку не входит.
-
image ?? - ? ...?
+
имяПути image ?параметр? + ?арг арг ...?
-

- . - . - :

+

Команда предназначена для управления вставленными + изображениями. Поведение команды определяется значением + аргумента параметр. В настоящее время поддерживаются + следующие формы команды:

-
image cget -
+
имяПути image cget индекс + параметр
-
- . - , - ; - , (. " - ").
+
Возвращает значение параметра конфигурации вставленного + изображения. Аргумент индекс указывает + вставленное изображение, а параметр задает имя + требуемого параметра конфигурации; это имя должно быть + элементом списка, приведенного (см. "Вставленные + изображения").
-
image configure - ? ...?
+
имяПути image configure + индекс ?параметр значение ...?
-
- . - , , - - ( Tk_ConfigureInfo). - , , - , . - -, - ; - . - (. " - ").
+
Запрашивает значение параметров вставленного изображения + или изменяет эти значения. Если ни один аргумент параметр + не задан, то возвращает список, содержащий значения всех + наличных параметров вставленного изображения с индексом + индекс (формат списка описан в Tk_ConfigureInfo). Если + параметр задан, а его значение нет, то команда возвращает + часть списка, относящуюся к данному параметру. Если задано + несколько пар параметр-значение, то команда придает + указанным параметрам новые значения; в этом случае команда + возвращает пустую строку. Описание поддерживаемых + параметров (см. "Вставленные + изображения").
-
image create - ? ...?
+
имяПути image create + индекс ?параметр значение ...?
-
, - , - . - - -. - , - . - - (. " - ").
+
Команда создает новую ссылку на изображение, которое + появляется в тексте в положении, указанном аргументом + индекс. Для установки параметров конфигурации + изображения можно указать произвольное число пар + параметр-значение. Команда возвращает уникальный + идентификатор, который можно использовать в качестве + индекса при ссылке на данное изображение. Описания + поддерживаемых параметров и возвращаемого идентификатора + (см. "Вставленные + изображения").
-
image names
+
имяПути image names
-
, - , - .
+
Возвращает список, элементами которого служат имена всех + вхождений изображений, вставленных в данное + окно.
-
index
+
имяПути index индекс
-
; - ., , - . - , (. "").
+
Возвращает положение символа с индексом индекс; положение + выдается в виде строч.симв, где строч это номер строчки, а + симв номер символа в этой строчке. Аргумент индекс может + иметь любую из форм, описанных выше (см. "Индексы").
-
insert - ? - ...?
+
имяПути insert индекс + символы ?списТегов символы + списТегов...?
-
- . - (.. , - ), - - . , - , - , - ; - , - . - ; - , - . - - -, - - , . - .
+
Вставляет значения всех аргументов символы непосредственно + перед символом с индексом индекс. Если + индекс ссылается на конец текста (т.е. на символ, + следующий за последним символом перевода строки), то новый + текст вставляется непосредственно перед последним символом + перевода строки. Если у команды один аргумент символы, а + аргументы списТегов отсутствуют, то ко вновь + введенному тексту будут приписаны все теги, присутствующие у + обоих символов слева и справа от нового текста; если тег + приписан лишь к одному из соседних символов, то на вновь + введенный текст он не распространяется. Аргументы + списТегов представляют собой списки имен тегов; + новым символам будут приписаны только эти теги, независимо + от состояния тегов по обе стороны от точки ввода. Если в + аргументах команды присутствует несколько пар + символы -списТегов, то результат ее выполнения + совпадает с результатом выполнения нескольких таких же + команд примитива, по одной на каждую пару. Последний + аргумент списТегов может быть опущен.
-
mark - ? ...?
+
имяПути mark параметр + ?арг арг ...?
-

- . - . - :

+

Эта команда предназначена для работы с + метками. Поведение команды определяется значением + аргумента параметр. В настоящее время + поддерживаются следующие формы команды:

-
mark gravity - ??
+
имяПути mark gravity + имяМетки ?направление?
-
, - left - right, , - . - , - left - right, - .
+
Если аргумент направление не задан, то + команда возвращает значение left или + right, указывающее, притягивается ли + метка к символу слева или справа от нее. Если + направление задано, то оно должно иметь + значение left или + right, и притяжению метки с именем + имяМетки присваивается указанное значение.
-
mark names
+
имяПути mark names
-
, - .
+
Возвращает список, элементами которого являются имена + всех уже установленных меток.
-
mark next -
+
имяПути mark next + индекс
-
, - ( - ). - , - . - , - . - - , - . , - mark next - - , - dump. - , - end, - mark next - end. - , - .
+
Возвращает имя первой метки, идущей за символом с + индексом индекс (или притягивающейся к этому + символу). Если аргумент индекс задан в числовом + виде, то поиск метки начинается с указанного + символа. Если значением аргумента индекс + является имя метки, то поиск очередной метки начинается + непосредственно после заданной метки. При этом + возвращаемым значением может оказаться имя метки с тем + же самым положением, если в этом положении находится + несколько меток. Смысл этого действия состоит в том, + что команда mark next позволяет + последовательно перебрать все метки в текстовом + примитиве в том же порядке, в котором информация о + метках выводится командой dump. Если + метка установлена в положении, указанном специальным + индексом end, то для операции + mark next эта метка находится + после индекса end. Если после + символа с индексом индекс меток нет, то команда + возвращает пустую строку.
-
mark previous -
+
имяПути mark previous + индекс
-
, - ( - ). - , , - . - , - - . - , - . - , mark - previous - , - , - dump. - , - .
+
Возвращает имя первой метки, идущей перед символом с + индексом индекс (или притягивающейся к этому + символу). Если аргумент индекс задан в числовом + виде, то поиск метки начинается с символа, + непосредственно предшествующего указанному. Если + значением аргумента индекс является имя метки, + то поиск очередной метки начинается непосредственно + перед заданной меткой. При этом возвращаемым значением + может оказаться имя метки с тем же самым положением, + если в этом положении находится несколько меток. Смысл + этого действия состоит в том, что команда mark + previous позволяет последовательно перебрать + все метки в текстовом примитиве в порядке, обратном + тому, в котором информация о метках выводится командой + dump. Если перед символом с индексом + индекс меток нет, то команда возвращает пустую + строку.
-
mark set -
+
имяПути mark set + имяМетки индекс
-
- . - , - ; - , . - .
+
Устанавливает метку с именем имяМетки + непосредственно перед символом с индексом индекс. Если + метка с именем имяМетки уже существует, то она + перемещается из своего старого положения в новое; если + такой метки нет, то создается новая метка. Команда + возвращает пустую строку.
-
mark unset - ? ...?
+
имяПути mark unset + имяМетки ?имяМетки имяМетки...?
-
. - ; - " mark names" - . - .
+
Удаляет все метки с именами имяМетки. + Удаленные метки нельзя использовать в качестве индексов; + команда "имяПути mark names" + так же не возвращает их в списке меток. Команда + возвращает пустую строку.
-
scan -
+
имяПути scan параметр + арг
-

. - - :

+

Команда используется для сканирования текстов. Она + может иметь один из двух видов в зависимости от значения + параметра:

-
scan mark x +
имяПути scan mark x y
-
x y - - scan dragto. - "" - . .
+
Записывает координаты x и y и текущий вид текстового + окна для последующего использования командами + scan dragto. Обычно эта команда связана + с нажатием клавиши "Мыши" в + примитиве. Возвращает пустую строку.
-
scan dragto +
имяПути scan dragto x y
-
x y - x y - scan mark. - , - 10 . - - "" - - . .
+
Команда вычисляет разность значений аргументов x и y и + значений аргументов x и y последней выполненной на + примитиве команды scan mark. Затем + команда переносит сохраненный вид окна на расстояние, в + 10 раз пресыщающее вычисленную разность. Обычно эта + команда связывается с событиями движения курсора + "Мыши" в примитиве и предназначена для + перетаскивания текста по окну с высокой + скоростью. Возвращает пустую строку.
-
search - ?? - ?
+
имяПути search + ?переключатели? образец индекс + индексСтоп?
-

- , - . , - - ; - . - - ( ):

+

Ищет в примитиве с именем имяПути текст + подходящий под образец, начиная с символа с индексом + индекс. Если подходящая последовательность символов найдена, + то команда возвращает в качестве результата индекс первого + символа в этой последовательности; в противном случае + возвращает пустую строку. Для управления поиском можно + задать один или несколько из описываемых ниже переключателей + (или их аббревиатур):

-forwards
-
"", - - , , - . - .
+
Поиск осуществляется в направлении "вперед", + подходящая последовательность символов ищется в + положении, указанном аргументом индекс, и + дальше по тексту. Это значение принято по + умолчанию.
-backwards
-
"", - - , , - .
+
Поиск осуществляется в направлении "назад", + подходящая последовательность символов ищется перед + положением, указанным аргументом индекс, и + ближе всего к нему.
-exact
-
: - - . - .
+
Требует точного соответствия образцу: символы в + подходящей последовательности должны в точности + совпадать с символами образца. Это значение принято по + умолчанию.
-regexp
-
- - , ( - . Указывает на необходимость считать образец регулярным + выражением и устанавливать соответствие согласно + правилам, принятым для регулярных выражений (подробности + см. в описании команды regexp).
-nocase
-
- .
+
Игнорировать различие регистров в образце и + тексте.
-
-count
+
-count имяПерем
-
- ; , - .
+
Аргумент имяПерем представляет собой имя + переменной; если подходящая последовательность найдена, + то в эту переменную заносится число символов в ней.
--
-
- ; - , - "-"
+
Единственная задача этого переключателя завершение + списка переключателей; следующий за ним аргумент будет + интерпретирован как образец, даже если он и + начинается с "-"
-

- . - - . - .$. - . - . , - : - , - , - , - . - , - : - , , - . - , - .

+

Вся подходящая последовательность должна содержаться в + одной строке текста. Перед сопоставлении с регулярным + выражением из текста удаляются все символы перевода + строки. Для поиска соответствия такому символу можно + воспользоваться служебным символом .$. в регулярных + выражениях. Для точных соответствий переводы строк + сохраняются. Если задан аргумент индексСтоп, то + поиск прекращается по достижении символа с этим индексом: + для поиска вперед не будут рассматриваться соответствия, + начинающиеся на символе с этим индексом или позднее, для + поиска назад не рассматриваются соответствия, начинающиеся + раньше указанного индекса. Если аргумент + индексСтоп опущен, то поиск осуществляется по + всему тексту: по достижении одного из краев текста поиск + продолжается, начиная с другого края, до тех пор пока не + будет снова достигнуто исходное положение. Если аргумент + индексСтоп задан, то перескакивания на + противоположный край текста не происходит.

-
see
+
имяПути see индекс
-
, - . - , - , - . , - . +
Сдвигает содержимое окна таким образом, чтобы символ с + индексом индекс был виден полностью. Если этот + символ расположен недалеко от видимой части текста, то сдвиг + осуществляется настолько, чтобы он был виден у края + окна. Если же указанный символ располагается далеко, то в + результате сдвига он оказывается в центре окна.
-
tag - ? ...?
+
имяПути tag параметр + ?арг арг ...?
-

. - . - :

+

Эта команда используется для работы с тегами. Ее поведение + определяется значением аргумента параметр. В + настоящее время поддерживаются следующие формы команды:

-
tag add - 1 ?2 1 2 ...?
+
имяПути tag add имяТега + индекс1 ?индекс2 индекс1 индекс2 ...?
-
, - 1 - 2 ( - ). - - 1-2. - 2 , - 1. - (, - 1 - 2 - 1), - .
+
Приписывает тег имяТега ко всем символам, + начиная с индекса1 и кончая непосредственно + перед символа с индексом индекс2 (к самому + этому символу данный тег не приписывается). В одной + команде может присутствовать произвольное число пар + индекс1-индекс2. Если последний аргумент + индекс2 опущен, то тег приписывается к + единственному символу с индексом индекс1. Если + в указанном промежутке нет символов (например, + индекс1 указывает за конец файла или + индекс2 оказывается не больше + индекса1), то команда не совершает никаких + действий.
-
tag bind - ?? ?
+
имяПути tag bind имяТега + ?послед? ?скрипт
-

- . - , , - , - , - . - bind; - , , - . - , - , . . 1.3. - , , - - ( - - "+", - , ). - . - , , - ( - ). - , , - , - - .

+

Эта команда приписывает скрипт к тегу с именем + имяТега. При наступлении последовательности + событий, заданной аргументом послед, на + символе, к которому приписан тег с именем + имяТега , выполняется указанный + скрипт. Эта команда примитива похожа на + команду bind; единственное ее + отличие состоит в том, что она действует на символах, + а не на всем примитиве. Полное описание синтаксиса + последовательности и подстановок, производимых в + скрипте перед его выполнением, см. в п. 1.3. Если + указаны все аргументы, то создается новая привязка, + заменяющая все предыдущие привязки данной + последовательности к тегу имяТега (если + первым символом аргумента скрипт является + "+", то скрипт присоединяется к текущей + привязке, а не замещает ее). В этом случае команда + возвращает пустую строку. Если аргумент + скрипт опущен, то команда возвращает скрипт, + привязанный к тегу имяТега (при отсутствии + такого скрипта возникает ошибка). Если опущены и + аргумент скрипт, и аргумент послед, + то команда возвращает список всех последовательностей, + привязки к которым определены для тега с именем + имяТега.

-

, - "" (, +

Привязки можно определять только для событий, + связанных с "Мышью" и клавиатурой (например, Enter, Leave, ButtonPress, Motion - KeyPress), - . - (. ""). - Enter - , - Leave , - . - Enter Leave - , - - . , - Enter - Leave . , - "" , - . - , - - , "" - .

+ и KeyPress), или для виртуальных + событий. Привязки событий для текстового примитива + используют текущую метку (см. "Метки"). Событие + Enter наступает для тега при первом + появлении этого тега на текущем символе, а событие + Leave наступает, когда текущий символ + оказывается несвязанным с данным тегом. События + Enter и Leave могут + наступить либо в результате перемещения текущей метки, + либо как следствие изменения символа в позиции текущей + метки. Обратите внимание на то, что эти события + отличаются от событий Enter и + Leave для окон. События, связанные с + "Мышью" и клавиатурой, направлены на текущий + символ. Если в привязке используется виртуальное + событие, то оно может наступить только в случае если + для его определения был использован выход с + подчеркиванием, связанный с "Мышью" или + клавиатурой.

-

, - - . - - - . - , - ( . 1.3). continue - break , - , К текущему символу может быть приписано много тегов, + причем каждый из этих тегов может иметь привязку для + одной и той же последовательности событий. В таком + случае исполняется по одной привязке к каждому из + тегов в порядке от наименьшего приоритета к + наибольшему. Если к одному тегу подходят несколько + образцов привязок, то выбирается самая конкретная из + них (подробности приведены в п. 1.3). Команды continue + и break в скрипте привязки обрабатываются так же, как + и в случае привязок, созданных командой bind.

-

( - bind), - . - , - .

+

Если есть привязки и к примитиву в целом (созданные с + помощью команды bind), то они + служат дополнением привязок к тегам. Сначала + выполняются привязки к тегам, а затем привязки ко + всему примитиву.

-
tag cget -
+
имяПути tag cget имяТега + параметр
-
- , - . , - tag +
Команда возвращает текущее значение параметра с именем + параметр, ассоциированного с тегом + имяТега. Параметр может иметь любое значение, + воспринимаемое командой примитива tag configure. -
tag configure - ?? ?? - ? ...?
+
имяПути tag configure + имяТега ?параметр? ?значение? + ?параметр значение ...?
-
- configure; , - , - , - . , - - ( - Tk_ConfigureInfo). - , , - , - . - -, - - ; - . (. "").
+
Эта команда похожа на команду примитива + configure; ее отличие состоит в том, + что она модифицирует параметры, связанные с тегом + имяТега, а не со всем текстовым + примитивом. Если аргумент параметр не задан, то + команда возвращает список значений всех параметров тега + имяТега (формат списка описан в + Tk_ConfigureInfo). Если + параметр задан, а его значение нет, то + возвращается часть списка, относящаяся к указанному + параметру. Если заданы одна или несколько пар + параметр-значение, то команда присваивает + указанным параметрам тега имяТега новые + значения; в этом случае она возвращает пустую + строку. Подробно параметры тегов описаны выше (см. "Теги").
-
tag delete - ? ...?
+
имяПути tag delete + имяТега ?имяТега ...?
-
- . - - , - . .
+
Стирает всю информацию о тегах для каждого из + аргументов имяТега. Команда снимает теги с + символов и удаляет всю остальную информацию о них + например, привязки и характеристики вывода на + экран. Возвращает пустую строку.
-
tag lower -
+
имяПути tag lower + имяТегаНижеЭтого
-
, - - . - , - .
+
Изменяет приоритет тега с именем имяТега , + устанавливая его непосредственно перед тегом с именем + нижеЭтого. Если аргумент нижеЭтого + опущен, то тег имяТега получается самый нижний + приоритет среди всех тегов.
-
tag names - ??
+
имяПути tag names + ?индекс?
-
, , - . - , - ( , - " - tag" - " tag - delete", , - - ). - ( - ).
+
Возвращает список имен всех тегов, активных в позиции, + указанной аргументом индекс. Если аргумент + индекс опущен, то команда возвращает список + всех существующих тегов в тексте (это все теги, + установленные командой примитива "имяПути + tag" и не удаленные командой + примитива "имяПути tag + delete", в том числе и те из них, которые + в текущий момент не относятся ни к какому + символу). Выводимый список отсортирован в порядке + приоритетов тегов (от тега с наименьшим приоритетом к + тегу с наибольшим).
-
tag nextrange - 1 ?2?
+
имяПути tag nextrange + имяТега индекс1 ?индекс2?
-
, - , - 1, - - 2. , - , - . , - : - , - . - , - . 2 , - .
+
Команда ищет последовательность символов, помеченных + тегом имяТега, первый символ которой стоит + после символа с индексом индекс1, а последний + символ предшествует символу с индексом + индекс2. В случае, если таких + последовательностей несколько, выбирается первая из + них. Команда возвращает список из двух элементов, первый + из которых индекс первого символа последовательности: а + второй индекс символа, непосредственно следующего за + последним символом последовательности. Если подходящей + последовательности нет, то команда возвращает пустую + строку. Если аргумент индекс2 не задан, то его + значением по умолчанию считается конец текста.
-
tag prevrange - 1 ?2?
+
имяПути tag prevrange + имяТега индекс1 ?индекс2?
-
, - , - 1, - , 2 ( - ). , - , - 1. - , - : - , - . - , - . 2 , - .
+
Команда ищет последовательность символов, помеченных + тегом имяТега, первый символ которой стоит + перед символом с индексом индекс1, но не + раньше, чем символ с индексом индекс2 (символ с + этим индексом допускается). В случае, если таких + последовательностей несколько, выбирается ближайшая к + символу с индексом индекс1. Команда возвращает + список из двух элементов, первый из которых индекс + первого символа последовательности: а второй индекс + символа, непосредственно следующего за последним + символом последовательности. Если подходящей + последовательности нет, то команда возвращает пустую + строку. Если аргумент индекс2 не задан, то его + значением по умолчанию считается начало текста.
-
tag raise - ??
+
имяПути tag raise + имяТега ?ВышеЭтого?
-
, - - . - , - .
+
Изменяет приоритет тега с именем имяТега , + устанавливая его непосредственно после тега с именем + вышеЭтого. Если аргумент вышеЭтого + опущен, то тег имяТега получается самый большой + приоритет среди всех тегов.
-
tag ranges -
+
имяПути tag ranges + имяТега
-
, - . - , - .. - , - , - . - , - .
+
Возвращает список всех участков текста, помеченных + тегом с именем имяТега. Первые два элемента + списка описывают первый участок, следующие два второй и + т.д. Первый элемент каждой пары представляет собой + индекс первого символа на соответствующем участке, + второй элемент пары индекс символа, непосредственно + следующего за последним символом участка. Если тегом + имяТега не помечен ни один символ, то команда + возвращает пустую строку.
-
tag remove - 1 ?2 1 2 +
имяПути tag remove + имяТега индекс1 ?индекс2 индекс1 индекс2 ...?
-
- , - 1 2 ( - 2 ). - (, - 1 - 2 - 1), - . .
+
Снимает пометку тегом имяТега со всех + символов в промежутках, указанных индексами + индекс1 и индекс2 (на символ с + индексом индекс2 команда не действует). Если в + указанном промежутке нет символов (например, если + индекс1 указывает за конец текста или + индекс2 оказывается не меньше + индекса1), то команда не совершает никаких + действий. Возвращает пустую строку.
-
window - ? ...?
+
имяПути window параметр + ?арг арг ...?
-

- . - . - :

+

Команда используется для работы со вставленными + окнами. Поведение команды зависит от значения аргумента + параметр. В настоящее время поддерживаются + следующие формы команды:

-
window cget -
+
имяПути window cget + индекс параметр
-
- . - , - ; - , " - ".
+
Возвращает значение параметра конфигурации + вставленного окна. Окно задается аргументом + индекс, а аргумент параметр указывает + имя конкретного параметра конфигурации; это имя должно + быть одним из тех, которые описаны во фрагменте "Вставленные + окна".
-
window configure - ? ...?
+
имяПути window configure + индекс ?параметр значение ...?
-
- . - , , - ( - Tk_ConfigureInfo). - , - , , - . - -, - - , - . - " - ".
+
Запрашивает или модифицирует значения параметров + конфигурации вставленного окна. Если параметр + не указан, то возвращает список, содержащий значения + всех допустимых параметров вставленного окна (формат + списка описан в Tk_ConfigureInfo). Если + параметр задан, а его новое значение + нет, то команда возвращает часть полного списка, + относящуюся к указанному параметру. Если заданы одна или + несколько пар параметр-значение, то указанным + параметрам присваиваются новые + значения, а команда возвращает пустую + строку. Список возможных параметров приведен в фрагменте + "Вставленные + окна".
-
window create - ? ...?
+
имяПути window create + индекс ?параметр значение ...?
-
, - - . - -. - . " - ". .
+
Команда создает ссылку на новое окно, положение + которого в тексте определяется аргументом + индекс. Конфигурация окна задается произвольным + числом пар параметр-значение. Список возможных + параметров см. в "ВСТАВЛЕННЫЕ + ОКНА". Команда возвращает пустую строку.
-
window names
+
имяПути window names
-
- .
+
Возвращает список имен всех вставленных в настоящий + момент в окно окон.
-
xview
+
имяПути xview параметр арг
-

- . - :

+

Команда используется для запроса горизонтального положения + текста в окне примитива и изменения этого положения. Она + может принимать одну из следующих форм:

-
xview
+
имяПути xview
-
, - - "0" "1". - , - . , , - ".2", ".6", - 20% , 40% - 40% . - , - . - , - "0" "1", - , - . - +
Возвращает список из двух элементов, каждый из которых + представляет собой вещественное число в промежутке между + "0" и "1". В совокупности эти два + числа описывают, какая часть документа по горизонтали + видна в окне. Если, например, значение первого числа + равно ".2", а второго ".6", то слева + от экрана не видно 20% текста, 40% видимы на экране и + еще 40% не видимы справа от экрана. Числа относятся + только к строчкам, которые действительно попадают на + экран. Если все строчки в окне короткие и полностью + умещаются на экране, то команда возвращает значения + "0" и "1", даже если в тексте + фактически присутствуют строчки, длина которых намного + превышает ширину окна. Те же самые значения передаются + полосам прокрутки через параметр -xscrollcommand.
-
xview moveto -
+
имяПути xview moveto + число
-
, - , - , - . - "0" "1".
+
Сдвигает содержимое окна таким образом, чтобы часть + текста по горизонтали, описываемая аргументом + число, находилась слева от + экрана. Число должно быть вещественным числом в + промежутке между "0" и "1".
-
xview scroll -
+
имяПути xview scroll + число что
-
- - . . - units - pages, . - - units, - ; - pages - ( - ). , - , .
+
Команда сдвигает содержимое окна влево или вправо в + соответствии со значениями аргументов число и + что. Число должно быть целым. Аргумент что + может принимать значения units и + pages, а также их аббревиатуры. Если + аргумент что имеет значение + units, то сдвиг происходит на + числосимволов средней ширины; в случае значения + pages сдвиг выполняется на + число страниц (размер страницы равен размеру + экрана). Если число отрицательно, то сдвиг + происходит вправо, в противном случае влево.
-
yview
+
имяПути yview параметр арг
-

- . - :

+

Команда используется для запроса вертикального положения + текста в окне примитива и изменения этого положения. Она + может принимать одну из следующих форм:

-
yview
+
имяПути yview
-
, - - "0" "1". - - (, "0.5" - , - ). - , - . - +
Возвращает список из двух элементов, каждый из которых + представляет собой вещественное число в промежутке между + "0" и "1". Первый элемент списка + указывает положение в тексте первого символа верхней + строчки на экране (например, значение "0.5" + означает, что этот символ находится в середине + текста). Второй элемент списка указывает положение + символа, следующего непосредственно за последним + символом нижней строчки экрана. Те же самые значения + передаются полосам прокрутки через параметр -yscrollcommand.
-
yview moveto -
+
имяПути yview moveto + число
-
, , - , - . - - "0" "1"; "0" - , - "0.33" , - "1/3" ..
+
Сдвигает содержимое окна таким образом, чтобы символ, + положение которого задано аргументом число, + оказался в верхней строчке экрана. Число должно + быть вещественным числом в промежутке между + "0" и "1"; значение "0" + указывает на первый символ в тексте, значение + "0.33" на символ, отстоящий от начала текста + на "1/3" и т.д.
-
yview scroll -
+
имяПути yview scroll + число что
-
- - . . - units - pages, . - - units, - ; - pages - ( - ). , - , .
+
Команда сдвигает содержимое окна вверх или вниз в + соответствии со значениями аргументов число и + что. Число должно быть целым. Аргумент что + может принимать значения units и + pages, а также их аббревиатуры. Если + аргумент что имеет значение + units, то сдвиг происходит на + число строчек; в случае значения + pages сдвиг выполняется на + число страниц (размер страницы равен размеру + экрана). Если число отрицательно, то сдвиг + происходит вверх, в противном случае вниз.
-
yview ?-pickplace? -
+
имяПути yview ?-pickplace? + индекс
-

, - - . - -pickplace , - - . , - - :

+

Сдвигает содержимое окна примитива таким образом, + чтобы сделать видимым символ с индексом + индекс. Если аргумент + -pickplace не задан, то символ с + указанным индексом появляется в верхней строчке + экрана. Если же этот аргумент задан, то примитив + определяет место появления символа на экране по + следующему правилу:

    -
  1. - , .
  2. +
  3. Если символ с индексом индекс + уже виден на экране, то ничего не изменяется.
  4. -
  5. - , - .
  6. +
  7. Если этот символ находится лишь незначительно выше + экрана, то он оказывается в верхней строчке + экрана.
  8. -
  9. - , - .
  10. +
  11. Если этот символ находится лишь незначительно ниже + экрана, то он оказывается в нижней строчке + экрана.
  12. -
  13. - .
  14. +
  15. В остальных случаях указанный символ оказывается в + центре экрана.
-

-pickplace - see, - , - , , - -pickplace - .

+

Параметр -pickplace устарел после + введения команды примитива see, + которая управляет движениями как в горизонтальном, так + и в вертикальном направлении, в то время, как + -pickplace влияет только на движение + по вертикали.

-
yview
+
имяПути yview число
-
, - , - , - . - . , - . +
Команда сдвигает содержимое в окне таким образом, + чтобы первый символ строки с номером, следующим за + номером число, оказался в верхней строчке + экрана. Аргумент число должен быть + целым. Команда использовалась для прокрутки, но теперь + она устарела.
-

+

ПРИВЯЗКИ

-

Tk , - . - "" - , , - "_", - .

+

Tk автоматически создает привязки класса, которые определяют + следующее поведение текстовых примитивов по умолчанию. В + приводимом ниже описании "слово" это непрерывная + последовательность символов, состоящая из букв, цифр и символов + подчеркивания "_", либо из любого другого одиночного + символа.

    -
  1. 1 "" - , - "".
  2. +
  3. Щелчок клавишей 1 "Мыши" устанавливает курсор + ввода непосредственно перед символом, на котором расположен + курсор "Мыши".
  4. -
  5. "" 1 - - "".
  6. +
  7. Движение "Мыши" с нажатой клавишей 1 растягивает + выделение от курсора ввода то символа под курсором + "Мыши".
  8. -
  9. 1 "" , - "", - . - "" , - .
  10. +
  11. Двойной щелчок по клавише 1 "Мыши" выделяет слово, + на котором находится курсор "Мыши", и устанавливает + курсор ввода на начало этого слова. Если тащить + "Мышь" после двойного щелчка, то выделение + растягивается на полные слова.
  12. -
  13. 1 "" - , "", - . - "" , - .
  14. +
  15. Тройной щелчок по клавише 1 "Мыши" выделяет + строку, на которой находится курсор "Мыши", и + устанавливает курсор ввода на начало этой строки. Если тащить + "Мышь" после тройного щелчка, то выделение + растягивается на полные строки.
  16. -
  17. , "" - 1 Shift: - , - "" 1. - "" - , - ; .
  18. +
  19. Край выделения можно переместить, таща "Мышь" с + нажатой клавишей 1 при нажатой клавише Shift: + при этом движется край выделения, ближайший к курсору + "Мыши" в момент нажатия клавиши 1. Если перед + началом движения по клавише "Мыши" был сделан + двойной щелчок, то выделение будет растягиваться на полные + слова; если тройной щелчок то на полные строки.
  20. -
  21. 1 "" - Control , .
  22. +
  23. Щелчок по клавише 1 "Мыши" при нажатой клавише + Control перемещает курсор ввода, не изменяя выделения.
  24. -
  25. - .
  26. +
  27. При нажатии на клавиши обычных символов эти символы вводятся + на месте курсора ввода.
  28. -
  29. - "" 2. - 2 "", "", - - "". Insert - , , - "".
  30. +
  31. Содержимое окна примитива можно сдвинуть с помощью движения + "Мыши" при нажатой клавише 2. Если щелкнуть по + клавише 2 "Мыши", не перемещая "Мышь", то + выделение в тексте копируется в место курсора + "Мыши". Нажатие на клавишу Insert также приводит к + копированию выделения, но в место курсора ввода, а не курсора + "Мыши".
  32. -
  33. "" - 1 - ( - "" - ).
  34. +
  35. При движении "Мыши" вне экрана с нажатой клавишей + 1 содержимое примитива автоматически прокручивается и на + экране появляется дополнительная порция текста (если вне + экрана в направлении движения "Мыши" есть еще + текст).
  36. -
  37. Left - Right - ; - . - Left Right - Shift - .
  38. +
  39. Нажатие на клавиши Left или + Right приводит к сдвигу курсора ввода на один + символ влево или вправо соответственно; при этом всякое + выделение в тексте отменяется. Нажатие на клавиши + Left или Right при нажатой + клавише Shift приводит к сдвигу курсора ввода + и расширению выделения на один символ.
  40. -
  41. Control-Left - Control-Right - , - Control-Shift-Left - Control-Shift-Right - .
  42. +
  43. Нажатие на клавиши Control-Left или + Control-Right сдвигает курсор ввода на целое + слово, а нажатие на клавиши + Control-Shift-Left и + Control-Shift-Right приводит к сдвигу курсора + ввода и расширению выделения на одно слово.
  44. -
  45. Control-b - Control-f , - Left - Right . - Meta-b Meta-f - , Control-Left - Control-Right .
  46. +
  47. Нажатие на клавиши Control-b и + Control-f приводит к такому же результату, + что и нажатие на Left и + Right соответственно. Комбинации клавиш + Meta-b и Meta-f дают тот же + эффект, что и Control-Left и + Control-Right соответственно.
  48. -
  49. Up - Down - , - . Up - Down - Shift - . - Control-Up Control-Down - ( , - ), - Control-Shift-Up - Control-Shift-Down - - . Control-p - Control-n , - Up Down - .
  50. +
  51. Нажатие на клавиши Up и + Down переводит курсор ввода на одну строчку + вверх или вниз, отменяя при этом любое выделение в + тексте. Нажатие на клавиши Up и + Down при нажатой клавише + Shift приводит к сдвигу курсора ввода и + растягиванию выделения до нового положения курсора. Комбинации + Control-Up и Control-Down + сдвигают курсор ввода на один абзац (группу строчек, + отделенную от соседней группы пустой строчкой), а комбинации + Control-Shift-Up и + Control-Shift-Down приводят к тому же к + растягиванию выделения до нового положения курсора + ввода. Комбинации Control-p и + Control-n дают тот же результат, что и + Up и Down + соответственно.
  52. -
  53. Next Prior - ; - . - Next Prior - Shift - - . Control-v - , - .
  54. +
  55. Клавиши Next и Prior + сдвигают курсор ввода вперед или назад на одну страницу; при + этом выделения в тексте отменяются. Нажатие на клавиши + Next и Prior при нажатой + клавише Shift приводит к сдвигу курсора ввода + и растягиванию выделения до нового положения + курсора. Control-v сдвигает видимую часть + текста на одну страницу вперед, причем курсор ввода не меняет + своего положения и выделение также остается неизменным.
  56. -
  57. Control-Next - Control-Prior - , - , - .
  58. +
  59. Комбинации Control-Next и + Control-Prior сдвигают видимую часть текста + на одну страницу вправо или влево, причем курсор ввода не + меняет своего положения, и выделение также остается + неизменным.
  60. -
  61. Home - Control-a - , - . Shift-Home - - . End - Control-e - , - . Shift-End - - .
  62. +
  63. Нажатие на клавиши Home и + Control-a помещает курсор ввода в начало + текущей строчки, причем все выделения в примитиве + отменяются. Shift-Home помещает курсор ввода + в начало текущей строчки и растягивает выделение до нового + положения курсора. Нажатие на клавиши End и + Control-e помещает курсор ввода в конец + текущей строчки, причем все выделения в примитиве + отменяются. Shift-End помещает курсор ввода в + конец текущей строчки и растягивает выделение до нового + положения курсора.
  64. -
  65. Control-Home - Meta-< - , - . Control-Shift-Home - - .
  66. +
  67. Комбинации Control-Home и + Meta-< устанавливают курсор ввода в начало + текста, причем все выделения в примитиве + отменяются. Control-Shift-Home устанавливает + курсор ввода в начало текста и растягивает выделение до нового + положения курсора.
  68. -
  69. Control-End - Meta-> - , - . Control-Shift-End - - .
  70. +
  71. Комбинации Control-End и + Meta-> устанавливают курсор ввода в конец + текста, причем все выделения в примитиве + отменяются. Control-Shift-End устанавливает + курсор ввода в конец текста и растягивает выделение до нового + положения курсора.
  72. -
  73. Select - Control-Space - . - . - Shift-Select - Control-Shift-Space - ; - , - .
  74. +
  75. Клавиша Select и комбинация + Control-Space устанавливают опорную точку + выделения в текущее положение курсора ввода. Текущее выделение + при этом не изменяется. Комбинации + Shift-Select и + Control-Shift-Space растягивают выделение до + текущего положения курсора ввода; если в тексте не было + выделения, то выделяются символы между опорной точкой + выделения и курсором ввода.
  76. -
  77. Control-/ - .
  78. +
  79. Нажатие на клавиши Control-/ приводит к + выделению всего содержимого примитива.
  80. -
  81. Control-\\ .
  82. +
  83. Control-\\ отменяет выделение в примитиве.
  84. -
  85. F16 ( Sun - Copy) - Meta-w ( - ) .
  86. +
  87. Клавиша F16 (на многих станциях Sun + обозначенная Copy) или + Meta-w копируют выделение в примитиве (если + оно есть) в буфер обмена.
  88. -
  89. F20 ( Sun - Cut) - Control-w - . , - .
  90. +
  91. Клавиша F20 (на многих станциях Sun + обозначенная Cut) или + Control-w копируют выделение в примитиве в + буфер обмена и удаляют выделение. Если выделения нет, то + нажатие на эти клавиши не приводит ни к каким действиям.
  92. -
  93. F18 ( Sun - Paste) - Control-y - .
  94. +
  95. Клавиша F18 (на многих станциях Sun + обозначенная Paste) или + Control-y вставляет содержимое буфера обмена + в положении курсора ввода.
  96. -
  97. Delete - ( ). - , - .
  98. +
  99. Нажатие на клавишу Delete приводит к + удалению выделения (если оно есть в примитиве). Если выделения + нет, то нажатие на эту клавишу приводит к удалению символа + справа от курсора ввода.
  100. -
  101. Backspace Control-h - ( ). - , - .
  102. +
  103. Backspace и Control-h + удаляют выделение (если оно есть в примитиве). Если выделения + нет, то нажатие на эти клавиши приводит к удалению символа + слева от курсора ввода.
  104. -
  105. Control-d - .
  106. +
  107. Control-d удаляет символ справа от курсора + ввода.
  108. -
  109. Meta-d .
  110. +
  111. Meta-d удаляет слово справа от курсора ввода.
  112. -
  113. Control-k - - . , - .
  114. +
  115. Нажатие на клавиши Control-k приводит к + удалению символов справа от курсора ввода до конца + строки. Если курсор ввода находится в конце строки, то + удаляется символ перевода строки.
  116. -
  117. Control-o , - ; - .
  118. +
  119. Control-o открывает новую строку, вставляя + символ перевода строки перед курсором ввода; положение курсора + ввода при этом не изменяется.
  120. -
  121. Meta-backspace - Meta-Delete - .
  122. +
  123. Meta-backspace и + Meta-Delete удаляют слово слева от курсора + ввода.
  124. -
  125. Control-x - .
  126. +
  127. Control-x удаляет выделение в текстовом + примитиве.
  128. -
  129. Control-t - .
  130. +
  131. Control-t меняет местами два символа справа + от курсора ввода.
  132. -
  133. - -state, - , - .
  134. +
  135. Если примитив сделан недоступным с помощью параметра + -state, то текст можно двигать по экрану и + выделять, однако курсор ввода не будет отображаться в + примитиве и никакие модификации текста невозможны.
  136. -
  137. - , - .
  138. +
  139. Определяя новые привязки к отдельным примитивам или + переопределяя привязки класса, поведение текстовых примитивов + можно изменить.
-

+

ВОПРОСЫ ПРОИЗВОДИТЕЛЬНОСТИ

-

- . 2-3 - , 1 - - . - B-, - . - . - , - .

+

Текстовые примитивы должны обрабатываться эффективно при самых + разнообразных условиях. В них используется 2-3 байта основной + памяти на каждый символ текста, поэтому текст длиной 1 Мегабайт + и более вполне может эффективно обрабатываться на большинстве + рабочих станций. Внутреннее представление текста имеет вид + модифицированного B-дерева, поэтому обработка даже длинных + текстов довольно эффективна. Реализация меток также позволяет + использовать много меток. В большинстве случаев удобно + пользоваться большим числом уникальных тегов или тегом, + приписанным к большому числу различных частей текста.

-

- : - , , - , - , - . - . , - , - .

+

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

-

- , .

+

Эффективность может понижаться при наличии очень длинных + строк текста, содержащих большое число меток и тегов.

-

, - , , - . - insertOffTime +

При каждом мигании курсора ввода строчка экрана, на которой он + находится, перерисовывается целиком, что приводит к постоянному + потоку графической информации. Для устранения этого эффекта + установите атрибут insertOffTime в "0".

@@ -2088,3 +2088,5 @@ + + diff --git a/install.tcl b/install.tcl index 5859336..5d14f87 100644 --- a/install.tcl +++ b/install.tcl @@ -18,7 +18,6 @@ package require msgcat package require BWidget - ::msgcat::mclocale en ::msgcat::mcload msgs @@ -398,3 +397,4 @@ proc SetVarLang {lang} { + diff --git a/lib/highlight/java.tcl b/lib/highlight/java.tcl index b2669e8..98d24b8 100644 --- a/lib/highlight/java.tcl +++ b/lib/highlight/java.tcl @@ -209,7 +209,3 @@ proc HighLightJAVA {text line lineNumber node} { } } - - - - diff --git a/lib/highlight/perl.tcl b/lib/highlight/perl.tcl index 62f6083..3ddd264 100644 --- a/lib/highlight/perl.tcl +++ b/lib/highlight/perl.tcl @@ -151,14 +151,6 @@ proc HighLightPERL {text line lineNumber node} { break } } - ## COMENTS ## - set workLine [$text get $lineNumber.0 $lineNumber.end] - if {[regexp -indices "(^|\t|;| )#" $workLine word]} { - set p [lindex $word 1] - $text tag add comments $lineNumber.$p $lineNumber.end - } else { - $text tag remove comments $lineNumber.0 $lineNumber.end - } # DEDERER # hightlight [, {, }, ], ( , ) @@ -196,9 +188,19 @@ proc HighLightPERL {text line lineNumber node} { break } } + ## COMENTS ## + set workLine [$text get $lineNumber.0 $lineNumber.end] + if {[regexp -indices "(^|\t|;| )#" $workLine word]} { + set p [lindex $word 1] + $text tag add comments $lineNumber.$p $lineNumber.end + $text tag raise comments + } else { + $text tag remove comments $lineNumber.0 $lineNumber.end + } } + diff --git a/lib/highlight/rivet.tcl b/lib/highlight/rivet.tcl index 7032dbe..3556605 100644 --- a/lib/highlight/rivet.tcl +++ b/lib/highlight/rivet.tcl @@ -159,6 +159,7 @@ proc HighLightRIVET {text line lineNumber node} { if {[regexp -indices "(^|\t|;| )#" $workLine word]} { set p [lindex $word 1] $text tag add comments $lineNumber.$p $lineNumber.end + $text tag raise comments } else { $text tag remove comments $lineNumber.0 $lineNumber.end } @@ -233,17 +234,3 @@ proc HighLightRIVET {text line lineNumber node} { } - - - - - - - - - - - - - - diff --git a/lib/highlight/tcl.tcl b/lib/highlight/tcl.tcl index 91548fc..e81ad15 100644 --- a/lib/highlight/tcl.tcl +++ b/lib/highlight/tcl.tcl @@ -165,14 +165,6 @@ proc HighLightTCL {text line lineNumber node} { } } - # add comment # - set workLine [$text get $lineNumber.0 $lineNumber.end] - if {[regexp -indices "(^|\t|;| )#" $workLine word]} { - set p [lindex $word 1] - $text tag add comments $lineNumber.$p $lineNumber.end - } else { - $text tag remove comments $lineNumber.0 $lineNumber.end - } # DEDERER # hightlight [, {, }, ] set startPos 0 @@ -208,20 +200,14 @@ proc HighLightTCL {text line lineNumber node} { break } } + # add comment # + set workLine [$text get $lineNumber.0 $lineNumber.end] + if {[regexp -indices "(^|\t|;| )#" $workLine word]} { + set p [lindex $word 1] + $text tag add comments $lineNumber.$p $lineNumber.end + $text tag raise comments + } else { + $text tag remove comments $lineNumber.0 $lineNumber.end + } } - - - - - - - - - - - - - - -