|
|
<?xml version="1.0" encoding="UTF-8" ?>
|
|
|
|
|
|
<chapter id="extending-quanta-3-2">
|
|
|
<chapterinfo>
|
|
|
<title
|
|
|
>Расширение &quantaplus;</title>
|
|
|
<authorgroup>
|
|
|
<author
|
|
|
><firstname
|
|
|
>Christopher</firstname
|
|
|
> <surname
|
|
|
>Hornbaker</surname
|
|
|
> <affiliation
|
|
|
> <address
|
|
|
><email
|
|
|
>chrishornbaker@earthlink.net</email
|
|
|
></address>
|
|
|
</affiliation>
|
|
|
</author>
|
|
|
<author
|
|
|
><firstname
|
|
|
>András</firstname
|
|
|
> <surname
|
|
|
>Mantia</surname
|
|
|
> <affiliation
|
|
|
> <address
|
|
|
><email
|
|
|
>amantia@kde.org</email
|
|
|
></address>
|
|
|
</affiliation>
|
|
|
</author>
|
|
|
|
|
|
<othercredit role="translator"
|
|
|
><firstname
|
|
|
>Николай</firstname
|
|
|
><surname
|
|
|
>Шафоростов</surname
|
|
|
><affiliation
|
|
|
><address
|
|
|
><email
|
|
|
>shafff@ukr.net</email
|
|
|
></address
|
|
|
></affiliation
|
|
|
><contrib
|
|
|
>Перевод на русский</contrib
|
|
|
></othercredit
|
|
|
>
|
|
|
|
|
|
</authorgroup>
|
|
|
</chapterinfo>
|
|
|
|
|
|
<title
|
|
|
>Расширение &quantaplus;</title>
|
|
|
|
|
|
<para
|
|
|
>Эта глава описывает процесс расширения базовых возможностей &quantaplus; для ваших нужд и как вы можете содействовать её развитию. </para>
|
|
|
|
|
|
<!--<sect1 id="kommander-3-2">
|
|
|
<title
|
|
|
>Using Kommander With &quantaplus;</title>
|
|
|
|
|
|
<para>
|
|
|
Kommander, by Marc Britton.
|
|
|
</para>
|
|
|
</sect1
|
|
|
> -->
|
|
|
|
|
|
<sect1 id="dtep-intro-3-2">
|
|
|
<title
|
|
|
>Пакеты правки типов документов (Document Type Editing Package, &DTEP;)</title>
|
|
|
|
|
|
<para
|
|
|
>&DTEP; используются в &quantaplus; для поддержки языков разметки, сценариев и &CSS;. Они позволяют обеспечить такие функции как автозавершение, редактирование тегов. Их простота и надёжность делает &quantaplus; быстрой, дружественной средой для веб-разработчиков. </para>
|
|
|
|
|
|
<para
|
|
|
>&DTEP; делятся на две семьи - разметочную (далее - семья 1) и сценарную с &CSS; (далее - семья 2). &DTEP; состоит из двух частей - каталога тегов и панелей инструментов. Каталог тегов состоит из файла описания description.rc и файла TagXML с расширением .tag. Панель инструментов - это набор кнопок со значками (над окном редактирования), каждая из которых соответствует какому-либо тексту, вставляемому в документ при нажатии на неё (часто это шаблон тега). </para>
|
|
|
|
|
|
<para
|
|
|
>&DTEP; можно создать самому вручную (см. ниже), <link linkend="download-resources"
|
|
|
>загрузить</link
|
|
|
> или создать автоматически из DTD. Такое преобразование описано в <xref linkend="converting-dtd"/>. </para>
|
|
|
|
|
|
<para
|
|
|
>В этой части описывается создание файлов TagXML, &descriptionrc; и панелей инструментов. В общем, &DTEP;. </para>
|
|
|
|
|
|
<para
|
|
|
>Файлы TagXML (.tag) определяют атрибуты, специфичные для данного тега и содержимое диалога "Свойства тега". Файл &descriptionrc; содержит правила и данные о &DTEP;. Панели инструментов позволяют быстро обратиться к тому или иному тегу для вставки его в документ. </para>
|
|
|
|
|
|
<sect2 id="dtep-packaging-3-2">
|
|
|
<title
|
|
|
>Создание пакетов</title>
|
|
|
|
|
|
<para
|
|
|
>Каталоги тегов - это обычные каталоги, содержащие файлы &descriptionrc; и TagXML. В их названии отражается название языка разметки с его версией (например, html-4.01-strict) </para>
|
|
|
</sect2>
|
|
|
|
|
|
<sect2 id="tagxml-3-2">
|
|
|
<title
|
|
|
>TagXML</title>
|
|
|
|
|
|
<para
|
|
|
>Таблица содержит список элементов, определённых в TagXML и говорит, обязательны они, или нет. Не смотря на то, что обязательны не все, рекомендуется всё же использовать как можно больше доступных элементов, чтобы пользователи имели больше настроек и информации. </para>
|
|
|
|
|
|
<informaltable>
|
|
|
<tgroup cols="3">
|
|
|
<thead>
|
|
|
<row>
|
|
|
<entry
|
|
|
>Элемент</entry>
|
|
|
<entry
|
|
|
>Использование по умолчанию</entry>
|
|
|
<entry
|
|
|
>Частное использование</entry>
|
|
|
</row>
|
|
|
</thead>
|
|
|
<tbody>
|
|
|
<row>
|
|
|
<entry
|
|
|
>TAGS</entry>
|
|
|
<entry
|
|
|
>required</entry>
|
|
|
<entry
|
|
|
>always</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
>tag</entry>
|
|
|
<entry
|
|
|
>required</entry>
|
|
|
<entry
|
|
|
>always</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
>label</entry>
|
|
|
<entry
|
|
|
>optional</entry>
|
|
|
<entry
|
|
|
>обязательно для диалога "Свойства"</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
>attr</entry>
|
|
|
<entry
|
|
|
>optional</entry>
|
|
|
<entry
|
|
|
>обязательно для определения атрибута</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
>tooltip</entry>
|
|
|
<entry
|
|
|
>optional</entry>
|
|
|
<entry
|
|
|
>обязательно для подсказок в диалоге "Свойства"</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
>whatsthis</entry>
|
|
|
<entry
|
|
|
>optional</entry>
|
|
|
<entry
|
|
|
>обязательно для возможности отображения краткой справки <quote
|
|
|
>Что это? </quote
|
|
|
></entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
>list</entry>
|
|
|
<entry
|
|
|
>optional</entry>
|
|
|
<entry
|
|
|
>обязательно если attr имеет тип <quote
|
|
|
>list</quote
|
|
|
></entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
>item</entry>
|
|
|
<entry
|
|
|
>optional</entry>
|
|
|
<entry
|
|
|
>обязательно если используется <list
|
|
|
></entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
>textlocation</entry>
|
|
|
<entry
|
|
|
>optional</entry>
|
|
|
<entry
|
|
|
>always</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
>location</entry>
|
|
|
<entry
|
|
|
>optional</entry>
|
|
|
<entry
|
|
|
>обязательно если используется метка</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
>text</entry>
|
|
|
<entry
|
|
|
>optional</entry>
|
|
|
<entry
|
|
|
>обязательно если используется метка</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
>children</entry>
|
|
|
<entry
|
|
|
>optional</entry>
|
|
|
<entry
|
|
|
>список тегов, которые могут использоваться в определяемом</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
>child</entry>
|
|
|
<entry
|
|
|
>required</entry>
|
|
|
<entry
|
|
|
>дочерний элемент</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
>stoppingtags</entry>
|
|
|
<entry
|
|
|
>optional</entry>
|
|
|
<entry
|
|
|
>список тегов, которые приводят к окончанию действия другого тега</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
>stoppingtag</entry>
|
|
|
<entry
|
|
|
>required</entry>
|
|
|
<entry
|
|
|
>тег, который приводит к окончанию действия другого тега</entry>
|
|
|
</row>
|
|
|
</tbody>
|
|
|
</tgroup>
|
|
|
</informaltable>
|
|
|
|
|
|
|
|
|
<sect3 id="dtep-element-descriptions-3-2">
|
|
|
<title
|
|
|
>Описания элементов TagXML</title>
|
|
|
|
|
|
<para
|
|
|
>Ниже детально описывается каждый элемент. </para>
|
|
|
|
|
|
<sect4 id="TAGS-3-2">
|
|
|
<title
|
|
|
>TAGS</title>
|
|
|
|
|
|
<para
|
|
|
>Корневой элемент файла TagXML. Может встречаться только один раз. Содержит определение нескольких тегов. </para>
|
|
|
|
|
|
<informaltable>
|
|
|
<tgroup cols="2">
|
|
|
<thead>
|
|
|
<row>
|
|
|
<entry
|
|
|
>Родительские элементы</entry>
|
|
|
<entry
|
|
|
>Дочерние элементы</entry>
|
|
|
</row>
|
|
|
</thead>
|
|
|
<tbody>
|
|
|
<row>
|
|
|
<entry
|
|
|
><emphasis
|
|
|
>НЕТ</emphasis
|
|
|
></entry>
|
|
|
<entry
|
|
|
>tag</entry>
|
|
|
</row>
|
|
|
</tbody>
|
|
|
</tgroup>
|
|
|
</informaltable>
|
|
|
</sect4>
|
|
|
|
|
|
<sect4 id="tag-3-2">
|
|
|
<title
|
|
|
>tag</title>
|
|
|
|
|
|
<para
|
|
|
>Название определяемого тега. </para>
|
|
|
|
|
|
<informaltable>
|
|
|
<tgroup cols="2">
|
|
|
<thead>
|
|
|
<row>
|
|
|
<entry
|
|
|
>Родительские элементы</entry>
|
|
|
<entry
|
|
|
>Дочерние элементы</entry>
|
|
|
</row>
|
|
|
</thead>
|
|
|
<tbody>
|
|
|
<row>
|
|
|
<entry
|
|
|
>TAGS</entry>
|
|
|
<entry
|
|
|
>label, attr, stoppingtags</entry>
|
|
|
</row>
|
|
|
</tbody>
|
|
|
</tgroup>
|
|
|
</informaltable>
|
|
|
|
|
|
<informaltable>
|
|
|
<tgroup cols="6">
|
|
|
<thead>
|
|
|
<row>
|
|
|
<entry
|
|
|
>Атрибут</entry
|
|
|
><entry
|
|
|
>Тип</entry
|
|
|
><entry
|
|
|
>Значения</entry>
|
|
|
<entry
|
|
|
>По умолчанию</entry
|
|
|
><entry
|
|
|
>Use</entry
|
|
|
><entry
|
|
|
>Описание</entry>
|
|
|
</row>
|
|
|
</thead>
|
|
|
<tbody>
|
|
|
<row>
|
|
|
<entry
|
|
|
>name</entry
|
|
|
><entry
|
|
|
>string</entry
|
|
|
><entry
|
|
|
></entry
|
|
|
><entry
|
|
|
></entry>
|
|
|
<entry
|
|
|
>required</entry
|
|
|
><entry
|
|
|
>Название определяемого тега.</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
>single</entry
|
|
|
><entry
|
|
|
>boolean</entry
|
|
|
><entry
|
|
|
></entry
|
|
|
><entry
|
|
|
></entry>
|
|
|
<entry
|
|
|
>optional</entry
|
|
|
><entry
|
|
|
>Требуется ли закрывающий тег </имя_тега
|
|
|
>.</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
>type</entry
|
|
|
><entry
|
|
|
>string</entry
|
|
|
><entry
|
|
|
></entry
|
|
|
><entry
|
|
|
>xmltag</entry>
|
|
|
<entry
|
|
|
>optional</entry
|
|
|
><entry
|
|
|
>Тип определяемого тега.</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
></entry
|
|
|
><entry
|
|
|
></entry
|
|
|
><entry
|
|
|
>xmltag</entry
|
|
|
><entry
|
|
|
></entry>
|
|
|
<entry
|
|
|
></entry
|
|
|
><entry
|
|
|
>Тип тега основывается на XML (только семья 1).</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
></entry
|
|
|
><entry
|
|
|
></entry
|
|
|
><entry
|
|
|
>entity</entry
|
|
|
><entry
|
|
|
></entry>
|
|
|
<entry
|
|
|
></entry
|
|
|
><entry
|
|
|
>Тип тега основывается на сущности (только семья 1).</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
></entry
|
|
|
><entry
|
|
|
></entry
|
|
|
><entry
|
|
|
>property</entry
|
|
|
><entry
|
|
|
></entry>
|
|
|
<entry
|
|
|
></entry
|
|
|
><entry
|
|
|
>Тип тега основывается на &CSS; (только семья 2).</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
></entry
|
|
|
><entry
|
|
|
></entry
|
|
|
><entry
|
|
|
>function</entry
|
|
|
><entry
|
|
|
></entry>
|
|
|
<entry
|
|
|
></entry
|
|
|
><entry
|
|
|
>Тип тега - функция сценария. Если это так, <attr
|
|
|
> становится аргументами функции (только семья 2).</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
></entry
|
|
|
><entry
|
|
|
></entry
|
|
|
><entry
|
|
|
>class</entry
|
|
|
><entry
|
|
|
></entry>
|
|
|
<entry
|
|
|
></entry
|
|
|
><entry
|
|
|
>Тип тега - класс сценария (только семья 2).</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
></entry
|
|
|
><entry
|
|
|
></entry
|
|
|
><entry
|
|
|
>method</entry
|
|
|
><entry
|
|
|
></entry>
|
|
|
<entry
|
|
|
></entry
|
|
|
><entry
|
|
|
>Тип тега - метод класса (только семья 2).</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
>returnType</entry
|
|
|
><entry
|
|
|
>string</entry
|
|
|
><entry
|
|
|
></entry
|
|
|
><entry
|
|
|
>void </entry>
|
|
|
<entry
|
|
|
>optional</entry
|
|
|
><entry
|
|
|
>Тип возвращаемого значения определяемой функции (только семья 2)</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
></entry
|
|
|
><entry
|
|
|
></entry
|
|
|
><entry
|
|
|
>void</entry
|
|
|
><entry
|
|
|
></entry>
|
|
|
<entry
|
|
|
></entry
|
|
|
><entry
|
|
|
>Возвращаемое значение игнорируется (void).</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
></entry
|
|
|
><entry
|
|
|
></entry
|
|
|
><entry
|
|
|
>int</entry
|
|
|
><entry
|
|
|
></entry>
|
|
|
<entry
|
|
|
></entry
|
|
|
><entry
|
|
|
>Возвращается число (integer).</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
></entry
|
|
|
><entry
|
|
|
></entry
|
|
|
><entry
|
|
|
>float</entry
|
|
|
><entry
|
|
|
></entry>
|
|
|
<entry
|
|
|
></entry
|
|
|
><entry
|
|
|
>Возвращается число с плавающей точкой (floating point).</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
></entry
|
|
|
><entry
|
|
|
></entry
|
|
|
><entry
|
|
|
>long</entry
|
|
|
><entry
|
|
|
></entry>
|
|
|
<entry
|
|
|
></entry
|
|
|
><entry
|
|
|
>Возвращается длинное целочисленное (long integer).</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
></entry
|
|
|
><entry
|
|
|
></entry
|
|
|
><entry
|
|
|
>string</entry
|
|
|
><entry
|
|
|
></entry>
|
|
|
<entry
|
|
|
></entry
|
|
|
><entry
|
|
|
>Возвращается строка</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
>version</entry
|
|
|
><entry
|
|
|
>string</entry
|
|
|
><entry
|
|
|
></entry
|
|
|
><entry
|
|
|
></entry>
|
|
|
<entry
|
|
|
>optional</entry
|
|
|
><entry
|
|
|
>Версия языка, для которой тег разрешён</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
>extends</entry
|
|
|
><entry
|
|
|
>string</entry
|
|
|
><entry
|
|
|
></entry
|
|
|
><entry
|
|
|
></entry>
|
|
|
<entry
|
|
|
>optional</entry
|
|
|
><entry
|
|
|
>Разрешено только если тип атрибута - "class". Имя базового класса (только семья 2).</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
>class</entry
|
|
|
><entry
|
|
|
>string</entry
|
|
|
><entry
|
|
|
></entry
|
|
|
><entry
|
|
|
></entry>
|
|
|
<entry
|
|
|
>optional</entry
|
|
|
><entry
|
|
|
>Разрешено только если тип атрибута - "method". Имя класса, к которому принадлежит метод (только семья 2).</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
>common</entry
|
|
|
><entry
|
|
|
>boolean</entry
|
|
|
><entry
|
|
|
></entry
|
|
|
><entry
|
|
|
></entry>
|
|
|
<entry
|
|
|
>optional</entry
|
|
|
><entry
|
|
|
>Если "yes", тег указывает группу общих атрибутов и они могут быть добавлены в любой другой тег (только семья 1).</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
>comment</entry
|
|
|
><entry
|
|
|
>string</entry
|
|
|
><entry
|
|
|
></entry
|
|
|
><entry
|
|
|
></entry>
|
|
|
<entry
|
|
|
>optional</entry
|
|
|
><entry
|
|
|
>строка, выводящаяся возле имени тега в списке автозавершения</entry>
|
|
|
</row
|
|
|
></tbody>
|
|
|
</tgroup>
|
|
|
</informaltable>
|
|
|
</sect4>
|
|
|
|
|
|
<sect4 id="label-3-2">
|
|
|
<title
|
|
|
>label</title>
|
|
|
|
|
|
<para
|
|
|
>Добавить в диалог метку. Её текст указывается тегом <text
|
|
|
>. </para>
|
|
|
|
|
|
<informaltable>
|
|
|
<tgroup cols="2">
|
|
|
<thead>
|
|
|
<row>
|
|
|
<entry
|
|
|
>Родительские элементы</entry>
|
|
|
<entry
|
|
|
>Дочерние элементы</entry>
|
|
|
</row>
|
|
|
</thead>
|
|
|
<tbody>
|
|
|
<row>
|
|
|
<entry
|
|
|
>tag</entry>
|
|
|
<entry
|
|
|
>text, location</entry>
|
|
|
</row>
|
|
|
</tbody>
|
|
|
</tgroup>
|
|
|
</informaltable>
|
|
|
</sect4>
|
|
|
|
|
|
<sect4 id="attr-3-2">
|
|
|
<title
|
|
|
>attr</title>
|
|
|
|
|
|
<para
|
|
|
>Определяет один атрибут тега. Содержит имя, тип атрибута, информацию о его отображении. </para>
|
|
|
|
|
|
<informaltable>
|
|
|
<tgroup cols="2">
|
|
|
<thead>
|
|
|
<row>
|
|
|
<entry
|
|
|
>Родительские элементы</entry>
|
|
|
<entry
|
|
|
>Дочерние элементы</entry>
|
|
|
</row>
|
|
|
</thead>
|
|
|
<tbody>
|
|
|
<row>
|
|
|
<entry
|
|
|
>tag</entry>
|
|
|
<entry
|
|
|
>location, list, tooltip, whatsthis, textlocation</entry>
|
|
|
</row>
|
|
|
</tbody>
|
|
|
</tgroup>
|
|
|
</informaltable>
|
|
|
|
|
|
<informaltable>
|
|
|
<tgroup cols="6">
|
|
|
<thead>
|
|
|
<row>
|
|
|
<entry
|
|
|
>Атрибут</entry
|
|
|
><entry
|
|
|
>Тип</entry
|
|
|
><entry
|
|
|
>Значения</entry>
|
|
|
<entry
|
|
|
>По умолчанию</entry
|
|
|
><entry
|
|
|
>Use</entry
|
|
|
><entry
|
|
|
>Описание</entry>
|
|
|
</row>
|
|
|
</thead>
|
|
|
<tbody>
|
|
|
<row>
|
|
|
<entry
|
|
|
>name</entry
|
|
|
><entry
|
|
|
>string</entry
|
|
|
><entry
|
|
|
></entry
|
|
|
><entry
|
|
|
></entry>
|
|
|
<entry
|
|
|
>required</entry
|
|
|
><entry
|
|
|
>Имя определяемого атрибута.</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
>type</entry
|
|
|
><entry
|
|
|
>string</entry
|
|
|
><entry
|
|
|
></entry
|
|
|
><entry
|
|
|
>input</entry>
|
|
|
<entry
|
|
|
>required</entry
|
|
|
><entry
|
|
|
>Тип определяемого атрибута.</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
></entry
|
|
|
><entry
|
|
|
></entry
|
|
|
><entry
|
|
|
>input</entry
|
|
|
><entry
|
|
|
></entry>
|
|
|
<entry
|
|
|
></entry
|
|
|
><entry
|
|
|
>Поте текстового ввода (text field).</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
></entry
|
|
|
><entry
|
|
|
></entry
|
|
|
><entry
|
|
|
>check</entry
|
|
|
><entry
|
|
|
></entry>
|
|
|
<entry
|
|
|
></entry
|
|
|
><entry
|
|
|
>Логическое поле (check box).</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
></entry
|
|
|
><entry
|
|
|
></entry
|
|
|
><entry
|
|
|
>color</entry
|
|
|
><entry
|
|
|
></entry>
|
|
|
<entry
|
|
|
></entry
|
|
|
><entry
|
|
|
>Значение поля - цвет</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
></entry
|
|
|
><entry
|
|
|
></entry
|
|
|
><entry
|
|
|
>url</entry
|
|
|
><entry
|
|
|
></entry>
|
|
|
<entry
|
|
|
></entry
|
|
|
><entry
|
|
|
>Значение поля - &URL; (или локальный файл)</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
></entry
|
|
|
><entry
|
|
|
></entry
|
|
|
><entry
|
|
|
>list</entry
|
|
|
><entry
|
|
|
></entry>
|
|
|
<entry
|
|
|
></entry
|
|
|
><entry
|
|
|
>Значение поля - запись указанного списка.</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
>status</entry
|
|
|
><entry
|
|
|
>string</entry
|
|
|
><entry
|
|
|
></entry
|
|
|
><entry
|
|
|
>optional</entry>
|
|
|
<entry
|
|
|
>required</entry
|
|
|
><entry
|
|
|
>Обязательность аргумента (только семья 2).</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
></entry
|
|
|
><entry
|
|
|
></entry
|
|
|
><entry
|
|
|
>optional</entry
|
|
|
><entry
|
|
|
></entry>
|
|
|
<entry
|
|
|
></entry
|
|
|
><entry
|
|
|
>Аргумент необязателен</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
></entry
|
|
|
><entry
|
|
|
></entry
|
|
|
><entry
|
|
|
>required</entry
|
|
|
><entry
|
|
|
></entry>
|
|
|
<entry
|
|
|
></entry
|
|
|
><entry
|
|
|
>Аргумент обязателен</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
></entry
|
|
|
><entry
|
|
|
></entry
|
|
|
><entry
|
|
|
>implied</entry
|
|
|
><entry
|
|
|
></entry>
|
|
|
<entry
|
|
|
></entry
|
|
|
><entry
|
|
|
>Аргумент есть неявный.</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
>source</entry
|
|
|
><entry
|
|
|
>string</entry
|
|
|
><entry
|
|
|
></entry
|
|
|
><entry
|
|
|
></entry>
|
|
|
<entry
|
|
|
>optional</entry
|
|
|
><entry
|
|
|
>Указывает источники вариантов значений атрибута в редакторе тегов и дереве атрибутов</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
></entry
|
|
|
><entry
|
|
|
></entry
|
|
|
><entry
|
|
|
>selection</entry
|
|
|
><entry
|
|
|
></entry>
|
|
|
<entry
|
|
|
></entry
|
|
|
><entry
|
|
|
>Выделенный текст</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
></entry
|
|
|
><entry
|
|
|
></entry
|
|
|
><entry
|
|
|
>dcop</entry
|
|
|
><entry
|
|
|
></entry>
|
|
|
<entry
|
|
|
></entry
|
|
|
><entry
|
|
|
>Вывод метода dcop</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
>interface</entry
|
|
|
><entry
|
|
|
>string</entry
|
|
|
><entry
|
|
|
></entry
|
|
|
><entry
|
|
|
></entry>
|
|
|
<entry
|
|
|
>optional</entry
|
|
|
><entry
|
|
|
>Требует source="dcop". Интерфейс dcop из &quantaplus;.</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
>method</entry
|
|
|
><entry
|
|
|
>string</entry
|
|
|
><entry
|
|
|
></entry
|
|
|
><entry
|
|
|
></entry>
|
|
|
<entry
|
|
|
>optional</entry
|
|
|
><entry
|
|
|
>Требует source="dcop" и имени интерфейса. Имя метода, предоставляемого интерфейсом &quantaplus;.</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
>arguments</entry
|
|
|
><entry
|
|
|
>string</entry
|
|
|
><entry
|
|
|
></entry
|
|
|
><entry
|
|
|
></entry>
|
|
|
<entry
|
|
|
>optional</entry
|
|
|
><entry
|
|
|
>Требует source="dcop" имени интерфейса и метода. Аргументы, передаваемые методу. Может быть пустым или "%tagname%" (имя текущего тега).</entry>
|
|
|
</row>
|
|
|
</tbody>
|
|
|
</tgroup>
|
|
|
</informaltable>
|
|
|
</sect4>
|
|
|
|
|
|
<sect4 id="tooltip-3-2">
|
|
|
<title
|
|
|
>tooltip</title>
|
|
|
|
|
|
<para
|
|
|
>Текст подсказки поля (отображается при наведении курсора на него). </para>
|
|
|
|
|
|
<note>
|
|
|
<para
|
|
|
>Поддерживается только обычный текст (т.е. нельзя использовать никакие теги). </para>
|
|
|
</note>
|
|
|
|
|
|
<informaltable>
|
|
|
<tgroup cols="2">
|
|
|
<thead>
|
|
|
<row>
|
|
|
<entry
|
|
|
>Родительские элементы</entry>
|
|
|
<entry
|
|
|
>Дочерние элементы</entry>
|
|
|
</row>
|
|
|
</thead>
|
|
|
<tbody>
|
|
|
<row>
|
|
|
<entry
|
|
|
>attr</entry>
|
|
|
<entry
|
|
|
><emphasis
|
|
|
>НЕТ</emphasis
|
|
|
></entry>
|
|
|
</row>
|
|
|
</tbody>
|
|
|
</tgroup>
|
|
|
</informaltable>
|
|
|
</sect4>
|
|
|
|
|
|
<sect4 id="whatsthis-3-2">
|
|
|
<title
|
|
|
>whatsthis</title>
|
|
|
|
|
|
<para
|
|
|
>Текст "Что это?" для данного поля. </para>
|
|
|
|
|
|
<note>
|
|
|
<para
|
|
|
>Поддерживается только обычный текст (т.е. нельзя использовать никакие теги). </para>
|
|
|
</note>
|
|
|
|
|
|
<informaltable>
|
|
|
<tgroup cols="2">
|
|
|
<thead>
|
|
|
<row>
|
|
|
<entry
|
|
|
>Родительские элементы</entry>
|
|
|
<entry
|
|
|
>Дочерние элементы</entry>
|
|
|
</row>
|
|
|
</thead>
|
|
|
<tbody>
|
|
|
<row>
|
|
|
<entry
|
|
|
>attr</entry>
|
|
|
<entry
|
|
|
><emphasis
|
|
|
>НЕТ</emphasis
|
|
|
></entry>
|
|
|
</row>
|
|
|
</tbody>
|
|
|
</tgroup>
|
|
|
</informaltable>
|
|
|
</sect4>
|
|
|
|
|
|
<sect4 id="list-3-2">
|
|
|
<title
|
|
|
>list</title>
|
|
|
|
|
|
<para
|
|
|
>Тег, сводящий вместе записи в списке. Может употребляться только один раз для каждого описания атрибута. </para>
|
|
|
|
|
|
<informaltable>
|
|
|
<tgroup cols="2">
|
|
|
<thead>
|
|
|
<row>
|
|
|
<entry
|
|
|
>Родительские элементы</entry>
|
|
|
<entry
|
|
|
>Дочерние элементы</entry>
|
|
|
</row>
|
|
|
</thead>
|
|
|
<tbody>
|
|
|
<row>
|
|
|
<entry
|
|
|
>attr</entry>
|
|
|
<entry
|
|
|
>item</entry>
|
|
|
</row>
|
|
|
</tbody>
|
|
|
</tgroup>
|
|
|
</informaltable>
|
|
|
</sect4>
|
|
|
|
|
|
<sect4 id="item-3-2">
|
|
|
<title
|
|
|
>item</title>
|
|
|
|
|
|
<para
|
|
|
>Определяет запись в списке. </para>
|
|
|
|
|
|
<informaltable>
|
|
|
<tgroup cols="2">
|
|
|
<thead>
|
|
|
<row>
|
|
|
<entry
|
|
|
>Родительские элементы</entry>
|
|
|
<entry
|
|
|
>Дочерние элементы</entry>
|
|
|
</row>
|
|
|
</thead>
|
|
|
<tbody>
|
|
|
<row>
|
|
|
<entry
|
|
|
>list</entry>
|
|
|
<entry
|
|
|
><emphasis
|
|
|
>НЕТ</emphasis
|
|
|
></entry>
|
|
|
</row>
|
|
|
</tbody>
|
|
|
</tgroup>
|
|
|
</informaltable>
|
|
|
</sect4>
|
|
|
|
|
|
<sect4 id="textlocation-3-2">
|
|
|
<title
|
|
|
>textlocation</title>
|
|
|
|
|
|
<para
|
|
|
>Позиция в окне свойств параметра, отвечающего атрибуту тега. Может употребляться только один раз для каждого атрибута диалога (т.е. для каждого <attr
|
|
|
>). Не может содержать подэлементы. </para>
|
|
|
|
|
|
<informaltable>
|
|
|
<tgroup cols="2">
|
|
|
<thead>
|
|
|
<row>
|
|
|
<entry
|
|
|
>Родительские элементы</entry>
|
|
|
<entry
|
|
|
>Дочерние элементы</entry>
|
|
|
</row>
|
|
|
</thead>
|
|
|
<tbody>
|
|
|
<row>
|
|
|
<entry
|
|
|
>attr</entry>
|
|
|
<entry
|
|
|
><emphasis
|
|
|
>НЕТ</emphasis
|
|
|
></entry>
|
|
|
</row>
|
|
|
</tbody>
|
|
|
</tgroup>
|
|
|
</informaltable>
|
|
|
|
|
|
<informaltable>
|
|
|
<tgroup cols="4">
|
|
|
<thead>
|
|
|
<row>
|
|
|
<entry
|
|
|
>Атрибут</entry
|
|
|
><entry
|
|
|
>Тип</entry>
|
|
|
<entry
|
|
|
>Use</entry
|
|
|
><entry
|
|
|
>Описание</entry>
|
|
|
</row>
|
|
|
</thead>
|
|
|
<tbody>
|
|
|
<row>
|
|
|
<entry
|
|
|
>row</entry
|
|
|
><entry
|
|
|
>неотрицательное целое</entry>
|
|
|
<entry
|
|
|
>required</entry
|
|
|
><entry
|
|
|
>Ряд поля или метки при отображении в окне.</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
>col</entry
|
|
|
><entry
|
|
|
>неотрицательное целое</entry>
|
|
|
<entry
|
|
|
>required</entry
|
|
|
><entry
|
|
|
>Столбец поля или метки при отображении в окне.</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
>rowspan</entry
|
|
|
><entry
|
|
|
>неотрицательное целое</entry>
|
|
|
<entry
|
|
|
>optional</entry
|
|
|
><entry
|
|
|
>Число рядов, отводимых полю.</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
>colspan</entry
|
|
|
><entry
|
|
|
>неотрицательное целое</entry>
|
|
|
<entry
|
|
|
>optional</entry
|
|
|
><entry
|
|
|
>Число столбцов, отводимых полю.</entry>
|
|
|
</row>
|
|
|
</tbody>
|
|
|
</tgroup>
|
|
|
</informaltable>
|
|
|
</sect4>
|
|
|
|
|
|
<sect4 id="location-3-2">
|
|
|
<title
|
|
|
>location</title>
|
|
|
|
|
|
<para
|
|
|
>Положение и размер поля в окне свойств. Может употребляться только один раз для каждого поля в диалоге (т.е. для каждого <attr
|
|
|
> и <label
|
|
|
>). Не может содержать подэлементы. </para>
|
|
|
|
|
|
<informaltable>
|
|
|
<tgroup cols="2">
|
|
|
<thead>
|
|
|
<row>
|
|
|
<entry
|
|
|
>Родительские элементы</entry
|
|
|
><entry
|
|
|
>Дочерние элементы</entry>
|
|
|
</row>
|
|
|
</thead>
|
|
|
<tbody>
|
|
|
<row>
|
|
|
<entry
|
|
|
>label, attr</entry
|
|
|
><entry
|
|
|
><emphasis
|
|
|
>НЕТ</emphasis
|
|
|
></entry>
|
|
|
</row>
|
|
|
</tbody>
|
|
|
</tgroup>
|
|
|
</informaltable>
|
|
|
|
|
|
<informaltable>
|
|
|
<tgroup cols="4">
|
|
|
<thead>
|
|
|
<row>
|
|
|
<entry
|
|
|
>Атрибут</entry
|
|
|
><entry
|
|
|
>Тип</entry>
|
|
|
<entry
|
|
|
>Use</entry
|
|
|
><entry
|
|
|
>Описание</entry>
|
|
|
</row>
|
|
|
</thead>
|
|
|
<tbody>
|
|
|
<row>
|
|
|
<entry
|
|
|
>row</entry
|
|
|
><entry
|
|
|
>неотрицательное целое</entry>
|
|
|
<entry
|
|
|
>required</entry
|
|
|
><entry
|
|
|
>Ряд поля или метки при отображении в окне.</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
>col</entry
|
|
|
><entry
|
|
|
>неотрицательное целое</entry>
|
|
|
<entry
|
|
|
>required</entry
|
|
|
><entry
|
|
|
>Столбец поля или метки при отображении в окне.</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
>rowspan</entry
|
|
|
><entry
|
|
|
>неотрицательное целое</entry>
|
|
|
<entry
|
|
|
>optional</entry
|
|
|
><entry
|
|
|
>Число рядов, отводимых полю.</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
>colspan</entry
|
|
|
><entry
|
|
|
>неотрицательное целое</entry>
|
|
|
<entry
|
|
|
>optional</entry
|
|
|
><entry
|
|
|
>Число столбцов, отводимых полю.</entry>
|
|
|
</row>
|
|
|
</tbody>
|
|
|
</tgroup>
|
|
|
</informaltable>
|
|
|
</sect4>
|
|
|
|
|
|
<sect4 id="text-3-2">
|
|
|
<title
|
|
|
>text</title>
|
|
|
|
|
|
<para
|
|
|
>Текст метки или флажка (check box). </para>
|
|
|
|
|
|
<informaltable>
|
|
|
<tgroup cols="2">
|
|
|
<thead>
|
|
|
<row>
|
|
|
<entry
|
|
|
>Родительские элементы</entry
|
|
|
><entry
|
|
|
>Дочерние элементы</entry>
|
|
|
</row>
|
|
|
</thead>
|
|
|
<tbody>
|
|
|
<row>
|
|
|
<entry
|
|
|
>label, attr</entry
|
|
|
><entry
|
|
|
><emphasis
|
|
|
>НЕТ</emphasis
|
|
|
></entry>
|
|
|
</row>
|
|
|
</tbody>
|
|
|
</tgroup>
|
|
|
</informaltable>
|
|
|
</sect4>
|
|
|
|
|
|
<sect4 id="children-3-2">
|
|
|
<title
|
|
|
>children</title>
|
|
|
|
|
|
<para
|
|
|
>Список элементов, которые могут использоваться в определяемом теге. </para>
|
|
|
|
|
|
<informaltable>
|
|
|
<tgroup cols="2">
|
|
|
<thead>
|
|
|
<row>
|
|
|
<entry
|
|
|
>Родительские элементы</entry
|
|
|
><entry
|
|
|
>Дочерние элементы</entry>
|
|
|
</row>
|
|
|
</thead>
|
|
|
<tbody>
|
|
|
<row>
|
|
|
<entry
|
|
|
>tag</entry
|
|
|
><entry
|
|
|
>child</entry>
|
|
|
</row>
|
|
|
</tbody>
|
|
|
</tgroup>
|
|
|
</informaltable>
|
|
|
</sect4>
|
|
|
|
|
|
<sect4 id="child-3-2">
|
|
|
<title
|
|
|
>child</title>
|
|
|
|
|
|
<para
|
|
|
>Дочерний тег. Не может содержать подэлементы. </para>
|
|
|
|
|
|
<informaltable>
|
|
|
<tgroup cols="2">
|
|
|
<thead>
|
|
|
<row>
|
|
|
<entry
|
|
|
>Родительские элементы</entry
|
|
|
><entry
|
|
|
>Дочерние элементы</entry>
|
|
|
</row>
|
|
|
</thead>
|
|
|
<tbody>
|
|
|
<row>
|
|
|
<entry
|
|
|
>children</entry
|
|
|
><entry
|
|
|
><emphasis
|
|
|
>НЕТ</emphasis
|
|
|
></entry>
|
|
|
</row>
|
|
|
</tbody>
|
|
|
</tgroup>
|
|
|
</informaltable>
|
|
|
|
|
|
<informaltable>
|
|
|
<tgroup cols="4">
|
|
|
<thead>
|
|
|
<row>
|
|
|
<entry
|
|
|
>Атрибут</entry
|
|
|
><entry
|
|
|
>Тип</entry
|
|
|
><entry
|
|
|
>Значения</entry>
|
|
|
<entry
|
|
|
>Use</entry
|
|
|
><entry
|
|
|
>Описание</entry>
|
|
|
</row>
|
|
|
</thead>
|
|
|
<tbody>
|
|
|
<row>
|
|
|
<entry
|
|
|
>name</entry
|
|
|
><entry
|
|
|
>string</entry
|
|
|
><entry
|
|
|
></entry>
|
|
|
<entry
|
|
|
>required</entry
|
|
|
><entry
|
|
|
>Тег, который может употребляться в некотором другом теге.</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
>использование</entry
|
|
|
><entry
|
|
|
>string</entry
|
|
|
><entry
|
|
|
></entry>
|
|
|
<entry
|
|
|
>optional</entry
|
|
|
><entry
|
|
|
>Отношение к родителю.</entry>
|
|
|
</row>
|
|
|
<row>
|
|
|
<entry
|
|
|
></entry
|
|
|
><entry
|
|
|
></entry
|
|
|
><entry
|
|
|
>required</entry>
|
|
|
<entry
|
|
|
></entry
|
|
|
><entry
|
|
|
>Родитель должен иметь как минимум одного потомка с этим именем.</entry>
|
|
|
</row>
|
|
|
</tbody>
|
|
|
</tgroup>
|
|
|
</informaltable>
|
|
|
</sect4>
|
|
|
|
|
|
<sect4 id="stoppingtags-3-2">
|
|
|
<title
|
|
|
>stoppingtags</title>
|
|
|
|
|
|
<para
|
|
|
>Список элементов, которые приводят к окончанию действия тега. </para>
|
|
|
|
|
|
<informaltable>
|
|
|
<tgroup cols="2">
|
|
|
<thead>
|
|
|
<row>
|
|
|
<entry
|
|
|
>Родительские элементы</entry
|
|
|
><entry
|
|
|
>Дочерние элементы</entry>
|
|
|
</row>
|
|
|
</thead>
|
|
|
<tbody>
|
|
|
<row>
|
|
|
<entry
|
|
|
>tag</entry
|
|
|
><entry
|
|
|
>stoppingtag</entry>
|
|
|
</row>
|
|
|
</tbody>
|
|
|
</tgroup>
|
|
|
</informaltable>
|
|
|
</sect4>
|
|
|
|
|
|
<sect4 id="stoppingtag-3-2">
|
|
|
<title
|
|
|
>stoppingtag</title>
|
|
|
|
|
|
<para
|
|
|
>Тег, приводящий к окончанию действия другого тега. Не может содержать подэлементы. </para>
|
|
|
|
|
|
<informaltable>
|
|
|
<tgroup cols="2">
|
|
|
<thead>
|
|
|
<row>
|
|
|
<entry
|
|
|
>Родительские элементы</entry
|
|
|
><entry
|
|
|
>Дочерние элементы</entry>
|
|
|
</row>
|
|
|
</thead>
|
|
|
<tbody>
|
|
|
<row>
|
|
|
<entry
|
|
|
>stoppingtags</entry
|
|
|
><entry
|
|
|
><emphasis
|
|
|
>НЕТ</emphasis
|
|
|
></entry>
|
|
|
</row>
|
|
|
</tbody>
|
|
|
</tgroup>
|
|
|
</informaltable>
|
|
|
|
|
|
<informaltable>
|
|
|
<tgroup cols="4">
|
|
|
<thead>
|
|
|
<row>
|
|
|
<entry
|
|
|
>Атрибут</entry
|
|
|
><entry
|
|
|
>Тип</entry>
|
|
|
<entry
|
|
|
>Use</entry
|
|
|
><entry
|
|
|
>Описание</entry>
|
|
|
</row>
|
|
|
</thead>
|
|
|
<tbody>
|
|
|
<row>
|
|
|
<entry
|
|
|
>name</entry
|
|
|
><entry
|
|
|
>string</entry>
|
|
|
<entry
|
|
|
>required</entry
|
|
|
><entry
|
|
|
>Теги, приводящие к окончанию действия другого тега.</entry>
|
|
|
</row>
|
|
|
</tbody>
|
|
|
</tgroup>
|
|
|
</informaltable>
|
|
|
</sect4>
|
|
|
</sect3>
|
|
|
|
|
|
<sect3 id="tagxml-usage-3-2">
|
|
|
<title
|
|
|
>Использование TagXML</title>
|
|
|
|
|
|
<para
|
|
|
>Все файлы TagXML должны начинаться с декларации &XML;: <?xml version="1.0" encoding="UTF-8"?>, правильно структурированными и закрытыми. </para>
|
|
|
|
|
|
<important>
|
|
|
<para
|
|
|
>Пробелы не играют роли, однако следите за символами & и <. В элементах <tooltip
|
|
|
>, <whatsthis
|
|
|
>, <text
|
|
|
>, их лучше заменить на &amp; и &lt; соответственно. Невыполнение этого не приведёт к краху, но ваша работа может пропасть. </para>
|
|
|
</important>
|
|
|
</sect3>
|
|
|
|
|
|
<sect3 id="tagxml-validation-3-2">
|
|
|
<title
|
|
|
>Проверка TagXML</title>
|
|
|
|
|
|
<para
|
|
|
>Чтобы выполнить проверку файлов TagXML, выберите <quote
|
|
|
>Сервис</quote
|
|
|
>, <quote
|
|
|
>Проверить TagXML.</quote
|
|
|
>. </para>
|
|
|
|
|
|
<note>
|
|
|
<para
|
|
|
>Эта функция пока что не реализована и проверка происходит при загрузке файлов TagXML в &quantaplus;. </para>
|
|
|
</note>
|
|
|
</sect3>
|
|
|
|
|
|
<sect3 id="tagxml-examples-3-2">
|
|
|
<title
|
|
|
>Примеры TagXML</title>
|
|
|
|
|
|
<sect4 id="family-one-3-2">
|
|
|
<title
|
|
|
>Семья 1</title>
|
|
|
|
|
|
<para
|
|
|
>Ниже следует файл TagXML семьи 1. Он описывает элемент &W3C; &XML; <schema
|
|
|
>. Имя такого файла будет schema.tag. Просто, не так ли? </para>
|
|
|
|
|
|
<informalexample>
|
|
|
<literallayout
|
|
|
><markup>
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
<!DOCTYPE TAGS>
|
|
|
<TAGS>
|
|
|
<tag name="schema">
|
|
|
<label>
|
|
|
<text
|
|
|
>id</text>
|
|
|
<location col="0" row="0"/>
|
|
|
</label>
|
|
|
<attr name="id" type="input">
|
|
|
<tooltip
|
|
|
>A unique ID for the element.</tooltip>
|
|
|
<whatsthis
|
|
|
>A unique ID for the element.</whatsthis>
|
|
|
<location col="1" row="0"/>
|
|
|
</attr>
|
|
|
|
|
|
<label>
|
|
|
<text
|
|
|
>version</text>
|
|
|
<location col="0" row="1"/>
|
|
|
</label>
|
|
|
<attr name="version" type="input">
|
|
|
<tooltip
|
|
|
>Version of the schema.</tooltip>
|
|
|
<whatsthis
|
|
|
>Version of the schema.</whatsthis>
|
|
|
<location col="1" row="1"/>
|
|
|
</attr>
|
|
|
|
|
|
<label>
|
|
|
<text
|
|
|
>targetNamespace</text>
|
|
|
<location col="0" row="2"/>
|
|
|
</label>
|
|
|
<attr name="targetNamespace" type="input">
|
|
|
<tooltip
|
|
|
>&URI; reference of the namespace of this schema.</tooltip>
|
|
|
<whatsthis
|
|
|
>&URI; reference of the namespace of this schema.</whatsthis>
|
|
|
<location col="1" row="2"/>
|
|
|
</attr>
|
|
|
|
|
|
<label>
|
|
|
<text
|
|
|
>xmlns</text>
|
|
|
<location col="0" row="3"/>
|
|
|
</label>
|
|
|
<attr name="xmlns" type="input">
|
|
|
<tooltip
|
|
|
>&URI; reference for one or more namespaces for use in this schema.
|
|
|
If no prefix is used, then components of that namespace may be used unqualified.</tooltip>
|
|
|
<whatsthis
|
|
|
>&URI; reference for one or more namespaces for use in this schema.
|
|
|
If no prefix is used, then components of that namespace may be used unqualified.</whatsthis>
|
|
|
<location col="1" row="3"/>
|
|
|
</attr>
|
|
|
|
|
|
<label>
|
|
|
<text
|
|
|
>attributeFormDefault</text>
|
|
|
<location col="0" row="4"/>
|
|
|
</label>
|
|
|
<attr name="attributeFormDefault" type="list">
|
|
|
<items>
|
|
|
<item
|
|
|
>qualified</item>
|
|
|
<item
|
|
|
>unqualified</item>
|
|
|
</items>
|
|
|
<tooltip
|
|
|
>Default form for all attributes within this schema.</tooltip>
|
|
|
<whatsthis
|
|
|
>Default form for all attributes within this schema.</whatsthis>
|
|
|
<location col="1" row="4"/>
|
|
|
</attr>
|
|
|
|
|
|
<label>
|
|
|
<text
|
|
|
>elementFormDefault</text>
|
|
|
<location col="0" row="5"/>
|
|
|
</label>
|
|
|
<attr name="elementFormDefault" type="list">
|
|
|
<items>
|
|
|
<item
|
|
|
>qualified</item>
|
|
|
<item
|
|
|
>unqualified</item>
|
|
|
</items>
|
|
|
<tooltip
|
|
|
>Default form for all elements within this schema.</tooltip>
|
|
|
<whatsthis
|
|
|
>Default form for all elements within this schema.</whatsthis>
|
|
|
<location col="1" row="5"/>
|
|
|
</attr>
|
|
|
|
|
|
<label>
|
|
|
<text
|
|
|
>blockDefault</text>
|
|
|
<location col="0" row="6"/>
|
|
|
</label>
|
|
|
<attr name="blockDefault" type="input">
|
|
|
<location col="1" row="6"/>
|
|
|
</attr>
|
|
|
|
|
|
<label>
|
|
|
<text
|
|
|
>finalDefault</text>
|
|
|
<location col="0" row="7"/>
|
|
|
</label>
|
|
|
<attr name="finalDefault" type="input">
|
|
|
<location col="1" row="7"/>
|
|
|
</attr>
|
|
|
</tag>
|
|
|
</TAGS>
|
|
|
</markup
|
|
|
>
|
|
|
</literallayout>
|
|
|
</informalexample>
|
|
|
</sect4>
|
|
|
|
|
|
<sect4 id="family-two-3-2">
|
|
|
<title
|
|
|
>Семья 2</title>
|
|
|
|
|
|
<para
|
|
|
>Ниже следует файл TagXML семьи 2. Он описывает &PHP;-функцию перегрузки (overload). Имя такого файла будет overload.tag. </para>
|
|
|
|
|
|
<informalexample>
|
|
|
<literallayout
|
|
|
><markup>
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
<!DOCTYPE tags>
|
|
|
<tags>
|
|
|
<tag name="overload" type="function" returnType="void">
|
|
|
<attr name="class_name" type="string" status="optional"/>
|
|
|
</tag>
|
|
|
</tags>
|
|
|
</markup
|
|
|
>
|
|
|
</literallayout>
|
|
|
</informalexample>
|
|
|
</sect4>
|
|
|
</sect3>
|
|
|
</sect2>
|
|
|
|
|
|
<sect2 id="descriptionrc-3-2">
|
|
|
<title
|
|
|
>&descriptionrc;</title>
|
|
|
|
|
|
<para
|
|
|
>Файл &descriptionrc; также имеет простую структуру, для него есть редактор, который можно вызвать из <menuchoice
|
|
|
><guimenu
|
|
|
>DTD</guimenu
|
|
|
><guimenuitem
|
|
|
>Параметры DTD...</guimenuitem
|
|
|
></menuchoice
|
|
|
>. Чтобы изменить &descriptionrc; вновь созданного &DTEP;, создайте файл &descriptionrc; со следующими параметрами: </para>
|
|
|
<para>
|
|
|
<informalexample>
|
|
|
<literallayout
|
|
|
><markup>
|
|
|
[General]
|
|
|
Version = Пишите 1 для &quantaplus; версии <=3.1.2 и 2 - для любой более поздней версии.
|
|
|
Name = Строка определения DTD. (-//&W3C;//DTD HTML 4.01 Transitional//EN)
|
|
|
NickName = Красивое имя DTD. (HTML 4.01 Transitional). если не указано, будет использоваться Name.
|
|
|
</markup
|
|
|
>
|
|
|
</literallayout>
|
|
|
</informalexample>
|
|
|
</para>
|
|
|
<para
|
|
|
>После того, как вы создали такой файл и сохранили его в папку с файлами тегов, загрузите новый &DTEP; через <menuchoice
|
|
|
><guimenu
|
|
|
>DTD</guimenu
|
|
|
><guimenuitem
|
|
|
>Загрузить пакет DTD (DTEP)...</guimenuitem
|
|
|
></menuchoice
|
|
|
>, теперь вы можете продолжить правку &DTEP;. Воспользуйтесь контекстной справкой (всплывающими подсказки и "что это?") панели инструментов редактора, или прочтите файл<filename
|
|
|
>quanta/data/dtep/dtd-description.txt</filename
|
|
|
> из исходного архива, в котором подробно описан формат. </para>
|
|
|
</sect2>
|
|
|
</sect1>
|
|
|
|
|
|
<sect1 id="user-actions">
|
|
|
<title
|
|
|
>Действия, определяемые пользователем</title>
|
|
|
<para
|
|
|
>В &quantaplus; можно настраивать и создавать свои действия, выполняемые при нажатии на кнопку панели инструментов, выборе пункта меню или нажатии комбинации клавиш. </para>
|
|
|
<para
|
|
|
>Существует три типа действий, определяемых пользователем: <itemizedlist>
|
|
|
<listitem
|
|
|
><para
|
|
|
><link linkend="text-actions"
|
|
|
>Операции с текстом</link
|
|
|
></para
|
|
|
></listitem>
|
|
|
<listitem
|
|
|
><para
|
|
|
><link linkend="tag-actions"
|
|
|
>Операции с тегами</link
|
|
|
></para
|
|
|
></listitem>
|
|
|
<listitem
|
|
|
><para
|
|
|
><link linkend="script-actions"
|
|
|
>Операции на основе сценариев</link
|
|
|
></para
|
|
|
></listitem>
|
|
|
</itemizedlist>
|
|
|
</para>
|
|
|
<sect2 id="creating-actions">
|
|
|
<title
|
|
|
>Создание действий</title>
|
|
|
<para
|
|
|
>Создать действие можно с помощью пункт меню<menuchoice
|
|
|
><guimenu
|
|
|
>Настройка</guimenu
|
|
|
><guimenuitem
|
|
|
>Настроить действия</guimenuitem
|
|
|
></menuchoice
|
|
|
>: <mediaobject
|
|
|
> <imageobject>
|
|
|
<imagedata fileref="dtep_doc_img7.png" format="PNG"/>
|
|
|
</imageobject>
|
|
|
</mediaobject>
|
|
|
<variablelist>
|
|
|
<varlistentry>
|
|
|
<term
|
|
|
><guilabel
|
|
|
>Тип</guilabel
|
|
|
></term>
|
|
|
<listitem
|
|
|
><para
|
|
|
><link linkend="text-actions"
|
|
|
>Текст</link
|
|
|
>, <link linkend="tag-actions"
|
|
|
>Тег</link
|
|
|
> или <link linkend="script-actions"
|
|
|
>Сценарий</link
|
|
|
>.</para>
|
|
|
</listitem>
|
|
|
</varlistentry>
|
|
|
<varlistentry>
|
|
|
<term
|
|
|
><guilabel
|
|
|
>Текст</guilabel
|
|
|
></term>
|
|
|
<listitem
|
|
|
><para
|
|
|
>Имя действия, видимое пользователю.</para>
|
|
|
</listitem>
|
|
|
</varlistentry>
|
|
|
<varlistentry>
|
|
|
<term
|
|
|
>Кнопка рядом с текстовой меткой</term>
|
|
|
<listitem
|
|
|
><para
|
|
|
>Значок, присвоенный данному действию. Щёлкните на нём чтобы его изменить.</para>
|
|
|
</listitem>
|
|
|
</varlistentry>
|
|
|
<varlistentry>
|
|
|
<term
|
|
|
><guilabel
|
|
|
>Всплывающая подсказка</guilabel
|
|
|
></term>
|
|
|
<listitem
|
|
|
><para
|
|
|
>Краткое описание действия.</para>
|
|
|
</listitem>
|
|
|
</varlistentry>
|
|
|
<varlistentry>
|
|
|
<term
|
|
|
><guilabel
|
|
|
>Комбинация клавиш</guilabel
|
|
|
></term>
|
|
|
<listitem
|
|
|
><para
|
|
|
>Комбинация клавиш, присвоенная действию.</para>
|
|
|
</listitem>
|
|
|
</varlistentry>
|
|
|
<varlistentry>
|
|
|
<term
|
|
|
><guilabel
|
|
|
>Панели инструментов</guilabel
|
|
|
></term>
|
|
|
<listitem
|
|
|
><para
|
|
|
>Панели инструментов, содержащие действие. Для подробностей см. <xref linkend="creating-toolbars-3-2"/>.</para>
|
|
|
</listitem>
|
|
|
</varlistentry>
|
|
|
<varlistentry>
|
|
|
<term
|
|
|
><guilabel
|
|
|
>Расширенные настройки</guilabel
|
|
|
></term>
|
|
|
<listitem
|
|
|
><para
|
|
|
>Параметры, специфичные для каждого типа действий. См. далее </para
|
|
|
></listitem>
|
|
|
</varlistentry>
|
|
|
</variablelist>
|
|
|
</para>
|
|
|
</sect2>
|
|
|
<sect2 id="text-actions">
|
|
|
<title
|
|
|
>Операции с текстом</title>
|
|
|
<para>
|
|
|
<mediaobject
|
|
|
><imageobject>
|
|
|
<imagedata fileref="text-action.png" format="PNG"/>
|
|
|
</imageobject
|
|
|
></mediaobject
|
|
|
> Самые простые действия. Вы можете ввести текст в области <guilabel
|
|
|
>Расширенные настройки</guilabel
|
|
|
>, который будет вставлен в документ при выполнении действия. </para>
|
|
|
</sect2>
|
|
|
<sect2 id="tag-actions">
|
|
|
<title
|
|
|
>Операции с тегами</title>
|
|
|
<para
|
|
|
>Используется для вставки XML-тегов в текст. <mediaobject
|
|
|
><imageobject
|
|
|
> <imagedata fileref="tag-actions.png" format="PNG"/> </imageobject
|
|
|
></mediaobject
|
|
|
> <variablelist
|
|
|
> <varlistentry
|
|
|
> <term
|
|
|
><guilabel
|
|
|
><tag></guilabel
|
|
|
></term
|
|
|
> <listitem
|
|
|
><para
|
|
|
>Имя тега.</para
|
|
|
></listitem
|
|
|
> </varlistentry
|
|
|
> <varlistentry
|
|
|
> <term
|
|
|
><guilabel
|
|
|
></tag></guilabel
|
|
|
></term
|
|
|
> <listitem
|
|
|
><para
|
|
|
>Если флажок отмечен, нужен также закрывающий тег. Если при вызове действия в документе будет присутствовать выделенный текст, то начальный тег будет вставлен перед ним, а закрывающий - после.</para
|
|
|
></listitem
|
|
|
> </varlistentry
|
|
|
> <varlistentry
|
|
|
> <term
|
|
|
><guilabel
|
|
|
>Запустить диалог "Изменить тег", если он доступен</guilabel
|
|
|
></term
|
|
|
> <listitem
|
|
|
><para
|
|
|
>Если для данного тега будет найден файл tagXML с описанием его атрибутов, перед вставкой тега будет предложено ввести их в диалоговом окне.</para
|
|
|
></listitem
|
|
|
> </varlistentry
|
|
|
> </variablelist
|
|
|
> Символы <, > и / не будут автоматически добавлены и вы должны ввести их сами. </para>
|
|
|
</sect2>
|
|
|
<sect2 id="script-actions">
|
|
|
<title
|
|
|
>Операции на основе сценариев</title>
|
|
|
<para>
|
|
|
<mediaobject
|
|
|
><imageobject>
|
|
|
<imagedata fileref="script-action.png" format="PNG"/>
|
|
|
</imageobject
|
|
|
></mediaobject
|
|
|
> Этот тип действий - самый мощный. С помощью него можно запускать внешние приложения (в основном это сценарии), которым будет передаваться документ или его часть. Примером такого типа служит стандартный диалог &quantaplus; <guibutton
|
|
|
>Быстрый запуск</guibutton
|
|
|
>, различные действия, связанные с (X)HTML. </para>
|
|
|
<para
|
|
|
>Сначала нужно ввести строку запуска сценария, например: <command
|
|
|
>sh /home/myHome/myScript.sh</command
|
|
|
>. </para>
|
|
|
<para
|
|
|
>Для указания пути рекомендуется использовать <command
|
|
|
>%scriptdir</command
|
|
|
> (например: <command
|
|
|
>sh %scriptdir/myScript.sh</command
|
|
|
>). Тогда сценарий будет искаться в нескольких папках, а именно: <itemizedlist
|
|
|
> <listitem
|
|
|
><para
|
|
|
>глобальная папка сценариев: <filename
|
|
|
><envar
|
|
|
>$TDEDIR</envar
|
|
|
>/share/apps/quanta/scripts</filename
|
|
|
></para
|
|
|
></listitem
|
|
|
> <listitem
|
|
|
><para
|
|
|
>локальная папка сценариев: <filename
|
|
|
><envar
|
|
|
>$TDEHOME</envar
|
|
|
>/share/apps/quanta/scripts</filename
|
|
|
></para
|
|
|
></listitem
|
|
|
> <listitem
|
|
|
><para
|
|
|
>список путей пользователя: <envar
|
|
|
>$PATH</envar
|
|
|
></para
|
|
|
></listitem
|
|
|
></itemizedlist
|
|
|
> Есть также другие переменные: <itemizedlist>
|
|
|
<listitem
|
|
|
><para
|
|
|
><command
|
|
|
>%f</command
|
|
|
>: адрес текущего документа. Последовательность символов "file:/" будет удалена из имени файла.</para
|
|
|
></listitem>
|
|
|
<listitem
|
|
|
><para
|
|
|
><command
|
|
|
>%input</command
|
|
|
>: выделенный текст (см. далее).</para
|
|
|
></listitem>
|
|
|
<listitem
|
|
|
><para
|
|
|
><command
|
|
|
>%projectbase</command
|
|
|
>: адрес текущего проекта. Если нет открытых проектов, возвращает пустую строку.</para
|
|
|
></listitem>
|
|
|
<listitem
|
|
|
><para
|
|
|
><command
|
|
|
>%pid</command
|
|
|
>: PID процесса &quantaplus;. Если запущен один экземпляр &quantaplus; перед PID будет добавлено "unique ". Это может быть использовано для работы через DCOP.</para
|
|
|
></listitem>
|
|
|
<listitem
|
|
|
><para
|
|
|
><command
|
|
|
>%userarguments</command
|
|
|
>: используется при событиях. Будет заменено свойствами события в следующем порядке: <variablelist>
|
|
|
<varlistentry>
|
|
|
<term
|
|
|
>Первый аргумент</term>
|
|
|
<listitem
|
|
|
><para
|
|
|
>Дескриптор (id) сценария</para
|
|
|
></listitem>
|
|
|
</varlistentry>
|
|
|
<varlistentry>
|
|
|
<term
|
|
|
>Второй аргумент</term>
|
|
|
<listitem
|
|
|
><para
|
|
|
>имя события</para
|
|
|
></listitem>
|
|
|
</varlistentry>
|
|
|
<varlistentry>
|
|
|
<term
|
|
|
>Третий аргумент</term>
|
|
|
<listitem
|
|
|
><para
|
|
|
>параметры события, обычно имя текущего файла, или путь к файлу проекта.</para
|
|
|
></listitem>
|
|
|
</varlistentry>
|
|
|
</variablelist>
|
|
|
</para
|
|
|
></listitem>
|
|
|
</itemizedlist>
|
|
|
</para>
|
|
|
<para
|
|
|
>Также сценарий может получить исходные данные напрямую от &quantaplus; через стандартный вход. В выпадающем списке <guilabel
|
|
|
>Ввод</guilabel
|
|
|
> вы можете выбрать данные, которые будут посылаться: <itemizedlist>
|
|
|
<listitem
|
|
|
><para
|
|
|
><guilabel
|
|
|
>Ничего</guilabel
|
|
|
>.</para
|
|
|
></listitem>
|
|
|
<listitem
|
|
|
><para
|
|
|
><guilabel
|
|
|
>Текущий документ</guilabel
|
|
|
>: весь документ.</para
|
|
|
></listitem>
|
|
|
<listitem
|
|
|
><para
|
|
|
><guilabel
|
|
|
>Выделенный текст</guilabel
|
|
|
>. Только когда выбран этот вариант, <command
|
|
|
>%input</command
|
|
|
> имеет смысл.</para
|
|
|
></listitem>
|
|
|
</itemizedlist>
|
|
|
</para>
|
|
|
<para
|
|
|
>Аналогично, можно получить вывод сценария через конфейеры. Существует два типа вывода: <itemizedlist
|
|
|
> <listitem
|
|
|
><para
|
|
|
>обычный (stdout);</para
|
|
|
> </listitem
|
|
|
> <listitem
|
|
|
><para
|
|
|
>ошибки (stderr).</para
|
|
|
> </listitem
|
|
|
> </itemizedlist
|
|
|
>Вы можете выбрать, что делать с выводом, возможные варианты: <itemizedlist>
|
|
|
<listitem
|
|
|
><para
|
|
|
><guilabel
|
|
|
>Ничего</guilabel
|
|
|
>.</para
|
|
|
></listitem>
|
|
|
<listitem
|
|
|
><para
|
|
|
><guilabel
|
|
|
>Вставить в позицию курсора</guilabel
|
|
|
>.</para
|
|
|
></listitem>
|
|
|
<listitem
|
|
|
><para
|
|
|
><guilabel
|
|
|
>Заменить выделение</guilabel
|
|
|
>.</para
|
|
|
></listitem>
|
|
|
<listitem
|
|
|
><para
|
|
|
><guilabel
|
|
|
>Заменить выделение</guilabel
|
|
|
>.</para
|
|
|
></listitem>
|
|
|
<listitem
|
|
|
><para
|
|
|
><guilabel
|
|
|
>Создать новый документ</guilabel
|
|
|
>.</para
|
|
|
></listitem>
|
|
|
<listitem
|
|
|
><para
|
|
|
><guilabel
|
|
|
>Заменить текущий документ</guilabel
|
|
|
>.</para
|
|
|
></listitem>
|
|
|
<listitem
|
|
|
><para
|
|
|
><guilabel
|
|
|
>Окно сообщений</guilabel
|
|
|
>: вывод сценарий будет помещён на служебную вкладку <guilabel
|
|
|
>Сообщения</guilabel
|
|
|
>.</para
|
|
|
></listitem>
|
|
|
</itemizedlist>
|
|
|
</para>
|
|
|
<para
|
|
|
>Варианты для вывода сообщений об ошибках такие же.</para>
|
|
|
</sect2>
|
|
|
</sect1>
|
|
|
|
|
|
<sect1 id="creating-toolbars-3-2">
|
|
|
<title
|
|
|
>Создание панелей инструментов</title>
|
|
|
|
|
|
<para
|
|
|
>Ниже следует описание создания панелей инструментов для &DTEP;. По сути, это - графические элементы, отвечающие определённому действию. Последнее - основа почти всех расширений, которые есть или будут появляться в будущем в &quantaplus;. Схема определения действия в &quantaplus; также годится для автозавершения и диалогов свойств тегов. </para>
|
|
|
|
|
|
<sect2 id="from-scratch-to-complete-3-2">
|
|
|
<title
|
|
|
>С нуля до совершенства</title>
|
|
|
|
|
|
<para
|
|
|
>Начнём с создания пользовательской панели инструментов: <menuchoice
|
|
|
><guimenu
|
|
|
>Панели инструментов</guimenu
|
|
|
><guimenuitem
|
|
|
>Добавить пользовательскую панель инструментов</guimenuitem
|
|
|
></menuchoice
|
|
|
>. </para>
|
|
|
|
|
|
<para
|
|
|
>Если в языке разметки много тегов, лучше разделить их по группам. Для каждой группы создайте отдельную панель инструментов. В нашем случае тегов не много, поэтому обойдёмся одной. </para>
|
|
|
|
|
|
<para
|
|
|
>Далее следует добавить и настроить действия - <menuchoice
|
|
|
><guimenu
|
|
|
>Настройка</guimenu
|
|
|
><guimenuitem
|
|
|
>Настроить действия...</guimenuitem
|
|
|
></menuchoice
|
|
|
>. </para>
|
|
|
|
|
|
<para
|
|
|
>Нажмите кнопку <guibutton
|
|
|
>Создать</guibutton
|
|
|
> (внизу окна). </para>
|
|
|
|
|
|
<para
|
|
|
>Заполните все необходимые поля и добавьте тег в соответствующую панель инструментов. </para>
|
|
|
|
|
|
<para
|
|
|
>Если у тега есть атрибуты (и вы будете часто их использовать), отметьте <guilabel
|
|
|
>Запустить диалог "Изменить тег", если он доступен</guilabel
|
|
|
>, и каждый раз при использовании данного действия, будет предложено заполнить свойства добавляемого тега. </para>
|
|
|
|
|
|
<para
|
|
|
>Теперь у вас должно быть что-то вроде этого. </para>
|
|
|
|
|
|
<mediaobject>
|
|
|
<imageobject>
|
|
|
<imagedata fileref="dtep_doc_img7.png" format="PNG"/>
|
|
|
</imageobject>
|
|
|
</mediaobject>
|
|
|
|
|
|
<para
|
|
|
>Нажмите кнопку <guibutton
|
|
|
>Применить</guibutton
|
|
|
>. </para>
|
|
|
|
|
|
<mediaobject>
|
|
|
<imageobject>
|
|
|
<imagedata fileref="dtep_doc_img8.png" format="PNG"/>
|
|
|
</imageobject>
|
|
|
</mediaobject>
|
|
|
|
|
|
<para
|
|
|
>Но что же получилось?! Как вы запомните, какой значок к какому действию относится? Давайте заменим его на свой (покрасивее). </para>
|
|
|
|
|
|
<para
|
|
|
>Для создания значка можно использовать &kiconedit;. Запустите её из &kmenu;, <menuchoice
|
|
|
> <guisubmenu
|
|
|
>Графика</guisubmenu
|
|
|
><guisubmenu
|
|
|
>Дополнительные приложения</guisubmenu
|
|
|
></menuchoice
|
|
|
>) </para>
|
|
|
|
|
|
<para
|
|
|
>&kiconedit; создаёт значки с расширением 32x32, однако нам нужно 22x22 - <menuchoice
|
|
|
> <guimenu
|
|
|
>Правка</guimenu
|
|
|
> <guimenuitem
|
|
|
>Изменить размер</guimenuitem
|
|
|
> </menuchoice
|
|
|
>. </para>
|
|
|
|
|
|
<para
|
|
|
>Помните, что вы создаёте значок, который поможет вспомнить вам (и не только вам) действие, которому он отвечает, а не просто красивую картинку. </para>
|
|
|
|
|
|
<para
|
|
|
>В нашем случае создаётся значок для тега <start
|
|
|
>,поэтому для него будет использоваться зелёный цвет. </para>
|
|
|
|
|
|
<mediaobject>
|
|
|
<imageobject>
|
|
|
<imagedata fileref="dtep_doc_img15.png" format="PNG"/>
|
|
|
</imageobject>
|
|
|
</mediaobject>
|
|
|
|
|
|
<para
|
|
|
>Сохраним значок. </para>
|
|
|
|
|
|
<para
|
|
|
>После создания значка нужно ассоциировать его с действием. Откройте окно <emphasis
|
|
|
>Настроить действия</emphasis
|
|
|
> и выберите нужное действие. Слева от поля <emphasis
|
|
|
>Текст</emphasis
|
|
|
> есть кнопка - нажмите её. </para>
|
|
|
|
|
|
<para
|
|
|
>Выберите <guilabel
|
|
|
>Прочие пиктограммы</guilabel
|
|
|
> и нажмите кнопку <guibutton
|
|
|
>Обзор</guibutton
|
|
|
>. </para>
|
|
|
|
|
|
<para
|
|
|
>Перейдите в папку, в которой вы сохранили значок, выберите его и нажмите <guibutton
|
|
|
>OK</guibutton
|
|
|
>. </para>
|
|
|
|
|
|
<para
|
|
|
>Нажмите кнопку <guibutton
|
|
|
>Применить</guibutton
|
|
|
>
|
|
|
> или <guibutton
|
|
|
>OK</guibutton
|
|
|
>. </para>
|
|
|
|
|
|
<mediaobject>
|
|
|
<imageobject>
|
|
|
<imagedata fileref="dtep_doc_img18.png" format="PNG"/>
|
|
|
</imageobject>
|
|
|
</mediaobject>
|
|
|
|
|
|
<para
|
|
|
>Чтобы добавить какие-то общие для &quantaplus; функции на панель инструментов, или разделители кнопок, в окне <guilabel
|
|
|
>Настроить панели инструментов</guilabel
|
|
|
> выделите нужную панель инструментов и выберите в списке слева действие (или разделитель). </para>
|
|
|
|
|
|
|
|
|
|
|
|
<mediaobject>
|
|
|
<imageobject>
|
|
|
<imagedata fileref="dtep_doc_img21.png" format="PNG"/>
|
|
|
</imageobject>
|
|
|
</mediaobject>
|
|
|
|
|
|
<para
|
|
|
>Например, можно добавить <guilabel
|
|
|
>Просмотр в Konqueror</guilabel
|
|
|
>. </para>
|
|
|
|
|
|
<mediaobject>
|
|
|
<imageobject>
|
|
|
<imagedata fileref="dtep_doc_img22.png" format="PNG"/>
|
|
|
</imageobject>
|
|
|
</mediaobject>
|
|
|
|
|
|
<para
|
|
|
>Обратите внимание на то, что разделитель способствует группированию. Один человек подумал, что кнопка &konqueror;, стоящая рядом с зелёной кнопкой "Старт", имеет противоположное значение ("Стоп"). </para>
|
|
|
|
|
|
<mediaobject>
|
|
|
<imageobject>
|
|
|
<imagedata fileref="dtep_doc_img23.png" format="PNG"/>
|
|
|
</imageobject>
|
|
|
</mediaobject>
|
|
|
|
|
|
<para
|
|
|
>После внесения изменений, нажмите кнопку <guibutton
|
|
|
>OK</guibutton
|
|
|
>. </para>
|
|
|
|
|
|
<para
|
|
|
>Посмотрите на новую панель инструментов! Фантастика! </para>
|
|
|
|
|
|
<mediaobject>
|
|
|
<imageobject>
|
|
|
<imagedata fileref="dtep_doc_img24.png" format="PNG"/>
|
|
|
</imageobject>
|
|
|
</mediaobject>
|
|
|
|
|
|
<para
|
|
|
>Не забудьте протестировать вашу новую панель инструментов нажатием всех расположенных на ней кнопок. </para>
|
|
|
|
|
|
<mediaobject>
|
|
|
<imageobject>
|
|
|
<imagedata fileref="dtep_doc_img25.png" format="PNG"/>
|
|
|
</imageobject>
|
|
|
</mediaobject>
|
|
|
|
|
|
<para
|
|
|
><menuchoice
|
|
|
><guimenu
|
|
|
>Панели инструментов</guimenu
|
|
|
> <guisubmenu
|
|
|
>Сохранить</guisubmenu
|
|
|
><guimenuitem
|
|
|
> Сохранить как локальную панель инструментов</guimenuitem
|
|
|
></menuchoice
|
|
|
>. </para>
|
|
|
|
|
|
<para
|
|
|
>Сохраните её в правильной папке. Убедитесь, что вы заполнили &descriptionrc; так, чтобы при открытии документа данного типа, загружались соответствующие панели инструментов. </para>
|
|
|
</sect2>
|
|
|
</sect1>
|
|
|
|
|
|
|
|
|
<sect1 id="creating-quanta-docs-3-2">
|
|
|
<sect1info>
|
|
|
<title
|
|
|
>Написание документации</title>
|
|
|
<authorgroup>
|
|
|
<author
|
|
|
><firstname
|
|
|
>Robert</firstname
|
|
|
> <surname
|
|
|
>Nickel</surname
|
|
|
> <affiliation
|
|
|
> <address
|
|
|
><email
|
|
|
>robert@artnickel.com</email
|
|
|
></address>
|
|
|
</affiliation>
|
|
|
</author>
|
|
|
|
|
|
<othercredit role="translator"
|
|
|
><firstname
|
|
|
>Николай</firstname
|
|
|
><surname
|
|
|
>Шафоростов</surname
|
|
|
><affiliation
|
|
|
><address
|
|
|
><email
|
|
|
>shafff@ukr.net</email
|
|
|
></address
|
|
|
></affiliation
|
|
|
><contrib
|
|
|
>Перевод на русский</contrib
|
|
|
></othercredit
|
|
|
>
|
|
|
|
|
|
</authorgroup>
|
|
|
</sect1info>
|
|
|
|
|
|
<title
|
|
|
>Написание документации</title>
|
|
|
|
|
|
<para
|
|
|
>Самое заметное, что может сделать рядовой пользователь - дополнение документации по разметочному или скриптовому языку, который ему нравится. Далее описывается, как было создано дерево документации &PHP;. </para>
|
|
|
|
|
|
<para
|
|
|
>Перед началом написания проверьте <ulink url="http://quanta.sf.net/main1.php?contfile=resource"
|
|
|
>репозиторий &quantaplus;</ulink
|
|
|
>. </para>
|
|
|
|
|
|
<para
|
|
|
>Первый шаг - получение существующей документации. Второй - создание файла <filename
|
|
|
>docrc</filename
|
|
|
>. </para>
|
|
|
|
|
|
<para
|
|
|
>Общая форма docrc: </para>
|
|
|
|
|
|
<informalexample>
|
|
|
<literallayout
|
|
|
>#KDE Config File
|
|
|
[Tree]
|
|
|
Doc dir=<replaceable
|
|
|
>путь (относительно к этому файлу) к файлам html</replaceable
|
|
|
> ⪚ php42/
|
|
|
#top level elements
|
|
|
Top Element=<replaceable
|
|
|
>Описание документации</replaceable
|
|
|
> ⪚ &PHP; 4.2 documentation
|
|
|
|
|
|
Section 1=Section1.html
|
|
|
Section 2=#Sec2.1,#Sec2.2,#Sec2.3
|
|
|
Sec2.1=Sec2.1.html
|
|
|
Sec2.2=Sec2.2.html
|
|
|
Sec2.3=Sec2.3.html
|
|
|
...
|
|
|
|
|
|
[Context]
|
|
|
ContextList=func1,func2,tag1,tag2,tag3
|
|
|
func1=func1.html
|
|
|
func2=func2.html
|
|
|
tag1=tag1.html
|
|
|
tag2=tag2.html
|
|
|
tag3=tag3.html
|
|
|
</literallayout>
|
|
|
</informalexample>
|
|
|
|
|
|
<para
|
|
|
>Файл <filename
|
|
|
>docrc</filename
|
|
|
> разделён на две секции - Tree и Context. </para>
|
|
|
|
|
|
<para
|
|
|
>Секция Tree определяет размещение вашей документации в структуре (слева в главном окне). Например: </para>
|
|
|
|
|
|
<mediaobject>
|
|
|
<imageobject>
|
|
|
<imagedata fileref="doc-view1.png" format="PNG"/>
|
|
|
</imageobject>
|
|
|
</mediaobject>
|
|
|
|
|
|
<para
|
|
|
>В соответствии со структурой, описанной выше, <filename
|
|
|
>docrc</filename
|
|
|
> для &PHP; выглядит так: </para>
|
|
|
|
|
|
<informalexample>
|
|
|
<literallayout
|
|
|
>#KDE Config File
|
|
|
|
|
|
[Tree]
|
|
|
|
|
|
Doc dir=php42/
|
|
|
|
|
|
#top level elements
|
|
|
Top Element=PHP 4.2 documentation
|
|
|
|
|
|
PHP 4.2 documentation=Table of Contents,#Getting Started,#Language Reference
|
|
|
|
|
|
Table of Contents=index.html
|
|
|
|
|
|
Getting Started=Introduction, ...
|
|
|
Introduction=introduction.html
|
|
|
...
|
|
|
|
|
|
Language Reference=Basic syntax, ...
|
|
|
Basic syntax=language.basic-syntax.html
|
|
|
...
|
|
|
|
|
|
</literallayout>
|
|
|
</informalexample>
|
|
|
|
|
|
<para
|
|
|
>Обратите внимание на наличие <literal
|
|
|
>#</literal
|
|
|
> перед <quote
|
|
|
>Getting Started</quote
|
|
|
> и <quote
|
|
|
>Language Reference</quote
|
|
|
>. Это говорит о том, что они содержат подэлементы. </para>
|
|
|
|
|
|
<para
|
|
|
>Table of Contents ссылается напрямую на файл (и следовательно отображается внизу структуры, папки показываются первыми). </para>
|
|
|
|
|
|
<important>
|
|
|
<para
|
|
|
>Пробелы не влияют ни на что, но следите за символами & и <. Во всех файлах, основанных на &XML;, их лучше заменить на &amp; и &lt; соответственно. </para>
|
|
|
</important>
|
|
|
|
|
|
<para
|
|
|
>Секция Context используется контекстно зависимой справки. Например, вы пишите скрипт &PHP; и вам нужно просмотреть документацию по функции <function
|
|
|
>mysql_fetch_array</function
|
|
|
>. Для этого вам нужно будет выделить её название и нажать <keycombo action="simul"
|
|
|
>&Ctrl;<keycap
|
|
|
>H</keycap
|
|
|
> </keycombo
|
|
|
>. При этом отобразится сразу информация по этой функции. </para>
|
|
|
|
|
|
<variablelist>
|
|
|
<varlistentry>
|
|
|
<term
|
|
|
>ContextList</term>
|
|
|
<listitem>
|
|
|
<para
|
|
|
>Разделённый запятыми список контекстных пунктов, по которым будет доступна контекстная справка (для &PHP; - это его функции). </para>
|
|
|
</listitem>
|
|
|
</varlistentry>
|
|
|
<varlistentry>
|
|
|
<term
|
|
|
>Ссылки на файлы контекстной справки</term>
|
|
|
<listitem>
|
|
|
<para
|
|
|
>Формат: "контекстный пункт=страница html". Например: acos=function.acos.html </para>
|
|
|
</listitem>
|
|
|
</varlistentry>
|
|
|
</variablelist>
|
|
|
|
|
|
<para
|
|
|
>Готовая версия <filename
|
|
|
>docrc</filename
|
|
|
>: </para>
|
|
|
|
|
|
<informalexample>
|
|
|
<literallayout
|
|
|
>#Keywords for context help
|
|
|
[Context]
|
|
|
ContextList=abs,acos,acosh,addcslashes,addslashes,...
|
|
|
|
|
|
abs=function.abs.html
|
|
|
acos=function.acos.html
|
|
|
acosh=function.acosh.html
|
|
|
addcslashes=function.addcslashes.html
|
|
|
addslashes=function.addslashes.html
|
|
|
...
|
|
|
</literallayout>
|
|
|
</informalexample>
|
|
|
|
|
|
<para
|
|
|
>Теперь сохраните ваш файл <filename
|
|
|
>docrc</filename
|
|
|
> в папке <filename class="directory"
|
|
|
>$<envar
|
|
|
>HOME</envar
|
|
|
>/.trinity/share/apps/quanta/doc</filename
|
|
|
> или <filename class="directory"
|
|
|
>$<envar
|
|
|
>TDEDIR</envar
|
|
|
>/share/apps/quanta/doc</filename
|
|
|
> для локального или глобального использования соответственно. Затем создайте папку (как указано в файле <filename
|
|
|
>docrc</filename
|
|
|
>) в той же папке с <filename
|
|
|
>docrc</filename
|
|
|
> и скопируйте в неё страницы &HTML;. </para>
|
|
|
|
|
|
<para
|
|
|
>Перезапустите &quantaplus; чтобы увидеть добавленную документацию. </para>
|
|
|
|
|
|
<para
|
|
|
>После того, как вы убедитесь, что она годится для того, чтобы ею поделиться с другими пользователями, отправьте её с файлом <filename
|
|
|
>docrc</filename
|
|
|
> в <ulink url="http://quanta.sf.net/main1.php?contfile=resource"
|
|
|
>репозиторий &quantaplus;</ulink
|
|
|
>. Вы не станете богатым, но вы сможете гордиться тем, что содействовали разработке самого лучшего инструмента веб-разработки в мире. </para>
|
|
|
|
|
|
</sect1>
|
|
|
|
|
|
<sect1 id="sharing-resources">
|
|
|
<title
|
|
|
>Публикация ресурсов</title>
|
|
|
<para
|
|
|
>С &quantaplus; вы не будете жадным одиночкой, с её помощью можно делиться разными расширениями (пакетами DTEP, панелями инструментов с действиями, сценариями, шаблонами) друг с другом. Есть два способа этого: </para>
|
|
|
<variablelist>
|
|
|
<varlistentry>
|
|
|
<term
|
|
|
>Отправка по Email</term>
|
|
|
<listitem
|
|
|
><para
|
|
|
>Расширения (называемые также ресурсами) можно посылать по электронной почте. Для этого в нескольких (в т.ч. контекстных) меню есть пункт <guilabel
|
|
|
>Отправить по E-Mail...</guilabel
|
|
|
>. </para
|
|
|
></listitem>
|
|
|
</varlistentry>
|
|
|
<varlistentry>
|
|
|
<term
|
|
|
>Публикация на главном сервере</term>
|
|
|
<listitem
|
|
|
><para
|
|
|
>Если вы хотите поделиться своими расширениями со всеми, опубликуйте их в центральном хранилище. Присланные ресурсы проверяются и действительно публикуются только если они могут быть полезны другим. Для публикации, ресурс нужно подписать ключом GPG/PGP.</para>
|
|
|
<para
|
|
|
>О том, как загружать расширения с центрального хранилища, обратитесь к разделу <xref linkend="download-resources"/>.</para>
|
|
|
<para
|
|
|
>Во время передачи вам нужно будет ввести пароль к своему ключу GPG (он не будет сохранён), выбрав его перед этим. В диалоге <guilabel
|
|
|
>Опубликовать</guilabel
|
|
|
> заполните все поля (<guilabel
|
|
|
>URL для просмотра</guilabel
|
|
|
> можно оставить пустым) и нажмите <guilabel
|
|
|
>OK</guilabel
|
|
|
>.</para>
|
|
|
<para
|
|
|
>Данный диалог можно открыть из <menuchoice
|
|
|
><guimenu
|
|
|
>DTD</guimenu
|
|
|
><guimenuitem
|
|
|
>Передать пакет DTD (DTEP)...</guimenuitem
|
|
|
></menuchoice
|
|
|
>, <menuchoice
|
|
|
><guimenu
|
|
|
>Панели инструментов</guimenu
|
|
|
><guimenuitem
|
|
|
>Передать панель инструментов...</guimenuitem
|
|
|
></menuchoice
|
|
|
>, контекстных меню файлов и папок в деревьях <guilabel
|
|
|
>шаблонов</guilabel
|
|
|
> и <guilabel
|
|
|
>сценариев</guilabel
|
|
|
>. </para>
|
|
|
</listitem>
|
|
|
</varlistentry>
|
|
|
</variablelist>
|
|
|
</sect1>
|
|
|
<sect1 id="download-resources">
|
|
|
<title
|
|
|
>Загрузка расширений</title>
|
|
|
<para
|
|
|
>На сайте &quantaplus; есть специальный раздел, в котором хранятся расширения, не вошедшие в основной дистрибутив из-за большого размера или редкого использования, или же они были опубликованы после выхода послежней версии программы. Такие ресурсы содержат в себе механизм автоматической установки. Чтобы получить к ним доступ, воспользуйтесь пунктом меню <guilabel
|
|
|
>Загрузить</guilabel
|
|
|
>, его можно найти в разных местах, например в <menuchoice
|
|
|
><guimenu
|
|
|
>DTD</guimenu
|
|
|
><guimenuitem
|
|
|
>Загрузить пакет DTD (DTEP)...</guimenuitem
|
|
|
></menuchoice
|
|
|
>, <menuchoice
|
|
|
><guimenu
|
|
|
>Панели инструментов</guimenu
|
|
|
><guimenuitem
|
|
|
>Загрузить панель инструментов...</guimenuitem
|
|
|
></menuchoice
|
|
|
>, в контекстных меню пустых областей или в корнях деревьев <guilabel
|
|
|
>Шаблоны</guilabel
|
|
|
>, <guilabel
|
|
|
>Сценарии</guilabel
|
|
|
> и <guilabel
|
|
|
>Документация</guilabel
|
|
|
>. </para>
|
|
|
<para
|
|
|
>Перед непосредственной установкой расширения, &quantaplus; проверяет контрольную сумму и подпись. </para>
|
|
|
<para>
|
|
|
<caution
|
|
|
><para
|
|
|
>Устанавливайте расширения, особенно панели инструментов и сценарии, только из проверенных источников!</para
|
|
|
></caution>
|
|
|
</para>
|
|
|
</sect1>
|
|
|
|
|
|
<sect1 id="converting-dtd">
|
|
|
<title
|
|
|
>Получение &DTEP; из DTD</title>
|
|
|
<para
|
|
|
>Добавление поддержки языков разметки, основанных на XML, автоматизировано, и пакет DTEP создаётся на основе DTD. </para>
|
|
|
<para
|
|
|
><menuchoice
|
|
|
><guimenu
|
|
|
>DTD</guimenu
|
|
|
><guimenuitem
|
|
|
>Загрузить и конвертировать DTD...</guimenuitem
|
|
|
></menuchoice
|
|
|
>, выберите файл <filename
|
|
|
>.dtd</filename
|
|
|
>, содержащий определение DTD, после чего вы увидите следующее окно: <mediaobject
|
|
|
> <imageobject>
|
|
|
<imagedata fileref="dtd-conversion.png" format="PNG"/>
|
|
|
</imageobject>
|
|
|
</mediaobject
|
|
|
>
|
|
|
</para>
|
|
|
<para
|
|
|
>Доступные поля:</para>
|
|
|
<itemizedlist>
|
|
|
<listitem
|
|
|
><para
|
|
|
><guilabel
|
|
|
>Конечная папка:</guilabel
|
|
|
> папка, в которую будут записаны данные создаваемого &DTEP;, будет расположена в <filename
|
|
|
><envar
|
|
|
>$TDEHOME</envar
|
|
|
>/share/apps/quanta/dtep</filename
|
|
|
>. </para>
|
|
|
</listitem>
|
|
|
<listitem
|
|
|
><para
|
|
|
><guilabel
|
|
|
>Имя:</guilabel
|
|
|
> строка определения DTD</para
|
|
|
></listitem>
|
|
|
<listitem
|
|
|
><para
|
|
|
><guilabel
|
|
|
>Отображаемое имя:</guilabel
|
|
|
> имя, видимое пользователю.</para
|
|
|
></listitem>
|
|
|
<listitem
|
|
|
><para
|
|
|
><guilabel
|
|
|
>Строка описания !DOCTYPE:</guilabel
|
|
|
> строка, которая должна присутствовать в теге !DOCTYPE, например HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"</para
|
|
|
></listitem>
|
|
|
<listitem
|
|
|
><para
|
|
|
><guilabel
|
|
|
>DTD URL:</guilabel
|
|
|
> Адрес файла DTD</para
|
|
|
></listitem>
|
|
|
<listitem
|
|
|
><para
|
|
|
><guilabel
|
|
|
>Расширение по умолчанию:</guilabel
|
|
|
> расширение, которое обычно имеют файлы с данным DTD</para
|
|
|
></listitem>
|
|
|
<listitem
|
|
|
><para
|
|
|
><guilabel
|
|
|
>Теги и атрибуты с учётом регистра:</guilabel
|
|
|
> обычно включено для языков, основанных на XML</para
|
|
|
></listitem>
|
|
|
<listitem
|
|
|
><para
|
|
|
><guilabel
|
|
|
>Настроить DTEP после преобразования:</guilabel
|
|
|
> запустить редактор &descriptionrc; после завершения преобразования, чтобы вы могли проверить/настроить созданный &DTEP;.</para
|
|
|
></listitem>
|
|
|
</itemizedlist>
|
|
|
|
|
|
</sect1>
|
|
|
</chapter>
|