# Sissejuhatus

&kommander; on graafiline dialoogide loomise tööriist, millega võib luua isegi võimsaid rakendusi tingimusel, et aken on algselt loodud Qt Disaineris või malli põhjal &kommander;is. Selle põhiline eesmärk on pakkuda maksimaalseid võimalusi ilma vajaduseta tarvitada mis tahes skriptikeelt. See on saavutatud järgmiste vahenditega:

Palun pane tähele, et käsiraamatus leidub ühilduvuse huvides ka aegunud osasid. Põhimõtteliselt areneb Kommander väga kiiresti ning pidevalt lisandub uusi võimalusi ja omadusi. Allpool on kõigepealt ära toodud kaasajastatud loend, seejärel aga varasem sisu.

- Võimekas seesmine skriptimine - Kommander võimaldab nüüd pesastatud loogilisi struktuure, lihtsaid massiive ja kasulikke funktsioone

- Funktsioinibrauserid - enam ei ole vaja teada funktsiooni või käsu täpset süntaksit, piisab vaid klõpsust nupule ning seejärel klõpsamisest vajalikule kohas programmis. Isegi projektijuhtide meelest on see lihtsam kui aina kirjutamisvigasid paradnada.

- Väga palju vidinaid - Kommander pakub nüüd puu/detailividinat, arvutustabeli laadset tabelividinat, fondidialoogi, värvidialoogi, infodialoogi, taimerit, kaardividinaid, tööriistakasti, hüpikmenüüsid, kuupäevavalijat ja veel paljusid teisi vidinaid.

- Pluginad - Kommanderis on päris lihtne luua pluginaid. Käsiraamatu kirjutamise ajal oli valida järgmiste pluginate seast: andmebaasiplugin, mis pakub mitmeid mittevisuaalseid tööriistu, HTTP-plugin, mis pakub HTTPS võimalust ja ligipääsu parooliga kaitstud aladesse, ning KParti laadija.

- Skriptikeelte toetus - Kommanderi skriptidega saab dialoogis käivitada väga mitmes skriptikeeles skripte.

- KParti loomine - võimalus luua omaenda pluginaid... ja mis veel parem, Kommanderi aknas saab lasta isegi laadida dialoogi KPartina ning seda vahetult kasutada Kommanderi funktsioonide abil!

Nippide osas räägitakse lähemalt, kuidas panna Kommander matkima selliseid programmeerimisvõtteid, nagu faili kaasamine, kohandatud vidinate loomine ja kasutamine, ahendatavate-laiendatavate paneelide kasutamine akendes ja muud päris huvitavad trikid. Nüüd aga järgneb omaduste nii-öelda ajalooline osa.

- Eride ette on lisatud @, näiteks @widgetText. See võimaldab määratleda spetsiaalseid omadusi, nagu vidina väärtus, funktsioonid, aliased, globaalsed muutuja ja nii edasi.

- Põimimine &DCOP;-iga lubab &kommander;i dialoogidel kontrollida muid &kde; rakendusi, aga samas lasta ka ennast nende poolt juhtida. See on tõesti väga võimas omadus!

- Signaalid ja pesad on algajale vahest veidi segasemad. Praegu on veel lahtine, kuidas nende suhtes edasi minna. Igatahes pakuvad nad hetkel piiratud võimalusi sündmusteks näiteks nupu vajutamisel või elemendi muutmisel. Kuid koos populatsioonitekstiga on ka neil väga suured kasutamisvõimalused.

&kommander;i dialoogide kõige olulisem omadus on võimalus siduda teksti (&kommander;i teksti) vidinaga. Kui sul on näiteks @widget1 ja @widget2 ning need on tekstikastid, võid panna &kommander;i nende sisu näitama, sisestades &kommander;i tekstialale @widgetText. Seejärel kirjuta näiteks @widget1 'Tere' ja @widget2 'maailm'.. Nupul võib olla string Minu esimene @widget1 @widget2 programm &kommander;is. Kui nüüd käivitada see dialoog konsoolilt, saad väljundiks 'Minu esimene Tere maailm programm &kommander;is'.

Loodetavasti aitas see sul mingil määral juba näha ees terendavaid hiiglaslikke võimalusi. &kommander; pakub lihtsatele rakendustele väga kiiret kujundamismudelit, sest sa ei pruugi enam pidevalt mõelda programmeerimiskeele eripärale, vaid saad keskenduda põhilisematele asjadele - kontseptsioonidele. Arvutikeeles öelduna paikneb sinu töötasand põhimõttelise kontseptsiooni ja teostuse vahel ning muidu keeruline ja aeganõudev etapp on &kommander;i abil kohe palju lihtsam.

&kommander; püüab ka kinni pidada olemasolevatest standarditest. Rakenduse aluseks on &Qt; Disaineri raamistik ning tegelikult luuakse siin *.ui-faile, mis lihtsalt nimetatakse ümber *.kmdr-failideks. Rakendus suudab hõlpsasti importida mis tahes &kde; vidinaid ning selleks ei ole vaja isegi &kommander;is midagi tõsiselt muuta, vaid lihtsalt kasutada pluginaid.

&kommander;i teine tähelepanuväärne omadus on programmeerimiskeelte nõuete järgimine. Arvutikeeled võivad olla küll imepärased asjad, kuid sageli on neil oma dogmad ja fanaatikud, kes püüavad tihtipeale laiendada oma tegevust ka integreeritud arenduskeskkonnas &GUI; kujundamisel. Paraku on sellise &IDE; kasutusala piiratud inimestega, kes soovitud omaduse kasutamiseks soovivad selgeks teha vastava programmeerimiskeele. Ei ole aga sugugi mõistlik eeldada, et erinevate omaduste kasutamiseks võtab keegi tõesti ette näiteks kümnekonna programmeerimiskeele äraõppimise. Keelte suhtes neutraalne &kommander;, mille dialooge saab laiendada mis tahes skriptikeelt kasutades, on sel moel ennast seadnud positsiooni, kus &kommander;it võib ees oodata laialdane kasutuselevõtt. Ühes ja samas dialoogis saab pruukida erinevaid skriptikeeli, rakendustega võivad tegelda ka need, kes ei valda algse arendaja programmeerimiskeelt, ning sellele vaatamata neid edasi laiendada. Uusi vidinaid ja võimalusi saab aega viitmata teisendada igasse kättesaadavasse programmeerimiskeelde.

Me loodame, et &kommander; omandab tasapisi hea maine arendajate silmis, kes tunnevad ära, millised suured võimalused selles peituvad. Meie lõppsiht on muuta &kommander; tulusaks abivahendiks ka algajatele, et nad võiks oma rakendusi laiendada ja uusi võimalusi liita. Samal ajal peab see jääma ka asjalikuks prototüübivahendiks. Ühtlasi avab &kommander; uued võimalused vaba tarkvara edendamiseks. Me teame, et meie GPL-litsentsiga levitatavaid programme saab laiendada, kuid paraku napib paljudel selleks oskusi. &kommander; aga võib selliste inimeste hulka mitmekordistada! Vähesed rakendused on nii loogilise kasutamisega kui &kommander;. Me ise juba kasutame seda näiteks &quantaplus;-i laiendamisel.

We hope you enjoy &kommander;. Please help us with bug reports and example dialogs, as well as any requests you may have. You can join our user list for help developing &kommander; applications.

&kommander;i arendajate meeskond soovib sulle kõike paremat!