&quantaplus;i laiendamineChristopherHornbakerchrishornbaker@earthlink.netAndrásMantiaamantia@kde.orgMarekLaanebald@starman.eeTõlge eesti keelde&quantaplus;i laiendamineSee peatükk kirjeldab &quantaplus;i kohandamist just sinu vajadustele, samuti seda, kuidas just sina saad aidata muuta &quantaplus;i veel paremaks. Dokumenditüübi redigeerimispakett (&DTEP;)&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. &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. &DTEP; on võimalik luua käsitsi (lähemalt edaspidi), alla laadida või automaatselt luua olemasoleva DTD põhjal. Teisendamisest kõneleb lähemalt . Käesolev käsiraamat kirjeldab, kuidas luua TagXML-faile, faili &descriptionrc; ja tööriistaribasid ehk lühidalt: kuidas luua &DTEP;. 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. PaketidSildikataloogid 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). TagXMLAllolev 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. ElementVaikimisi kasutamineKasutamise näideTAGSnõutavalatitagnõutavalatilabelmittekohustusliknõutav omaduste dialoogi loomiseksattrmittekohustusliknõutav atribuudi defineerimisekstooltipmittekohustusliknõutav omaduste dialoogis kohtspikrite näitamisekswhatsthismittekohustusliknõutav omaduste dialoogis abivõimaluse Mis see on? näitamisekslistmittekohustusliknõutav, kui atribuut on tüübiga nimekiriitemmittekohustusliknõutav, kui kasutatakse <list>textlocationmittekohustuslikalatilocationmittekohustusliknõutav pealdise kasutamiseltextmittekohustusliknõutav pealdise kasutamiselchildrenmittekohustusliksiltide nimekiri, mis võivad esineda defineeritava sildi seeschildnõutavalamsildi kirjestoppingtagsmittekohustusliksiltide nimekiri, mis defineerivad muu sildi lõpetamisestoppingtagnõutavstoppingtags kirjeTagXML-elementide kirjeldusedNüüd hakkame üksikasjalikult kirjeldama iga elementi alates sellest, kus neid saab kasutada, kuni selleni, mis võib nende sees peituda. TAGSSee 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. Eellane/eellasedJärglasedPUUDUBtagtagSildi kui sellise defineerija. See on puhta elemendi tüüpi element. Eellane/eellasedJärglasedTAGSlabel, attr, stoppingtagsAtribuutTüüpVäärtusedVaikimisiKasutamineKirjeldusnamestringnõutavMäärab defineeritava sildi nime.singletõeväärtusmittekohustuslikMäärab, kas silt nõuab lõpetavat silti </(sildinimi)> või mitte.typestringxmltagmittekohustuslikMäärab defineeritava sildi tüübi.xmltagSildi tüüp on XML-põhine (ainult perekond 1).entitySee silt kirjeldab olemit (ainult perekond 1).propertySildi tüüp on seotud &CSS;iga (ainult perekond 2).functionSildi tüüp on skriptifunktsioon. Kasutamisel muutuvad <attr> funktsiooni argumentideks (ainult perekond 2).classSildi tüüp on skriptiklass (ainult perekond 2).methodSildi tüüp on klassimeetod (ainult perekond 2).returnTypestringvoid mittekohustuslikMäärab defineeritava sildi tüübi tagastamise (ainult perekond 2).voidSildi tüüp tagastab void.intSildi tüüp tagastab täisarvu (int).floatSildi tüüp tagastab murdarvu (float).longSildi tüüp tagastab long.stringSildi tüüp tagastab stringi (string).versionstringmittekohustuslikMääratleb keele versiooni, milles silt kehtibextendsstringmittekohustuslikKehtib ainult siis, kui sildi tüüp on "klass". Antud klassi baasklassi nimi. (Ainult perekond 2.)classstringmittekohustuslikKehtib ainult siis, kui tüüp on "meetod". Määrab klassi nime, kuhu antud meetod kuulub. (Ainult perekond 2.)commontõeväärtusmittekohustuslikkui on "jah", määrab see silt üldise atribuudigrupi ning selle sildi sees esinevaid atribuute saab siduda suvalise muu sildiga (ainult perekond 1).commentstringmittekohustuslikkommentaaristring on näha sildi nime juures lõpetamise kastislabelSeab dialoogile pealdise. Teksti määrab silt <tekst>. See on puhta elemendi tüüpi element. Eellane/eellasedJärglasedtagtext, locationattrMää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. Eellane/eellasedJärglasedtaglocation, list, tooltip, whatsthis, textlocationAtribuutTüüpVäärtusedVaikimisiKasutamineKirjeldusnamestringnõutavMäärab defineeritava atribuudi nime.typestringinputnõutavMäärat defineeritava atribuudi tüübi.inputSee väli toetab mis tahes tekstikirjeid (tekstiväli).checkVäljal on tõeväärtus (märkekast).colorVälja väärtus on värv.urlVälja väärtus on &URL; (kohalik fail, millele viidatakse).listVälja väärtus on element määratud nimekirjast.statusstringmittekohustusliknõutavMäärab, kas argument on nõutav või mitte (ainult perekond 2).mittekohustuslikArgument on mittekohustuslik.nõutavArgument on nõutav.impliedArgumenti eeldatakse.sourcestringmittekohustuslikMäärab allika, mida kasutatakse atribuudikirje täitmisel sildi redigeerimise dialoogis ja atribuudipuusselectionValitud teksti kasutatakse allikanadcopDCOP-meetodi tulemust kasutatakse allikanainterfacestringmittekohustuslikNõutav on source="dcop". Allikandmete hankimiseks kasutatakse &quantaplus;is DCOP-liidest.methodstringmittekohustuslikNõutav on source="dcop" ja liidese nimi. Allikandmete hankimiseks kasutatakse &quantaplus;is DCOP-liidest.argumentsstringmittekohustuslikNõ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.tooltipDefineerib dialoogi välja kohtspikri. See on puhta teksti tüüpi element. Praegu on toetatud ainult puhas tekst (märkekeelt kasutada ei saa). Eellane/eellasedJärglasedattrPUUDUBwhatsthisDefineerib dialoogi välja abivõimaluse 'Mis see on?' See on puhta teksti tüüpi element. Praegu on toetatud ainult puhas tekst (märkekeelt kasutada ei saa). Eellane/eellasedJärglasedattrPUUDUBlistKonteinersilt, mis koondab nimekirja elemendid. See tohib esineda ainult üks kord atribuudi kirjelduse kohta. See on puhta elemendi tüüpi element. Eellane/eellasedJärglasedattritemitemDefineerib nimekirja elemendi. See on puhta teksti tüüpi element. Eellane/eellasedJärglasedlistPUUDUBtextlocationMäärab sildi atribuudi teksti asukoha dialoogis. See silt võib esineda ainult üks kord atribuudi kohta dialoogis (&ie; üks kord iga sildi <attr> kohta). See element on tühi. Eellane/eellasedJärglasedattrPUUDUBAtribuutTüüpKasutamineKirjeldusrowMittenegatiivne täisarvnõutavMäärab dialoogis välja või pealdise rea.colMittenegatiivne täisarvnõutavMäärab dialoogis välja või pealdise veeru.rowspanMittenegatiivne täisarvmittekohustuslikMäärab ridade arvu, millele väli peab laienema.colspanMittenegatiivne täisarvmittekohustuslikMäärab veergude arvu, millele väli peab laienema.locationMäärab välja asukoha ja suuruse dialoogis. See väli tohib esinda üks kord iga dialoogi välja kohta (&ie; kord iga sildi <attr> ja <label> kohta). See element on tühi. Eellane/eellasedJärglasedlabel, attrPUUDUBAtribuutTüüpKasutamineKirjeldusrowMittenegatiivne täisarvnõutavMäärab dialoogis välja või pealdise rea.colMittenegatiivne täisarvnõutavMäärab dialoogis välja või pealdise veeru.rowspanMittenegatiivne täisarvmittekohustuslikMäärab ridade arvu, millele väli peab laienema.colspanMittenegatiivne täisarvmittekohustuslikMäärab veergude arvu, millele väli peab laienema.textDefineerib pealdise või märkekasti teksti. See on puhta teksti tüüpi element. Eellane/eellasedJärglasedlabel, attrPUUDUBchildrenDefineerib elementide nimekirja, mis võivad esineda määratud sildi raames. See on puhta elemendi tüüpi element. Eellane/eellasedJärglasedtagchildchildDefineerib järglassildi. See element on tühi. Eellane/eellasedJärglasedchildrenPUUDUBAtribuutTüüpVäärtusedKasutamineKirjeldusnamestringnõutavMäärab sildi, mis võib esineda teatud sildi raames.kasutusalastringmittekohustuslikMäärab seose eellasega.nõutavEellasel peab olema vähemalt üks selle nimega järglane.stoppingtagsDefineerbi elementide nimekirja, mis sunnivad peale sildi lõpetamise. See on puhta elemendi tüüpi element. Eellane/eellasedJärglasedtagstoppingtagstoppingtagDefineerib peatava sildi. See element on tühi. Eellane/eellasedJärglasedstoppingtagsPUUDUBAtribuutTüüpKasutamineKirjeldusnamestringnõutavMäärab, millised sildid sunnivad peale muu sildi lõpetamise.TagXML kasutamineKõik TagXML-failid peavad algama &XML; deklaratsiooniga <?xml version="1.0" encoding="UTF-8"?> ning nad peavad olemas korralikult pesastatud ja suletud. Tühikud segavat mõju ei avalda, kuid silma peaks peal pidama märkidel & ja <. On tõenäoline, et need asendatakse vastavalt märkidega & ja < sellistes elementides nagu <tooltip>, <whatsthis>, and <text>. See ei põhjusta vahest küll krahhi, kuid hulk sinu tööd ja vaeva võib küll kaduma minna. TagXML kontrollimineTagXML-failide kontrollimiseks klõpsa tööriistade hüpikdialoogil &quantaplus;i ülaosas ja vali TagXML kontrollimine. Ilmub dialoog, kus tuleb järgida väga lihtsaid ja arusaadavaid juhiseid. Seda võimalust ei saa veel kasutada. Praegu on võimalik kontrollida ainult juhul, kui TagXML-fail on &quantaplus;is avatud. TagXML näitedPerekond 1Järgnev kujutab endast korrektset TagXML-faili (perekond 1). See kirjeldab, muide, &W3C; &XML; skeemi elementi <schema>. Selle TagXML-faili nimi peaks olema schema.tag. Lihtne, eks ju?
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE TAGS>
<TAGS>
<tag name="schema">
<label>
<text>id</text>
<location col="0" row="0"/>
</label>
<attr name="id" type="input">
<tooltip>Elemendi unikaalne ID.</tooltip>
<whatsthis>Elemendi unikaalne ID.</whatsthis>
<location col="1" row="0"/>
</attr>
<label>
<text>version</text>
<location col="0" row="1"/>
</label>
<attr name="version" type="input">
<tooltip>Skeemi versioon.</tooltip>
<whatsthis>Skeemi versioon.</whatsthis>
<location col="1" row="1"/>
</attr>
<label>
<text>targetNamespace</text>
<location col="0" row="2"/>
</label>
<attr name="targetNamespace" type="input">
<tooltip>Selle skeemi nimeruumi &URI; viide.</tooltip>
<whatsthis>Selle skeemi nimeruumi &URI; viide.</whatsthis>
<location col="1" row="2"/>
</attr>
<label>
<text>xmlns</text>
<location col="0" row="3"/>
</label>
<attr name="xmlns" type="input">
<tooltip>Ühe või enama nimeruumi &URI; viide selle skeemi jaoks.
Kui prefiksit ei kasutata, on võimalik selle nimeruumi komponentide mittekvalifitseeritud kasutamine.</tooltip>
<whatsthis>Ühe või enama nimeruumi &URI; viide selle skeemi jaoks.
Kui prefiksit ei kasutata, on võimalik selle nimeruumi komponentide mittekvalifitseeritud kasutamine.</whatsthis>
<location col="1" row="3"/>
</attr>
<label>
<text>attributeFormDefault</text>
<location col="0" row="4"/>
</label>
<attr name="attributeFormDefault" type="list">
<items>
<item>qualified</item>
<item>unqualified</item>
</items>
<tooltip>Selle skeemi kõigi atribuutide vaikimisi vorm.</tooltip>
<whatsthis>Selle skeemi kõigi atribuutide vaikimisi vorm.</whatsthis>
<location col="1" row="4"/>
</attr>
<label>
<text>elementFormDefault</text>
<location col="0" row="5"/>
</label>
<attr name="elementFormDefault" type="list">
<items>
<item>qualified</item>
<item>unqualified</item>
</items>
<tooltip>Selle skeemi kõigi elementide vaikimisi vorm.</tooltip>
<whatsthis>Selle skeemi kõigi elementide vaikimisi vorm.</whatsthis>
<location col="1" row="5"/>
</attr>
<label>
<text>blockDefault</text>
<location col="0" row="6"/>
</label>
<attr name="blockDefault" type="input">
<location col="1" row="6"/>
</attr>
<label>
<text>finalDefault</text>
<location col="0" row="7"/>
</label>
<attr name="finalDefault" type="input">
<location col="1" row="7"/>
</attr>
</tag>
</TAGS>
Perekond 2Järgnev kujutab endast korrektset TagXML-faili (perekond 2). Juhtumisi on tegemist &PHP; ülekoormuse funktsiooniga. Selle TagXML-faili nimi peaks olema overload.tag.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tags>
<tags>
<tag name="overload" type="function" returnType="void">
<attr name="class_name" type="string" status="optional"/>
</tag>
</tags>
&descriptionrc;Ka &descriptionrc; on üsna lihtne ning sellele on isegi oma redaktor, mille saab avada menüükäsuga DTDMuuda DTD seadistusi. See võimaldab muuta nimekirjast valitud &DTEP; faili &descriptionrc;. Uue &DTEP; faili &descriptionrc; muutmiseks tuleb luua lihtne &descriptionrc; järgmiste kirjetega:
[General]
Version = Use 1 for &quantaplus; version <=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.
Kui oled selle loonud, paiguta see sildifailide kõrvale, lae uus &DTEP; menüükäsuga DTDLaadi DTD pakett (DTEP) 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 quanta/data/dtep/dtd-description.txt, milles kirjeldatakse vormingut. Kasutaja määratud toimingudToiminguid 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. Kasutaja määratud toiminguid on kolme tüüpi: TekstitoimingudSilditoimingudSkriptitoimingudToimingute loomineToimingut saab luua menüükäsuga SeadistusedToimingute seadistamine. Klõpsa nupule Uus toiming, mille järel avaneb selline dialoog: TüüpMäärab toimingu tüübi (Tekst, Silt, Skript).TekstToimingu kasutajale nähtav nimi.Nupp pealdise Tekst juuresToimingule omistatav ikoon. Parajasti kehtiva ikooni muutmiseks klõpsa sellele.KohtspikkerToimingu lühikirjeldus.KiirklahvToimingule omistatav kiirklahv. Klõpsa kiirklahvi omistamiseks kirjele Kohandatud või selle juures asuvale nupule. Klõpsa kirjele Puudub, kui soovid parajasti kehtiva kiirklahvi eemaldada.Konteiner-tööriistaribadKasutaja määratud tööriistaribad, kus antud toiming on näha. Vaata .Üksikasjalikud seadistusedErinevat tüüpi toimingute spetsiifilised seadistused. Vaata allpool. Tekstitoimingud Lihtsaimad toimingud. Siin saad sektsiooni Üksikasjalikud seadistused sisestada mingi teksti ning seejärel lisatakse antud toimingu käivitamisel alati see tekst sinu dokumenti kursori asukohta. Vaata näidet allpool. SilditoimingudNeed on kasulikud XML-siltide lisamiseks, aga mõistagi saab neid ka muuks tarvitada. <silt>Sildi nimi.</tag>Sisselülitamisel lisatakse see tekst toimingu käivitamisel lõpetava sildina. Kui enne toimingu käivitamist on dokumendis valitud ala, lisatakse <tag> valitud ala ette ja </tag> selle järele.Käivitatakse dialoog "Sildi muutmine" (kui võimalik)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. <silt> ja </silt> lisatakse nii, nagu sa need siin annad. Märke <, > või / ei lisata automaatselt. Skriptitoimingud 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 kiirkäivituse dialoog ning mitmesugused Näita kasutades... toimingud (X)HTML DTEP-de jaoks. Kõigepealt tuleb anda skripti nimi koos interpretaatoriga. Näide: sh /home/minukodu/minuskript.sh. Kuigi kasutada võib ka absoluutseid asukohti, on soovitatav pruukida käsureal muutujat %scriptdir, näiteks sh %scriptdir/minuskript.sh. Sel juhul üritab &quantaplus; leida sinu skripti järgmistest kohtadest: globaalne skriptikataloog: $TDEDIR/share/apps/quanta/scriptskohalik skriptikataloog: $TDEHOME/share/apps/quanta/scriptssinu otsingutee: $PATH Käsureal saab kasutada ka muid spetsiaalseid muutujaid: %f asendatakse aktiivse dokumendi URL-iga. Kohalike dokumentide korral kärbitakse dokumendist file:/.%input asendatakse valitud sisendiga. Vaata allpool.%projectbase asendatakse aktiivse projekti URL-iga. Kui projekti pole laetud, on tühi.%pid 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.%userarguments on kasulik sündmuste korral. See kirje asendatakse sündmuse omadustega järgmises järjekorras: Esimene argumentSkripti unikaalne IDTeine argumentSündmuse nimiKolmas argumentSündmuse parameetrid, tavaliselt aktiivse dokumendi failinimi või projektifaili asukoht.Lisaks mainitud meetoditele võib skript saada standardsisendis sisendi ka &quantaplus;ilt. Liitkastis Sisend saab valida, mida standardsisendisse saata. Võimalused on järgmised: Puudub: skriptile ei saadeta midagi.Aktiivne dokument: skriptile saadetakse kogu dokument.Valitud tekst: skriptile saadetakse dokumendi valitud ala. Muutuja %input kasutamine ongi enamasti mõttekas ainult antud juhul.Sarnaselt sisendile võib ära kasutada ka käivitatud rakenduse väljundi. Väljund võib olla kaht laadi: tavaline väljund, mis saadetakse standardväljundisse;veateated, mis saadetakse standardsesse veaväljundisse. Sinu määrata on see, mis juhtub standardväljundisse saadetud tekstiga. Seda saab teha liitkasti Väljund väärtust muutes: Puudub: rakenduse väljundit ignoreeritakse.Lisatakse kursori asukohta: väljund lisatakse aktiivsesse dokumenti kursori asukohta.Asendatakse valik: dokumendi valitud ala asendatakse väljundiga.Asendatakse valik: dokumendi valitud ala asendatakse väljundiga.Luuakse uus dokument: luuakse uus dokument, mis sisaldab kogu skripti väljundit.Asendatakse käesolev dokument: kogu dokument asendatakse väljundiga.Teateaken: väljundit näeb kaardil Teated.Standardse veaväljundi korral (Viga) on valikud samasugused nagu tavalise väljundi puhul.Tööriistaribade loomineJä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 &HTML; tidy't. Nullist pealeAlustuseks tuleb luua kasutaja tööriistariba. Vali menüükäsk TööriistaribadLisa kasutaja tööriistariba. 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. Kui kõik vajalikud tööriistaribad on loodud, tuleb neile lisada toimingud ja viimased seadistada. Selleks vali menüükäsk SeadistusedToimingute seadistamine. Selles aknas peaks kõik iseenda eest kõnelema. Klõpsa akna allosas asuvale nupule >Uus toiming, mis avab redigeerimisrežiimi. Täida kõik vajalikud väljad ja lisa silt vastavale tööriistaribale. Nüüd tee sama muude toimingute ja siltidega ning kui sildil on atribuute ja sa kavatsed neid kasutada, märgi ära ka kast Käivitatakse dialoog "Sildi muutmine" (kui võimalik), et sinu käest iga kord vastava toimingu kasutamisel küsitaks. Nüüd peaks sul olema midagi sellist. Klõpsa nuppu Rakenda ja näed, kuidas toiming lisatakse valitud tööriistaribale. 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. Antud toimingut paremini kirjeldava ikooni loomiseks kasutame rakendust &tdeiconedit;. Ava see käsuga &kmenu;st GraafikaMuud rakendused (või kuidas iganes sinu distributsioon seda ei nimetaks). &tdeiconedit; kasutab vaikesuurusena 32x32 pikslit, kuid meie soovime suurust 22x22. Muutmiseks kasuta menüükäsku RedigeerimineMuuda suurust. 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. Et silt, millele ma ikooni looma asusin, kannab nimetust start, siis otsustasin luua alustamismärgi. Roheline värv (mida sageli tarvitatakse tähenduses mine, alusta või jätka) annab või vähemalt peaks andma kasutajale märku, et sellele toimingule klõpsates asetatakse dokumenti silt <start>. Nii, ikoon on valmis tehtud ja käes aeg see salvestada. Kui oled ikooni(d) valmis teinud, tuleb need toiminguga siduda. Selleks ava uuesti SeadistusedToimingute seadistamine (&quantaplus;is mõistagi) ja vali toiming, mille jaoks ikooni lõid. Välja Tekst kõrval asub nupp. Vajuta sellele. Vali Muud ikoonid ja seejärel klõpsa nupule Lehitse. Mine nüüd kataloogi, kuhu ikooni salvestasid, vali ikoon ja klõpsa nupule OK. Klõpsa nupule Rakenda ning jätka ikoonide seostamist muude siltidega või klõpsa OK, kui oled omadega valmis. 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 Tööriistaribade seadistamise dialoog (SeadistusedTööriistaribade seadistamine). Kontrolli, et soovitud tööriistariba oleks valitud. 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. Ma arvan ka, et mulle meeldiks kiiresti kasutada võimalust Eelvaatlus Konqueroris, seega valin ka selle ja lisan tööriistaribale. 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. Rakenda muudatused ja klõpsa lõpetamiseks nupule OK. Ah, kui lahe uus tööriistariba! Igati käepärane ja mõnus. Testi kindlasti oma tööriistariba, proovides klõpsata kõigile nuppudele, et näha, kas kõik teevad ikka seda, mida nad peavad tegema. Seejärel salvesta tööriistariba: TööriistaribadSalvesta tööriistaribadSalvestamine kohaliku tööriistaribana. 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. Oma dokumentide loomineRobertNickelrobert@artnickel.comMarekLaanebald@starman.eeTõlge eesti keeldeOma dokumentide loomineVõ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. Enne seda, kui asud looma omaenda dokumentatsiooni, võiksid kontrollida &quantaplus;i hoidlast, ega keegi juba midagi sellist teinud pole. Loomisprotsess koosneb kahest osast. Esiteks tuleb hankida antud märgistus/skripti/&etc; keele olemasolev dokumentatsioon. Teiseks tuleb luua docrc fail. Esimene jääb su enda ülesandeks, teist asume järgnevalt kirjeldama. Fail docrc näeb üldiselt välja selline: #KDE Config File
[Tree]
Doc dir=dokumentatsiooni html-failide asukoht antud faili suhtes ⪚ php42/
#top level elements
Top Element=nende dokumentide kirjeldus ⪚ &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
Fail docrc jaguneb kaheks osaks: puu ja kontekst. Puusektsioon määrab dokumentatsiooni esitamise dokumentatsiooni kaardil. Näiteks &PHP;-dokumentide korral võid näha midagi sellist: Arvestades ülaltoodut, näeb minu &PHP; docrc välja selline: #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
...
Pane tähele märki # kirjete Getting Started ja Language Reference 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) — nii et kasuta siin oma paremat äranägemist. Sisukord (Table of Contents) on otseviitega failile (ning seetõttu on see näha puuvaates viimasena — kataloogid esimesena!). Tühikud segavat mõju ei avalda, kuid silma peaks peal pidama märkidel & ja <. On tõenäoline, et kõigis &XML;-põhistes &quantaplus;i ressursifailides asendatakse need vastavalt märkidega & ja <. Faili docrc kontekstisektsiooni kasutatakse kontekstitundliku abi pakkumiseks. Oletame näiteks, et kirjutad &PHP; skripti ja tahad näha funktsiooni mysql_fetch_array dokumentatsiooni. Selleks tuleb lihtsalt funktsioon esile tõsta ja vajutada kontekstiabi saamiseks klahvikombinatsiooni &Ctrl;H. Kohe ilmubki nähtavale mysql_fetch_array dokumentatsioon. Siin on ainult kaks kirjetüüpi: ContextList ja failiassotsiatsiooni read. ContextListSee on päris lihtne: komadega eraldatud nimekiri kontekstielementidest, mis sinu arvates peaks olema kättesaadavad (&PHP; puhul on need mõistagi &PHP;-funktsioonid). Failiassotsiatsiooni readNeed on kujul kontekstielement=html-dokumendi lehekülg, ⪚ acos=function.acos.html Minu docrc omajagu kärbitud kontekstisektsioon on selline: #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
...
Nüüd võid faili docrc salvestada vastavalt sellele, kas soovid seda kasutada globaalselt või kohalikult, kataloogi $TDEDIR/share/apps/quanta/doc või $HOME/.trinity/share/apps/quanta/doc. Seejärel loo failiga docrc samas kataloogis alamkataloog (seesama, mille määrasid failis docrc) ning kopeeri sinna oma &HTML;-dokumendid. Kui nüüd taaskäivitad &quantaplus;i, võidki dokumente näha. Kui oled kindel, et dokumendid on asjalikud, ning soovid neid ka teistega jagada, saada fail docrc koos kogu sinu arvates vajaliku infoga &quantaplus;i hoidlasse, 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. Ressursside jagamine&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: E-kirja saatmineRessursse saab saata e-kirjaga sõpradele, partneritele või kellele tahes. Menüükäsku Saada e-postiga võib näha mitmel pool, näiteks DTDSaada DTD pakett (DTEP) e-postiga, TööriistaribadSaada tööriistariba e-postiga, failide ja kataloogide kontekstimenüüs mallide ja skriptide puuvaates. Üleslaadimine peaserverileRessursse 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.Ressursside tõmbamisest peaserverilt räägib .Ü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 Uue kuuma kraami jagamine kõik väljad (Eelvaaatluse URL võib jääda tühjaks) ning alusta üleslaadimist klõpsuga nupule OK.Üleslaadimise saab algatada menüüst DTDLae DTD pakett (DTEP) üles, TööriistaribadLae tööriistariba üles, failide ja kataloogide kontekstimenüüst mallide ja skriptide puuvaates. Ressursside hankimine&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 Lae alla. Täpsemalt leiab sellised käsud menüüst DTDLae DTD pakett (DTEP) alla, TööriistaribadLae tööriistariba alla, failide ja kataloogide kontekstimenüüst mallide ja skriptide puuvaates. 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. Kontrolli kindlasti, et paigaldad ressursse, eriti tööriistaribasid ja skripte, ainult usaldusväärsetest allikatest!DTD teisendamine &DTEP;-ksOma 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 tagXML-vormingus. Seda saab küll ka märksa vähema vaevaga teha - nimelt DTD-d automaatselt DTEP paketiks teisendades. Teisenduse saab käivitada menüükäsuga DTDLaadi ja teisenda DTD. Vali .dtd-fail, milles on defineeritud DTD, mida soovid kasutada, ning seejärel ilmub nähtavale selline dialoog: Kirjed on järgmised:Sihtkataloogi nimi: selle nime all salvestatakse loodav &DTEP; kataloogi $TDEHOME/share/apps/quanta/dtep. Nimi: DTD nimi (definitsioonistring).Hüüdnimi: &DTEP; kasutajale nähtav nimi!DOCTYPE definitsiooni rida: 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"DTD URL:: DTD-failile osutav URLVaikimisi laiend: laiend, mida kasutavad tavaliselt antud DTD-d pruukides kirja pandud failidTõstutundlikud sildid ja atribuudid: see peaks olema enesestmõistetav ja on enamasti õige igasuguste XML-keele variantide korralDTEP täppishäälestus pärast teisendust: 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.