<?xml version="1.0" encoding="UTF-8" ?>

<chapter id="extending-quanta-3-2">
<chapterinfo>
<title
>&quantaplus;i laiendamine</title>
<authorgroup>
<author
><firstname
>Christopher</firstname
> <surname
>Hornbaker</surname
> <affiliation
> <address
><email
>chrishornbaker@earthlink.net</email
></address>
</affiliation>
</author>
<author
><firstname
>Andr&#225;s</firstname
> <surname
>Mantia</surname
> <affiliation
> <address
><email
>amantia@kde.org</email
></address>
</affiliation>
</author>

<othercredit role="translator"
><firstname
>Marek</firstname
><surname
>Laane</surname
><affiliation
><address
><email
>bald@starman.ee</email
></address
></affiliation
><contrib
>Tõlge eesti keelde</contrib
></othercredit
> 

</authorgroup>
</chapterinfo>

<title
>&quantaplus;i laiendamine</title>

<para
>See peatükk kirjeldab &quantaplus;i kohandamist just sinu vajadustele, samuti seda, kuidas just sina saad aidata muuta &quantaplus;i veel paremaks. </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
>Dokumenditüübi redigeerimispakett (&DTEP;)</title>

<para
>&quantaplus; kasutab dokumenditüübi redigeerimispakette (&DTEP;) märke- ja skriptikeelte ning &CSS; toetuse pakkumiseks. Need paketid lubavad &quantaplus;il näiteks pakkuda selliseid võimalusi, nagu automaatne lõpetamine ja sõlmepuud. Pakettide lihtsus ja paindlikkus muudab &quantaplus;i kiireks ja arendajasõbralikuks arenduskeskkonnaks (&IDE;) veebiarendajatele. Kõik see on teinud &quantaplus;ist hõlpsasti kasutatava ja tootlikkust suurendava keskkonna. </para>

<para
>&DTEP; esineb kahel kujul: perekond 1 ehk märkekeeled ja perekond 2 ehk skriptikeeled ja &CSS;. &DTEP; koosneb kahest osast: siltide kataloog ja tööriistaribad. Sildikataloogidesse kuulub kaht tüüpi faile: &descriptionrc; ja TagXML-failid, mille laiendiks on .tag. Tööriistaribad on käepärased ikoonidega nupukogumid (redigeerimisakna kohal), mis suudavad teksti või midagi muud dokumenti kiiremini lisada kui kasutaja käsitsi klaviatuuril sisestada. </para>

<para
>&DTEP; on võimalik luua käsitsi (lähemalt edaspidi), <link linkend="download-resources"
>alla laadida</link
> või automaatselt luua olemasoleva DTD põhjal. Teisendamisest kõneleb lähemalt <xref linkend="converting-dtd"/>. </para>

<para
>Käesolev käsiraamat kirjeldab, kuidas luua TagXML-faile, faili &descriptionrc; ja tööriistaribasid ehk lühidalt: kuidas luua &DTEP;. </para>

<para
>TagXML-failid (.tag) määravad nii sildile omased atribuudid kui ka omaduste dialoogi paigutuse ja sisu, mida &quantaplus; sildi kohta näitab. Fail &descriptionrc; sisaldab reegleid ja infot &DTEP; kohta. Tööriistaribad pakuvad hõlpsa võimaluse lisada dokumenti silte, ilma et peaks muretsema kirjavigade ja muu sellise pärast. </para>

<sect2 id="dtep-packaging-3-2">
<title
>Paketid</title>

<para
>Sildikataloogid ongi lihtsalt kataloogid, koosnedes ainult failist &descriptionrc; ja TagXML-failidest. Sildikataloogidel on võimaluse korral märkekeele konkreetse versiooni nimi (näiteks html-4.01-strict). </para>
</sect2>

<sect2 id="tagxml-3-2">
<title
>TagXML</title>

<para
>Allolev tabel toob ära elemendid, mida TagXML määrab ja defineerib sõltumata sellest, kas need on nõutavad või mitte. Kui ka kõik ei ole nõutavad, on siiski soovitatav, et kasutaksid neist võimalikult paljusid, et teised kasutajad võiksid omandada kogemusi ja õppida nendega paremini töötama. </para>

<informaltable>
<tgroup cols="3">
<thead>
<row>
<entry
>Element</entry>
<entry
>Vaikimisi kasutamine</entry>
<entry
>Kasutamise näide</entry>
</row>
</thead>
<tbody>
<row>
<entry
>TAGS</entry>
<entry
>nõutav</entry>
<entry
>alati</entry>
</row>
<row>
<entry
>tag</entry>
<entry
>nõutav</entry>
<entry
>alati</entry>
</row>
<row>
<entry
>label</entry>
<entry
>mittekohustuslik</entry>
<entry
>nõutav omaduste dialoogi loomiseks</entry>
</row>
<row>
<entry
>attr</entry>
<entry
>mittekohustuslik</entry>
<entry
>nõutav atribuudi defineerimiseks</entry>
</row>
<row>
<entry
>tooltip</entry>
<entry
>mittekohustuslik</entry>
<entry
>nõutav omaduste dialoogis kohtspikrite näitamiseks</entry>
</row>
<row>
<entry
>whatsthis</entry>
<entry
>mittekohustuslik</entry>
<entry
>nõutav omaduste dialoogis abivõimaluse <quote
>Mis see on?</quote
> näitamiseks</entry>
</row>
<row>
<entry
>list</entry>
<entry
>mittekohustuslik</entry>
<entry
>nõutav, kui atribuut on tüübiga <quote
>nimekiri</quote
></entry>
</row>
<row>
<entry
>item</entry>
<entry
>mittekohustuslik</entry>
<entry
>nõutav, kui kasutatakse &lt;list
></entry>
</row>
<row>
<entry
>textlocation</entry>
<entry
>mittekohustuslik</entry>
<entry
>alati</entry>
</row>
<row>
<entry
>location</entry>
<entry
>mittekohustuslik</entry>
<entry
>nõutav pealdise kasutamisel</entry>
</row>
<row>
<entry
>text</entry>
<entry
>mittekohustuslik</entry>
<entry
>nõutav pealdise kasutamisel</entry>
</row>
<row>
<entry
>children</entry>
<entry
>mittekohustuslik</entry>
<entry
>siltide nimekiri, mis võivad esineda defineeritava sildi sees</entry>
</row>
<row>
<entry
>child</entry>
<entry
>nõutav</entry>
<entry
>alamsildi kirje</entry>
</row>
<row>
<entry
>stoppingtags</entry>
<entry
>mittekohustuslik</entry>
<entry
>siltide nimekiri, mis defineerivad muu sildi lõpetamise</entry>
</row>
<row>
<entry
>stoppingtag</entry>
<entry
>nõutav</entry>
<entry
>stoppingtags kirje</entry>
</row>
</tbody>
</tgroup>
</informaltable>


<sect3 id="dtep-element-descriptions-3-2">
<title
>TagXML-elementide kirjeldused</title>

<para
>Nüüd hakkame üksikasjalikult kirjeldama iga elementi alates sellest, kus neid saab kasutada, kuni selleni, mis võib nende sees peituda. </para>

<sect4 id="TAGS-3-2">
<title
>TAGS</title>

<para
>See on TagXML-dokumendi juurelement, mis võib dokumendis esineda ainult üks kord. See võib sisaldada mitme sildi definitsiooni. See on puhta elemendi tüüpi element. </para>

<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry
>Eellane/eellased</entry>
<entry
>Järglased</entry>
</row>
</thead>
<tbody>
<row>
<entry
><emphasis
>PUUDUB</emphasis
></entry>
<entry
>tag</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect4>

<sect4 id="tag-3-2">
<title
>tag</title>

<para
>Sildi kui sellise defineerija. See on puhta elemendi tüüpi element. </para>

<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry
>Eellane/eellased</entry>
<entry
>Järglased</entry>
</row>
</thead>
<tbody>
<row>
<entry
>TAGS</entry>
<entry
>label, attr, stoppingtags</entry>
</row>
</tbody>
</tgroup>
</informaltable>

<informaltable>
<tgroup cols="6">
<thead>
<row>
<entry
>Atribuut</entry
><entry
>Tüüp</entry
><entry
>Väärtused</entry>
<entry
>Vaikimisi</entry
><entry
>Kasutamine</entry
><entry
>Kirjeldus</entry>
</row>
</thead>
<tbody>
<row>
<entry
>name</entry
><entry
>string</entry
><entry
></entry
><entry
></entry>
<entry
>nõutav</entry
><entry
>Määrab defineeritava sildi nime.</entry>
</row>
<row>
<entry
>single</entry
><entry
>tõeväärtus</entry
><entry
></entry
><entry
></entry>
<entry
>mittekohustuslik</entry
><entry
>Määrab, kas silt nõuab lõpetavat silti &lt;/(sildinimi)
> või mitte.</entry>
</row>
<row>
<entry
>type</entry
><entry
>string</entry
><entry
></entry
><entry
>xmltag</entry>
<entry
>mittekohustuslik</entry
><entry
>Määrab defineeritava sildi tüübi.</entry>
</row>
<row>
<entry
></entry
><entry
></entry
><entry
>xmltag</entry
><entry
></entry>
<entry
></entry
><entry
>Sildi tüüp on XML-põhine (ainult perekond 1).</entry>
</row>
<row>
  <entry
></entry
><entry
></entry
><entry
>entity</entry
><entry
></entry>
  <entry
></entry
><entry
>See silt kirjeldab olemit (ainult perekond 1).</entry>
</row>
<row>
<entry
></entry
><entry
></entry
><entry
>property</entry
><entry
></entry>
<entry
></entry
><entry
>Sildi tüüp on seotud &CSS;iga (ainult perekond 2).</entry>
</row>
<row>
<entry
></entry
><entry
></entry
><entry
>function</entry
><entry
></entry>
<entry
></entry
><entry
>Sildi tüüp on skriptifunktsioon. Kasutamisel muutuvad &lt;attr
> funktsiooni argumentideks (ainult perekond 2).</entry>
</row>
<row>
<entry
></entry
><entry
></entry
><entry
>class</entry
><entry
></entry>
<entry
></entry
><entry
>Sildi tüüp on skriptiklass (ainult perekond 2).</entry>
</row>
<row>
<entry
></entry
><entry
></entry
><entry
>method</entry
><entry
></entry>
<entry
></entry
><entry
>Sildi tüüp on klassimeetod (ainult perekond 2).</entry>
</row>
<row>
<entry
>returnType</entry
><entry
>string</entry
><entry
></entry
><entry
>void </entry>
<entry
>mittekohustuslik</entry
><entry
>Määrab defineeritava sildi tüübi tagastamise (ainult perekond 2).</entry>
</row>
<row>
<entry
></entry
><entry
></entry
><entry
>void</entry
><entry
></entry>
<entry
></entry
><entry
>Sildi tüüp tagastab void.</entry>
</row>
<row>
<entry
></entry
><entry
></entry
><entry
>int</entry
><entry
></entry>
<entry
></entry
><entry
>Sildi tüüp tagastab täisarvu (int).</entry>
</row>
<row>
<entry
></entry
><entry
></entry
><entry
>float</entry
><entry
></entry>
<entry
></entry
><entry
>Sildi tüüp tagastab murdarvu (float).</entry>
</row>
<row>
<entry
></entry
><entry
></entry
><entry
>long</entry
><entry
></entry>
<entry
></entry
><entry
>Sildi tüüp tagastab long.</entry>
</row>
<row>
<entry
></entry
><entry
></entry
><entry
>string</entry
><entry
></entry>
<entry
></entry
><entry
>Sildi tüüp tagastab stringi (string).</entry>
</row>
<row>
  <entry
>version</entry
><entry
>string</entry
><entry
></entry
><entry
></entry>
  <entry
>mittekohustuslik</entry
><entry
>Määratleb keele versiooni, milles silt kehtib</entry>
</row>
<row>
  <entry
>extends</entry
><entry
>string</entry
><entry
></entry
><entry
></entry>
  <entry
>mittekohustuslik</entry
><entry
>Kehtib ainult siis, kui sildi tüüp on "klass". Antud klassi baasklassi nimi. (Ainult perekond 2.)</entry>
</row>
<row>
  <entry
>class</entry
><entry
>string</entry
><entry
></entry
><entry
></entry>
  <entry
>mittekohustuslik</entry
><entry
>Kehtib ainult siis, kui tüüp on "meetod". Määrab klassi nime, kuhu antud meetod kuulub. (Ainult perekond 2.)</entry>
</row>
<row>
  <entry
>common</entry
><entry
>tõeväärtus</entry
><entry
></entry
><entry
></entry>
  <entry
>mittekohustuslik</entry
><entry
>kui on "jah", määrab see silt üldise atribuudigrupi ning selle sildi sees esinevaid atribuute saab siduda suvalise muu sildiga (ainult perekond 1).</entry>
</row>
<row>
  <entry
>comment</entry
><entry
>string</entry
><entry
></entry
><entry
></entry>
  <entry
>mittekohustuslik</entry
><entry
>kommentaaristring on näha sildi nime juures lõpetamise kastis</entry>
</row
></tbody>
</tgroup>
</informaltable>
</sect4>

<sect4 id="label-3-2">
<title
>label</title>

<para
>Seab dialoogile pealdise. Teksti määrab silt &lt;tekst
>. See on puhta elemendi tüüpi element. </para>

<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry
>Eellane/eellased</entry>
<entry
>Järglased</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
>Määrab sildi atribuudi. See element esineb üks kord iga atribuudi kohta, määrates atribuudi nime ja tüübi. Samuti sisaldab see lisasilte, mis määravad, kuidas atribuuti esitatakse jne. See on puhta elemendi tüüpi element. </para>

<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry
>Eellane/eellased</entry>
<entry
>Järglased</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
>Atribuut</entry
><entry
>Tüüp</entry
><entry
>Väärtused</entry>
<entry
>Vaikimisi</entry
><entry
>Kasutamine</entry
><entry
>Kirjeldus</entry>
</row>
</thead>
<tbody>
<row>
<entry
>name</entry
><entry
>string</entry
><entry
></entry
><entry
></entry>
<entry
>nõutav</entry
><entry
>Määrab defineeritava atribuudi nime.</entry>
</row>
<row>
<entry
>type</entry
><entry
>string</entry
><entry
></entry
><entry
>input</entry>
<entry
>nõutav</entry
><entry
>Määrat defineeritava atribuudi tüübi.</entry>
</row>
<row>
<entry
></entry
><entry
></entry
><entry
>input</entry
><entry
></entry>
<entry
></entry
><entry
>See väli toetab mis tahes tekstikirjeid (tekstiväli).</entry>
</row>
<row>
<entry
></entry
><entry
></entry
><entry
>check</entry
><entry
></entry>
<entry
></entry
><entry
>Väljal on tõeväärtus (märkekast).</entry>
</row>
<row>
<entry
></entry
><entry
></entry
><entry
>color</entry
><entry
></entry>
<entry
></entry
><entry
>Välja väärtus on värv.</entry>
</row>
<row>
<entry
></entry
><entry
></entry
><entry
>url</entry
><entry
></entry>
<entry
></entry
><entry
>Välja väärtus on &URL; (kohalik fail, millele viidatakse).</entry>
</row>
<row>
<entry
></entry
><entry
></entry
><entry
>list</entry
><entry
></entry>
<entry
></entry
><entry
>Välja väärtus on element määratud nimekirjast.</entry>
</row>
<row>
<entry
>status</entry
><entry
>string</entry
><entry
></entry
><entry
>mittekohustuslik</entry>
<entry
>nõutav</entry
><entry
>Määrab, kas argument on nõutav või mitte (ainult perekond 2).</entry>
</row>
<row>
<entry
></entry
><entry
></entry
><entry
>mittekohustuslik</entry
><entry
></entry>
<entry
></entry
><entry
>Argument on mittekohustuslik.</entry>
</row>
<row>
<entry
></entry
><entry
></entry
><entry
>nõutav</entry
><entry
></entry>
<entry
></entry
><entry
>Argument on nõutav.</entry>
</row>
<row>
<entry
></entry
><entry
></entry
><entry
>implied</entry
><entry
></entry>
<entry
></entry
><entry
>Argumenti eeldatakse.</entry>
</row>
<row>
  <entry
>source</entry
><entry
>string</entry
><entry
></entry
><entry
></entry>
  <entry
>mittekohustuslik</entry
><entry
>Määrab allika, mida kasutatakse atribuudikirje täitmisel sildi redigeerimise dialoogis ja atribuudipuus</entry>
</row>
<row>
  <entry
></entry
><entry
></entry
><entry
>selection</entry
><entry
></entry>
  <entry
></entry
><entry
>Valitud teksti kasutatakse allikana</entry>
</row>
<row>
  <entry
></entry
><entry
></entry
><entry
>dcop</entry
><entry
></entry>
  <entry
></entry
><entry
>DCOP-meetodi tulemust kasutatakse allikana</entry>
</row>
<row>
  <entry
>interface</entry
><entry
>string</entry
><entry
></entry
><entry
></entry>
  <entry
>mittekohustuslik</entry
><entry
>Nõutav on source="dcop". Allikandmete hankimiseks kasutatakse &quantaplus;is DCOP-liidest.</entry>
</row>
<row>
  <entry
>method</entry
><entry
>string</entry
><entry
></entry
><entry
></entry>
  <entry
>mittekohustuslik</entry
><entry
>Nõutav on source="dcop" ja liidese nimi. Allikandmete hankimiseks kasutatakse &quantaplus;is DCOP-liidest.</entry>
</row>
<row>
  <entry
>arguments</entry
><entry
>string</entry
><entry
></entry
><entry
></entry>
  <entry
>mittekohustuslik</entry
><entry
>Nõutav on source="dcop", liidese ja meetodi nimi. Argumendid edastatakse meetodile. See võib olla tühi või "%tagname%", mis tähendab aktiivse sildi nime.</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect4>

<sect4 id="tooltip-3-2">
<title
>tooltip</title>

<para
>Defineerib dialoogi välja kohtspikri. See on puhta teksti tüüpi element. </para>

<note>
<para
>Praegu on toetatud ainult puhas tekst (märkekeelt kasutada ei saa). </para>
</note>

<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry
>Eellane/eellased</entry>
<entry
>Järglased</entry>
</row>
</thead>
<tbody>
<row>
<entry
>attr</entry>
<entry
><emphasis
>PUUDUB</emphasis
></entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect4>

<sect4 id="whatsthis-3-2">
<title
>whatsthis</title>

<para
>Defineerib dialoogi välja abivõimaluse 'Mis see on?' See on puhta teksti tüüpi element. </para>

<note>
<para
>Praegu on toetatud ainult puhas tekst (märkekeelt kasutada ei saa). </para>
</note>

<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry
>Eellane/eellased</entry>
<entry
>Järglased</entry>
</row>
</thead>
<tbody>
<row>
<entry
>attr</entry>
<entry
><emphasis
>PUUDUB</emphasis
></entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect4>

<sect4 id="list-3-2">
<title
>list</title>

<para
>Konteinersilt, mis koondab nimekirja elemendid. See tohib esineda ainult üks kord atribuudi kirjelduse kohta. See on puhta elemendi tüüpi element. </para>

<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry
>Eellane/eellased</entry>
<entry
>Järglased</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
>Defineerib nimekirja elemendi. See on puhta teksti tüüpi element. </para>

<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry
>Eellane/eellased</entry>
<entry
>Järglased</entry>
</row>
</thead>
<tbody>
<row>
<entry
>list</entry>
<entry
><emphasis
>PUUDUB</emphasis
></entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect4>

<sect4 id="textlocation-3-2">
<title
>textlocation</title>

<para
>Määrab sildi atribuudi teksti asukoha dialoogis. See silt võib esineda ainult üks kord atribuudi kohta dialoogis (&ie; üks kord iga sildi &lt;attr
> kohta). See element on tühi. </para>

<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry
>Eellane/eellased</entry>
<entry
>Järglased</entry>
</row>
</thead>
<tbody>
<row>
<entry
>attr</entry>
<entry
><emphasis
>PUUDUB</emphasis
></entry>
</row>
</tbody>
</tgroup>
</informaltable>

<informaltable>
<tgroup cols="4">
<thead>
<row>
<entry
>Atribuut</entry
><entry
>Tüüp</entry>
<entry
>Kasutamine</entry
><entry
>Kirjeldus</entry>
</row>
</thead>
<tbody>
<row>
<entry
>row</entry
><entry
>Mittenegatiivne täisarv</entry>
<entry
>nõutav</entry
><entry
>Määrab dialoogis välja või pealdise rea.</entry>
</row>
<row>
<entry
>col</entry
><entry
>Mittenegatiivne täisarv</entry>
<entry
>nõutav</entry
><entry
>Määrab dialoogis välja või pealdise veeru.</entry>
</row>
<row>
<entry
>rowspan</entry
><entry
>Mittenegatiivne täisarv</entry>
<entry
>mittekohustuslik</entry
><entry
>Määrab ridade arvu, millele väli peab laienema.</entry>
</row>
<row>
<entry
>colspan</entry
><entry
>Mittenegatiivne täisarv</entry>
<entry
>mittekohustuslik</entry
><entry
>Määrab veergude arvu, millele väli peab laienema.</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect4>

<sect4 id="location-3-2">
<title
>location</title>

<para
>Määrab välja asukoha ja suuruse dialoogis. See väli tohib esinda üks kord iga dialoogi välja kohta (&ie; kord iga sildi &lt;attr
> ja &lt;label
> kohta). See element on tühi. </para>

<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry
>Eellane/eellased</entry
><entry
>Järglased</entry>
</row>
</thead>
<tbody>
<row>
<entry
>label, attr</entry
><entry
><emphasis
>PUUDUB</emphasis
></entry>
</row>
</tbody>
</tgroup>
</informaltable>

<informaltable>
<tgroup cols="4">
<thead>
<row>
<entry
>Atribuut</entry
><entry
>Tüüp</entry>
<entry
>Kasutamine</entry
><entry
>Kirjeldus</entry>
</row>
</thead>
<tbody>
<row>
<entry
>row</entry
><entry
>Mittenegatiivne täisarv</entry>
<entry
>nõutav</entry
><entry
>Määrab dialoogis välja või pealdise rea.</entry>
</row>
<row>
<entry
>col</entry
><entry
>Mittenegatiivne täisarv</entry>
<entry
>nõutav</entry
><entry
>Määrab dialoogis välja või pealdise veeru.</entry>
</row>
<row>
<entry
>rowspan</entry
><entry
>Mittenegatiivne täisarv</entry>
<entry
>mittekohustuslik</entry
><entry
>Määrab ridade arvu, millele väli peab laienema.</entry>
</row>
<row>
<entry
>colspan</entry
><entry
>Mittenegatiivne täisarv</entry>
<entry
>mittekohustuslik</entry
><entry
>Määrab veergude arvu, millele väli peab laienema.</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect4>

<sect4 id="text-3-2">
<title
>text</title>

<para
>Defineerib pealdise või märkekasti teksti. See on puhta teksti tüüpi element. </para>

<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry
>Eellane/eellased</entry
><entry
>Järglased</entry>
</row>
</thead>
<tbody>
<row>
<entry
>label, attr</entry
><entry
><emphasis
>PUUDUB</emphasis
></entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect4>

<sect4 id="children-3-2">
<title
>children</title>

<para
>Defineerib elementide nimekirja, mis võivad esineda määratud sildi raames. See on puhta elemendi tüüpi element. </para>

<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry
>Eellane/eellased</entry
><entry
>Järglased</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
>Defineerib järglassildi. See element on tühi. </para>

<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry
>Eellane/eellased</entry
><entry
>Järglased</entry>
</row>
</thead>
<tbody>
<row>
<entry
>children</entry
><entry
><emphasis
>PUUDUB</emphasis
></entry>
</row>
</tbody>
</tgroup>
</informaltable>

<informaltable>
<tgroup cols="4">
<thead>
<row>
<entry
>Atribuut</entry
><entry
>Tüüp</entry
><entry
>Väärtused</entry>
<entry
>Kasutamine</entry
><entry
>Kirjeldus</entry>
</row>
</thead>
<tbody>
<row>
<entry
>name</entry
><entry
>string</entry
><entry
></entry>
<entry
>nõutav</entry
><entry
>Määrab sildi, mis võib esineda teatud sildi raames.</entry>
</row>
<row>
<entry
>kasutusala</entry
><entry
>string</entry
><entry
></entry>
<entry
>mittekohustuslik</entry
><entry
>Määrab seose eellasega.</entry>
</row>
<row>
<entry
></entry
><entry
></entry
><entry
>nõutav</entry>
<entry
></entry
><entry
>Eellasel peab olema vähemalt üks selle nimega järglane.</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect4>

<sect4 id="stoppingtags-3-2">
<title
>stoppingtags</title>

<para
>Defineerbi elementide nimekirja, mis sunnivad peale sildi lõpetamise. See on puhta elemendi tüüpi element. </para>

<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry
>Eellane/eellased</entry
><entry
>Järglased</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
>Defineerib peatava sildi. See element on tühi. </para>

<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry
>Eellane/eellased</entry
><entry
>Järglased</entry>
</row>
</thead>
<tbody>
<row>
<entry
>stoppingtags</entry
><entry
><emphasis
>PUUDUB</emphasis
></entry>
</row>
</tbody>
</tgroup>
</informaltable>

<informaltable>
<tgroup cols="4">
<thead>
<row>
<entry
>Atribuut</entry
><entry
>Tüüp</entry>
<entry
>Kasutamine</entry
><entry
>Kirjeldus</entry>
</row>
</thead>
<tbody>
<row>
<entry
>name</entry
><entry
>string</entry>
<entry
>nõutav</entry
><entry
>Määrab, millised sildid sunnivad peale muu sildi lõpetamise.</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect4>
</sect3>

<sect3 id="tagxml-usage-3-2">
<title
>TagXML kasutamine</title>

<para
>Kõik TagXML-failid peavad algama &XML; deklaratsiooniga &lt;?xml version="1.0" encoding="UTF-8"?> ning nad peavad olemas korralikult pesastatud ja suletud. </para>

<important>
<para
>Tühikud segavat mõju ei avalda, kuid silma peaks peal pidama märkidel &amp; ja &lt;. On tõenäoline, et need asendatakse vastavalt märkidega &amp;amp; ja &amp;lt; sellistes elementides nagu &lt;tooltip
>, &lt;whatsthis
>, and &lt;text
>. See ei põhjusta vahest küll krahhi, kuid hulk sinu tööd ja vaeva võib küll kaduma minna. </para>
</important>
</sect3>

<sect3 id="tagxml-validation-3-2">
<title
>TagXML kontrollimine</title>

<para
>TagXML-failide kontrollimiseks klõpsa <quote
>tööriistade</quote
> hüpikdialoogil &quantaplus;i ülaosas ja vali <quote
>TagXML kontrollimine</quote
>. Ilmub dialoog, kus tuleb järgida väga lihtsaid ja arusaadavaid juhiseid. </para>

<note>
<para
>Seda võimalust ei saa veel kasutada. Praegu on võimalik kontrollida ainult juhul, kui TagXML-fail on &quantaplus;is avatud. </para>
</note>
</sect3>

<sect3 id="tagxml-examples-3-2">
<title
>TagXML näited</title>

<sect4 id="family-one-3-2">
<title
>Perekond 1</title>

<para
>Järgnev kujutab endast korrektset TagXML-faili (perekond 1). See kirjeldab, muide, &W3C; &XML; skeemi elementi &lt;schema
>. Selle TagXML-faili nimi peaks olema schema.tag. Lihtne, eks ju? </para>

<informalexample>
<literallayout
><markup>
&lt;?xml version="1.0" encoding="UTF-8"?>
&lt;!DOCTYPE TAGS>
&lt;TAGS>
 &lt;tag name="schema">
  &lt;label>
   &lt;text
>id&lt;/text>
   &lt;location col="0" row="0"/>
  &lt;/label>
  &lt;attr name="id" type="input">
   &lt;tooltip
>Elemendi unikaalne ID.&lt;/tooltip>
   &lt;whatsthis
>Elemendi unikaalne ID.&lt;/whatsthis>
   &lt;location col="1" row="0"/>
  &lt;/attr>

  &lt;label>
   &lt;text
>version&lt;/text>
   &lt;location col="0" row="1"/>
  &lt;/label>
  &lt;attr name="version" type="input">
   &lt;tooltip
>Skeemi versioon.&lt;/tooltip>
   &lt;whatsthis
>Skeemi versioon.&lt;/whatsthis>
   &lt;location col="1" row="1"/>
  &lt;/attr>

  &lt;label>
   &lt;text
>targetNamespace&lt;/text>
   &lt;location col="0" row="2"/>
  &lt;/label>
  &lt;attr name="targetNamespace" type="input">
   &lt;tooltip
>Selle skeemi nimeruumi &URI; viide.&lt;/tooltip>
   &lt;whatsthis
>Selle skeemi nimeruumi &URI; viide.&lt;/whatsthis>
   &lt;location col="1" row="2"/>
  &lt;/attr>

  &lt;label>
   &lt;text
>xmlns&lt;/text>
   &lt;location col="0" row="3"/>
  &lt;/label>
  &lt;attr name="xmlns" type="input">
   &lt;tooltip
>Ühe või enama nimeruumi &URI; viide selle skeemi jaoks.
   Kui prefiksit ei kasutata, on võimalik selle nimeruumi komponentide mittekvalifitseeritud kasutamine.&lt;/tooltip>
   &lt;whatsthis
>Ühe või enama nimeruumi &URI; viide selle skeemi jaoks.
   Kui prefiksit ei kasutata, on võimalik selle nimeruumi komponentide mittekvalifitseeritud kasutamine.&lt;/whatsthis>
   &lt;location col="1" row="3"/>
  &lt;/attr>

  &lt;label>
   &lt;text
>attributeFormDefault&lt;/text>
   &lt;location col="0" row="4"/>
  &lt;/label>
  &lt;attr name="attributeFormDefault" type="list">
   &lt;items>
    &lt;item
>qualified&lt;/item>
    &lt;item
>unqualified&lt;/item>
   &lt;/items>
   &lt;tooltip
>Selle skeemi kõigi atribuutide vaikimisi vorm.&lt;/tooltip>
   &lt;whatsthis
>Selle skeemi kõigi atribuutide vaikimisi vorm.&lt;/whatsthis>
   &lt;location col="1" row="4"/>
  &lt;/attr>

  &lt;label>
   &lt;text
>elementFormDefault&lt;/text>
   &lt;location col="0" row="5"/>
  &lt;/label>
  &lt;attr name="elementFormDefault" type="list">
   &lt;items>
    &lt;item
>qualified&lt;/item>
    &lt;item
>unqualified&lt;/item>
   &lt;/items>
   &lt;tooltip
>Selle skeemi kõigi elementide vaikimisi vorm.&lt;/tooltip>
   &lt;whatsthis
>Selle skeemi kõigi elementide vaikimisi vorm.&lt;/whatsthis>
   &lt;location col="1" row="5"/>
  &lt;/attr>

  &lt;label>
   &lt;text
>blockDefault&lt;/text>
   &lt;location col="0" row="6"/>
  &lt;/label>
  &lt;attr name="blockDefault" type="input">
   &lt;location col="1" row="6"/>
  &lt;/attr>

  &lt;label>
   &lt;text
>finalDefault&lt;/text>
   &lt;location col="0" row="7"/>
  &lt;/label>
  &lt;attr name="finalDefault" type="input">
   &lt;location col="1" row="7"/>
  &lt;/attr>
 &lt;/tag>
&lt;/TAGS>
</markup
>
</literallayout>
</informalexample>
</sect4>

<sect4 id="family-two-3-2">
<title
>Perekond 2</title>

<para
>Järgnev kujutab endast korrektset TagXML-faili (perekond 2). Juhtumisi on tegemist &PHP; ülekoormuse funktsiooniga. Selle TagXML-faili nimi peaks olema overload.tag. </para>

<informalexample>
<literallayout
><markup>
&lt;?xml version="1.0" encoding="UTF-8"?>
&lt;!DOCTYPE tags>
&lt;tags>
  &lt;tag name="overload" type="function" returnType="void">
&lt;attr name="class_name" type="string" status="optional"/>
  &lt;/tag>
&lt;/tags>
</markup
>
</literallayout>
</informalexample>
</sect4>
</sect3>
</sect2>

<sect2 id="descriptionrc-3-2">
<title
>&descriptionrc;</title>

<para
>Ka &descriptionrc; on üsna lihtne ning sellele on isegi oma redaktor, mille saab avada menüükäsuga <menuchoice
><guimenu
>DTD</guimenu
><guimenuitem
>Muuda DTD seadistusi</guimenuitem
></menuchoice
>. See võimaldab muuta nimekirjast valitud &DTEP; faili &descriptionrc;. Uue &DTEP; faili &descriptionrc; muutmiseks tuleb luua lihtne &descriptionrc; järgmiste kirjetega: </para>
<para>
  <informalexample>
    <literallayout
><markup>
        [General]
        Version = Use 1 for &quantaplus; version &lt;=3.1.2 and 2 for any version greater.
        Name = DTD definition string. (-//&W3C;//DTD HTML 4.01 Transitional//EN)
        NickName = The beautified name of the DTD. (HTML 4.01 Transitional). If not defined, Name is
        used as NickName.
      </markup
>
    </literallayout>
  </informalexample>
</para>
<para
>Kui oled selle loonud, paiguta see sildifailide kõrvale, lae uus &DTEP; menüükäsuga <menuchoice
><guimenu
>DTD</guimenu
><guimenuitem
>Laadi DTD pakett (DTEP)</guimenuitem
></menuchoice
> ning kui see on laetud, saad hakata &DTEP; seadistusi muutma. Uuri redaktoridialoogis kirjete kohtsipkreid ja "Mis see on?" abitekste, et saada aru, milleks iga kirje on mõeldud. Teine võimalus on muidugi lugeda lähtetekstiga kaasasolevat faili <filename
>quanta/data/dtep/dtd-description.txt</filename
>, milles kirjeldatakse vormingut. </para>
</sect2>
</sect1>

<sect1 id="user-actions">
<title
>Kasutaja määratud toimingud</title>
<para
>Toiminguid esineb igas rakenduses ja pole mingit kahtlust, et sa oled nendega nii või teisiti kokku puutunud. Klõps tööriistariba nupule, menüükirje valimine või kiirklahvi kasutamine käivitab tavaliselt mingi toimingu. &quantaplus; on toimingud viinud uuele tasemele. Rakenduse looja poolt juba lähtekoodi sisse kirjutatud toimingute asemel saavad nüüd ka tavalised kasutajad toiminguid luua ja muuta ning sel moel &quantaplus;ile uusi võimalusi lisada. Need ongi kasutaja määratud toimingud ning õigupoolest on ka paljud &quantaplus;i standardsed toimingud kasutaja määratud (ja muudetavad) toimingud. </para>
<para
>Kasutaja määratud toiminguid on kolme tüüpi: <itemizedlist>
<listitem
><para
><link linkend="text-actions"
>Tekstitoimingud</link
></para
></listitem>
<listitem
><para
><link linkend="tag-actions"
>Silditoimingud</link
></para
></listitem>
<listitem
><para
><link linkend="script-actions"
>Skriptitoimingud</link
></para
></listitem>
</itemizedlist>
</para>
<sect2 id="creating-actions">
<title
>Toimingute loomine</title>
<para
>Toimingut saab luua menüükäsuga <menuchoice
> <guimenu
>Seadistused</guimenu
> <guimenuitem
>Toimingute seadistamine</guimenuitem
> </menuchoice
>. Klõpsa nupule <guibutton
>Uus toiming</guibutton
>, mille järel avaneb selline dialoog: <mediaobject
> <imageobject>
<imagedata fileref="dtep_doc_img7.png" format="PNG"/>
</imageobject>
</mediaobject>
<variablelist>
<varlistentry>
<term
><guilabel
>Tüüp</guilabel
></term>
<listitem
><para
>Määrab toimingu tüübi (<link linkend="text-actions"
>Tekst</link
>, <link linkend="tag-actions"
>Silt</link
>, <link linkend="script-actions"
>Skript</link
>).</para>
</listitem>
</varlistentry>
<varlistentry>
<term
><guilabel
>Tekst</guilabel
></term>
<listitem
><para
>Toimingu kasutajale nähtav nimi.</para>
</listitem>
</varlistentry>
<varlistentry>
<term
>Nupp pealdise <guilabel
>Tekst</guilabel
> juures</term>
<listitem
><para
>Toimingule omistatav ikoon. Parajasti kehtiva ikooni muutmiseks klõpsa sellele.</para>
</listitem>
</varlistentry>
<varlistentry>
<term
><guilabel
>Kohtspikker</guilabel
></term>
<listitem
><para
>Toimingu lühikirjeldus.</para>
</listitem>
</varlistentry>
<varlistentry>
<term
><guilabel
>Kiirklahv</guilabel
></term>
<listitem
><para
>Toimingule omistatav kiirklahv. Klõpsa kiirklahvi omistamiseks kirjele <guilabel
>Kohandatud</guilabel
> või selle juures asuvale nupule. Klõpsa kirjele <guilabel
>Puudub</guilabel
>, kui soovid parajasti kehtiva kiirklahvi eemaldada.</para>
</listitem>
</varlistentry>
<varlistentry>
<term
><guilabel
>Konteiner-tööriistaribad</guilabel
></term>
<listitem
><para
>Kasutaja määratud tööriistaribad, kus antud toiming on näha. Vaata <xref linkend="creating-toolbars-3-2"/>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term
><guilabel
>Üksikasjalikud seadistused</guilabel
></term>
<listitem
><para
>Erinevat tüüpi toimingute spetsiifilised seadistused. Vaata allpool. </para
></listitem>
</varlistentry>
</variablelist>
</para>
</sect2>
<sect2 id="text-actions">
<title
>Tekstitoimingud</title>
<para>
<mediaobject
><imageobject>
<imagedata fileref="text-action.png" format="PNG"/>
</imageobject
></mediaobject
> Lihtsaimad toimingud. Siin saad sektsiooni <guilabel
>Üksikasjalikud seadistused</guilabel
> sisestada mingi teksti ning seejärel lisatakse antud toimingu käivitamisel alati see tekst sinu dokumenti kursori asukohta. Vaata näidet allpool. </para>
</sect2>
<sect2 id="tag-actions">
<title
>Silditoimingud</title>
<para
>Need on kasulikud XML-siltide lisamiseks, aga mõistagi saab neid ka muuks tarvitada. <mediaobject
><imageobject
> <imagedata fileref="tag-actions.png" format="PNG"/> </imageobject
></mediaobject
> <variablelist
> <varlistentry
> <term
><guilabel
>&lt;silt&gt;</guilabel
></term
> <listitem
><para
>Sildi nimi.</para
></listitem
> </varlistentry
> <varlistentry
> <term
><guilabel
>&lt;/tag&gt;</guilabel
></term
> <listitem
><para
>Sisselülitamisel lisatakse see tekst toimingu käivitamisel lõpetava sildina. Kui enne toimingu käivitamist on dokumendis valitud ala, lisatakse &lt;tag&gt; valitud ala ette ja &lt;/tag&gt; selle järele.</para
></listitem
> </varlistentry
> <varlistentry
> <term
><guilabel
>Käivitatakse dialoog "Sildi muutmine" (kui võimalik)</guilabel
></term
> <listitem
><para
>Sisselülitamisel näidatakse juhul, kui antud sildile on olemas tagXML-fail, enne sildi lisamist dokumenti sildi muutmise dialoogi, kus saab vajaduse korral sildi atribuute täpselt defineerida.</para
></listitem
> </varlistentry
> </variablelist
> &lt;silt&gt; ja &lt;/silt&gt; lisatakse nii, nagu sa need siin annad. Märke &lt;, &gt; või / ei lisata automaatselt. </para>
</sect2>
<sect2 id="script-actions">
<title
>Skriptitoimingud</title>
<para>
<mediaobject
><imageobject>
<imagedata fileref="script-action.png" format="PNG"/>
</imageobject
></mediaobject
> Kõige võimsam toimingutüüp. Selle toiminguga on võimalik käivitada välised rakendused (enamasti skriptid, aga võivad olla ka midagi muud), mis võivad muuta sinu dokumenti või kasutada seda täielikult või osaliselt sisendina. Näited otse &quantaplus;ist on <guibutton
>kiirkäivitus</guibutton
>e dialoog ning mitmesugused <guilabel
>Näita kasutades...</guilabel
> toimingud (X)HTML DTEP-de jaoks. </para>
<para
>Kõigepealt tuleb anda skripti nimi koos interpretaatoriga. Näide: <command
>sh /home/minukodu/minuskript.sh</command
>. </para>
<para
>Kuigi kasutada võib ka absoluutseid asukohti, on soovitatav pruukida käsureal muutujat <command
>%scriptdir</command
>, näiteks <command
>sh %scriptdir/minuskript.sh</command
>. Sel juhul üritab &quantaplus; leida sinu skripti järgmistest kohtadest: <itemizedlist
> <listitem
><para
>globaalne skriptikataloog: <filename
><envar
>$KDEDIR</envar
>/share/apps/quanta/scripts</filename
></para
></listitem
> <listitem
><para
>kohalik skriptikataloog: <filename
><envar
>$KDEHOME</envar
>/share/apps/quanta/scripts</filename
></para
></listitem
> <listitem
><para
>sinu otsingutee: <envar
>$PATH</envar
></para
></listitem
> </itemizedlist
> Käsureal saab kasutada ka muid spetsiaalseid muutujaid: <itemizedlist>
<listitem
><para
><command
>%f</command
> asendatakse aktiivse dokumendi URL-iga. Kohalike dokumentide korral kärbitakse dokumendist file:/.</para
></listitem>
<listitem
><para
><command
>%input</command
> asendatakse valitud sisendiga. Vaata allpool.</para
></listitem>
<listitem
><para
><command
>%projectbase</command
> asendatakse aktiivse projekti URL-iga. Kui projekti pole laetud, on tühi.</para
></listitem>
<listitem
><para
><command
>%pid</command
> asendatakse töötava &quantaplus;i protsessi PID-ga. Kui &quantaplus; töötab unikaalses režiimis, lisatakse PID-i numbri ette tekst "unique ". Kasulik, kui kasutab DCOP-i &quantaplus;i juhtimiseks välise skriptiga.</para
></listitem>
<listitem
><para
><command
>%userarguments</command
> on kasulik sündmuste korral. See kirje asendatakse sündmuse omadustega järgmises järjekorras: <variablelist>
<varlistentry>
<term
>Esimene argument</term>
<listitem
><para
>Skripti unikaalne ID</para
></listitem>
</varlistentry>
<varlistentry>
<term
>Teine argument</term>
<listitem
><para
>Sündmuse nimi</para
></listitem>
</varlistentry>
<varlistentry>
<term
>Kolmas argument</term>
<listitem
><para
>Sündmuse parameetrid, tavaliselt aktiivse dokumendi failinimi või projektifaili asukoht.</para
></listitem>
</varlistentry>
</variablelist>
 </para
></listitem>
</itemizedlist>
</para>
<para
>Lisaks mainitud meetoditele võib skript saada standardsisendis sisendi ka &quantaplus;ilt. Liitkastis <guilabel
>Sisend</guilabel
> saab valida, mida standardsisendisse saata. Võimalused on järgmised: <itemizedlist>
<listitem
><para
><guilabel
>Puudub</guilabel
>: skriptile ei saadeta midagi.</para
></listitem>
<listitem
><para
><guilabel
>Aktiivne dokument</guilabel
>: skriptile saadetakse kogu dokument.</para
></listitem>
<listitem
><para
><guilabel
>Valitud tekst</guilabel
>: skriptile saadetakse dokumendi valitud ala. Muutuja <command
>%input</command
> kasutamine ongi enamasti mõttekas ainult antud juhul.</para
></listitem>
</itemizedlist>
</para>
<para
>Sarnaselt <guilabel
>sisend</guilabel
>ile võib ära kasutada ka käivitatud rakenduse väljundi. Väljund võib olla kaht laadi: <itemizedlist
> <listitem
><para
>tavaline väljund, mis saadetakse standardväljundisse;</para
> </listitem
> <listitem
><para
>veateated, mis saadetakse standardsesse veaväljundisse.</para
> </listitem
> </itemizedlist
> Sinu määrata on see, mis juhtub standardväljundisse saadetud tekstiga. Seda saab teha liitkasti <guilabel
>Väljund</guilabel
> väärtust muutes: <itemizedlist>
<listitem
><para
><guilabel
>Puudub</guilabel
>: rakenduse väljundit ignoreeritakse.</para
></listitem>
<listitem
><para
><guilabel
>Lisatakse kursori asukohta</guilabel
>: väljund lisatakse aktiivsesse dokumenti kursori asukohta.</para
></listitem>
<listitem
><para
><guilabel
>Asendatakse valik</guilabel
>: dokumendi valitud ala asendatakse väljundiga.</para
></listitem>
<listitem
><para
><guilabel
>Asendatakse valik</guilabel
>: dokumendi valitud ala asendatakse väljundiga.</para
></listitem>
<listitem
><para
><guilabel
>Luuakse uus dokument</guilabel
>: luuakse uus dokument, mis sisaldab kogu skripti väljundit.</para
></listitem>
<listitem
><para
><guilabel
>Asendatakse käesolev dokument</guilabel
>: kogu dokument asendatakse väljundiga.</para
></listitem>
<listitem
><para
><guilabel
>Teateaken</guilabel
>: väljundit näeb kaardil <guilabel
>Teated</guilabel
>.</para
></listitem>
</itemizedlist>
</para>
<para
>Standardse veaväljundi korral (<guilabel
>Viga</guilabel
>) on valikud samasugused nagu tavalise väljundi puhul.</para>
</sect2>
</sect1>

<sect1 id="creating-toolbars-3-2">
<title
>Tööriistaribade loomine</title>

<para
>Järgnevas selgitame, kuidas luua &DTEP; jaoks tööriistaribasid. Tööriistaribad on graafilised elemendid, mis on omistatud toimingutele. Toimingud kujutavad &quantaplus;is alust peaaegu kõigile laiendustele, mida &quantaplus; praegu või tulevikus kasutab. Sama mehhanism, mis defineerib &quantaplus;is toiminguid, võimaldab automaatset lõpetamist ning sildidialooge. Toimingute puhul sisuliselt puuduvad piirangud. Näitena kasutame siinkohal meie veebilehtedel <ulink url="http://www.w3c.org/People/Raggett/tidy/"
>&HTML; tidy</ulink
>'t. </para>

<sect2 id="from-scratch-to-complete-3-2">
<title
>Nullist peale</title>

<para
>Alustuseks tuleb luua kasutaja tööriistariba. Vali menüükäsk <menuchoice
> <guimenu
>Tööriistaribad</guimenu
> <guimenuitem
>Lisa kasutaja tööriistariba</guimenuitem
> </menuchoice
>. </para>

<para
>Kui märkekeeles on palju silte, on soovitatav jagada need loogilistesse gruppidesse. Igale grupile tuleb luua uus kasutaja tööriistariba. Antud juhul pole neid eriti palju, seepärast piirdume ühe tööriistaribaga ja anname sellele vastava märkekeele nime. </para>

<para
>Kui kõik vajalikud tööriistaribad on loodud, tuleb neile lisada toimingud ja viimased seadistada. Selleks vali menüükäsk <menuchoice
> <guimenu
>Seadistused</guimenu
> <guimenuitem
>Toimingute seadistamine</guimenuitem
> </menuchoice
> <emphasis
> </emphasis
>. </para>

<para
>Selles aknas peaks kõik iseenda eest kõnelema. Klõpsa akna allosas asuvale nupule <guibutton
>
>Uus toiming</guibutton
>, mis avab redigeerimisrežiimi. </para>

<para
>Täida kõik vajalikud väljad ja lisa silt vastavale tööriistaribale. </para>

<para
>Nüüd tee sama muude toimingute ja siltidega ning kui sildil on atribuute ja sa kavatsed neid kasutada, märgi ära ka kast <guilabel
>Käivitatakse dialoog "Sildi muutmine" (kui võimalik)</guilabel
>, et sinu käest iga kord vastava toimingu kasutamisel küsitaks. </para>

<para
>Nüüd peaks sul olema midagi sellist. </para>

<mediaobject>
<imageobject>
<imagedata fileref="dtep_doc_img7.png" format="PNG"/>
</imageobject>
</mediaobject>

<para
>Klõpsa nuppu <guibutton
>Rakenda</guibutton
> ja näed, kuidas toiming lisatakse valitud tööriistaribale. </para>

<mediaobject>
<imageobject>
<imagedata fileref="dtep_doc_img8.png" format="PNG"/>
</imageobject>
</mediaobject>

<para
>Nähh! See ikoon on veidi imelik. Isegi mina ise ei pruugi mäletada, et see käib selle toimingu kohta, mis siis veel teistest rääkida! Vahetame selle enne välja, kui häda käes. </para>

<para
>Antud toimingut paremini kirjeldava ikooni loomiseks kasutame rakendust &kiconedit;. Ava see käsuga &kmenu;st <menuchoice
> <guisubmenu
>Graafika</guisubmenu
> <guisubmenu
>Muud rakendused</guisubmenu
> </menuchoice
> (või kuidas iganes sinu distributsioon seda ei nimetaks). </para>

<para
>&kiconedit; kasutab vaikesuurusena 32x32 pikslit, kuid meie soovime suurust 22x22. Muutmiseks kasuta menüükäsku <menuchoice
> <guimenu
>Redigeerimine</guimenu
> <guimenuitem
>Muuda suurust</guimenuitem
> </menuchoice
>. </para>

<para
>Pea meeles, et sa lood ikooni, mis ei aita mitte ainult sul endal meeles pidada, milline toiming mida teeb, vaid tuleb samamoodi kasuks ka teistele &DTEP; kasutajatele. </para>

<para
>Et silt, millele ma ikooni looma asusin, kannab nimetust <quote
>start</quote
>, siis otsustasin luua <quote
>alustamismärgi</quote
>. Roheline värv (mida sageli tarvitatakse tähenduses <quote
>mine</quote
>, <quote
>alusta</quote
> või <quote
>jätka</quote
>) annab või vähemalt peaks andma kasutajale märku, et sellele toimingule klõpsates asetatakse dokumenti silt &lt;start&gt;. </para>

<mediaobject>
<imageobject>
<imagedata fileref="dtep_doc_img15.png" format="PNG"/>
</imageobject>
</mediaobject>

<para
>Nii, ikoon on valmis tehtud ja käes aeg see salvestada. </para>

<para
>Kui oled ikooni(d) valmis teinud, tuleb need toiminguga siduda. Selleks ava uuesti <menuchoice
> <guimenu
>Seadistused</guimenu
> <guimenuitem
>Toimingute seadistamine</guimenuitem
> </menuchoice
> (&quantaplus;is mõistagi) ja vali toiming, mille jaoks ikooni lõid. Välja <guilabel
>Tekst</guilabel
> kõrval asub nupp. Vajuta sellele. </para>

<para
>Vali <guilabel
>Muud ikoonid</guilabel
> ja seejärel klõpsa nupule <guibutton
>Lehitse</guibutton
>. </para>

<para
>Mine nüüd kataloogi, kuhu ikooni salvestasid, vali ikoon ja klõpsa nupule <guibutton
>OK</guibutton
>. </para>

<para
>Klõpsa nupule <guibutton
>Rakenda</guibutton
> ning jätka ikoonide seostamist muude siltidega või klõpsa <guibutton
>OK</guibutton
>, kui oled omadega valmis. </para>

<mediaobject>
<imageobject>
<imagedata fileref="dtep_doc_img18.png" format="PNG"/>
</imageobject>
</mediaobject>

<para
>Oletame, et soovid lisada oma tööriistaribale mõned &quantaplus;i levinumad funktsioonid või arvad, et tööriistariba tuleks paremini organiseerida, näiteks see eraldajatega toimingute gruppidesse jagada. Ava selleks dialoog <guilabel
>Tööriistaribade seadistamise</guilabel
> dialoog (<menuchoice
> <guimenu
>Seadistused</guimenu
> <guimenuitem
>Tööriistaribade seadistamine</guimenuitem
> </menuchoice
>). Kontrolli, et soovitud tööriistariba oleks valitud. </para>

<para
>Mina valisin oma tööriistaribale eraldaja (vasaku veeru ülaosast). Kui oled valinud elemendi, mida soovid tööriistaribale lisada, klõpsa paremale osutava noolega nupule, mis lisabki elemendi sinu tööriistaribale. </para>

<mediaobject>
<imageobject>
<imagedata fileref="dtep_doc_img21.png" format="PNG"/>
</imageobject>
</mediaobject>

<para
>Ma arvan ka, et mulle meeldiks kiiresti kasutada võimalust <guilabel
>Eelvaatlus Konqueroris</guilabel
>, seega valin ka selle ja lisan tööriistaribale. </para>

<mediaobject>
<imageobject>
<imagedata fileref="dtep_doc_img22.png" format="PNG"/>
</imageobject>
</mediaobject>

<para
>Vaata, kuidas eraldaja tuleb rühmitamisel kasuks. Muidu oleks võinud mõni, kes minu tööriistariba esimest korda näeb, arvata, et nupp &konqueror; on sama, mis alustamisnupp või lausa selle vastand. </para>

<mediaobject>
<imageobject>
<imagedata fileref="dtep_doc_img23.png" format="PNG"/>
</imageobject>
</mediaobject>

<para
>Rakenda muudatused ja klõpsa lõpetamiseks nupule <guibutton
>OK</guibutton
>. </para>

<para
>Ah, kui lahe uus tööriistariba! Igati käepärane ja mõnus. </para>

<mediaobject>
<imageobject>
<imagedata fileref="dtep_doc_img24.png" format="PNG"/>
</imageobject>
</mediaobject>

<para
>Testi kindlasti oma tööriistariba, proovides klõpsata kõigile nuppudele, et näha, kas kõik teevad ikka seda, mida nad peavad tegema. </para>

<mediaobject>
<imageobject>
<imagedata fileref="dtep_doc_img25.png" format="PNG"/>
</imageobject>
</mediaobject>

<para
>Seejärel salvesta tööriistariba: <menuchoice
> <guimenu
>Tööriistaribad</guimenu
> <guisubmenu
>Salvesta tööriistaribad</guisubmenu
> <guimenuitem
>Salvestamine kohaliku tööriistaribana</guimenuitem
> </menuchoice
>. </para>

<para
>Salvesta see kindlasti õigesse kataloogi. Kuna NeXML-i ei ole veel olemas, on see mul mul tipptaseme kataloogis, aga sinu tööriistaribad tuleb salvestada korrektsesse kataloogi. Kohenda kindlasti ka faili &descriptionrc;, et tööriistariba(d) laetaks alati, kui lood uue selle tüübiga faili. </para>
</sect2>
</sect1>


<sect1 id="creating-quanta-docs-3-2">
<sect1info>
<title
>Oma dokumentide loomine</title>
<authorgroup>
<author
><firstname
>Robert</firstname
> <surname
>Nickel</surname
> <affiliation
> <address
><email
>robert@artnickel.com</email
></address>
</affiliation>
</author>

<othercredit role="translator"
><firstname
>Marek</firstname
><surname
>Laane</surname
><affiliation
><address
><email
>bald@starman.ee</email
></address
></affiliation
><contrib
>Tõlge eesti keelde</contrib
></othercredit
> 

</authorgroup>
</sect1info>

<title
>Oma dokumentide loomine</title>

<para
>Võib-olla üks tavakasutajale kõige silmatorkavamaid lisandusi &quantaplus;is on võimalus lisada dokumentatsiooni endale meelepärase märgistus- või skriptikeele kohta. See peatükk selgitab, kuidas luua &PHP; dokumentatsioonipuu isiklikuks kasutamiseks. </para>

<para
>Enne seda, kui asud looma omaenda dokumentatsiooni, võiksid kontrollida <ulink url="http://quanta.sf.net/main1.php?contfile=resource"
>&quantaplus;i hoidlast</ulink
>, ega keegi juba midagi sellist teinud pole. </para>

<para
>Loomisprotsess koosneb kahest osast. Esiteks tuleb hankida antud märgistus/skripti/&etc; keele olemasolev dokumentatsioon. Teiseks tuleb luua <filename
>docrc</filename
> fail. Esimene jääb su enda ülesandeks, teist asume järgnevalt kirjeldama. </para>

<para
>Fail docrc näeb üldiselt välja selline: </para>

<informalexample>
<literallayout
>#KDE Config File
[Tree]
Doc dir=<replaceable
>dokumentatsiooni html-failide asukoht antud faili suhtes</replaceable
> &eg; php42/
#top level elements
Top Element=<replaceable
>nende dokumentide kirjeldus</replaceable
> &eg; &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
>Fail <filename
>docrc</filename
> jaguneb kaheks osaks: puu ja kontekst. </para>

<para
>Puusektsioon määrab dokumentatsiooni esitamise dokumentatsiooni kaardil. Näiteks &PHP;-dokumentide korral võid näha midagi sellist: </para>

<mediaobject>
<imageobject>
<imagedata fileref="doc-view1.png" format="PNG"/>
</imageobject>
</mediaobject>

<para
>Arvestades ülaltoodut, näeb minu &PHP; <filename
>docrc</filename
> välja selline: </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
>Pane tähele märki <literal
>#</literal
> kirjete <quote
>Getting Started</quote
> ja <quote
>Language Reference</quote
> ees. See näitab, et need on omaette ühikud puus, millel on omaenda sisu. Ma ei usu, et puu sügavusele oleks kusagil limiit seatud (kui jätta arvestamata kaine mõistuse määratu) &mdash; nii et kasuta siin oma paremat äranägemist. </para>

<para
>Sisukord (Table of Contents) on otseviitega failile (ning seetõttu on see näha puuvaates viimasena &mdash; kataloogid esimesena!). </para>

<important>
<para
>Tühikud segavat mõju ei avalda, kuid silma peaks peal pidama märkidel &amp; ja &lt;. On tõenäoline, et kõigis &XML;-põhistes &quantaplus;i ressursifailides asendatakse need vastavalt märkidega &amp;amp; ja &amp;lt;. </para>
</important>

<para
>Faili docrc kontekstisektsiooni kasutatakse kontekstitundliku abi pakkumiseks. Oletame näiteks, et kirjutad &PHP; skripti ja tahad näha funktsiooni <function
>mysql_fetch_array</function
> dokumentatsiooni. Selleks tuleb lihtsalt funktsioon esile tõsta ja vajutada kontekstiabi saamiseks klahvikombinatsiooni <keycombo action="simul"
>&Ctrl;<keycap
>H</keycap
> </keycombo
>. Kohe ilmubki nähtavale <function
>mysql_fetch_array</function
> dokumentatsioon. Siin on ainult kaks kirjetüüpi: ContextList ja failiassotsiatsiooni read. </para>

<variablelist>
<varlistentry>
<term
>ContextList</term>
<listitem>
<para
>See on päris lihtne: komadega eraldatud nimekiri kontekstielementidest, mis sinu arvates peaks olema kättesaadavad (&PHP; puhul on need mõistagi &PHP;-funktsioonid). </para>
</listitem>
</varlistentry>
<varlistentry>
<term
>Failiassotsiatsiooni read</term>
<listitem>
<para
>Need on kujul kontekstielement=html-dokumendi lehekülg, &eg; acos=function.acos.html </para>
</listitem>
</varlistentry>
</variablelist>

<para
>Minu <filename
>docrc</filename
> omajagu kärbitud kontekstisektsioon on selline: </para>

<informalexample>
<literallayout
>#Kontekstiabi võtmesõnad
[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
>Nüüd võid faili <filename
>docrc</filename
> salvestada vastavalt sellele, kas soovid seda kasutada globaalselt või kohalikult, kataloogi <filename class="directory"
>$<envar
>KDEDIR</envar
>/share/apps/quanta/doc</filename
> või <filename class="directory"
>$<envar
>HOME</envar
>/.kde/share/apps/quanta/doc</filename
>. Seejärel loo failiga <filename
>docrc</filename
> samas kataloogis alamkataloog (seesama, mille määrasid failis <filename
>docrc</filename
>) ning kopeeri sinna oma &HTML;-dokumendid. </para>

<para
>Kui nüüd taaskäivitad &quantaplus;i, võidki dokumente näha. </para>

<para
>Kui oled kindel, et dokumendid on asjalikud, ning soovid neid ka teistega jagada, saada fail <filename
>docrc</filename
> koos kogu sinu arvates vajaliku infoga <ulink url="http://quanta.sf.net/main1.php?contfile=resource"
>&quantaplus;i hoidlasse</ulink
>, kus neid saab kasutada ka ülejäänud &quantaplus;i kogukond. See ei tee sind küll rikkaks, kuid laseb tunda heameelt, et oled andnud oma panuse parimasse olemasolevasse veebiarendusplatvormi. </para>

</sect1>

<sect1 id="sharing-resources">
  <title
>Ressursside jagamine</title>
  <para
>&quantaplus;i kasutajana ei pruugi sa üksi olla. sul on võimalik jagada teistega mitmesuguseid ressursse (DTEP paketid, toimingutega tööriistaribad, skriptid, mallid). Seda saab teha kahel moel: </para>
  <variablelist>
    <varlistentry>
      <term
>E-kirja saatmine</term>
      <listitem
><para
>Ressursse saab saata e-kirjaga sõpradele, partneritele või kellele tahes. Menüükäsku <guilabel
>Saada e-postiga</guilabel
> võib näha mitmel pool, näiteks <menuchoice
><guimenu
>DTD</guimenu
><guimenuitem
>Saada DTD pakett (DTEP) e-postiga</guimenuitem
></menuchoice
>, <menuchoice
><guimenu
>Tööriistaribad</guimenu
><guimenuitem
>Saada tööriistariba e-postiga</guimenuitem
></menuchoice
>, failide ja kataloogide kontekstimenüüs <guilabel
>mallid</guilabel
>e ja <guilabel
>skriptid</guilabel
>e puuvaates. </para
></listitem>
    </varlistentry>
    <varlistentry>
      <term
>Üleslaadimine peaserverile</term>
      <listitem
><para
>Ressursse saab laadida meie peahoidlasse, kust neid saavad endale tõmmata teised &quantaplus;i kasutajad. Saadetised vaadatakse üle ja muudetakse kättesaadavaks ainult juhul, kui meie arendajate meeskond hindab need korrektseks ja kasulikuks. Üleslaadimise korrektsuse tagamiseks oleks mõttes need digitaalselt allkirjastada, milleks läheb vaja GPG/PGP võtit. Seda infot saavad ressursside ehtsuse kontrollimiseks kasutada nii meie arendajad kui ka hiljem allalaadijad.</para>
        <para
>Ressursside tõmbamisest peaserverilt räägib <xref linkend="download-resources"/>.</para>
      <para
>Üleslaadimisel palutakse sul sisestada oma salajase GPG võtme paroolifraas (paroolifraasi ei salvestata) või kui sul peaks olema rohkem salajasi võtmeid, siis valida see, mida soovid kasutada. Täida dialoogis <guilabel
>Uue kuuma kraami jagamine</guilabel
> kõik väljad (<guilabel
>Eelvaaatluse URL</guilabel
> võib jääda tühjaks) ning alusta üleslaadimist klõpsuga nupule <guilabel
>OK</guilabel
>.</para>
      <para
>Üleslaadimise saab algatada menüüst <menuchoice
><guimenu
>DTD</guimenu
><guimenuitem
>Lae DTD pakett (DTEP) üles</guimenuitem
></menuchoice
>, <menuchoice
><guimenu
>Tööriistaribad</guimenu
><guimenuitem
>Lae tööriistariba üles</guimenuitem
></menuchoice
>, failide ja kataloogide kontekstimenüüst <guilabel
>mallid</guilabel
>e ja <guilabel
>skriptid</guilabel
>e puuvaates. </para>
      </listitem>
    </varlistentry>
</variablelist>
</sect1>
<sect1 id="download-resources">
<title
>Ressursside hankimine</title>
<para
>&quantaplus;i on võimalik uuendada ka ilma uut versiooni hankimata lihtsalt uusi ressursse tõmmates: DTEP paketid, toimingutega tööriistaribad, mallid, skriptid, dokumentatsioon. Üks võimalus on saada neid e-postiga või tõmmata mõnelt veebiserverilt, millisel juhul need tuleb tavaliselt ise käsitsi paigaldada. Heal juhul saad kaasa ka paigaldamisskripti, mis võtab seda vaeva vähemaks. Kuid &quantaplus;il on ka asjalik server, mis sisaldab selliseid ressursse, mida ei ole kaasatud rakenduse põhipaketti kas suuruse või vähese kasutamisvajaduse tõttu või mida on kasutajad ise hiljem meile annetanud. Neid saab paigaldada juba automaatselt. Selliseid ressursse saab tõmmata mitmel pool menüüs esineva käsuga <guilabel
>Lae alla</guilabel
>. Täpsemalt leiab sellised käsud menüüst <menuchoice
><guimenu
>DTD</guimenu
><guimenuitem
>Lae DTD pakett (DTEP) alla</guimenuitem
></menuchoice
>, <menuchoice
><guimenu
>Tööriistaribad</guimenu
><guimenuitem
>Lae tööriistariba alla</guimenuitem
></menuchoice
>, failide ja kataloogide kontekstimenüüst <guilabel
>mallid</guilabel
>e ja <guilabel
>skriptid</guilabel
>e puuvaates. </para>
<para
>Kui ressurss on tõmmatud, kontrollib &quantaplus; enne selle paigaldamist ressursi korrektsust ja signatuuri. Probleemide korral näidatakse sulle hoiatust ning sa saad otsustada, kas jätkata paigaldamist või mitte. Palun suhtu hoiatustesse tõsiselt ja loe need hoolikalt läbi. Kui ressursiga on kõik korras, ilmub lihtsalt infodialoog, kus saad näha, kes on ressursi loonud. </para>
<para>
  <caution
><para
>Kontrolli kindlasti, et paigaldad ressursse, eriti tööriistaribasid ja skripte, ainult usaldusväärsetest allikatest!</para
></caution>
</para>
</sect1>

<sect1 id="converting-dtd">
  <title
>DTD teisendamine &DTEP;-ks</title>
  <para
>Oma töös saab kasutada ka XML-keeli, mida &quantaplus; veel ei toeta, kui luua DTEP pakett. Selle loomine võib võtta siiski palju aega, sest kirja tuleb panna sadu sildifaile <link linkend="tagxml-3-2"
>tagXML</link
>-vormingus. Seda saab küll ka märksa vähema vaevaga teha - nimelt DTD-d automaatselt DTEP paketiks teisendades. </para>
  <para
>Teisenduse saab käivitada menüükäsuga <menuchoice
><guimenu
>DTD</guimenu
><guimenuitem
>Laadi ja teisenda DTD</guimenuitem
></menuchoice
>. Vali <filename
>.dtd</filename
>-fail, milles on defineeritud DTD, mida soovid kasutada, ning seejärel ilmub nähtavale selline dialoog: <mediaobject
> <imageobject>
        <imagedata fileref="dtd-conversion.png" format="PNG"/>
      </imageobject>
    </mediaobject
>  
  </para>
<para
>Kirjed on järgmised:</para>
<itemizedlist>
  <listitem
><para
><guilabel
>Sihtkataloogi nimi:</guilabel
> selle nime all salvestatakse loodav &DTEP; kataloogi <filename
><envar
>$KDEHOME</envar
>/share/apps/quanta/dtep</filename
>. </para>
  </listitem>
  <listitem
><para
><guilabel
>Nimi:</guilabel
> DTD nimi (definitsioonistring).</para
></listitem>
  <listitem
><para
><guilabel
>Hüüdnimi:</guilabel
> &DTEP; kasutajale nähtav nimi</para
></listitem>
  <listitem
><para
><guilabel
>!DOCTYPE definitsiooni rida:</guilabel
> string, mis peab esinema !DOCTYPE-sildis, näiteks 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-failile osutav URL</para
></listitem>
  <listitem
><para
><guilabel
>Vaikimisi laiend:</guilabel
> laiend, mida kasutavad tavaliselt antud DTD-d pruukides kirja pandud failid</para
></listitem>
  <listitem
><para
><guilabel
>Tõstutundlikud sildid ja atribuudid:</guilabel
> see peaks olema enesestmõistetav ja on enamasti õige igasuguste XML-keele variantide korral</para
></listitem>
  <listitem
><para
><guilabel
>DTEP täppishäälestus pärast teisendust:</guilabel
> märkimisel avab &quantaplus; pärast teisendust &descriptionrc; redaktori, et saaksid kohe uue &DTEP; päris oma käe järgi sättida. Soovitatav on see valik sisse lülitada.</para
></listitem>
</itemizedlist>

</sect1>
</chapter>
