<?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>

<othercredit role="translator"
><firstname
>Marek</firstname
><surname
>Laane</surname
><affiliation
><address
><email
>bald@online.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 arendajatesõ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: description.rc 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
>Käesolev käsiraamat kirjeldab, kuidas luua TagXML faile, faili description.rc 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 description.rc sisaldab reeglid ja info &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 description.rc ja TagXML failidest. Sildikataloogidel on võimalusekorral 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
>Vanem(ad)</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
>Vanem(ad)</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
>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
>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 ujukomaarvu (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>
</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
>Vanem(ad)</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
>Vanem(ad)</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>
</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
>Vanem(ad)</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
>Vanem(ad)</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
>Vanem(ad)</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
>Vanem(ad)</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
>Vanem(ad)</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
>Vanem(ad)</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
>Vanem(ad)</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
>Vanem(ad)</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
>Vanem(ad)</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
>Kasutamine</entry
><entry
>Kirjeldus</entry>
</row>
</thead>
<tbody>
<row>
<entry
>name</entry
><entry
>string</entry>
<entry
>nõutav</entry
><entry
>Määrab sildi, mis võib esineda teatud sildi raames.</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
>Vanem(ad)</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
>Vanem(ad)</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
>description.rc</title>

<para
>Ka fail description.rc on üsna lihtne. Sugugi mitte kõike järgnevat ei ole vaja kasutada. Faili description.rc põhistruktuur on järgmine. </para>

<sect3 id="family-one-structure-3-2">
<title
>Perekond 1 struktuur</title>

<informalexample>
<literallayout
><markup>
[General] - Üldine info.
Version = 1 &quantaplus;i versioon &lt;=3.1.2 ja 2 mis tahes uuema versiooni jaoks.
Name = DTD definitsiooni string. (-//&W3C;//DTD HTML 4.01 Transitional//EN)
NickName = DTD kaunim nimetus. (HTML 4.01 Transitional). Kui ei ole määratud,
kasutatakse väärtust Name.
URL = DTD definitsioonile osutav &URL;. (http://www.w3.org/TR/html4/loose.dtd)
DoctypeString = String, mis peaks esinema !DOCTYPE deklaratsioonis.
(HTML PUBLIC "-//&W3C;//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd")
Inherits = DTD nimi, millelt see DTD pärib oma sildid. (-//&W3C;//DTD HTML 4.01//EN)
DefaultExtension = Uued failid luuakse selle laiendiga. (html)
Groups = Tavaliste atribuudigruppide nimekiri, mis võivad esineda enam kui ühes sildis.
(Core, I18n, Script) Vaata allpool. (Group1, Group2...)
NumOfPages = Määrab, mitu lehekülge on sildidialoogil lisaks leheküljele, mis sisaldab
sildifailis defineeritud atribuute. Vaata allpool. (Page1,...)
CaseSensitive = DTD tõstutundlikkus. (true|false)
Family = 1See DTEP tüüp kuulub perekonda 1, sest on märkekeeles.

[Toolbars] - Info DTEP tööriistaribade kohta.
Location = Kataloogi nimi katalogis $KDEDIR($KDEHOME)/share/apps/quanta/toolbars,
kus asetsevad selle DTEP tööriistaribad.
Names = Tööriistaribade failinimede nimekiri (ilma laiendita .toolbar.tgz), mis
laetakse selle DTEP jaoks ülalmääratud kataloogist.

[Group1] - Asendub mõnega alltoodud gruppidest.
Attributes = Selle grupi atribuutide nimekiri. Praegu koheldakse kõiki loetletud atribuute
 stringidena.
Näide:
[Core]
Attributes = id, class, style, title

[Page1] - Sildi redaktori lehekülje kirjeldus.
Title = Selle lehekülje tiitel sildi muutmise dialoogis.
Groups = Sellel leheküljel leiduvate gruppide nimekiri. (Core, I18n)

[Extra rules] - Mõned reeglid, mis mujale ei sobi.
BooleanAttributes = (simple|complex)
Näide simple kohta: &lt;tag booleanAttr
>.
Näide complex kohta: &lt;tag booleanAttr="1"
> või &lt;tag booleanAttr="true">
Single Tag Style = (html|XML)
Näide html kohta: &lt;single_tag>
Näide XML kohta:  &lt;single_tag />
StructGroupsCount = Struktuuri gruppide arv. Vaata allpool.
MinusAllowedInWords = Kui on tõene, koheldakse "see-on-sõna" kui sõna, vastasel
juhul koheldakse seda kui kolme sõna.
TagAutoCompleteAfter = SÜMBOL. Automaatse lõpetamise kast ilmub kohe, kui
vajutatakse SÜMBOLI klahvi või vajutatakse tühikuklahvi pärast SÜMBOLI vajutamist.
DTEP (perekond 1) jaoks on see tavaliselt "&lt;" Kui SÜMBOLI asemel on sõna "puudub",
ei avata lõpetamise kasti automaatselt, vaid ainult kasutaja konkreetse soovi peale.
AttributeSeparator = SÜMBOL. See SÜMBOL tähendab, et atribuudi nimi lõppes. Sellele vastab
märk " XML DTEP-des.
TagSeparator = SÜMBOL. Sarnane eelkirjeldatuga.

[StructGroup_1] - Struktuuri grupi 1 definitsioon.
Name = Tekst, mis ilmub siis, kui on selle grupi seadistustele sobivaid silte.
No_Name = Tekst, mis ilmub siis, kui EI ole selle grupi seadistustele sobivaid silte.
Icon = Enne ülaltoodud tekste ilmuva ikooni nimi.
Tag = tagname(attribute1, attribute2, ...). Sildid nimega tagname on näha
selles grupis. Elemendi tekstiks on "atribuut1_väärtus | atribuut2_väätus | ..."
Praegu võib siin olla ainult üks silt.
HasFileName = (true|false) Tõene, kui elemendi tekst (ülal, atribuudi väärtused) sisaldab faili nime.
FileNameRx = Regulaaravaldis, millega eemaldatakse ebavajalikud sümbolid elemendi tekstist.

[Parsing rules] - Dokumendi parsimisel kasutatavad reeglid.
SpecialAreas = Eripiirkondade algus- ja lõpustring, eraldajaks koma.
Eripiirkondi ei parsita mitte vastavalt DTEP, vaid nende enda reeglitele.
Eripiirkond võib olla teise perekonna DTEP, kommentaar või midagi sarnast.
Nt. &lt;!-- -->
SpecialAreaNames = Ülalmainitud eripiirkondade nimekiri, eraldajaks komad. Nt. comment
SpecialTags = tagname(attributename) - Määrab sildi, mis defineerib eripiirkonna alguse.
MayContain = Käesolevas dokumendis esinevate DTEP-de (perekond 2) nimekiri, eraldajaks komad.
(php, css)
</markup
>
</literallayout>
</informalexample>
</sect3>

<sect3 id="family-two-structure-3-2">
<title
>Perekond 2 struktuur</title>

<informalexample>
<literallayout
><markup>
[General] - Üldine info.
Version = 1 &quantaplus;i versiooni &lt;=3.1.2 ja 2 mis tahes uuema versiooni jaoks.
Name = DTD definitsiooni string. (-//&W3C;//DTD HTML 4.01 Transitional//EN)
NickName = DTD kaunim nimi. (HTML 4.01 Transitional). Kui ei ole defineeritud, kasutatakse
selle asemel väärtust Name.
URL = DTD definitsioonile osutav URL. (http://www.w3.org/TR/html4/loose.dtd)
DoctypeString = String, mis peaks esinema !DOCTYPE deklaratsioonis.
(HTML PUBLIC "-//&W3C;//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd")
Inherits = DTD nimi, millelt see DTD pärib oma sildid. (-//&W3C;//DTD HTML 4.01//EN)
DefaultExtension = Uued failid luuakse selle laiendiga. (html)
NumOfPages = 0   Alati 0, sest DTEP (perekond 2) puhul puudub sildi  muutmise dialoog.
CaseSensitive = DTD tõstutundlikkus. (true|false)
Family = 2See DTEP on perekonnast 2, sest see ei ole märkekeeles.

[Toolbars] - Info DTEP tööriistaribade kohta.
Location = Kataloogi nimi kataloogis $KDEDIR($KDEHOME)/share/apps/quanta/toolbars,
kus asetsevad selle DTEP tööriistaribad.
Names = Tööriistaribade failinimede nimekiri (ilma laiendita .toolbar.tgz), mis
laetakse selle DTEP jaoks ülalmääratud kataloogist.

[Extra rules] - Mõned reeglid, mis mujale ei sobi.
BooleanAttributes = (simple|complex)
Näide simple kohta: &lt;tag booleanAttr
>.
Näide complex kohta: &lt;tag booleanAttr="1"
> või &lt;tag booleanAttr="true">
Single Tag Style = (html|XML)
Näide html kohta: &lt;single_tag>
Näide XML kohta:  &lt;single_tag />
StructGroupsCount = Struktuuri gruppide arv. Vaata allpool.
MinusAllowedInWords = Kui on tõene, koheldakse "see-on-sõna" kui sõna, vastasel
juhul koheldakse seda kui kolme sõna.
TagAutoCompleteAfter = SÜMBOL. Automaatse lõpetamise kast ilmub kohe, kui
vajutatakse SÜMBOLI klahvi või vajutatakse tühikuklahvi pärast SÜMBOLI vajutamist.
DTEP (perekond 1) jaoks on see tavaliselt "&lt;" Kui SÜMBOLI asemel on sõna "puudub",
ei avata lõpetamise kasti automaatselt, vaid ainult kasutaja konkreetse soovi peale.
AttributeSeparator = SÜMBOL. See SÜMBOL tähendab, et atribuudi nimi lõppes. Sellele vastab
märk " XML DTEP-des.
TagSeparator = SÜMBOL. Sarnane eeltooduga.
AttributeAutoCompletionAfter = SÜMBOL. Sarnane TagAutoCompletionAfter-iga, kuid
sildi atribuutide jaoks. See on "(" vaikimisi ja ":" CSS jaoks.

[StructGroup_1] - Struktuuri grupi 1 definitsioon.
Name = Tekst, mis ilmub, kui selle grupi seadistustele vastab silte.
No_Name = Tekst, mis ilmub, kui selle grupi seadistustele EI vasta silte.
Icon = Ülaltoodud tekstide ees ilmuva ikooni nimi.
Tag = tagname(attribute1, attribute2, ...). Sildid nimega tagname ilmuvad
selles grupis. Elemendi tekst on "atribuut1_väärtus | atribuut2_väärtus | ..."
Praegu saab siin olla ainult üks silt.
HasFileName = (true|false) Tõene, kui tekst (ülal, atribuudi väärtused) sisaldab failinime.
FileNameRx = Regulaaravaldis, millega eemaldatakse mittevajalikud sümbolid elemendi tekstist.
SearchRx = regulaaravaldis, millega leitakse tekstialad DTEP-s (perekond 2), mis
kuuluvad sellesse gruppi
ClearRx = regulaaravaldis, millega puhastatakse soovimatu tekst/sümbolid ülaltoodud
otsingu tulemustest. Puhastatud string on näha struktuuripuus.

[Parsing rules] - Dokumendi parsimisel kasutatavad reeglid.
SpecialAreas = Eripiirkondade algus- ja lõpustring, eraldajaks koma.
Eripiirkondi ei parsita mitte vastavalt DTEP, vaid nende enda reeglitele.
Eripiirkond võib olla teise perekonna DTEP, kommentaar või midagi sarnast.
Nt. &lt;!-- -->
SpecialAreaNames = Ülalmainitud eripiirkondade nimekiri, eraldajaks komad. Nt. comment
SpecialTags = tagname(attributename) - Määrab sildi, mis defineerib eripiirkonna alguse.
AreaBorders = Komadega eraldatud alapiiride nimekiri, mis kapseldavad selle perekond 2 DTEP. PHP
korral on selleks: &lt;? ?>, &lt;* *
>, &lt;% %>
Tags = tagname(attribute). Kui vanem-(reaalne)DTD on sildiga tagname ja
selle sildi atribuudi väärtus võrdub DTD nimega, parsitakse sildiala
vastavalt selle DTD reeglitele.
Comments = komadega eraldatud alapiiride nimekiri kommentaaride jaoks. EOL tähendab realõppu (end-of-line).
Nt.: // EOL, /* */
StructKeywords = semikoolonitega eraldatud struktuuri võtmesõnade nimekiri. Struktuure
koheldakse uute sõlmedena struktuuripuus.
StructBeginStr = Struktuuri algust määrav string (näiteks {)
StructEndStr = Struktuuri lõppu määrav string (näiteks })
StructRx = Regulaaravaldis, mis sisaldab struktuuriala algust või lõppu.
Nt. \\{ | \\} (struktuuriala piir võib olla { või })
</markup
>
</literallayout>
</informalexample>
</sect3>
</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 elemendi, mis on omistatud toimingutele. Toimingud kujutavad &quantaplus;is alust peaaegu kõigile laiendustele, mida &quantaplus; praegu või tulevikus kasutab. Sama mehhanism, mis defineerib &quanta;s 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 ma ise ei pruugi mäletada, et see käib selle toimingu kohta, mis siis veel teistest rääkida! Vahetame selle enne välja, kui mingi häda kätte jõuab. </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 description.rc, 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@online.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 selle 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>
</chapter>
