2018-02-05 17:22:04 +03:00
|
|
|
|
<!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
<html>
|
|
|
|
|
<head>
|
|
|
|
|
<title>selection</title>
|
|
|
|
|
</head>
|
|
|
|
|
<body>
|
|
|
|
|
<h1>selection</h1>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<p>Управление X выделением</p>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<h2><a name=СИНТАКСИС></a>СИНТАКСИС</h2>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
|
|
|
|
<pre>
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<strong>selection</strong> <em>параметр</em> ?<em>арг арг...</em>?
|
2015-10-19 13:27:31 +03:00
|
|
|
|
</pre>
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<h2><a name=ОПИСАНИЕ></a>ОПИСАНИЕ</h2>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<p>Команда предоставляет интерфейс Tcl для механизма Х выделения и
|
|
|
|
|
реализует полный набор функций выделения, описанный в
|
|
|
|
|
(1). Аргумент <em>параметр</em> определяет формат последующих
|
|
|
|
|
аргументов и поведение команды. В настоящее время поддерживаются
|
|
|
|
|
следующие формы команды:</p>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
|
|
|
|
<dl>
|
|
|
|
|
<dt><strong>selection clear</strong>
|
2018-02-05 17:22:04 +03:00
|
|
|
|
?<strong>-displayof</strong> <em>окно</em>?
|
|
|
|
|
?<strong>-selection</strong> <em>выделение</em>?</dt>
|
|
|
|
|
|
|
|
|
|
<dd>Если на дисплее окна имеются выделения, их следует очистить
|
|
|
|
|
так, чтобы ни одно из окон не владело выделением. Параметр
|
|
|
|
|
<em>выделение</em> задает X выделение, которое должно быть
|
|
|
|
|
очищено; его значением должно быть имя атома, например,
|
|
|
|
|
PRIMARY или CLIPBOARD; полное описание см. в (1). По умолчанию
|
|
|
|
|
значением параметра <em>выделение</em> является PRIMARY, а
|
|
|
|
|
параметра <em>окно</em> ".". Команда возвращает
|
|
|
|
|
пустую строку.</dd>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
|
|
|
|
<dt><strong>selection get</strong> ?<strong>-displayof</strong>
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<em>окно</em> ?<strong>-selection</strong> <em>выделение</em>?
|
|
|
|
|
?<strong>-type</strong> <em>тип</em>?</dt>
|
|
|
|
|
|
|
|
|
|
<dd>Ищет выделение на дисплее окна и возвращает его значение в
|
|
|
|
|
качестве результата. По умолчанию значением параметра
|
|
|
|
|
<em>выделение</em> является <strong>PRIMARY</strong>, а
|
|
|
|
|
параметра <em>окно</em> ".". Параметр <em>тип</em>
|
|
|
|
|
задает вид возвращаемого результата (в терминологии (1)
|
|
|
|
|
"цель"), его значением должно быть имя атома,
|
|
|
|
|
например, <strong>STRING</strong> или
|
|
|
|
|
<strong>FILE_NAME</strong>; полное описание см. (1). По
|
|
|
|
|
умолчанию он имеет значение <strong>STRING</strong>. Владелец
|
|
|
|
|
выделения может выбрать для его вывода любой из форматов
|
2015-10-19 13:27:31 +03:00
|
|
|
|
<strong>STRING</strong>, <strong>ATOM</strong>,
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<strong>INTEGER</strong> и т.д. (этот формат отличается от
|
|
|
|
|
типа выделения; детально различия описаны в (1)). Если формат,
|
|
|
|
|
в котором выделение возвращается, не строковый, например,
|
|
|
|
|
<strong>INTEGER</strong> или <strong>ATOM</strong>, то команда
|
|
|
|
|
<strong>selection</strong> преобразует выделение в строковый
|
|
|
|
|
формат, представляя его в виде набора полей, разделенных
|
|
|
|
|
пробелами: атомы представляются своими текстовыми именами, а
|
|
|
|
|
все остальное преобразуется в последовательность
|
|
|
|
|
шестнадцатиричных цифр.</dd>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
|
|
|
|
<dt><strong>selection handle</strong>
|
2018-02-05 17:22:04 +03:00
|
|
|
|
?<strong>-selection</strong> <em>выделение</em>?
|
|
|
|
|
?<strong>-type</strong><em>тип</em>? ?<strong>-format</strong>
|
|
|
|
|
<em>формат</em>? <em>окно команда</em></dt>
|
|
|
|
|
|
|
|
|
|
<dd><p>Создает программу обработки запросов на поиск выделения:
|
|
|
|
|
при каждой попытке поиска выделения указанного типа в окне
|
|
|
|
|
(например, командой <strong>selection get</strong>) будет
|
|
|
|
|
выполняться <em>команда</em> . По умолчанию значением
|
|
|
|
|
параметра <em>выделение</em> является PRIMARY, параметра
|
|
|
|
|
<em>тип</em> STRING, и параметра <em>формат</em> тоже
|
|
|
|
|
STRING. Если значением параметра <em>команда</em> является
|
|
|
|
|
пустая строка, то все программы обработки для указанного
|
|
|
|
|
<em>окна</em> , <em>типа</em> и <em>выделения</em>
|
|
|
|
|
удаляются.</p>
|
|
|
|
|
|
|
|
|
|
<p>Если при запросе выделения окно является его владельцем и
|
|
|
|
|
<em>выделение</em> имеет указанный тип, то к команде
|
|
|
|
|
добавляется два числа (отделенных пробелами от имени команды
|
|
|
|
|
и друг от друга) и она исполняется как команда Tcl. Эти два
|
|
|
|
|
дополнительных числа представляют собой смещение и максБайт:
|
|
|
|
|
смещение задает положение первого символа в выделении, а
|
|
|
|
|
максБайт максимальное количество байтов для
|
|
|
|
|
поиска. Возвращаемое командой значение должно начинаться с
|
|
|
|
|
указанного символа в выделении и должно быть не длиннее
|
|
|
|
|
максБайт. Для очень больших выделений (длина которых
|
|
|
|
|
превышает максБайт) поиск будет повторяться многократно с
|
|
|
|
|
возрастающими смещениями. Если длина строки, возвращаемой
|
|
|
|
|
командой, меньше максБайт, то предполагается, что
|
|
|
|
|
возвращенное значение включает в себя весь остаток
|
|
|
|
|
выделения; если длина результата совпадает с максБайт, то
|
|
|
|
|
команда будет выполняться повторно пока она не возвратит,
|
|
|
|
|
наконец, строку, более короткую, чем указано параметром
|
|
|
|
|
максБайт. Значение максБайт всегда довольно велико (порядка
|
|
|
|
|
нескольких тысяч байтов).</p>
|
|
|
|
|
|
|
|
|
|
<p>Если в результате работы команды возникает ошибка, то
|
|
|
|
|
запрос на поиск отвергается, как если бы никакого выделения
|
|
|
|
|
вообще не существовало.</p>
|
|
|
|
|
|
|
|
|
|
<p>Аргумент <em>формат</em> задает представление, используемое
|
|
|
|
|
для передачи выделения автору запроса (см. (1), второй
|
|
|
|
|
столбец в Таблице 2), его значение по умолчанию STRING. Если
|
|
|
|
|
значением аргумента <em>формат</em> является STRING, то
|
|
|
|
|
<em>выделение</em> передается в виде 8-битовых символов
|
|
|
|
|
ASCII (т.е. в том же виде, в каком его возвращает
|
|
|
|
|
команда). Если его значение ATOM, то возвращаемое значение
|
|
|
|
|
разбивается на поля, отделенные друг от друга пробелами;
|
|
|
|
|
каждое поле преобразуется в свое атомарное значение и вместо
|
|
|
|
|
имени атома передается 32-битовое атомарное значение. В
|
|
|
|
|
любом другом формате возвращаемое командой значение
|
|
|
|
|
разбивается на поля, отделенные друг от друга пробелами, и
|
|
|
|
|
каждое поле преобразуется в целое 32-битовое число;
|
|
|
|
|
полученный массив целых чисел передается автору запроса.</p>
|
|
|
|
|
|
|
|
|
|
<p>Аргумент <em>формат</em> необходим лишь для обеспечения
|
|
|
|
|
совместимости пользователям, не использующим Tk. Если для
|
|
|
|
|
поиска выделения используется Tk, то на выходе из запроса
|
|
|
|
|
результат преобразуется назад в строку, поэтому аргумент
|
|
|
|
|
формат не играет роли.</p>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
</dd>
|
|
|
|
|
|
|
|
|
|
<dt><strong>selection own</strong> ?<strong>-displayof</strong>
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<em>окно</em>? ?<strong>-selection</strong>
|
|
|
|
|
<em>выделение</em>?</dt>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
|
|
|
|
<dt><strong>selection own</strong>
|
2018-02-05 17:22:04 +03:00
|
|
|
|
?<strong>-command</strong> <em>команда</em>?
|
|
|
|
|
?<strong>-selection</strong> <em>выделение</em>?
|
|
|
|
|
<em>окно</em></dt>
|
|
|
|
|
|
|
|
|
|
<dd><p>Первая форма команды <strong>selection own</strong>
|
|
|
|
|
возвращает имя пути окна в данном приложении, владеющего
|
|
|
|
|
<em>выделением</em> на дисплее, содержащем <em>окно</em>;
|
|
|
|
|
если таких окон нет, то команда возвращает пустую строку. По
|
|
|
|
|
умолчанию значением параметра <em>выделение</em> является
|
|
|
|
|
PRIMARY, а параметра <em>окно</em> ".".</p>
|
2015-10-19 13:27:31 +03:00
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
<p>Вторая форма команды <strong>selection own</strong> делает
|
|
|
|
|
<em>окно</em> новым владельцем <em>выделения</em> на дисплее
|
|
|
|
|
окна; она возвращает пустую строку. Текущий владелец
|
|
|
|
|
<em>выделения</em> (если такой существует) получает
|
|
|
|
|
сообщение о том, что он потерял выделение. Если задан
|
|
|
|
|
параметр <em>команда</em>, то его значением является скрипт
|
|
|
|
|
Tcl, который должен исполняться при попытке какого-либо
|
|
|
|
|
другого окна заявить права на выделение вне данного окна. По
|
|
|
|
|
умолчанию значением параметра <em>выделение</em> является
|
2015-10-19 13:27:31 +03:00
|
|
|
|
PRIMARY.</p>
|
|
|
|
|
</dd>
|
|
|
|
|
</dl>
|
|
|
|
|
|
|
|
|
|
</body>
|
|
|
|
|
</html>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-02-05 17:22:04 +03:00
|
|
|
|
|