
<!--
Please keep the formatting simple.
Do not indent XML constructs.
Keep lines at 80 characters length maximum.
-->

<chapter id="getting-started">

<chapterinfo>
<authorgroup>
<author><firstname>Bernd</firstname><surname>Pol</surname></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>&tdevelop;i algõpe &mdash; tutvustav ülevaade</title>

<para>Nüüd, kus &tdevelop;i IDE on paigaldatud, kerkib küsimus, midas sellega õieti peale hakata? Et tegemist on keeruka rakendusega, kulub selle tundmaõppimiseks omajagu aega, eriti kui sa pole varem sedalaadi integreeritud arenduskeskkonnaga kokku puutunud.</para>

<para>Me üritame sinu õpiprotsessi lihtsustada, näidates samm-sammult, kuidas luua KDE lhtne C++-keeles rakendus. Selleks vaatleme järgmisi asju:</para>

<simplelist>
<member><link linkend="gettingstarted-overview">Esimene kokkupuude &mdash; &tdevelop;i &IDE; kasutajaliidese elemendid.</link></member>
<member><link linkend="gettingstarted-configure">Esialgne seadistamine.</link></member>
<member><link linkend="gettingstarted-new">Uue projekti loomine.</link>
</member>
<member><link linkend="gettingstarted-edit">Mõned näpunäited dokumentide käsitlemiseks.</link></member>
<member><link linkend="gettingstarted-compile">Rakenduse kompileerimise projektis.</link></member>
<member><link linkend="gettingstarted-extend">Klasside ja muude asjade lisamine projekti.</link></member>
<member><link linkend="gettingstarted-debug">Rakenduse silumine.</link></member>
<member><link linkend="gettingstarted-doc">Mõned põhivahendid rakenduse või kasutaja dokumentatsiooni ehitamiseks.</link></member>
<member><link linkend="gettingstarted-keys">Ja lõpuks - kiirklahvid</link></member>
</simplelist>

<para>Enne alustamist tuleb selgitada üht olulist asja.</para>

<formalpara>
<title>Mida ees oodata?</title>
<para>Nagu öeldud, on &tdevelop; <emphasis>integreeritud arenduskeskkond</emphasis>. See tähendab, et põhimõtteliselt ei ole &tdevelop; mitte arendustööriist, vaid ennekõige graafiline kasutajaliides väga erinevate arendustööriistade lihtsaks kasutamiseks, millest paljud nõuavad muidu käsureal arvukate keeruliste klaviatuurikäskude tundmist.</para>
</formalpara>

<para>Kuigi &tdevelop; üldjuhul lihtsustab nende kasutamist, ei tähenda see, et nende keerukusastmes oleks järeleandmisi tehtud, mis omakorda tähendab, et &tdevelop;i &IDE; täielikuks mõistmiseks tuleb ikkagi aru saada selle taustal tegutsevatest tööriistadest.</para>

<para>Seetõttu ei hakka me õpetama, kuidas tarkvara ehitada, vaid tutvustame hoopis seda, kuidas &tdevelop; aitab seda teha. Kui soovid rohkem teada, milleks on integreeritud arenduskeskkond mõeldud, tasuks tutvuda ajaloolise ülevaatega <link linkend="unixdev">&UNIX; arendustegevus</link>, eriti aga peatükiga <link linkend="unixdev-ide">Kontseptsioonide ja tööriistade lõimimine</link>.</para>

<note>
<para>Järgnevas tutvustuses kasutame vaikimisi seadistusi, mille korral &tdevelop; käivitub <guilabel>lihtsustatud IDEAl aknarežiimis</guilabel>. Kui soovid kasutada mõnda muud kasutajaliidese režiimi, ei pruugi kõik elemendid asuda täpselt samas kohas ega päris samamoodi käituda. Kui sa ei ole kindel, millist kasutajaliidese režiimi &tdevelop; parajasti kasutab, kontrolli seda dialoogis <menuchoice><guimenu>Seadistused</guimenu><guimenuitem>KDevelopi seadistamine...</guimenuitem><guimenuitem>Kasutajaliides</guimenuitem></menuchoice>.</para>
</note>

<sect1 id="gettingstarted-overview">
<title>Kõige esimene pilk &tdevelop;ile</title>

<para>Siin tuleb juttu sellest, mida näeb &tdevelop;i kõige esimesel käivitamisel. Täpsemalt räägitakse järgmistest asjadest:</para>

<simplelist>
<member><link linkend="gettingstarted-overview-basic">Mida üldse näha saab?</link></member>
<member><link linkend="gettingstarted-overview-help">Kuidas abi saada?</link></member>
<member><link linkend="gettingstarted-overview-menu">Mis peitub menüüdes?</link></member>
<member><link linkend="gettingstarted-overview-tools">Milleks on head tööriistavaated?</link></member>
</simplelist>

<sect2 id="gettingstarted-overview-basic">
<title>Väljanägemine</title>

<para>&tdevelop;i esmakordsel käivitamisel avaneb umbes selline vaatepilt:</para>

<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="empty-ide.png" format="PNG"/>
</imageobject>
<caption>
<para>&tdevelop;i esialgne välimus</para>
<para>(Tegelikult on &tdevelop;i esialgne aken suurem, aga elemendid on samad.)</para>
</caption>
</mediaobject>
</screenshot>

<formalpara>
<title>Töötsoon ja tööriistavaate kaardid</title>
<para>Siinsel esialgsel kujul kasutab &tdevelop; niinimetatud <link linkend="uimodes-survey">IDEAl kasutajaliidese režiimi</link>. Maksimaalse suurusega töötsooni ümbritsevad vasakul, all ja paremal nuppude read, mis toimivad samamoodi nagu kaardid kaartidega vaate korral. Mõnel neist kaartidest klõpsates avatakse niinimetatud <emphasis>tööriistavaate aken</emphasis>, kus saad tegutseda mõne konkreetse ülesande kallal.</para>
</formalpara>

<formalpara>
<title>Menüü ja tööriistaribad</title>
<para>Ülal asub, nagu ikka, menüüriba, selle all mitu rida tööriistaribasid, millest osa on algul tühjad. Need täidetakse siis, kui avad projekti ja asud selle kallal tööle.</para>
</formalpara>

<formalpara>
<title>Olekuriba</title>
<para>Päris akna allservas on olekuriba, mis näitab mitmesuguste ülesannete kohta lühiinfot.</para>
</formalpara>
</sect2>

<sect2 id="gettingstarted-overview-help">
<title>Abi</title>

<para>Lisaks menüüst <guimenu>Abi</guimenu> avatavatele võimalustele, mis pakuvad vastuseid konkreetsematele küsimustele, näeb teatud lühiinfot olekuribal ja kaht tüüpi kohtspikritena.</para>

<formalpara>
<title>Mida see menüükirje teeb?</title>
<para>Kui viid hiirekursori mõne menüükirje peale, näed enamasti olekuribal teatud lühiinfot. Tavaliselt see lihtsalt kordab kirje nime, kuid mõnikord annab ka mõnevõrra rohkem infot käsu kohta.</para>
</formalpara>

<formalpara>
<title>Mis on selle elemendi nimi?</title>
<para>Paljude elementide korral ilmub lühiinfoga kohtspikker, kui jätad hiirekursori hetkeks selle kohale seisma. See on kasuks kiiremaks orienteerumiseks tööriistaribadel ja tööriistavaadete kaartidel IDEAl-režiimis, kui &IDE; on seadistatud näitama nuppudel ainult ikoone.</para>
</formalpara>

<formalpara>
<title>Mida see element teeb?</title>
<para>Paljude &IDE; elementide kohta on ka saadaval veidi laiendatumad kohtspikrid. Vali menüükäsk <menuchoice><guimenu>Abi</guimenu><guimenuitem>Mis see on?</guimenuitem></menuchoice> või vajuta kiirklahvi <keycombo><keycap>&Shift;</keycap><keycap>F1</keycap></keycombo>, mille järel hiirekursor võtab küsimärgi kuju. Sellega mõnele elemendile klõpsates näedki pikemat kohtspikrit. Samuti võid avada mõne menüü ja klõpsata menüükirjele (nii aktiivsele kui ka mitteaktiivsele, mis on hallikas), et sellist infot näha.</para>
</formalpara>
</sect2>

<sect2 id="gettingstarted-overview-menu">
<title>Mis peitub menüüdes?</title>

<para>Menüüribal paikneb kümme menüüd. Enamik neist täitub märkimisväärsel määral alles pärast seda, kui oled avanud projekti, millega soovid töötada, mõni aga vajab täitumiseks vähemalt ühe dokumendi lahtiolekut. Lühidalt võimaldavad menüüd ette võtta allpool loetletud asju.</para>

<note>
<para>Siin on toodud ainult ülevaade. Täpsemalt tutvustab menüüsid ja nende sisu osa <link linkend="commands">Käskude seletused</link>.</para>
</note>

<variablelist>
<varlistentry>
<term><guimenu>Fail</guimenu></term>
<listitem>
<formalpara>
<title>Tavalised toimingud</title>
<para>Need on päris tavalised: failide loomine, avamine, salvestamine, trükkimine ja sulgemine ning mõistagi ka &tdevelop;ist väljumine.</para>
</formalpara>

<formalpara>
<title>Taasta kõik</title>
<para>See võimaldab tühistada kõik hiljutised, aga veel salvestamata muudatused, laadides faili kettalt uuesti. See käsk toimib mitte ainult projektifailide, vaid igasuguste failide redigeerimise puhul.</para>
</formalpara>
</listitem>
</varlistentry>

<varlistentry>
<term><guimenu>Redigeerimine</guimenu></term>
<listitem>
<para>See menüü saab kasutada siis, kui dokument on avatud.</para>

<formalpara>
<title>Tavalised toimingud</title>
<para>Siit leiab tavalised tagasivõtmise ja uuestitegemise ning lõikamise, kopeerimise ja asetamise toimingud. Samuti saab siin mitmel moel tekstiplokke valida.</para>
</formalpara>

<formalpara>
<title>Otsimine ja asendamine</title>
<para>Menüüst leiab kaks väga võimsat otsingutööriista: <menuchoice><guimenu>Redigeerimine</guimenu> <guimenuitem>Otsi failidest...</guimenuitem></menuchoice> ja <menuchoice><guimenu>Redigeerimine</guimenu> <guimenuitem>Otsi-vali-asenda...</guimenuitem></menuchoice>Lisaks tavalistele otsimis- ja asendustoimingutele parajasti aktiivses dokumendis võimaldavad need sooritada ka globaalset otsimist ja asendamist. Nii saab kõik oma projekti failid korraga ette võtta.</para>
</formalpara>

<formalpara>
<title>Täiustatud tekstiredigeerimine</title>
<para>Lisaks on mitmeid võimalusi aktiivne dokument ümber vormindada ja lasta automaatselt lõpetada osaliselt kirja pandud tekst.</para>
</formalpara>
</listitem>
</varlistentry>

<varlistentry>
<term><guimenu>Vaade</guimenu></term>
<listitem>
<para>Nagu menüüd <guimenu>Redigeerimine</guimenu>, saab sedagi menüüd õieti ainult siis tarvitada, kui on avatud projekt. Sellisel juhul on seal muu hulgas järgmised toimingud:</para>

<formalpara>
<title>Liikumise ajalugu</title>
<para>Võimaldab liikuda edasi ja tagasi kasutatud dokumentides &etc;</para>
</formalpara>

<formalpara>
<title>Vigade jälgimine</title>
<para>Võimaldab liikuda lähtekoodi reale, kus esines viimase kompileerimise/ehitamise käigus vigu.</para>
</formalpara>

<formalpara>
<title>Redaktoriga seotud toimingud</title>
<para>Mõned kirjed menüüs <guimenu>Vaade</guimenu> lubavad määrata kasutatava redaktori omadusi. Kui selleks on &kate; komponent (põimitud võimas tekstiredaktor), siis saab kasutada järgmisi võimalusi:</para>
</formalpara>

<itemizedlist>
<listitem>
<para>Reamurdmise kontroll dokumendiaknas.</para>
</listitem>
<listitem>
<para>Mitme dokumendiakna serval paikneva elemendi näitamine või peitmine: reanumbrid, ikoonid, samuti järjehoidjamärgid kerimisribal.</para>
</listitem>
<listitem>
<para>Lähtekoodi kokkuvolditud (ajutiselt peidetud) sektsioonide näitamise kontroll.</para>
</listitem>
</itemizedlist>
</listitem>
</varlistentry>

<varlistentry>
<term><guimenu>Projekt</guimenu></term>
<listitem>
<para>Kogu tegevus &tdevelop;is on koondunud <emphasis>projektide</emphasis> ümber, mis koondavad endasse lähtekoodifaile, ehitamise haldamisega seotud faile ja muud informatsiooni. Selles menüüs saab määrata, millist projekti kasutada, millised on selle omaduse ja veel üht-teist. Märkimist väärivad järgmised võimalused:</para>

<formalpara>
<title>Ava projekt</title>
<para>Võimaldab luua uusi projekte, avada olemasolevaid ja importida projekte teistest keskkondadest.</para>
</formalpara>

<formalpara>
<title>Projekti valikud</title>
<para>Võimalus määrata terve hulk projektide omadusi.</para>
</formalpara>

<formalpara>
<title>Klasside haldamine</title>
<para>Võimalus lisada projekti uusi klasse ja uurida klasside päriluspuud.</para>
</formalpara>

<formalpara>
<title>Projekti levitamine</title>
<para>Võimalus ehitada projekti levitamispaketid (distributsioon).</para>
</formalpara>
</listitem>
</varlistentry>

<varlistentry>
<term><guimenu>Ehitamine</guimenu></term>
<listitem>
<para>Selle menüü sisuks on projekti kompileerimine ja dokumenteerimine. Sellel on ennekõike mõtet avatud projekti korral. Sellisel juhul on siin järgmised võimalused:</para>

<formalpara>
<title>Kompileerimine, linkimine, käivitamine</title>
<para>Võimalus kompileerida ja linkida terve projekt või selle osad ning käivitada rakendus &IDE; seest.</para>
</formalpara>

<formalpara>
<title>Ehitamise ettevalmistamise toimingud</title>
<para>See sõltub oluliselt ehitamissüsteemist, mida sa projektis kasutad. Automake'i projektide korral saab tööle panna <filename>Makefile.cvs</filename> ja <filename>configure</filename>. Samuti saab tõlgitud failid projektist eemaldada.</para>
</formalpara>

<formalpara>
<title>Rakenduse paigaldamine</title>
<para>Võimaldab paigaldada rakenduse nii kohalikesse kataloogidesse kui ka süsteemsetesse kataloogidesse, mida saab kasutada ainult administraator (root).</para>
</formalpara>

<formalpara>
<title>API dokumentatsioon</title>
<para>Võimaldab ehitada või eemaldada projekti Doxygeni-põhise API dokumentatsiooni vastavalt projekti valikutele.</para>
</formalpara>
</listitem>
</varlistentry>

<varlistentry>
<term><guimenu>Silumine</guimenu></term>
<listitem>
<para>Kuigi see menüü täidetakse kirjetega kohe, kui projekt on aktiivne, on sellest mõistagi ennekõike kasu siis, kui projekt on juba kompileeritud koos silumisinfoga (selle saab kindlaks määrata menüükäsuga <menuchoice><guimenu>Projekt</guimenu><guimenuitem>Projekti valikud...</guimenuitem></menuchoice>). Sellisel juhul on seal järgmised võimalused:</para>

<formalpara>
<title>Tavalised siluri toimingud</title>
<para>Menüü <guimenu>Silumine</guimenu> esimesed kirjed avavad &GNU; siluri GDB graafilise kasutajaliidese. See lubab käivitada ja peatada oma rakenduse siluris ning seda mitmel moel läbida.</para>
</formalpara>

<formalpara>
<title>Katkestuspunktid</title>
<para>&tdevelop; pakub mitmeid võimalusi määrata oma rakenduse lähtekoodi katkestuspunkte. Üks võimalus on kasutada menüükäsku <guimenuitem>Muuda katkestuspunkti</guimenuitem>.</para>
</formalpara>

<formalpara>
<title>Põhjalikum silumine</title>
<para>Muud menüü <guimenu>Silumine</guimenu> kirjed võimaldavad veelgi üksikasjalikumat programmi analüüsi. Nende kohta info nägemiseks kasuta kiirklahvi  <keycombo><keycap>&Shift;</keycap><keycap>F1</keycap></keycombo>.</para>
</formalpara>
</listitem>
</varlistentry>

<varlistentry>
<term><guimenu>Skriptid</guimenu></term>
<listitem>
<para>Selle menüü abil saab välja kutsuda mitmesuguseid skripte, mis lihtsustavad tülikamaid toiminguid parajasti valitud rekdatoriaknas oleva tekstiga. Võimalikud toimingud sõltuvad mõistagi valitud skriptist. </para>
</listitem>
</varlistentry>

<varlistentry>
<term><guimenu>Aken</guimenu></term>
<listitem>
<para>Selle sisu on üsna tavapärane. Sa saad valida mis tahes avatud dokumendiakna või neid sulgeda. Samuti võid valida mitme dokumendiakna sulgemise korraga.</para>

<para>Sõltuvalt redaktoripluginast võib menüüelemente rohkemgi olla. Näiteks vaikimisi kasutatav Kate redaktori plugin võimaldab lisaks redaktoriakna poolitada nii rõhtsalt kui ka püstiselt.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><guimenu>Tööriistad</guimenu></term>
<listitem>
<para>&tdevelop; on igati kohandatav. Sa võid valida oma dokumentidele meelepärase redaktori, lisaks saab kasutada väliseid ja pluginatest tööriistu, mis laiendavad tublisti &IDE; võimalusi. Enamik neist tööriistadest ongi kasutatavad menüü <guimenu>Tööriistad</guimenu> vahendusel.</para>

<formalpara>
<title>Põhjalikum redigeerimine</title>
<para>Menüü <guimenu>Tööriistad</guimenu> ülemine osa on pärit kasutatavast redaktoripluginast. Lemmikredaktori saad valida menüükäsuga <menuchoice><guimenu>Seadistused</guimenu> <guimenuitem>KDevelopi seadistamine...</guimenuitem> <guilabel>Redaktor</guilabel></menuchoice>. Kui oled avanud redigeeritava dokumendi, võimaldab menüü <guimenu>Tööriistad</guimenu> ülemine osa kasutada mitmeid täiustatud redigeerimise käske.</para>
</formalpara>

<formalpara>
<title>Veebisaidi haldamine</title>
<para>Kui aktiivne dokumendiaken sisaldab HTML-lehekülge (&eg; sellist, mida näitab sektsioon <guilabel>Dokumentatsioon</guilabel>), on menüüs <guimenu>Tööriistad</guimenu> teatud kirjed, mis lubavad hallata veebilehekülgi.</para>
</formalpara>

<formalpara>
<title>Muud tööriistad</title>
<para>Tavaliselt on menüüs veel terve rida tööriistu vastavalt sellele, mida parajasti teed. Nende kohta info nägemiseks kasuta kiirklahvi  <keycombo><keycap>&Shift;</keycap><keycap>F1</keycap></keycombo>.</para>
</formalpara>
</listitem>
</varlistentry>

<varlistentry>
<term><guimenu>Seadistused</guimenu></term>
<listitem>
<para>See menüü lubab näidata või peita menüüriba, tööriistaribad ja olekuriba. Samuti saad seadistada kiirklahve, tööriistaribasid, märguandeid, redaktorit ja &tdevelop;i üldist käitumist.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><guimenu>Abi</guimenu></term>
<listitem>
<para>Siin saab avada KDevelopi käsiraamatu, lugeda Qt dokumentatsiooni, avada manuaalilehekülgi (tavapärane UNIX-i man-lehekülgede vormindus) ja infolehekülgi (GNU manuaalide vormindus), anda teada vigadest ning näha infot KDevelopi versiooni ja autorite kohta.</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>

<sect2 id="gettingstarted-overview-tools">
<title>Milleks on mõeldud tööriistavaated?</title>

<para>IDEAli kasutajaliidese režiimi korral ümbritseb töötsooni kolm nuppudeala ehk <emphasis>tööriistavaadete kaardid</emphasis>. Need võimaldavad kasutada <emphasis>tööriistavaadete aknaid</emphasis>, mille abil sooritataksegi peamised tarkvaraarenduse ülesanded. Kõigil kolmel tööriistavaate alal on oma ülesanne.</para>

<itemizedlist>
<listitem>
<formalpara>
<title>Vasak pool</title>
<para>Need vaated pakuvad liikumis- ja valikutööriistu</para>
</formalpara>
</listitem>

<listitem>
<formalpara>
<title>All</title>
<para>Need vaated näitavad erinevate tööriistade teateid.</para>
</formalpara>
</listitem>

<listitem>
<formalpara>
<title>Parem pool</title>
<para>Need vaated pakuvad dokumentatsiooni ja lähtekoodi haldamise tööriistu.</para>
</formalpara>
</listitem>
</itemizedlist>

<para>Näidatavate tööriistavaadete kaartide arv muutub niipea, kui avatakse projekt. Seejärel saab kasutada arvukaid tööriistu, mis võimaldavad projektiga töötada. Tööriistavaadete tegelik arv sõltub <link linkend="plugin-tools">pluginatööriistadest</link>, mida &tdevelop; parajasti kasutada saab. Sellest räägib pikemalt <link linkend="setup">KDevelopi seadistamisest</link> kõnelev peatükk.</para>

<para>Hetkel, kui avatud ei ole ühtegi projekti ning laaditud on vaid vaikimisi pluginatööriistad, võib näha järgmisi tööriistavaateid. Kaardil klõpsates avatakse tööriist oma tööriistavaate aknas.</para>

<variablelist>
<varlistentry>
<term>Liikumine ja valik</term>
<listitem>
<formalpara>
<title>Failivalija</title>
<para>Pakub paneeli, mis lubab kataloogipuus liikuda ja valida tööks vajalikud failid samamoodi nagu &konqueror;is. Failil klõpsates avatakse see vajaliku redaktoriga töötsoonis. Failivalijas hiire parema nupuga klõpsates avatakse liikumise ja failikäsitlemise võimalusi pakkuv kontekstimenüü.</para>
</formalpara>

<formalpara>
<title>Failinimekiri</title>
<para>Loetleb avatud failid. Klõps failil avab üldjuhul selle töötsoonis redaktoriaknas. Seda saab kasutada kiireks liikumiseks, kui avatud on palju faile. Lisaks võimaldab see vaade korraldada avatud failid erinevateks <emphasis>seanssideks</emphasis>. See on eriti kasulik väga suurte ja keeruliste projektide puhul, lubades arendajal keskenduda erinevatele ülesannetele. Hiire parema nupuga klõpsates avaneb failikäsitlemise võimalusi pakkuv kontekstimenüü.</para>
</formalpara>
</listitem>
</varlistentry>

<varlistentry>
<term>Teadete näitamine</term>
<listitem>
<formalpara>
<title>Rakendus</title>
<para>Näitab &tdevelop;is käivitatud rakenduse väljundit.</para>
</formalpara>

<formalpara>
<title>Erinevused</title>
<para>Kasutatakse paigafaili sisu esitamisel. Näitab erinevuste näitaja väljundit, mis on käivitatud menüükäsuga <menuchoice><guimenu>Tööriistad</guimenu> <guimenuitem>Erinevuste näitaja...</guimenuitem></menuchoice></para>
</formalpara>

<formalpara>
<title>Teated</title>
<para>Näitab &tdevelop;is (tavaliselt menüüst <guimenu>Ehitamine</guimenu>) käivitatud ehitamistööriistade teateid.</para>
</formalpara>

<formalpara>
<title>Failides otsimine</title>
<para>Näitab tulemusi, mis leiti otsinguoperatsiooniga, mis käivitati menüükäsuga <menuchoice><guimenu>Redigeerimine</guimenu><guimenuitem>Otsi failidest...</guimenuitem></menuchoice> Klõpsuga reale avatakse redaktoriaknas otsekohe vajalik fail vajaliku asukohaga.</para>
</formalpara>

<formalpara>
<title>Asendamine</title>
<para>Näitab tulemusi, mis leiti otsingu-asendamisoperatsiooniga, mis käivitati menüükäsuga <menuchoice><guimenu>Redigeerimine</guimenu><guimenuitem>Otsi-vali-asenda...</guimenuitem></menuchoice> Siin saab iga leitud tulemuse puhul otsustada, kas see asendada või mitte.</para>
</formalpara>
<note>
<para>Otsingu-asendamisvõimalus avaneb alles pärast seda, kui projekt on &tdevelop;is avatud. Vastasel juhul ei saa menüükäsku <menuchoice><guimenu>Redigeerimine</guimenu><guimenuitem>Otsi-vali-asenda</guimenuitem></menuchoice> kasutada.</para>
</note>

<formalpara>
<title>Konsool</title>
<para>Avab &kde; <application>Konsooli</application> ehk terminaliemulaatori, kus saab kasutada klaviatuurikäske nagu tavapärases &UNIX; käsurealiideses.</para>
</formalpara>
</listitem>
</varlistentry>

<varlistentry>
<term>Dokumentatsiooni ja lähtekoodi käsitlemine</term>
<listitem>
<formalpara>
<title>Dokumentatsioon</title>
<para>&tdevelop; võimaldab selle tööriista abil kasutada väga mitmesugust dokumentatsiooni. Siin näeb enamasti kuskil võrgus paiknevaid dokumendifaile struktureeritult. Samuti pääseb mitmel moel ligi väärtuslikule teabele &kde; või &Qt; käsiraamatutes.</para>
</formalpara>

<para>Täpsemalt räägivad sellest peatükid <link linkend="documentation">Dokumentatsioon</link> ja <link linkend="setup-docu">Dokumentatsiooni seadistamine</link>.</para>

<formalpara>
<title>Koodijupid</title>
<para>See tööriist võimaldab valitud teksti salvestada hilisemaks kasutamiseks. See on väga paindlik tööriist, sest koodijupid võivad sisaldada ka terve rea muutujaid, mis saavad tegeliku väärtuse siis, kui lisad koodijupu kuhugi teksti.</para>
</formalpara>
<para>Täpsemalt räägivad sellest peatükid <link linkend="editing-snippets">Koodijupid</link> ja <link linkend="setup-snippets">Koodijuppide tööriista seadistamine</link>.</para>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>

<sect1 id="gettingstarted-configure">
<title>Veidi seadistamisest</title>

<para>Enne seda, kui oma näidisporjektiga alustada, tuleks &tdevelop; oma vajadustele kohandada. Ehkki enamik vaikeseadistusi on igati mõistlikud, on siiski mõned asjad, mida võib olla mõistlik üle vaadata ja oma käe järgi seada.</para>

<note>
<para>&tdevelop;i seadistamisest kõneleb pikemalt peatükk <link linkend="setup">KDevelopi seadistamine</link>.</para>
</note>

<sect2 id="gettingstarted-configure-general">
<title>Mõned üldised seadistused</title>

<para>&tdevelop;i seadistamiseks klõpsa menüül <menuchoice><guimenu>Seadistused</guimenu></menuchoice> ja vali <menuchoice><guimenuitem>KDevelopi seadistamine...</guimenuitem></menuchoice>. Ilmub dialoog <guilabel>KDevelopi seadistused</guilabel>, mis näitab paremal pool kaarti <guilabel>Üldine</guilabel>.</para>

<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="configure-general.png" format="PNG"/>
</imageobject>
<caption>
<para>&tdevelop;i üldiste seadistuste dialoog</para>
</caption>
</mediaobject>
</screenshot>

<para>Enamik vaikeväärtusi on arvatavasti mõistlikud, kuid võib juhtuda, et soovid kaht asja siiski muuta.</para>

<formalpara>
<title>Projektide vaikimisi kataloog</title>
<para>&tdevelop;i esmakäivitusel on selleks arvatavasti sinu kodukataloog. Enamik inimesi eelistab siiski tarkvaraarenduseks kasutada mõnda konkreetsemat projektikataloogi. Kirjuta tekstikasti kataloogi nimi, mida soovid kasutada. Selle võib ka valida kataloogipuust, kui klõpsad kastist parem pool asuvale ikoonile <guilabel>Ava failidialoog</guilabel>.</para>
</formalpara>

<para>Me eeldame oma näites, et tegemist on kasutajaga <filename class="directory">devel</filename>. Sestap asenda ise katsetades <quote>devel</quote> enda kasutajanimega. Meie kasutaja devel pruugib arendustegevuseks kataloogi <filename class="directory">/home/devel/projektid</filename>. Ka siin tuleb ise katsetades asendada <filename class="directory">projektid</filename> oma tegeliku arendusprojektide kataloogi nimega. </para>

<para>&tdevelop; loob vaikimisi selles kataloogis igale projektile oma alamkataloogi. See tähendab, et &eg; projekt <quote>Hello</quote> asub kataloogis <filename class="directory">/home/devel/projektid/hello</filename>.</para>

<para>Mainitud kataloogiseadistust võib mõistagi vajaduse korral ka ajutiselt tühistada. Sellest räägib lähemalt peatükk <link linkend="applicationwizard">Rakenduse nõustaja</link>.</para>

<formalpara>
<title>Kompilaatori väljund</title>
<para>Kui &tdevelop; lähtekoodi kompileerib, näitab ta ka <application>make</application>'i' ja teiste ehitamistööriistade teateid töötsooni allosas asuvas aknas <guilabel>Teated</guilabel>. Tavaliselt on need väga teaberohked. Parema ülevaate saamiseks toimuvast võib &tdevelop; neid teateid kärpida.</para>
</formalpara>

<para>Sõltuvalt &tdevelop;i versioonist on <guilabel>kompilaatori väljund</guilabel> arvatavasti vaikimisi <quote>pikk</quote>, mis tähendab, et näidatakse täeilikult kõigi teadete sisu. Selle asemel võib valida märksa mugavama variandi <quote>väga lühike</quote>. Vali see lihtsalt rippmenüüst.</para>

<caution>
<para>Pane siiski tähele, et sel juhul näidatakse <guilabel>teadete</guilabel> aknas ainult <emphasis>kõige põhilisemat</emphasis> teavet. Vigade korral &eg; ehitamise ajal soovid arvatavasti näha märksa rohkem või isegi päris kõiki teateid. Need ei lähe siiski kaotsi. Klõpsa lihtsalt hiire parema nupuga aknas <guilabel>Teated</guilabel> ja vali kontekstimenüüst &eg; <quote>Täielik kompilaatori väljund</quote>.</para>
</caution>
</sect2>

<sect2 id="gettingstarted-configure-search">
<title>Dokumentatsiooniotsingu indeksite initsialiseerimine</title>

<para>On veel üks, vahest mitte nii silmatorkav asi, mida võiks enne tegeliku arendustegevuse alustamist ette võtta. Arvatavasti läheb arenduse käigus sageli vaja dokumendiotsingut. &tdevelop; vajab enne seda mõningate otsinguindeksite loomist. Teeme siis seda, enne kui alustame esimesi samme &tdevelop;i tegelikul kasutamisel.</para>

<para>Ava &tdevelop;i peaakna paremas servas tööriistavaade <guilabel>Dokumentatsioon</guilabel>. Seejärel ava seal dialoog <guilabel>Otsing</guilabel>.</para>

<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="documents-search.png" format="PNG"/>
</imageobject>
<caption><para>Otsinguindeksite genereerimine.</para></caption>
</mediaobject>
</screenshot>

<para>Nüüd klõpsa nupule <guibutton>Värskenda seadistust</guibutton>, mis tagab, et põhilised otsingutööriistad on korrektselt häälestatud. Ilmub dialoog teatega <quote>Konfiguratsioonifail värskendatud</quote>. Klõpsa <guibutton>OK</guibutton> ja dialoog kaob.</para>

<para>Seejärel on &tdevelop; valmis parsima teadaolevat dokumentatsiooni ja looma selle põhjal otsinguindeksid. Klõpsa paremal pool asuvale nupule <guibutton>Värskenda indeksit</guibutton>. Nüüd ilmub dialoog <guilabel>Otsinguindeksi genereerimine</guilabel>, mis näitab indeksi loomise toimingute edenemist.</para>

<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="configure-docu-indexgen.png" format="PNG"/>
</imageobject>
<caption><para>&tdevelop; genereerib dokumentatsiooniotsingu indeksid.</para></caption>
</mediaobject>
</screenshot>

<para>See võtab sõltuvalt dokumentatsiooni mahust ja sinu masina kiirusest omajagu aega. Kuid lõpuks asendub nupp <guibutton>Loobu</guibutton> nupuga <guibutton>OK</guibutton>. Klõpsa sellele.</para>

<note>
<itemizedlist>
<listitem>
<para>Üldjuhul peaks asi toimima kiiresti ja edukalt. Mõnel juhul ei pruugi programm <application>htdig</application>, mida &tdevelop; tarvitab täistekstiotsingu sooritamiseks, olla korrektselt seadistatud. Sel juhul otsi täpsemat abi peatükist <link linkend="setup-docu-textsearch">Tekstiotsingu indeksite seadistamine</link>.</para>
</listitem>
<listitem>
<para>&kde; ja &Qt; spetsiifilises API dokumentatsioonis otsimiseks on vaja, et &tdevelop;i paigaldamise ajal oleks olemas <emphasis>KDELibs Apidocs</emphasis>. Kui sul tekib probleeme indeksite ehitamisega või <link linkend="gettingstarted-edit-defs">identifikaatorite otsinguga</link>, millest tuleb juttu veidi hiljem, kontrolli, kas dokumentatsioon on ikka olemas ja &tdevelop; pääseb sellele ligi. Täpsemalt räägib sellest osa <link linkend="tdevelop-install">KDevelopi paigaldamine</link>.</para>
</listitem>
</itemizedlist>
</note>
</sect2>
</sect1>


<sect1 id="gettingstarted-new">
<title>Uue projekti alustamine</title>

<para>Peaaegu kõik rakendused koosnevad kümnetest, sadadest või isegi tuhandetest failidest, mis peavad olema kindlalt struktureeritud ja hästi hallatavad. Selleks on tarkvaraarendus &tdevelop;is korraldatud <emphasis>projektidena</emphasis>. Seepärast on esimene samm tarkvara arendamisel &tdevelop;iga tavaliselt uue projekti loomine.</para>

<para>Õnneks on see väga lihtne. &tdevelop; pakub selleks spetsiaalse tööriista Rakenduse nõustaja (täpsemalt räägib sellest peatükk <link linkend="applicationwizard">Alustamine &mdash; Rakenduse nõustaja</link>).</para>

<para>Me alustame praegu lihtsa &kde; rakenduse projektiga, et demonstreerida, kui lihtne see on ning milliseid faile ja tööriistu &tdevelop; selleks pakub. Seepärast vaatleme lühidalt järgmisi asju:</para>

<simplelist>
<member><link linkend="gettingstarted-new-setup">Kuidas luua uus projekt rakenduse nõustaja abil?</link></member>
<member><link linkend="gettingstarted-new-files">Millised failid rakenduse nõustaja algselt loob?</link></member>
<member><link linkend="gettingstarted-new-toolviews">Millised täiendavad tööriistavaated avatakse projekti puhul?</link></member>
</simplelist>

<sect2 id="gettingstarted-new-setup">
<title>Uue projekti loomine</title>

<para>Loome päris lihtsa &kde; <quote>Hello World</quote> projekti. Selleks järgi alltoodud samme.</para>

<procedure>
<step>
<para>Ava rakenduse nõustaja menüükäsuga <menuchoice><guimenu>Projekt</guimenu> <guimenuitem>Uus projekt...</guimenuitem></menuchoice></para>
</step>

<step>
<para>Ilmub dialoog <guilabel>Uue projekti loomine</guilabel>. Selle olemises osas asuvas aknas <guilabel>Kõik projektid</guilabel> on ära toodud mitu programmeerimiskeelt.</para>

<substeps>
<step>
<para>Me soovime luua tavapärase &kde; C++ rakenduse, sestap klõpsa kirjest <guilabel>C++</guilabel> vasakul asuvale ikoonile <guilabel>+</guilabel>, et kirje avada.</para>
</step>

<step>
<para>Nüüd näeb mitut võimaliku rakendusetüüpi. Me soovime ehitada &kde; rakenduse, sestap klõpsa kirje <guilabel>KDE</guilabel> ees asuvale ikoonile <guilabel>+</guilabel>.</para>
</step>

<step>
<para>Siin näeb tervet rida <emphasis>projektimalle</emphasis>. Liigu nende seas allapoole ja klõpsa kirjel <guilabel>Lihtne KDE rakendus</guilabel>.</para>

<para>Kahes parempoolses aknas näeb sellele projektimallile tugineva rakenduse eelvaatlust ja lühikirjeldust.</para>

<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="tutorial-new-project.png" format="PNG"/>
</imageobject>
<caption>
<para><quote>Hello World</quote> projektimalli valimine</para>
</caption>
</mediaobject></screenshot>
</step>

<step>
<para>Rakendus vajab ka nime. Kirjuta all paiknevas sektsioonis <guilabel>Omadused</guilabel> kasti <guilabel>Rakenduse nimi</guilabel> meelepärane nimi.</para>

<para>Me kasutame oma näites nime <quote>Hello</quote>, aga mõistagi võid anda sellele mis tahes nime tingimusel, et kasutad ainult tähti, numbreid ja alakriipse. Kui kirjutad midagi muud, näed, et nõustaja ei luba sul edasi liikuda.</para>
</step>

<step>
<para>Kontrolli, kas tekstikastis <guilabel>Asukoht</guilabel> seisab ikka sinu projektikataloogi nimi, nagu see on määratud vastavalt eeltoodud peatüki <link linkend="gettingstarted-configure">Veidi seadistamisest</link> juhistele. Kui see pole nii, kirjuta korrektse kataloogi nimi või vali see kataloogide loendist, mille saab avada paremal asuvale kataloogiikoonile klõpsates.</para>

<para>Kui kõik on korras, näitab tekstikast <guilabel>Lõplik asukoht</guilabel> kataloogi, kuhu uus projekt paigutatakse. Kui selle taga seisab <quote>(vigane)</quote>, proovi anda projektile mõni nmuu nimi ja/või kontrolli, kas kataloog, mis on antud tekstikastis <guilabel>Asukoht</guilabel>, on ikka olemas ja sul on selles kirjutamisõigus.</para>
</step>

<step>
<para>Kui kõik on õige, saab dialoogi allservas kasutada nuppu <guibutton>Järgmine</guibutton>. Klõpsa sellele.</para>
</step>
</substeps>
</step>

<step>
<para>Nüüd avaneb dialoog <guilabel>Projekti seadistused</guilabel>. Kontrolli, kas tekstikastid <guilabel>Autor</guilabel> ja <guilabel>E-post</guilabel> sisaldavad korrektseid andmeid. Tavaliselt kasutatakse neis sinu &kde; kasutajaseadistuste vaikeväärtusi, nagu need on kirjas &kde; juhtimiskeskuse dialoogis <guilabel>Parool ja kasutajanimi</guilabel>. Kui see nii pole, muuda neid, et need vastaksid sinu soovidele.</para>

<screenshot id="gettingstarted-new-setup-options">
<mediaobject>
<imageobject>
<imagedata fileref="tutorial-hello-options.png" format="PNG"/>
</imageobject>
<caption>
<para>Nime ja soovi korral e-posti aadressi määramine.</para>
</caption>
</mediaobject>
</screenshot>

<note>
<para>Anda tuleb vähemalt <guilabel>autori</guilabel> nimi. See on rakenduse failide loomiseks kohustuslik.</para>
</note>

<para>Kui kõik on korras, saab kasutada nuppu <guibutton>Järgmine</guibutton>. Klõpsa sellele.</para>
</step>

<step>
<para>Järgnevad dialoogid <guilabel>Versioonikontrollisüsteem</guilabel>, <guilabel>.h-failide mall</guilabel> ja <guilabel>.cpp-failide mall</guilabel> ei paku meile antud hetkel huvi. Klõpsa neis lihtsalt nupule <guibutton>Järgmine</guibutton> ning lõpuks nupule <guibutton>Lõpeta</guibutton>.</para>
</step>
</procedure>

<para>Ongi kõik! Rakenduse nõustaja asub nüüd tegevusse ja loob <guilabel>lõplikus asukohas</guilabel>, mille määrasid nõustaja teisel sammul, rea esialgseid faile.</para>

<para>Kui failid loodud, avab &tdevelop; redaktoriakna <emphasis>rakenduse peaakna</emphasis> teostusfailiga (selleks on meie näites <filename>hello.cpp</filename>), et võiksid kohe tegutsema asuda.</para>
</sect2>

<sect2 id="gettingstarted-new-files">
<title>Algsed projektifailid</title>

<para>Ehkki meie näidisporjekt Hello on päris lihtne, lõi rakenduse nõustaja selle jaoks terve rea lähtekoodi- ja projektihaldusfaile. Neist saab ülevaate, kui avada vasakul all tööriistavaade <guilabel>Failipuu</guilabel>. Seal on ära toodud pildil näidatud failinimekiri.</para>

<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="tutorial-hello-new.png" format="PNG"/>
</imageobject>
<caption>
<para>Projekti <quote>Hello World</quote> esialgsed failid</para>
</caption>
</mediaobject>
</screenshot>

<para>Näitamaks peamisi nõustaja tekitatud faile, avasime tööriistavaates <guilabel>Failipuu</guilabel> enamiku katalooge. Klõpsa kirjetel ise, et asja lähemalt uurida.</para>

<para>Lisaks sellele avasime ka enamiku kirjeid paremal paiknevas tööriistavaates <guilabel>Automake'i haldur</guilabel>, kus samuti on ära toodud mõned projekti lähtekoodifailid.</para>

<sect3 id="gettingstarted-new-files-copyright">
<title>Autoriõiguse küsimused</title>

<para>Kõik &GNU; nõuetele vastavad rakendused peavad sisaldama autoriõiguse teavet. Seda läheb vaja kahel tasandil: <emphasis>konkreetsed lähtekoodifailid</emphasis> ning <emphasis>rakenduse käitusaeg</emphasis>. Nõustaja lisas juba projekti vajaliku autoriõiguse ja litsentsiteabe.</para>

<formalpara>
<title>Lähtekoodifailide autoriõigus</title>
<para>Mäletad veel uue projekti loomisel esinenud dialoogi <link linkend="gettingstarted-new-setup-options"><guilabel>Projekti seadistused</guilabel></link>? Seal tuli anda oma (s.t. arendaja) nimi ja soovi korral ka e-posti aadress. Nüüd vaata parajasti töötsoonis redaktoriaknas avatud faili <guilabel>hello.cpp</guilabel> ülaossa. Rakenduse nõustaja lisas need iga loodud lähtekoodifaili litsentsipäise algusse.</para>
</formalpara>

<programlisting>/***************************************************************************
 *   Copyright (C) 2006 by Joe User   *
 *   joe@user.com   *
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
</programlisting>

<para>Täpselt sama teksti leiab kõigist lähtekoodifailidest, mis luuakse &tdevelop;is (seda muidugi tingimusel, et kasutad failide loomiseks ikka KDevelopi enda tööriistu). &tdevelop; jätab need seadistused meelde teatud mallifailides, mille leiad kataloogis <filename class="directory">templates</filename>.</para>

<formalpara>
<title>Rakenduse käitusaegsed autoriõigused</title>
<para>Kui sinu &kde; rakendus töötab, võib kasutajal tekkida huvi uurida selle <guilabel>infot</guilabel>, mille saab tavaliselt avada menüüst <guimenu>Abi</guimenu>. Rakenduse nõustaja kannab ka selle eest hoolt. Kui vaatad faili <filename>main.cpp</filename>, näed seal midagi sellist.</para>
</formalpara>

<programlisting>int main(int argc, char **argv)
{
    TDEAboutData about("hello", I18N_NOOP("Hello"), version, description,
                     TDEAboutData::License_GPL, "(C) 2006 Joe User", 0, 0,
                     "joe@user.com");
    about.addAuthor( "Joe User", 0, "joe@user.com" );
</programlisting>

<para>See seab arendaja nime (meie näites <quote>Jose User</quote>) ja e-posti aadressi autoriõigusi näitavasse <guilabel>info</guilabel>dialoogi ning näitab nime ja aadressi ka sama dialoogi <guilabel>autorite</guilabel> kaardil.</para>

<important>
<para>Kui teed olemasolevasse projekti vähegi olulisemaid muudatusi, lisa kindlasti oma nimi ja e-posti aadress autoriõiguste osasse kõigis failides, mida muutsid, samuti käitusaja autoriõiguste osasse. Siin pole vaja midagi häbeneda: oma andmeid andes aitad sa tegelikult kaasa avatud tarkvara kogukonna arengule.</para>
</important>
</sect3>

<sect3 id="gettingstarted-new-files-source">
<title>Algsed lähtekoodifailid</title>

<para>Rakenduse nõustaja paigutab lähtekoodifailid projektikataloogi alamkataloogi <filename class="directory">src</filename>. Oodatult leiab sealt failid <filename>main.cpp</filename>, <filename>hello.h</filename> ja <filename>hello.cpp</filename>.</para>

<para>Lisaks on seal veel mõned failid, mis tavaliselt käivad kaasas iga &kde; rakendusega, nimelt</para>

<itemizedlist>
<listitem>
<para><filename>hello.desktop</filename> sisaldab mõningaid metaandmeid, mida &tdevelop; kasutab rakenduse hooldamiseks ja käivitamiseks.</para>
</listitem>

<listitem>
<para><filename>hi16-app-hello.png</filename> ja <filename>hi32-app-hello.png</filename> sisaldavad esialgseid vaikeikoone, mida &tdevelop; kasutab rakenduse kuvamisel.</para>
</listitem>

<listitem>
<para>Fail <filename>helloui.rc</filename> sisaldab rakenduse kasutajaliidese kirjeldust, hetkel ennekõike menüüsid, mida rakendus pakub.</para>
</listitem>
</itemizedlist>
</sect3>

<sect3 id="gettingstarted-new-files-doc">
<title>Algne rakenduse dokumentatsioon</title>

<para>Projekti alamkataloogis <filename class="directory">doc/en</filename> sisaldab faili <filename>index.docbook</filename>. See on vaikimis mall, mille põhjal saab hakata kirjutama tegelikku kasutaja dokumentatsiooni.</para>
</sect3>

<sect3 id="gettingstarted-new-files-project">
<title>Projekti- ja lisafailid</title>

<para>Vahest märkasid, et seni tutvustatud failid on tööriistavaates <guilabel>Failipuu</guilabel> ära toodud rasvasena, paljud failid on seal aga tavalises kirjas. See tähistab seda, et viimati mainitud failid on mõeldud hoopis muudeks ülesanneteks. Rasvasena toodud failid mõjutavad otseselt rakendust. Lähtekoodifailid pakuvad koodi, mis paneb rakenduse tööle, teised failid pakuvad vajalikke andmeid või dokumentatsiooni. Neid peab haldama ja ehitamisjärgus korrektselt töötlema projekt ise, mistõttu neid nimetataksegi <emphasis>projektfailideks</emphasis>.</para>

<para>Kui vaadata, töötsooni parempooles alumises osas paiknevat <guilabel>Automake'i haldurit</guilabel>, võib projektifaile näha ka seal. Automake'i haldur kasutab neid ära ehitamise juhtimisel, nagu me peagi näeme.</para>

<para>Ülejäänud, tavalises kirjas failid on täiendavad failid. Need jagunevad mitmesse klassi:</para>

<itemizedlist>
<listitem>
<formalpara>
<title>Projekti ehitamise juhtimine</title>
<para>Need failid juhivad kompileerimist, paigaldamist, dokumentatsiooni loomist ja muid protsesse. Kui projekt kasutab &GNU; <application>autotools</application>'i vahendeid, nagu meie näide, siis leiab igas projektikataloogis faili <filename>Makefile.am</filename>. Need on ehitamiseks kasutatava programmi make tuumikfailid, mis juhivad ehitamist ja mida töödeldakse ehitamise käigus mitmesuguste <filename>configure</filename>-failidega. Sellise ehitamise käigus luuakse igasse kataloogi lõplik <filename>Makefile</filename>. Omakorda nende põhjal loob programm <application>make</application> rakenduse binaarfailid.</para>
</formalpara>

<para><filename>Makefile.am</filename>-faile tuleb hallata kogu arendustegevuse käigus. &tdevelop;pi kasutades jääb see küll peamiselt Automake'i halduri hooleks, mis põhimõtteliselt ongi <filename>Makefile.am</filename>-failide sisu haldamise graafiline kasutajaliides.</para>

<para>Projekti juurkataloogis paiknevad veel projekti juhtfailid <filename>configure.in.in</filename> ja <filename>subdirs</filename>. Neid töötlevad mõningad failid kataloogis <filename class="directory">admin</filename>, &kde; spetsiifilises halduskataloogis, et luua täiendavaid faile <filename>configure</filename> ja <filename>Makefile</filename> ning lõpuks rakenduse binaarfailid.</para>
</listitem>

<listitem>
<formalpara>
<title>&tdevelop;i juhtfailid</title>
<para>&tdevelop; vajab ka mõningaid omaenda juht- ja haldusfaile. Need asuvad samuti projekti juurkataloogis - meie näite korral <filename>hello.tdevelop</filename>, <filename>hello.tdevelop.pcs</filename> ja <filename>hello.kdevses</filename>.</para>
</formalpara>

<para>Eriti oluline on kõigis projektides fail <filename>xxx.tdevelop</filename> (kus <quote>xxx</quote> on projekti nimi). See on peamine <emphasis>KDevelop 3 projektifail</emphasis> ning seda on igal juhul vaja, kui soovid oma projekti hiljem &IDE;-s laadida.</para>

<warning>
<para>Ära kunagi muuda, nimeta ümber ega kustuta ühtegi &tdevelop;i juhtfaili! Peaaegu kindlasti ei toimi &IDE; pärast seda sinu projektiga enam korrektselt.</para>
</warning>
</listitem>

<listitem>
<formalpara>
<title>GNU projekti kirjeldusfailid</title>
<para>Mõned projekti juurkataloogis asuvad failid on kohustuslikud kõigile &GNU; nõuetele vastavatele rakendustele. Need on järgmised: <filename>AUTHORS</filename>, <filename>ChangeLog</filename>, <filename>INSTALL</filename>, <filename>COPYING</filename> (see sisaldab GNU Üldist Avalikku Litsentsi ehk GPL-i), <filename>INSTALL</filename>, <filename>NEWS</filename>, <filename>README</filename> ja <filename>TODO</filename>.</para>
</formalpara>
</listitem>

<listitem>
<formalpara>
<title>Muud failid</title>
<para>Veel mõned seni mainimata failid on järgmised:</para>
</formalpara>

<itemizedlist>
<listitem>
<para><filename>Doxyfile</filename> juhib projekti spetsiifilise sisemise &API; programmeerimisdokumentatsiooni loomist.</para>
</listitem>

<listitem>
<para>Kataloog <filename class="directory">templates</filename> sisaldab failimalle, mida &IDE; kasutab uute lähtekoodifailide loomisel. Malle võib omatahtsi redigeerida. Uus sisu võetakse arvesse, kui soovid luua sama tüüpi uut lähtekoodifaili.</para>

<para>Nii võib sul &eg; tekkida soov joondada parempoolsed tärnid, mida Rakenduse nõustaja lisab <filename>cpp</filename>- ja <filename>h</filename>-failide malli, kuidagi teisiti, et nende põhjal loodud lähtekoodifailid näeksid paremad välja.</para>
</listitem>

<listitem>
<para>Kataloogi <filename class="directory">po</filename> kasutatakse lokaliseerimiseks ehk rakenduse tõlkimiseks. See kuulub põhimõtteliselt projektifailide hulka (sisaldab faili <filename>Makefile.am</filename>), kuid kasutatakse peamiselt tõlkimiseks. Rakenduse arendajale ei ole see tavaliselt väga tähtis.</para>
</listitem>

<listitem>
<para>Kataloog <filename class="directory">admin</filename> on mõeldud spetsiifiliselt &kde; rakendustele. See pakub terve rea faile, mida on tarvis rakenduse lähtekoodi- ja binaarfailide haldamiseks, et need töötaksid korralikult &kde; keskkonnas.</para>
</listitem>
</itemizedlist>

</listitem>
</itemizedlist>
</sect3>
</sect2>

<sect2 id="gettingstarted-new-toolviews">
<title>Täiendavad tööriistavaated</title>

<para>Nagu märgitud, ilmub mitu täiendavat tööriistavaadet otsekohe, kui Rakenduse nõustaja on lõpetaud uue projekti loomise. Need on kasuks ainult projekti arendamise ajal ning pakuvad järgmisi võimalusi.</para>

<note>
<para>Tegelikult nähtavad tööriistavaated sõltuvad parajasti &tdevelop;is laaditud pluginatest. Seda saab loomulikult muuta. Täpsemalt räägib sellest peatükk <link linkend="setup-plugins">Pluginatööriistad</link>.</para>
</note>

<sect3 id="gettingstarted-new-toolviews-left">
<title>Liikumis- ja valikutööriistad (vasakul)</title>

<itemizedlist>
<listitem>
<formalpara>
<title>Järjehoidjad</title>
<para>Soovi korral võid märkida ära iga tekstifaili rea, et saaksid selle juurde vajadusel kiiresti tagasi pöörduda. &tdevelop; jätab kõik <emphasis>järjehoidjad</emphasis> meelde, isegi kui sulged hiljem redaktoriakna. Tööriistavaade <guilabel>Järjehoidjad</guilabel> toob kõik järjehoidjad ära failinime ja reanumbri järgi. Klõpsa lihtsalt kirjel ning redaktoriaknas avataksegi kohe vastav fail õigel real.</para>
</formalpara>
</listitem>

<listitem>
<formalpara>
<title>Klassid</title>
<para>Loetleb projektile teadaolevad klassid, meetodid &etc; Kirjele klõpsates avatakse vastav päise- või lähtekoodifail redaktoriaknas ning kursor viiakse selles õigele deklaratsioonile või definitsioonile.</para>
</formalpara>
</listitem>

<listitem>
<formalpara>
<title>Failirühmad</title>
<para>Sorteerib projektifailid teatud rühmadesse, &ie; Lähtekood, Kasutajaliides, Ikoonid, Tõlked ja Muud. Mõnel kirjel klõpsates avatakse fail redaktoriaknas.</para>
</formalpara>
</listitem>

<listitem>
<formalpara>
<title>Muutujad</title>
<para>Seda kasutab silumistöörist muutujate kuvamiseks, hindamiseks ja jälgimiseks silumise ajal.</para>
</formalpara>
</listitem>
</itemizedlist>
</sect3>

<sect3 id="gettingstarted-new-toolviews-bottom">
<title>Teated (all)</title>

<itemizedlist>
<listitem>
<formalpara>
<title>Valgrind</title>
<para><application>Valgrind</application> programmi käitusaja analüsaator. See tööriistavaade näitab analüüsi tulemusi. Seda kasutatakse &eg; mälulekete tuvastamiseks.</para>
</formalpara>
</listitem>

<listitem>
<formalpara>
<title>Turvaprobleemid</title>
<para>&tdevelop;is pakub pluginatööriista <guilabel>Turvakontroll</guilabel>. See analüüsib parajasti redigeeritavat lähtekoodifaili mitmesugustelevinud turvaprobleemide osas, mis võivad rakendustes ette tulla, ning annab analüüsi tulemustest teada tööriistavaate aknas.</para>
</formalpara>
</listitem>

<listitem>
<formalpara>
<title>Katkestuspunktid</title>
<para>See tööriistavaade võimaldab määrata, puhastada ja hallata silumise katkestuspunkte rakenduse lähtekoodifailides. Seda kasutatakse koostöös siluriga.</para>
</formalpara>
</listitem>

<listitem>
<formalpara>
<title>CTags</title>
<para>Võimaldab luua identifikaatorite indeksite andmebaasi populaarse rakenduse <application>CTags</application> abil. Seejärel saab loodud siltide andmebaasi kasutada samas tööriistavaate aknas mis tahes identifikaatori leidmiseks projekti lähtekoodifailides. Leitud kirjele klõpsates avatakse vastav fail redaktoriaknas ning kursor viiakse leitud identifikaatorile.</para>
</formalpara>
</listitem>

<listitem>
<formalpara>
<title>Probleemid</title>
<para>&tdevelop; hoiab parajasti redigeeritavas failis silma peal levinud programmeerimisprobleemidel ning annab tööriistavaate aknas kasutajale teada.</para>
</formalpara>
</listitem>
</itemizedlist>
</sect3>
  
<sect3 id="gettingstarted-new-toolviews-right">
<title>Lähtekoodi haldamine (paremal)</title>
      
<itemizedlist>
<listitem>
<formalpara>
<title>Automake'i haldur</title>
<para>Automake'i haldur on graafiline kasutajaliides kõigis projektikataloogides leiduvate failide <filename>Makefile.am</filename> haldamiseks. Tööriistavaates on kaks akent. Ülemine pool toob ära osa projekti alamkatalooge, nimelt need, mis otseselt sisaldavad <emphasis>projektifaile</emphasis>. Igas sellises alamkataloogis peab leiduma fail <filename>Makefile.am</filename> ning Automake'i haldur nimetab sellist kataloogi <emphasis>alamprojektiks</emphasis>.</para>
</formalpara>

<para>Alamprojekti nimel klõpsates näidatakse antud alamprojekti projektifaile alumises aknas. Sealsed failid on korraldatud vastavalt antud alamprojekti <filename>Makefile.am</filename> funktsionaalsusele.</para>

<para>Automake'i haldur on väga võimas tööriist projekti ja selle alamprojektide haldamiseks, samuti määramiseks, millist rolli etendavad projektifailid rakenduse ehitamisel. Selle mõningaid üksikasju vaatleme lähemalt <link linkend="gettingstarted-extend-automake">edaspidi</link>. Põhjalikumalt räägib sellest peatükk <link linkend="project-management">Ehitamine ja projektihaldus</link>.</para>
</listitem>
</itemizedlist>
</sect3>
</sect2>
</sect1>


<sect1 id="gettingstarted-edit">
<title>Mõned näpunäited dokumentide kasutamiseks</title>

<para>Meie näites avas Rakenduse nõustaja kohe redaktoriaknas faili <filename>hello.cpp</filename>, et sul oleks võimalus selle kallal aega viitmata tegusema asuda. Me oletame, et sa oskad redaktorit kasutada, nii et sellest pikemalt juttu ei tule. Kuid siiski tasub rääkida teatud &tdevelop;i eripäradest kaartidega redaktoriakende ja dokumentide kasutamisel. Me tutvustame siin lühidalt järgmisi küsimusi:</para>

<simplelist>
<member><link linkend="gettingstarted-edit-headers">Kuidas lülituda vähese vaevaga päise- ja teostusfailide vahel?</link></member>
<member><link linkend="gettingstarted-edit-defs">Kuidas pääseda kiiresti ligi deklaratsioonidele ja definitsioonidele?</link></member>
<member><link linkend="gettingstarted-edit-arrange">Kuidas korraldada redaktoriaknaid oma soovide kohaselt?</link></member>
<member><link linkend="gettingstarted-edit-problems">Kuidas hoida silma peal levinud probleemidel?</link></member>
</simplelist>

<sect2 id="gettingstarted-edit-headers">
<title>Lülitumine päise- ja teostusfailide vahel</title>

<para>&tdevelop; võimaldab kiiresti ja lihtsalt lülituda mis tahes teostusfaililt (<filename>.cpp</filename>) vastavale päisefailile (<filename>.h</filename>) ja vastupidi. Selleks tee lihtsalt hiire parema nupuga klõps redaktoriaknas, kus soovid lülitumist sooritada. Ilmub järgmine kontekstimenüü.</para>

<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="editor-switch-header.png" format="PNG"/>
</imageobject>
<caption><para>Lülitumine päise- ja teostusfailide vahel</para></caption>
</mediaobject>
</screenshot>

<para>Vali kirje <guimenuitem>Lülita päise/teostusfail</guimenuitem>. &tdevelop; otsib vastavat päise- või teostusfaili ning avab selle uues redaktoriaknas. Meie näites sooritati klõps failis <filename>hello.cpp</filename> ning järelikult avatakse fail <filename>hello.h</filename>.</para>

<para>See ei ole veel kõik. Kui teed paremklõpsu klassiteostuse tekstis, viib &tdevelop; avatavas päisefailis kursori vastava deklaratsiooni reale. Sama kehtib ka vastupidi: kui klõpsad deklaratsioonireal, asetatakse kursor vastava klassi teostamise reale.</para>

<para>Kui lülitatava failiga redaktoriaken on juba avatud, siis &tdevelop; aktiveerib selle ja mõistagi asetab võimaluse korral kursori vajalikku kohta.</para>
</sect2>

<sect2 id="gettingstarted-edit-defs">
<title>Ligipääs deklaratsioonidele ja definitsioonidele</title>

<para>Oletame nüüd, et töötad parajasti lähtekoodifaili kallal ja soovid leida midagi ette juhtunud identifikaatori deklaratsiooni või definitsiooni kohta. Ka see käib väga lihtsalt. Põhimõtteliselt tuleb lihtsalt identifikaatorile hiire parema nupuga klõpsata.</para>

<para>Siin on siiski kaks mõnevõrra erinevat juhtumit, nimelt:</para>
<simplelist>
<member><link linkend="gettingstarted-edit-defs-external">Ligipääs väliselt defineeritud identifikaatoritele</link> ja</member>
<member><link linkend="gettingstarted-edit-defs-project">ligipääs projektisisestele tekstielementidele</link>.</member>
</simplelist>

<sect3 id="gettingstarted-edit-defs-external">
<title>Väline deklaratsioonid ja definitsioonid</title>

<para>Enamasti tekib soov leida teavet identifikaatori kohta, mis on defineeritud väljaspool sonu projekti. &kde; projektides on sellised identifikaatorid enamasti dokumenteeritud mitmesugustes &kde; või &Qt; teekides. Kui &kde; ja &tdevelop; on korrektselt paigaldatud, suudab &tdevelop; kasutada niinimetatud API dokumentatsiooni ja otsida sealt vajalikke identifikaatoreid.</para>

<para>Toome näite. Otsi redaktoriaknas failis <filename>hello.cpp</filename> üles järgmised read.</para>

<programlisting>Hello::Hello()
    : TDEMainWindow( 0, "Hello" )
{
</programlisting>

<para>Klõpsa hiire parema nupuga klassil <classname>TDEMainWindow</classname>. Ilmub kontekstimenüü. Vali sealt <guimenuitem>Otsi dokumentatsioonis: TDEMainWindow</guimenuitem>. Nüüd avaneb tööriistavaade <guilabel>Dokumentatsioon</guilabel>, kus näeb kirjetu <classname>TDEMainWindow</classname> otsingusõnana kaardil <guilabel>Otsing</guilabel>. Mõne aja pärast avaneb töötsoonis uus redaktoriaken, mis näitab KDE API dokumentatsiooni klassi <classname>TDEMainWindow</classname> kohta.</para>

<para>See näeb välja nii (me avasime teadlikult juba ette kaardi <guilabel>Dokumentatsioon</guilabel>-<guilabel>Otsing</guilabel>, et illustreerida menüükirje valimise tulemust).</para>

<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="editor-search-doc.png" format="PNG"/>
</imageobject>
<caption><para>Väliselt dokumenteeritud identifikaatori otsing</para></caption>
</mediaobject>
</screenshot>

<para>Sama hästi võib valida ka menüükirje <guimenuitem>Leia dokumentatsioonis: TDEMainWindow</guimenuitem>. Sel juhul avatakse tööriistavaates <guilabel>Dokumentatsioon</guilabel> kaart <guilabel>Otsija</guilabel>, mis tavaliselt pakub mitmeid otsingusõna sisaldavat lehekülge. (Meie näites on selleks tõenäoliselt klassid <classname>TDEMainWindow</classname> ja <classname>TDEMainWindowInterface</classname>. Vali see, mille vastu huvi tunned, ning vastavat dokumentatsiooni kuvatakse redaktoriaknas.</para>

<note>
<para>Kui nii ei lähe, ei ole arvatavasti dokumendid veel indekseeritud. Kas genereerisid ikka indeksid, nagu selgitati <link linkend="gettingstarted-configure-search">eespool</link>? Kui mitte, siis loe seda uuesti, loo indeksid ja proovi taas.</para>
</note>
</sect3>

<sect3 id="gettingstarted-edit-defs-project">
<title>Projekti sisemised deklaratsioonid ja definitsioonid</title>

<para>Välises dokumentatsioonis otsimisel on siiski omad piirangud. Loomulikult ei saa identifikaatorit kuskil väljaspool otsida, kui see on defineeritud ja kasutusel ainult projektis endas. Aga lahti pole midagi: &tdevelop; võib kasutada projekti lähtekoodis otsimiseks indekseid, mille loob rakendus <application>CTags</application>.</para>

<para>Enne kui seda meie Hello näidisprojektis kasutada, tuleb luua kasutuskõlblik indeks. Seda saab teha töötsooni allosas paiknevas tööriistavaates <guilabel>CTags</guilabel>.</para>

<para>Klõpsuga sakile <guibutton>CTags</guibutton> avaneb dialoog, mille alumises parempoolses nurgas näeb järgmist nuppu.</para>

<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="editor-ctags-regenerate.png" format="PNG"/>
</imageobject>
<caption><para>CTagsi indeksi genereerimine nupuga <guibutton>Genereeri uuesti</guibutton></para></caption>
</mediaobject>
</screenshot>

<para>Klõpsa nupule <guibutton>Genereeri uuesti</guibutton> ja oota mõni sekund. Siis asendub kiri <guilabel>CTagsi andmebaasi ei leitud</guilabel> praeguse kuupäevaga. Nüüd võib otsida oma projekti lähtekoodifailides vajalikku identifikaatorit.</para>

<tip>
<para>Kuupäev nupu <guilabel>Genereeri uuesti</guilabel> kõrval on mõeldud näitama indeksi vanust. Kui sa ei leia oma projektis mõnda identifikaatorit, mis sinu arvates peaks seal leiduma, tasuks indeks uuesti genereerida. Suurte projektide puhul võtab see omajagu aega, mille vältimiseks oleks mõttekas indeks regulaarselt regenereerida pärast vähegi ulatuslikumaid muudatusi lähtekoodifailides.</para>
</tip>

<para>Identifikaatorit saab oma projektis otsida mitmel moel.</para>

<itemizedlist>
<listitem>
<formalpara>
<title>CTagsi tööriistavaate kasutamine</title>
<para>See on väga lihtne. Hakka huvipakkuva identifikaatori nime kirjutama vasakul asuvasse tekstikasti <guilabel>Otsing</guilabel>. &tdevelop; püüab kirjutatud tähtede järgi sõna lõpetada ja näitab kõiki nende tähtedega algavaid identifikaatoreid.</para>
</formalpara>

<para>Kui näiteks tahad teada, kus on meie näidisprojektis kasutatud identifikaatorit <quote>Hello</quote>, kirjuta kasti <guilabel>Otsing</guilabel> "H". &tdevelop; asub kohe tegevusse ja näitab sellist tulemust:</para>

<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="editor-ctags-lookup.png" format="PNG"/>
</imageobject>
<caption><para>Identifikaatori otsimine tööriistavaates <guilabel>CTags</guilabel>.</para></caption>
</mediaobject>
</screenshot>

<para>Klõpsuga mõnele kirjele avab &tdevelop; faili redaktoriaknas ja viib kursori vajalikku kohta.</para>
</listitem>

<listitem>
<formalpara>
<title>Lähtekoodifaili kontekstimenüü kasutamine</title>
<para>See on abiks, kui töötad kindla lähtekoodifailiga. Oletame, et uurid meie Hello näidisprojekti faili <filename>main.cpp</filename>. Selles leidub järgmine rida</para>
</formalpara>
<programlisting>Hello *mainWin = 0;
</programlisting>
<para>ja sul tekib küsimus, kus esineb <quote>Hello</quote> programmis veel. Selleks tee lihtsalt identifikaatoril Hello klõps hiire parema nupuga. Ilmub kontekstimenüü, mille allosas leiduvad järgmised kirjed.</para>

<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="editor-ctags-menu.png" format="PNG"/>
</imageobject>
<caption><para><application>CTags</application>i teabe hankimine projekti sisemise identifikaatori kohta.</para></caption>
</mediaobject>
</screenshot>

<para>Klõpsa huvipakkuvale kirjele, näiteks <guilabel>CTags - Mine definitsioonile: hello</guilabel>, ja &tdevelop; avab otsekohe redaktoriaknas faili <filename>hello.cpp</filename> ning seab kursori otse selle klassi definitsiooni ette:</para>
<programlisting>Hello::Hello()
    : TDEMainWindow( 0, "Hello" )
{
</programlisting>
</listitem>

<listitem>
<formalpara>
<title>Globaalne otsing</title>
<para>See on abiks juhul, kui soovid otsida oma projektis mis tahes teksti. &tdevelop;is saab globaalset otsingut alustada kahel viisil.</para>
</formalpara>
<itemizedlist>
<listitem>
<para>Käivita globaalne otsing menüükäsuga <menuchoice><guimenu>Redigeerimine</guimenu><guimenuitem>Otsi failidest...</guimenuitem></menuchoice> või</para>
</listitem>
<listitem>
<para>Kasuta redaktoriaknas hiire parema nupuga klõpsates avanevat kontekstimenüüd.</para>
</listitem>
</itemizedlist>

<para>Me vaatleme oma Hello näidisprojektis teist võimalust. Tulemus on mõlemal juhul põhimõtteliselt ühesugune. Oletame, et uurid faili <filename>hello.cpp</filename> ja kursor asub parajasti Hello esimese esinemise asukohas. Tunned huvi, kus sõna <quote>Hello</quote> veel kasutatakse ja kui palju on seda üldse kasutatud. See on tüüpiline &tdevelop;i globaalse otsingu kasutamise juhtum.</para>

<para>Kui kursor asub kuskil sõnas <quote>Hello</quote>, klõpsa hiire parema nupuga. Ilmub kontekstimenüü, kust tuleb valida <guilabel>Grep: Hello</guilabel>.</para>

<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="editor-find-menu.png" format="PNG"/>
</imageobject>
<caption><para>Globaalse otsingu käivitamine redaktoriaknas</para></caption>
</mediaobject>
</screenshot>

<para>Avaneb dialoog <guilabel>Failides otsimine</guilabel> (täpselt sama dialoog avanem menüükäsuga <menuchoice><guimenu>Redigeerimine</guimenu> <guimenuitem>Otsi failidest...</guimenuitem></menuchoice>).</para>

<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="find-in-files.png" format="PNG"/>
</imageobject>
<caption><para>Projekti globaalse otsingu tõhus graafiline kasutajaliides.</para></caption>
</mediaobject>
</screenshot>

<para>Nagu näed, on tegemist programmide <application>find</application> ja <application>grep</application> väga tõhusa graafilise liidesega, mis võimaldab otsida kogu projektis. Siinkohal ei ole mõtet laskuda üksikasjadesse, neid võid ise lähemalt tundma õppida. Antud hetkel on väljal <guilabel>Muster</guilabel> otsingusõna <quote>Hello</quote>. Kui see pole nii, kirjuta see sinna ja klõpsa all paremal nupule <guibutton>Otsi</guibutton>.</para>

<para>Nüüd avaneb all tööriistavaade <guilabel>Failides otsimine</guilabel>, mis näitab kõiki faile ja ridu, kus meie näidisprojektis esineb <quote>Hello</quote>. Nagu ikka, avab &tdevelop; mõnele kirjele klõpsamise järel töötsoonis vastava faili ja viib kursori sõna esinemise kohta.</para>

<para>Tööriistavaate aknas on kaks erilist huvi pakkuvat rida.</para>
<itemizedlist>
<listitem>
<para>Päris alguses näeb käsku, mida &tdevelop; otsingul kasutas. See võimaldab täpsemalt kontrollida otsingutulemust.</para>
</listitem>

<listitem>
<para>Lõpus on kirjas, mitu sobivust otsinguga leiti. Meie näites peaks seal olema <quote>*** Leiti 11 sobivust ***</quote>.</para>
</listitem>
</itemizedlist>

<para>&tdevelop; jätab otsingutulemused seansi tööajaks meelde. Kui sooritad uue globaalse otsingu, avatakse selle tulemused tööriistavaate <guilabel>Failides otsimine</guilabel> aknas uuel kaardil.</para>
</listitem>
</itemizedlist>
</sect3>
</sect2>

<sect2 id="gettingstarted-edit-arrange">
<title>Redaktoriakende korraldamine</title>

<para>Suurte ja keeruliste projektidega töötades juhtub sageli, et töötsoonis on avatud päris palju redaktoriakendega kaarte. Seepärast läheb vaja võimalusi, mis aitaksid kaartidel pilku peal hoida, neid korrastada ja rühmitada. &tdevelop; pakub sellks mitu võimalust. Vaatleme lühidalt mõningaid neist.</para>
<simplelist>
<member><link linkend="gettingstarted-edit-arrange-clean">Kuidas eemaldada tarbetud kaardid?</link></member>
<member><link linkend="gettingstarted-edit-arrange-tabs">Kuidas kaardid ümber korraldada?</link></member>
<member><link linkend="gettingstarted-edit-arrange-split">Kuidas näha töötsoonis korraga mitut faili?</link></member>
<member><link
linkend="gettingstarted-edit-arrange-sourceheader">Kuidas redigeerida korraga C++ lähtekoodi- ja päisefaili?</link></member>
<member><link linkend="gettingstarted-edit-arrange-group">Kuidas rühmitada lähtekoodifailide arendusseansidesse?</link></member>
</simplelist>

<sect3 id="gettingstarted-edit-arrange-clean">
<title>Kaardirea puhastamine</title>

<para>Kui avatud on juba terve rida redaktoriaknaid, tekib pikapeale vajadus sulgeda kaardid, mida enam vaja ei lähe. &tdevelop; võimaldab seda teha mitmel moel: kõige lihtsam on tavaline avatud akende sulgemine, kuid selle kõrval on ka võimalusi anda käsud teatud kaardid sulgeda, teatud aga lahti jätta.</para>

<formalpara>
<title>Mitme kaardi sulgemine korraga</title>
<para>See on omamoodi hulgilähenemine tarbetute avatud akende sulgemiseks, mida pakuvad ka teised &kde; rakendused. Menüüst <guimenu>Aken</guimenu> või hiire parema nupuga kaardi sakile klõpsates saab</para>
</formalpara>
<itemizedlist>
<listitem>
<para>sulgeda aktiivse redaktorakna,</para>
</listitem>
<listitem>
<para>sulgeda kõik avatud redaktoriaknad või</para>
</listitem>
<listitem>
<para>või sulgeda korraga kõik redaktoriaknad (seda saab kasutada ainult menüüst <guimenu>Aken</guimenu>).</para>
</listitem>
</itemizedlist>

<formalpara>
<title>Valitud kaartide sulgemine</title>
<para>Üksikute redaktorakende sulgemine võib osutuda päris tülikaks, eriti kui on terve rida kaarte, millest soovid mõned endiselt avatuks jätta. Selle asemel et kaarte ükshaaval üle vaadata ja sulgeda, pakub &tdevelop; võimalust valida nimekirjast kaardid ja sulgeda ainult valitud kaardid üheainsa hiireklõpsuga.</para>
</formalpara>

<para>Toome lihtsa näite. Oletame, et meie Hello näidisprojektis on redigeerimiseks avatud mitu faili: <filename>hello.cpp</filename>, <filename>hello.h</filename>, <filename>helloui.rc</filename>, <filename>hello.desktop</filename> ja <filename>main.cpp</filename>. Soovid avatuks jätta ainult failid <filename>hello.cpp</filename> ja <filename>hello.h</filename>. Kõige lihtsam on seda teha tööriistavaates <guilabel>Failinimekiri</guilabel>. Et avatud failide nimekiri on järjestatud tähestikuliselt, on vajalike kaartide ülesleidmine päris lihtne. Toimi järgnevalt:</para>

<procedure>
<step>
<para>Ava <guilabel>Failinimekiri</guilabel> ja klõpsa klahvi <keycap>Ctrl</keycap> all hoides nimekirjas failidele, mida soovid sulgeda.</para>
</step>
<step>
<para>Seejärel, hoides hiirekursorit nimekirjas leiduva faili kohal, klõpsa hiire parema nupuga.</para>
</step>
<step>
<para>Vali <guimenu>failinimekirja</guimenu> kontekstimenüüst <guimenuitem>Sulge valitud</guimenuitem>.</para>
</step>
</procedure>

<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="file-list-close-selected.png" format="PNG"/>
</imageobject>
<caption><para>Valitud redaktoriakende sulgemine ühekorraga</para></caption>
</mediaobject>
</screenshot>
<para>Ja ongi kõik. &tdevelop; sulgeb kõik valitud redaktoriaknad ja kaardiriba on märksa puhtam.</para>
</sect3>

<sect3 id="gettingstarted-edit-arrange-tabs">
<title>Redigeerimisakna kaartide ümberkorraldamine</title>

<para>Isegi kui oled sulgenud tarbetud redaktoriaknad, võib sul olla soov korraldada avatud kaardid ümber loogilisemal viisil. &tdevelop; mõistagi lubab seda teha, nimelt järgmiselt:</para>

<formalpara>
<title>Põhiseadistused &mdash; kuhu seada uued kaardid</title>

<para>Vaikimisi avatakse uue redaktorakna kaart aktiivse redaktoriakna kaardist paremal pool. Seda saab muuta, et uus kaart avataks kaardiribal kõige parempoolsena.</para>
</formalpara>
<para>Selleks tuleb muuta &tdevelop;i kasutajaliidese põhiseadistusi.</para>
<procedure>
<step>
<para>Vali <menuchoice><guimenu>Seadistused</guimenu> <guimenuitem>KDevelopi seadistamine...</guimenuitem></menuchoice></para>
</step>
<step>
<para>Vali dialoogi vasakus servas ikoon <guilabel>Kasutajaliides</guilabel>. Avaneb dialoog <guilabel>Kasutajaliides</guilabel>.</para>
</step>
<step>
<para>Paremal all leiab sektsiooni <guilabel>Kaartidega lehitsemine</guilabel>. Eemalda märge kastist <guilabel>Uus kaart avatakse aktiivse kaardi järel</guilabel>.</para>
</step>
<step>
<para>Sulge &tdevelop; ja käivita uuesti. Nüüd avanevad redaktoriakna kaardid kaardirea parempoolses servas.</para>
</step>
</procedure>

<para>Paraku ei saa seda muuta jooksvalt, arendusseansi käigus. Sa pead eelnevalt otsustama, millist käitumist soovid, ning seejärel seda kasutama vähemalt &tdevelop;i järgmise käivitamiseni.</para>

<formalpara>
<title>Kaartide ümberkorraldamine</title>
<para>Arendusülesanded muutuvad aeg-ajalt, mistõttu võib tekkida vajadus redaktoriakende kaarte ümber korraldada. See on &tdevelop;is õige lihtne.</para>
</formalpara>
<para>Klõpsa lihtsalt kaardil, mida soovid liigutada, hiire keskmise nupuga ja liiguta hiirt veidi. Kursor muutub ristikujuliseks. Nüüd saab hiire keskmist nuppu all hoides kaardi lohistada vajalikku asukohta.</para>
</sect3>

<sect3 id="gettingstarted-edit-arrange-split">
<title>Mitme faili vaatamine korraga</title>

<para>Esimesel korral on alati avatud vähemalt üks redaktoriaken, kus saab asuda tegutsema lähtekoodifailide kallal. Kuigi kaartidega aknas saab päris kiiresti ühelt kaardilt teisele lülituda, võib esineda juhtumeid, kus soovid, et korraga oleks avatud mitu faili, &eg; millegi kontrollimisel või mõne keerukama ülesande täitmisel. &tdevelop; pakub selleks võimalust poolitada töötsoon mitmeks korraga nähtavaks osaks, milles kõigis võivad olla avatud oma kaardid.</para>

<para>Poolitamiskäske on kaks, mõlemat saab kasutada kas menüüst <guimenu>Aken</guimenu> või hiire parema nupu klõpsuga kaardil või otse sakil. Me tutvustame poolitamist meie Hello näidisprojekti varal.</para>

<para>Oletame, et avatud on kaks faili: <filename>hello.cpp</filename> ja <filename>hello.h</filename>. Töötades failiga <filename>hello.cpp</filename>, on sul sageli vaja näha deklaratsioone päisefailis <filename>hello.h</filename>, nii et väga hea oleks mõlemad failid korraga silme ees hoida.</para>

<para>Selleks tee hiire parema nupuga klõps näiteks faili <filename>hello.h</filename> sakil. Ilmub kontekstimenüü.</para>

<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="split-workspace.png" format="PNG"/>
</imageobject>
<caption><para>Töötsooni jagamine kaheks</para></caption>
</mediaobject>
</screenshot>

<para>Vali <guimenuitem>Poolita horisontaalselt</guimenuitem>. Töötsoon jagatakse keskelt pooleks ning faili <filename>hello.h</filename> sisaldav redaktoriaken avatakse alumises osas.</para>

<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="split-windows.png"/>
</imageobject>
<caption><para>Horisontaalselt poolitatud töötsoon</para></caption>
</mediaobject>
</screenshot>

<para>Pane tähele kaht akent lahutavat eraldajat. Seda hiirega lohistades võib muuta akende kõrgust endale sobivaks.</para>

<para>Tähelepanu tasub pöörata mõnele aspektile.</para>
<itemizedlist>
<listitem>
<para>Poolitatud töötsooni osad on mõlemad täisfunktsionaalsed. See tähendab, et uued redaktoriaknad avatakse parajasti redaktoriakna osas. Soovi korral võib iga osa täiendavalt poolitada, et hoida avatud just nii palju aknaid, kui parajasti vaja.</para>
</listitem>

<listitem>
<para>Iga poolitamine viib parajasti aktiivse redaktorakna uude alamtöötsooni kas all või paremal. Teised kaardid jäävad sinna, kus nad olid. Kaarte ei saa poolitatud alade vahel vahetult liigutada, selleks tuleb kaart ühes töötsoonis sulgeda ja teises uuesti avada.</para>
</listitem>

<listitem>
<para>Samuti ei saa poolitatud ala otseselt sulgeda. See sulgub automaatselt pärast seda, kui suletud on viimane selles asunud kaart.</para>
</listitem>
</itemizedlist>
</sect3>

<sect3 id="gettingstarted-edit-arrange-sourceheader">
<title>C++ lähtekoodi- ja päisefailide redigeerimine korraga</title>

<para>Lisaks mainitud töötsooni poolitamisele on &tdevelop;il pakkuda veel üks vahva võimalus, mis lubab korraga avatud hoida <filename>.cpp</filename>-lähtekoodifaili ja vastava <filename>.h</filename>-päisefaili. Lisaks lubab see mõlemat faili sünkroonis kasutada: päisefailis näiteks deklaratsiooni valides liigub &tdevelop; vastavale definitsioonile lähtekoodifailis ja vastupidi.</para>

<para>See võimalus pole siiski vaikimisi sisse lülitatud, vaid tuleb käsitsi aktiveerida.</para>

<para>Vali <menuchoice><guibutton>Projekt</guibutton> <guimenuitem>Projekti seadistused</guimenuitem></menuchoice>. Ilmub dialoog <guilabel>Projekti seadistused</guilabel>. Vali vasakus servas ikoon <guiicon>C++ toetus</guiicon> ja paremal avanevas dialoogis kaart <guilabel>Liikumine</guilabel>.</para>

<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="split-source-header.png" format="PNG"/>
</imageobject>
<caption><para>C++ lähtekoodi- ja päisefaili avamine kõrvuti</para></caption>
</mediaobject>
</screenshot>

<para>Märgi ära kast <guilabel>Päise/lähtekoodi eraldamise lubamine</guilabel>. See lülitab automaatselt sisse valikud <guilabel>Automaatne sünkroniseerimine</guilabel> ja <guilabel>Vertikaalselt</guilabel>. Jäta need praegu kehtima ja klõpsa nupule <guibutton>OK</guibutton>.</para>

<para>Selle võimaluse selgitamiseks sulge meie Hello näidisprojektis failid <filename>hello.cpp</filename> ja <filename>hello.h</filename>. Seejärel vali projekti alamkataloogist <filename class="directory">src</filename> taas fail <filename>hello.cpp</filename>. Nagu ikka, avaneb redaktoriaken. Aga kui avad nüüd sellega kokkukuuluva faili <filename>hello.h</filename>, poolitab &tdevelop; automaatselt töötsooni ja avab päisefaili otse <filename>hello.cpp</filename> akna all.</para>

<para>Aga nagu mainitud, see pole veel kõik. Otsi &eg; failis <filename>hello.cpp</filename> üles järgmine konstruktori definitsiooni rida:</para>
<programlisting>Hello::Hello()
</programlisting>
<para>ja aseta kursor selle sisse. Seejärel vaata all faili <filename>hello.h</filename> ja näed, et &tdevelop; liigub vastavale konstruktori deklaratsiooni reale.</para>

<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="split-source-header-navigate.png" format="PNG"/>
</imageobject>
<caption><para>&tdevelop; liigub automaatselt konstruktori deklaratsioonile</para></caption>
</mediaobject>
</screenshot>

<para>See toimib ka vastupidi: kui viid kursori ühes aknas millegi peale, liigub &tdevelop; teises aknas samuti vastava konstruktsiooni peale.</para>
</sect3>

<sect3 id="gettingstarted-edit-arrange-group">
<title>Lähtekoodifailide rühmitamine arendusseanssideks</title>

<para>Kui projekt kasvab ning arendusülesanded muutuvad aina keerukamaks ja sunnivad üha rohkem lülituma erinevate failide või isegi failikogumite vahel, on kätte jõudnud aeg korraldada oma arendustegevus erinevateks seanssideks. Seda võimaldab teha &tdevelop;i tööriistavaade <guilabel>Failinimekiri</guilabel>.</para>

<para>Tööriistavaate <guilabel>Failinimekiri</guilabel> ülaosas on tööriistariba, mille abil saab seansse luua, salvestada, valida ja eemaldada. Samamoodi võib selleks kasutada menüüd <menuchoice><guimenu>Vaade</guimenu><guimenuitem>Seansid</guimenuitem></menuchoice>.</para>

<para>Me tutvustame seda taas oma Hello näidisprojekti varal. Oletame, et tahad alati korraga avada failid <filename>hello.cpp</filename>, <filename>hello.h</filename> ja <filename>main.cpp</filename>, sõltumata sellest, millist ülesannet sa parajasti projektis täidad. Selleks tuleb kõigepealt luua uus arendusseanss näiteks nimega <quote>lähtekood</quote>.</para>

<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="file-list-session-create.png" format="PNG"/>
</imageobject>
<caption><para>Arendusseansside kasutamine failirühmade meelespidamiseks</para></caption>
</mediaobject>
</screenshot>

<para>Selleks tuleb astuda mitu sammu.</para>
<procedure>
<step>
<para>Uue seansi loomine</para>
<substeps>
<step>
<para>Klõpsa ikoonile <guiicon>Uus seanss</guiicon>, mille leiad tööriistavaate <guilabel>Failinimekiri</guilabel> akna ülemisest vasakpoolsest servast.</para>
</step>
<step>
<para>Ilmub dialoog. Anna väljal <guilabel>Sisesta seansi nimi</guilabel> oma uuele seansile nimi, &eg; <quote>lähtekood</quote>.</para>
</step>
<step>
<para>Sulge dialoog klõpsuga nupule <guibutton>OK</guibutton>. Uus seanss on nüüd valitav rippmenüüst tööriistaribal.</para>
</step>
</substeps>
</step>
<step>
<para>Uus seanss on esialgu tühi, see tuleb alles täita failidega, mida soovid selles näha.</para>
<substeps>
<step>
<para>Ava kõik failid, mida soovid antud arendusseanssi lisada. Meie näites otsustasime sinna lisada failid <filename>hello.cpp</filename>, <filename>hello.h</filename> ja <filename>main.cpp</filename>.</para>
</step>
<step>
<para>Kui failid on valitud, klõpsa tööriistaribal ikoonle <guiicon>Salvesta seanss</guiicon>. Tee seda kindlasti, sest muidu ei pea &tdevelop; faile meeles.</para>
</step>
</substeps>
</step>
</procedure>

<para>Ongi kõik. Kui hiljem valid rippmenüüst <guilabel>Ava seanss</guilabel> kirje <guilabel>lähtekood</guilabel>, sulgeb &tdevelop; kõik parajasti avatud redaktoriaknad ja avab nende asemel need, mis on seanssi salvestatud (meie näites <filename>hello.cpp</filename>, <filename>hello.h</filename> ja <filename>main.cpp</filename>).</para>

<para>Projektis võib luua seansse nii palju kui vaja. Kui soovid seansi sisu muuta, vali lihtsalt vajalikud failid ja klõpsa taas ikoonile <guiicon>Salvesta seanss</guiicon>. Kui soovid aga seansi kõrvaldada, vali see rippmenüüst ja klõpsa tööriistaribal paremal asuvale ikoonile <guiicon>Kustuta seanss</guiicon>.</para>

<para>See ei ole veel kõik. &tdevelop; võib teatud seansi projekti laadimisel ka vaikimisi avada. Vali selleks lihtsalt vajalik seanss rippmenüüst projekti seadistuste dialoogis <menuchoice><guimenu>Projekt</guimenu> <guimenuitem>Projekti seadistused</guimenuitem> <guimenuitem> Failinimekiri</guimenuitem></menuchoice>.</para>

<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="file-list-session-default.png" format="PNG"/>
</imageobject>
<caption><para>&tdevelop; avab projekti laadimisel valitud seansi.</para></caption>
</mediaobject>
</screenshot>
</sect3>
</sect2>

<sect2 id="gettingstarted-edit-problems">
<title>Tavaliste probleemide jälgimine</title>

<para>Kui avada redaktoriaknas lähtekoodifail, parsib &tdevelop; selle sisu. See võimaldab sisseehitatud <emphasis>probleemide teavitajal</emphasis> otsida tekstist mõningaid teadaolevaid levinumaid vigu. Seejärel teavitatakse kasutajat kohtadest, mis nõuavad erilist tähelepanu.</para>

<para>Tutvustame seda võimalust meie Hello näidisprojekti varal.</para>

<itemizedlist>
<listitem>
<para>Ava redaktoraken lähtekoodifailiga <filename>main.cpp</filename>.</para>
</listitem>

<listitem>
<para>Kontrolli, et selles oleks lõpupoole järgmine rida:</para>
<programlisting>/// @todo do something with the command line args here
</programlisting>
<para>Selle lisas Rakenduse nõustaja, kui lõid Hello projekti, nagu kirjeldati eespool peatükis <link linkend="gettingstarted-new">Uue projekti loomine</link>.</para>
</listitem>

<listitem>
<para>Ava nüüd all tööriistavaade <guilabel>Probleemid</guilabel>. Kui kõik on nagu kord ja kohus, antakse seal antud TODO'st teada:</para>
<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="problem-report-todo.png"/>
</imageobject>
<caption><para>&tdevelop; hoiatab lähtekoodirea eest, kus paikneb TODO märge.</para></caption>
</mediaobject>
</screenshot>
</listitem>
</itemizedlist>

<para>Vorming <computeroutput>/// @todo</computeroutput> on mõeldud spetsiaalselt koodi dokumenteerimise programmile <application>Doxygen</application>, mida me käsitleme lühidalt allpool osas <link linkend="gettingstarted-doc">Dokumentatsioon</link>. Selle vormingu kasutamine ei ole kohustuslik, sama hästi tuntakse ära levinumad kommentaaritähised <computeroutput>TODO</computeroutput> ja <computeroutput>FIXME</computeroutput>.</para>

<para>Kui &eg; lisad meie näidisfaili <filename>hello.cpp</filename> järgmised <computeroutput>TODO</computeroutput> ja <computeroutput>FIXME</computeroutput> kommentaariread</para>
<programlisting>Hello::Hello()
    : TDEMainWindow( 0, "Hello" )
{
    // set the shell's ui resource file
    // TODO check the user interface
    setXMLFile("helloui.rc");

    // FIXME change to a better suited greeting
    new QLabel( "Hello World", this, "hello label" );
}
</programlisting>
<para>siis näitab tööriistavaade <guilabel>Probleemid</guilabel> ka neid:</para>

<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="problem-report-marks.png" format="PNG"/>
</imageobject>
<caption><para>Probleemide teavitaja jälgib redigeeritavas failis tähelepanu nõudvaid ridu.</para></caption>
</mediaobject>
</screenshot>

<para>Pane tähele, et <guilabel>probleemide</guilabel> teavitaja aknas on ka teisi kaarte, eriti just kaardid <guilabel>Fixme</guilabel> ja <guilabel>Todo</guilabel>. Neid avades näed kõiki <computeroutput>FIXME</computeroutput> ja <computeroutput>TODO</computeroutput> märkega ridu, mida &tdevelop; on seni leidnud. Näiteks kaardi <computeroutput>TODO</computeroutput> hoiatused näevad praegu välja nii:</para>

<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="problem-report-all-todos.png" format="PNG"/>
</imageobject>
<caption><para>Probleemide teavitaja kogutud <computeroutput>TODO</computeroutput> hoiatused</para></caption>
</mediaobject>
</screenshot>

<para>Kaardil <guilabel>Vead</guilabel> pole aga kirjas sugugi kõik koodivead, mida oled teinud. Nende tuvastamine on teiste tööriistade, &eg; ehitamisprotsessi ülesanne. Siit leiab aga hoiatused mõningate levinumate programmeerimiseksimuste kohta, mis muidu võivad jääda märkamata ja mille tabamine nõuaks keerulist ning vaevalist silumist.</para>

<para>&tdevelop;i probleemide teavitaja on väga väärtuslik tööriist, mistõttu tasuks tööriistavaadet <guilabel>Probleemid</guilabel> arendustegevuse ajal regulaarselt jälgida.</para>
</sect2>
</sect1>

<sect1 id="gettingstarted-compile">
<title>Projekti kompileerimine</title>

<para>Projekti kompileerimine nõuab &tdevelop;is mitut seadistavat sammu ja seejärel rakenduse ehitamist. Kõike seda saab teha menüü <guimenu>Ehitamine</guimenu> abil.</para>

<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="build-menu.png" format="PNG"/>
</imageobject>
<caption><para>Projekti ehitamine nõuab mitut sammu</para></caption>
</mediaobject>
</screenshot>

<para>Praegu huvitab meid ainult menüü ülemine osa. Sealsed kirjed on toodud tähtsuse järjekorra. See tähendab, et kõige rohkem vaja minev käsk asub kõige üleval - <guimenuitem>Ehita projekt</guimenuitem>, mis initsialiseerib, kompileerib ja lingib projekti. Teised kirjed on mõeldud projekti valitud osade või ka üheainsa faili kompileerimiseks, mitmesugusteks initsialiseerissammudeks või rakenduse valmis binaarifailide paigaldamiseks.</para>

<para>Järgnevalt keskendume mitmele võimalusele, mida &tdevelop; pakub projekti seadistamiseks, initsialiseerimiseks, ehitamiseks ja käivitamiseks. Üldiselt tulevad vaatluse alla järgmised asjad:</para>

<simplelist>
<member><link linkend="gettingstarted-compile-basic">Põhiline ehitamistsükkel.</link></member>
<member><link linkend="gettingstarted-compile-setup">Projekti konfigureerimise põhilised vahendid.</link></member>
</simplelist>

<sect2 id="gettingstarted-compile-basic">
<title>Ehitamise põhitsükkel</title>

<para>Kui oled loonud uue projekti, soovid enamasti ju ka kntrollida, kas kõik on seni ikka hästi läinud. See tähendab rakenduse esimest ehitamist ja testkäivitamist, mille me nüüd ette võtamegi. Projekti esialgseks kompileerimiseks tuleb astuda mitu sammu, mida me lühidalt tutvustame.</para>
<simplelist>
<member><link linkend="gettingstarted-compile-basic-init">Projekti initsialiseerimine esimeseks ehitamiseks.</link></member>
<member><link linkend="gettingstarted-compile-basic-config">Esialgne konfigureerimine.</link></member>
<member><link linkend="gettingstarted-compile-basic-build">Projekti ehitamine.</link></member>
<member><link linkend="gettingstarted-compile-basic-run">Rakenduse käivitamine &tdevelop;is.</link></member>
</simplelist>

<note>
<para>Me eeldame siinkohal, et sinu projekti aluseks on &GNU; autotools, mis võimaldavad &tdevelop;is kasutada Automake'i haldurit, nagu seda kasutab meie Hello näidisprojekt. Kui oled loonud mõnda muud tüüpi projekti, &eg; sellise, mis kasutab &Qt; põhist <application>QMake</application>'i projektihaldurit, siis võivad menüüs olla mõnevõrra teistsugused kirjed. Sel juhul tuleb tutvuda vastava programmi pakkuja projektihalduse ja rakenduse ehitamise dokumentatsiooniga.</para>
</note>

<sect3 id="gettingstarted-compile-basic-init">
<title>Projekti initsialiseerimine ehitamiseks</title>

<para>Kui Rakenduse nõustaja lõi meie Hello näidisprojekti, oli see omamoodi toores, <quote>neitsilik</quote>. &GNU; autotools näeb ette mitu initsialiseerimissammu, enne kui rakendust saab tegelikult kompileerida ja linkida. Kui üritad ehitada sellist toorest rakendust, valides &eg; menüükäsu <menuchoice><guimenu>Ehitamine</guimenu><guimenuitem>Ehita projekt</guimenuitem></menuchoice> või vajutades klahvi <keycap>F8</keycap>, saad järgmise hoiatuse.</para>

<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="raw-project-warning.png" format="PNG"/>
</imageobject>
<caption><para>Toore automake'i põhise projekti ehitamise katse</para></caption>
</mediaobject>
</screenshot>

<para>Sa võid klõpsata nupule <guibutton>Pane tööle</guibutton> ning &tdevelop; üritab automaatselt läbi viia kõik sammud, mida on vaja enne rakenduse kompileerimist ja linkimist. Kuid me tahame vaadelda esimesi samme õiges järjekorras, sestap klõpsa nupule <guibutton>Ära käivita</guibutton>. </para>

<para>Nagu mainitud, käib rakenduse kompileerimine ja linkimine menüü <guimenu>Ehitamine</guimenu> vahendusel. Ava see ja vali <guimenuitem>Käivita automake</guimenuitem>.</para>

<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="build-menu-automake.png" format="PNG"/>
</imageobject>
<caption><para>Esmase initsialiseerimise käivitamine</para></caption>
</mediaobject>
</screenshot>

<para>&tdevelop; avab nüüd all tööriistavaate <guilabel>Teated</guilabel> ja näitab tervet rida teateid, mida annavad mitmesugused ehitamise tööriistad. Kui kõik läheb edukalt, seisab viimasel real <quote><computeroutput>*** Õnnestus ***</computeroutput></quote>.</para>

<para>Algusse kerides näed käsku, mille &tdevelop; tööriistadele andis:</para>

<programlisting>cd '/home/devel/projects/hello' &amp;&amp; \
WANT_AUTOCONF_2_5="1" WANT_AUTOMAKE_1_6="1" gmake -f Makefile.cvs
</programlisting>

<para>See annab teada, et &tdevelop; lülitus kõigepealt meie näidisprojekti juurkataloogi. Seejärel kehtestati vajalik keskkond, märkides ära ehitamise initsialiseerimiseks vajalikud tööriistade <application>autoconf</application> ja <application>automake</application> versioonid. Lõpuks anti ehitamistööriistale (antud juhul &GNU; <application>gmake</application>) käsk töödelda faili <filename>Makefile.cvs</filename>.</para>

<para>See fail loodi automaatselt Hello projekti loomisel. See sisaldab kõiki käske, mida on vaja projekti korrektseks initsialiseerimiseks, et loodav rakendus töötaks &kde; keskkonnas. Ennekõike loob see aga skriptifaili <filename>configure</filename>, mida on vaja järgmise sammu sooritamisel.</para>
</sect3>

<sect3 id="gettingstarted-compile-basic-config">
<title>Esialgne Hello konfigureerimine</title>

<para>Konfigureerimine tähendab ehitamise kohandamist sinu süsteemi riist- ja tarkvaraga. See on &GNU; autotools'il põhineva ehitamise üks olulisemaid nõudeid, nagu sa arvatavasti juba tead.</para>

<para>Konfigureerimisega saab alustada kohe pärast seda, kui algne automake'i initsialiseerimine on edukalt lõpetatud, sest alles pärast seda saab kasutada vajalikke <filename>configure</filename>-faile. Vali siis nüüd menüükäsk <menuchoice><guimenu>Ehitamine</guimenu> <guimenuitem>Käivita 'configure'</guimenuitem></menuchoice>, mis alustabki konfigureerimist.</para>

<para>&tdevelop; avab vajaduse korral taas tööriistavaate <guilabel>Teated</guilabel> ning näitab seal konfigureerimise teateid. Kui kõik läheb edukalt, on viimased teated <quote><computeroutput>Good - your configure finished. Start make now</computeroutput></quote> (seda teatab 'configure') ja selle järel &tdevelop;i poolt <quote><computeroutput>*** Õnnestus ***</computeroutput></quote>.</para>

<para id="gettingstarted-compile-basic-config-cmd">Kaardi <guilabel>Teated</guilabel> ülaosast leiab taas käsu, millega &tdevelop; konfigureerimise käivitas:</para>

<programlisting>mkdir '/home/devel/projects/hello/debug' &amp;&amp; \
cd '/home/devel/projects/hello/debug' &amp;&amp; \
CXXFLAGS="-O0 -g3" "/home/devel/projects/hello/configure" --enable-debug=full
</programlisting>

<para>Need paljastavad meile mitu huvitavat detaili.</para>

<informaltable frame="none">
<tgroup cols="2"><tbody><row>
<entry>
<mediaobject>
<imageobject>
<imagedata fileref="tutorial-debug-tree.png"/>
</imageobject>
</mediaobject>
</entry>
<entry>
<itemizedlist>
<listitem>
<para>Kõigepealt kasutab &tdevelop; ehitamiseks projekti kataloogipuus spetsiaalset alamkataloogi. Ehitamiskataloog <filename class="directory">debug</filename> (seda näeb vasakul) peegeldab projekti põhistruktuuri ja sisaldab mõningaid ehitamisega seotud faile, näiteks mitu <filename>configure</filename>-faili ja lisaks <filename>Makefile</filename> igas alamkataloogis.</para>
</listitem>
<listitem>
<para>Osas <link linkend="gettingstarted-compile-setup">Projekti seadistamine</link> tuleb veel lühidalt juttu, miks &tdevelop; kasutab sellistel juhtudel omaette ehitamiskatalooge. Praegu piisab teadmisest, et &tdevelop; loob kataloogi <filename class="directory">debug</filename> &mdash; kui seda on vaja &mdash; enne konfigureerimis ja et skript <filename>configure</filename> ehitas sinna alamstruktuuri ja kõik <filename>Makefile</filename>'id.</para>
</listitem>
<listitem>
<para>Seejärel kutsus &tdevelop; ehitamiskataloogist <filename class="directory">debug</filename> meie projekti juurkataloogis välja skripti <filename>configure</filename>, kasutades spetsiaalset keskkonda, milles lipud <computeroutput>CXXFLAGS="-O0 -g3"</computeroutput> annavad hiljem kompilaatorile &gcc; teada, et loodavaid binaarfaile ei tule optimeerida ning neisse tuleb kaasata kogu silumisinfo.</para>
</listitem>
<listitem>
<para>Lõpuks kutsutakse skript <filename>configure</filename> välja võtmega <computeroutput>--enable-debug=full</computeroutput>, mis annab korralduse luua kõik <filename>Makefile</filename>'id, et hiljem oleks kompileerimise ja linkimise ajal saada kogu vajalik silumisinfo.</para>
</listitem>
</itemizedlist>
</entry>
</row></tbody></tgroup>
</informaltable>

<para>Kõik need seadistused on kohandatavad projekti tasandil. Sellest kõneleb lähemalt peatükk <link linkend="project-management">Projekti haldamine</link>.</para>
</sect3>

<sect3 id="gettingstarted-compile-basic-build">
<title>Projekti ehitamine</title>

<para>Kui oled nii kaugele jõudnud, oled valmis tegelikuks ehitamiseks, &ie; rakenduse kompileerimiseks ja linkimiseks. Menüüst <guimenu>Ehitamine</guimenu> leiab kolm asjakohast kirjet.</para>

<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="build-commands.png" format="PNG"/>
</imageobject>
<caption><para>&tdevelop;i käsud binaarfailide ehitamiseks</para></caption>
</mediaobject>
</screenshot>

<para>Need on alt üles järgmised:</para>
<itemizedlist>
<listitem>
<para><guimenuitem>Kompileeri fail</guimenuitem> &mdash; kompileerib parajasti redaktoriaknas avatud lähtekoodifaili. Kasutatakse peamiselt kiireks vigade kontrollimiseks.</para>
</listitem>
<listitem>
<para><guimenuitem>Ehita aktiivne sihtmärk</guimenuitem> &mdash; kasutatakse peamiselt koostöös <link linkend="gettingstarted-extend-automake">Automake'i halduriga</link>, millest tuleb lühidalt juttu edaspidi.</para>
</listitem>
<listitem>
<para><guimenuitem>Ehita projekt</guimenuitem> &mdash; sellest olemegi me praegu huvitatud. See võtab ette kogu projekti, kompileerides ja linkides kõik failid.</para>
</listitem>
</itemizedlist>

<para>Võib-olla on huvitav jälgida, mis juhtub kataloogiga <filename class="directory">debug</filename>, mis loodi varasema skripti <filename>configure</filename> töö käigus. Seepärast hoia kõik alamkataloogid avatuna, nagu eespool näidatud. Seejärel vali ehitamise alustamiseks menüükäsk <menuchoice><guimenu>Ehitamine</guimenu> <guimenuitem>Ehita projekt</guimenuitem></menuchoice> (või vajuta klahvi <keycap>F8</keycap>). Nagu varem, avaneb all tööriistavaade <guilabel>Teated</guilabel> ning näitab ehitamise teateid. Lisaks ilmuvad kataloogi <filename class="directory">debug</filename> mõningad failid.</para>

<para id="gettingstarted-compile-basic-build-cmd">Meie Hello näidisprojektis pole just palju faile, mistõttu kaart <guilabel>Teated</guilabel> sisaldab vaid mõne rea. Kõige ees seisab taas käsk, mille &tdevelop; edastas protsessi alustamiseks.</para>

<programlisting>cd '/home/devel/projects/hello/debug' &amp;&amp; \
WANT_AUTOCONF_2_5="1" WANT_AUTOMAKE_1_6="1" gmake -k 
</programlisting>

<para>Pole ilmselt üllatav, et &tdevelop; lülitus kataloogi <filename class="directory">debug</filename>, et käivitada seal asuv <filename>Makefile</filename>. Nagu <link linkend="gettingstarted-compile-basic-init">initsialiseerimise</link> ajal, loodi taas spetsiaalne keskkond, milles kutsuti välja tööriist <application>gmake</application>.</para>

<para>Pane tähele võtit <computeroutput>-k</computeroutput> programmi <application>gmake</application> väljakutses. See sunnib ehitamist jätkama lõpuni ka siis, kui tekib vigu. See on üsna mõistlik, sest &tdevelop; loetleb kõik veateated kaardil <guilabel>Teated</guilabel>. Kui neid peaks esinema, saab kasutada &IDE; suuri võimalusi. Klõpsa lihtsalt veal kaardil <guilabel>Teated</guilabel> ja &tdevelop; viib sind lähtekoodifailis täpselt sellesse kohta, kus viga tekkis.</para>

<para>Ja mis juhtus kataloogiga <filename class="directory">debug</filename>? Tegelikult suurt mitte midagi. Mõned failid ilmusid alamkataloogidesse <filename class="directory">doc/en</filename> ja <filename class="directory">src</filename>, millest vahest enim tähelepanu väärib <filename>hello</filename> asukohas <filename class="directory">/home/devel/projektid/hello/debug/src/</filename>. See ongi meie rakenduse binaarfail. Nüüd on rakenduse esialgseks kontrollimiseks veel vaja seesama <filename>hello</filename> käivitada.</para>
</sect3>

<sect3 id="gettingstarted-compile-basic-run">
<title>Rakenduse käivitamine</title>

<para>Uue Hello rakenduse käivitamiseks ei ole vaja mingeid erisamme. Vali lihtsalt menüükäsk <menuchoice><guimenu>Ehitamine</guimenu> <guimenuitem>Käivita rakendus</guimenuitem></menuchoice> või kasuta kiirklahvi <keycombo><keycap>Shift</keycap> <keycap>F9</keycap></keycombo> või nuppu <guibutton>Käivita rakendus</guibutton>, mille leiad <guilabel>ehitamisribalt</guilabel>.</para>

<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="run-button.png"/>
</imageobject>
<caption><para>Rakenduse käivitamine <guilabel>ehitamisribalt</guilabel></para>
</caption>
</mediaobject>
</screenshot>

<para>See ongi kõik. &tdevelop; käivitab nüüd uue rakenduse spetsiaalses konsooliaknas, mis avaneb all tööriistavaates <guilabel>Rakendus</guilabel>. Ülemises reas näeb käsku, mille &tdevelop; annab programmi käivitamiseks:</para>

<programlisting>./hello
</programlisting>

<para>See näitab, et &IDE; teab, kus asub käivitatav fail. Seda saab mõistagi seadistada. Täpsemalt räägib sellest peatükk <link linkend="project-management">Projekti haldamine</link>.</para>

<para>Reale <computeroutput>./hello</computeroutput> järgneb tõenäoliselt hoiatus. Seda võib praegu eirata. See ei takista rakenduse <application>Hello</application> tööd.</para>

<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="hello-world-app.png" format="PNG"/>
</imageobject>
<caption>
<para>Meie esialgne <application>Hello</application> rakendus</para>
</caption>
</mediaobject>
</screenshot>

<para>Sulge <application>Hello</application> rakenduse aken tavapäraselt. Kui vigu ei tekkinud, näitab &tdevelop; tööriistavaates <guilabel>Rakendus</guilabel> teadet <quote><computeroutput>*** Väljuti normaalselt</computeroutput></quote>.</para>
</sect3>
</sect2>

<sect2 id="gettingstarted-compile-setup">
<title>Projekti seadistamine</title>

<para>&tdevelop;is saab oma projekti hallata väga paljudel viisidel. Nende käitumist saab iga projekti puhul iseseisvalt määrata, mis kindlasti pakub huvi kogenud arendajatele. Kuid on mõningad projekti spetsiifilised seadistused, mida peavad teadma kõik. </para>

<simplelist>
<member><link linkend="gettingstarted-compile-setup-build">Mis kasu on ehitamisseadistustest?</link></member>

<member><link linkend="gettingstarted-compile-setup-config">Kus määrata kindlaks skripti <filename>configure</filename> käitumine?</link></member>

<member><link linkend="gettingstarted-compile-setup-make">Kuidas peaks töötama <application>make</application>?</link></member>

<member><link linkend="gettingstarted-compile-setup-run">Kus peaks asuma käivitatav fail ja mis peaks olema selle nimi?</link></member>
</simplelist>

<sect3 id="gettingstarted-compile-setup-build">
<title>Ehitamisseadistused</title>

<para>Kui me käivitasime skripti <filename>configure</filename> eespool toodud osa <link linkend="gettingstarted-compile-basic-config">Esialgne Hello seadistamine</link> juhiste kohaselt, täheldasime, et &tdevelop; lõi selleks spetsiaalse alamkataloogi <filename class="directory">debug</filename>. Nüüd tutvustame selle sammu mõningaid tagajärgi.</para>

<para>Esiteks tuleb öelda, et &tdevelop; ei pruugi tingimata kasutada spetsiaalset ehitamiskataloogi. Selle kasutamise näevad ette mallid, mida tarvitab Rakenduse nõustaja uue projekti loomisel.</para>

<para>Kui tahad teada, millised ehitamisseadistused on üldse kasutatavad, uuri menüüd <menuchoice><guimenu>Projekt</guimenu> <guisubmenu>Ehitamise seadistused</guisubmenu></menuchoice>.</para>

<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="build-configurations.png" format="PNG"/>
</imageobject>
<caption><para>Projekti mitu ehitamiseadistust</para></caption>
</mediaobject>
</screenshot>

<para>Antud juhul saab meie Hello näidisprojekti jaoks kasutada kolme erinevat ehitamisseadistust. Teistel juhtudel võib &mdash;vähemalt esialgu&mdash; olla kasutatav ainuilt üks ehitamisseadistus, nimelt <guimenuitem>default</guimenuitem>.</para>

<para>Parajasti kasutatava ehitamisseadistuses eest on linnuke, Kui soovid seda muuta, vali lihtsalt mõni muu menüükirje.</para>

<para>Vaatame nüüd lühidalt, mida need ehitamisseadistused pakuvad.</para>

<variablelist id="gettingstarted-compile-setup-build-configs">
<varlistentry>
<term><guimenuitem>debug</guimenuitem></term>
<listitem>
<para>Seda tuleks kasutada arendamise käigus vaikimisi ehitamisseadistusena. Ehitamine käib sel juhul lähtekoodikataloogidest eraldi spetsiaalses alamkataloogis <filename class="directory">debug</filename>, &ie; kõik objektid, lisafailid ja käivitatavad failid paigutakse loodud alamkataloogi alamkataloogidesse, mitte aga vastavatesse asukohtasse projekti juurkataloogis. Skriptile <filename>configure</filename> antakse võti <computeroutput>--enable-debug=full</computeroutput> ning võti <computeroutput>CXXFLAGS="-O0 -g3"</computeroutput> annab kompilaatorile &gcc; teada, et koodi ei optimeerita ning loodud binaarfailidesse lisatakse põhjalik silumisinfo.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><guimenuitem>optimized</guimenuitem></term>
<listitem>
<para>See on mõeldud lõpliku C++ rakenduse ehitamiseks. Ehitamine toimub lähtekoodikataloogidest eraldi spetsiaalses alamkataloogis <filename class="directory">optimized</filename>. Skriptile <filename>configure</filename> ei anta ühtegi spetsiifilist võtit, kuid võti <computeroutput>CXXFLAGS="-O2 -g0"</computeroutput> annab kompilaatorile &gcc; teada, et kood tuleb optimeerida ning loodud binaarfailidesse ei lisata silumisinfot.</para>
</listitem>
</varlistentry>

<varlistentry>
<term><guimenuitem>default</guimenuitem></term>
<listitem>
<para>Mõiste <quote>default</quote> ehk tõlkes 'vaikimisi' märgib standardseadistust, kui ehitad konsoolipõhise rakenduse, kasutades &eg;&GNU; käsureapõhiseid ehitamistööriistu <application>configure</application> ja <application>make</application>/<application>gmake</application>. Erinevalt variantidest <guimenuitem>debug</guimenuitem> ja <guimenuitem>optimized</guimenuitem> ei kasutata spetsiaalset ehitamiskataloogi. Rakendus ehitatakse vaikimisi lähtekoodikataloogides. Spetsiaalseid konfigureerimisvõtmeid ei anta. Ehitamisel ja rakenduse käivitamisel kasutatakse vaikimisi tööriistu (nt. &gcc; jne.).</para>

<warning>
<para>Mõtle hoolikalt järele, enne kui kasutad ehitamiskeskkonda <guimenuitem>default</guimenuitem>!</para>

<para>Seda ei saa kasutada paralleelselt spetsiifiliste keskkondadega <guimenuitem>debug</guimenuitem> ja <guimenuitem>optimized</guimenuitem>. <emphasis>Kõik variandiga <guimenuitem>default</guimenuitem> ette võetud ehitamistoimingud muudavad teised ehitamiskeskkonnad kasutuskõlbmatuks.</emphasis> Seda põhjustavad teatud iseärasused <filename>Makefile</filename>'ide loomisel <application>automake</application>/<application>autoconf</application>'i abil, mida ei saa enam tagasi võtta.</para>
</warning>
</listitem>
</varlistentry>
</variablelist>

<para>Miks aga peaks üldse tahtma kasutada erinevaid ehitamisseadistusi, eriti kui nad isegi üksteisega ei ühildu? Vastus &mdash; see lihtsustab redigeerimise, kompileerimise ja silumise tsüklit. Binaarfailidesse lisatud silumisinfo. aga programmi koodi tehtud väikesed muudatused optimeerimise käigus mõjutavad loodud rakenduse käitusaegset käitumist. Seepärast on paljudel juhtudel, kui mõne rutiini loogiline struktuur tundub olevat korrektne, siiski mõttekas seda testida, et näha, kas see käitub korrektselt ka elulisemates tingimustes.</para>

<para>Siin tulevadki mängu &tdevelop;i ehitamisseadistused. Et ehitatud objektid ja käivitatavad failid spetsiaalsetes ehitamiskataloogides ja ehitamiskäsud on üksteisest lahus, tuleb ehitamisseadistuse vahetamisel tegelda ainult lähtekoodi muutmisega.</para>

<para>See tähendab, et tingimuste muutmisel ei pruugi kõike puhastada ja algusest peale kompileerima asuda, vaid lihtsalt lülituda ehitamisseadistuselt <guimenuitem>debug</guimenuitem> seadistusele <guimenuitem>optimized</guimenuitem>, kompileerida lähtekoodi muudatused ja testida kõike uuesti uutes oludes. Kui midagi on valesti, vali taas seadistus <guimenuitem>debug</guimenuitem> ja jätka kohe oma tööd.</para>

<para>Viimane märkus &mdash; ehitamisseadistused on mitmeti seadistatavad. Soovi korral võib luua isegi omaenda ehitamisseadistusi. Me käsitleme neid võimalusi põgusalt järgmises osas.</para>
</sect3>

<sect3 id="gettingstarted-compile-setup-config">
<title>Projekti konfigureerimise seadistused</title>

<para>Rakenduse korralik konfigureerimine on &GNU; autotools'i ahelas hädavajalik. Tavaliselt tehakse seda skriptile <filename>configure</filename> antavate võtmetega ja/või keskkonnale spetsiifiliste lippudega, mis määratakse kindlaks enne skripti <filename>configure</filename> käivitamist (&eg; <computeroutput>CXXFLAGS</computeroutput>, mida vaatlesime eespool).</para>

<para>Enamikku konfigureerimisvõtmeid saab &tdevelop;is määrata graafiliselt. Vali <menuchoice><guimenu>Projekt</guimenu> <guimenuitem>Projekti seadistused</guimenuitem></menuchoice> ja ilmuvas dialoogis vasakus servas ikoon <guiicon>Konfigureerimise seadistused</guiicon>. Paremal pool näidatakse seejärel mitme kaardiga dialoogi <guilabel>Konfigureerimise seadistused</guilabel>.</para>

<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="configure-project-configure.png" format="PNG"/>
</imageobject>
<caption><para>Siin saab määrata enamiku konfigureerimise seadistusi</para></caption>
</mediaobject>
</screenshot>

<para>Nagu näed, on dialoogis võimalik seadistada õige paljusid asju. Praegu vaatame põgusalt neist ainult mõningaid, mis seonduvad meie Hello näidisprojektiga. Täpsemalt räägib sellest peatükk <link linkend="projects-configure">Projektide seadistamine</link>. Kui soovid lähemalt tundma õppida erinevaid lippe, siis otsi teavet käsureal käsuga <command>info make</command> (või <command>info:make</command> &konqueror;is), kus tuleb üles leida sektsioon <menuchoice><guimenu>Implicit Rules</guimenu> <guimenuitem>Implicit Variables</guimenuitem></menuchoice>.</para>

<para>Dialoogis on mitu kaarti, millest esimene, <guilabel>Üldine</guilabel>, puudutab kõige üldisemaid seadistusi, teised teatud kompilaatoritele spetsiifilisi seadistusi. Kõigil juhtudel aga mõjutab dialoogide sisu parajasti valitud ehitamisseadistus.</para>

<para>Ehitamisseadistuse, mille seadistusi muutma asuda, saab valida dialoogi <guilabel>Konfigureerimise seadistused</guilabel> ülaosas asuvast rippmenüüst <guilabel>Konfiguratsioon</guilabel>.</para>

<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="configure-project-buildconfig.png" format="PNG"/>
</imageobject>
<caption><para>Ehitamisseadistuse valik, mille seadistusi muuta</para></caption>
</mediaobject>
</screenshot>

<para>Nüüd vali samast rippmenüüst mõni teine ehitamisseadistus ja pane tähele, kuidas dialoogi sisu &eg; tekstikastides <guilabel>Konfigureerimise argumendid</guilabel> ja <guilabel>Ehituskataloog</guilabel> muutub vastavalt sellele, mida me tutvustasime eespool <link linkend="gettingstarted-compile-setup-build-configs">ehitamisseadistustest</link> kõneldes.</para>

<sect4 id="gettingstarted-compile-setup-config-general">
<title>Üldised konfigureerimise seadistused</title>

<para>Kaardil <guilabel>Üldine</guilabel> saab määrata järgmisi konfigureerimise valikuid:</para>

<itemizedlist>
<listitem>
<formalpara>
<title>Konfigureerimise argumendid</title>
<para>Need on võtmed, mida &tdevelop; edastab ehitamiseks skriptile <filename>configure</filename>. Vaata eespool <link linkend="gettingstarted-compile-basic-config-cmd">näidist</link> osas <quote>Esialgne Hello seadistamine</quote>.</para>
</formalpara>
</listitem>

<listitem>
<formalpara>
<title>Ehituskataloog</title>
<para>See on projekti juurkataloogi alamkataloog, kuhu &tdevelop; paigutab kõik ehitamisel loodud failid. Ideaalis peaks see kattuma kasutatava ehitamisseadistuse nimega, kuid kasutada võib mis tahes nime, peaasi et see erineks teiste ehitusseadistuste vaikimisi kataloogidest.</para>
</formalpara>
</listitem>

<listitem>
<formalpara>
<title>Lähtekoodi ülemkataloog</title>
<para>Seda ei ole enamasti vaja määrata. Vaikimisi on selleks projekti juurkataloog ning muuta tuleks seda vaid siis, kui projekti lähtekood asub kuskil mujal.</para>
</formalpara>
</listitem>

<listitem>
<formalpara>
<title>C/C++ eelprotsessori lipud (CPPFLAGS)</title>
<para>Siin tuleb anda eelprotsessorile mõeldud juhised. &tdevelop; kasutab neid ajutise keskkonna loomiseks enne ehitustööriista väljakutsumist. Ka siin tasuks vaadata <link linkend="gettingstarted-compile-basic-config-cmd">näidist</link> osas<quote>Esialgne Hello seadistamine</quote>.</para>
</formalpara>
</listitem>

<listitem>
<formalpara>
<title>Linkur lipud (LDFLAGS)</title>
<para>Siin tuleb anda linkimistööriistale <application>ld</application> teada, kust otsida täiendavaid teeke. Ka seda kasutatakse ajutise ehituskeskkonna loomiseks.</para>
</formalpara>
</listitem>

<listitem>
<formalpara>
<title>Keskkonnamuutujad</title>
<para>Siin saab määrata lisamuutujaid ajutisele ehituskeskkonnale, mille &tdevelop; loob enne vastava ehitustööriista väljakutsumist. Keskkonnamuutujad tuleb määrata eraldi kõigile ehitamisseadistustele.</para>
</formalpara>
</listitem>
</itemizedlist>
</sect4>

<sect4 id="gettingstarted-compile-setup-config-spec">
<title>Kompilaatori spetsiifilised seadistused</title>

<para>Dialoogi <guilabel>Konfigureerimise seadistused</guilabel> teistel kaartidel on konkreetsete kompilaatoritega seotud valikud. Need on üldiselt ühetaolised, mistõttu piirdume kaardiga <guilabel>C++</guilabel>.</para>

<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="configure-project-cpp.png" format="PNG"/>
</imageobject>
<caption><para>&tdevelop;i kasutatava kompilaatori ja selle töökeskkonna valimine</para></caption>
</mediaobject>
</screenshot>

<para>Siin saab määrata järgmisi asju:</para>

<itemizedlist>
<listitem>
<formalpara>
<title>C++ kompilaator</title>
<para>Sellest ripmenüüst saab valida C++ kompilaatori, mida &tdevelop; standardselt kasutab. Siin on näha ainult need kompilaatorid, mis on &tdevelop;ile kättesaadavad.</para>
</formalpara>
</listitem>

<listitem>
<formalpara>
<title>Kompilaatori käsk (CXX)</title>
<para>Ainult asjatundjatele. Seda läheb vaja vaid siis, kui C++ kompilaator pole standardne. Kirjuta siia selle nimi.</para>
</formalpara>
</listitem>

<listitem>
<formalpara>
<title>Kompilaatori lipud (CXXFLAGS)</title>
<para>Siin saab anda täiendavad võtmed, mida &tdevelop; (<filename>Makefile</filename>'i vahendusel) edastab kompilaatorile. Mõned võtmed on ette antud vastavalt rippmenüüst <guilabel>Konfiguratsioon</guilabel> valitud ehitamisseadistusele.</para>
</formalpara>

<para>Pane tähele, et paljusid levinumaid kompilaatori võtmeid saab valida dialoogist, mis avaneb klõpsuga tekstikastist paremal asuvale nupule <guibutton>...</guibutton>.</para>

<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="configure-project-cppoptions.png" format="PNG"/>
</imageobject>
<caption><para>Selles dialoogis saab määrata &GNU; C++ kompilaatori käitumise</para></caption>
</mediaobject>
</screenshot>

<para>Me näitasime siin sihilikult kaarti <guilabel>Optimeerimine</guilabel>. Pane tähele, et valitud on <guilabel>Optimeerimiseta</guilabel> (vastavalt võtmele <computeroutput>-O0</computeroutput> ehitamisseadistuses <computeroutput>debug</computeroutput>).</para>

<para>Paraku ei saa praegu mitte kõiki võtmeid selles dialoogis määrata. Näiteks võti <computeroutput>-g3</computeroutput>, mida kasutab ehitamisseadistus <computeroutput>debug</computeroutput>, tuleb vajaduse korral käsitsi muuta.</para>
</listitem>
</itemizedlist>
</sect4>
</sect3>

<sect3 id="gettingstarted-compile-setup-make">
<title>Make'i programmi ehitamise viisid</title>

<para>&tdevelop;pi saab panna projekti ehitamisel tööriista <application>make</application> väga mitmel moel välja kutsuma. Vali <menuchoice><guimenu>Projekt</guimenu> <guimenuitem>Projekti seadistused</guimenuitem></menuchoice> ja seejärel vasakus servas ikoon <guiicon>Ehitamise seadistused</guiicon>. Paremal avaneb dialoog <guilabel>Ehitamise seadistused</guilabel>.</para>

<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="configure-project-make.png" format="PNG"/>
</imageobject>
<caption><para>&tdevelop;i väljakutse määramine tööriistale <application>make</application></para></caption>
</mediaobject>
</screenshot>

<para>Siin ei ole üldiselt suurt midagi vaja muuta. Enamasti on ainuke huvipakkuv valik <guilabel>Esimese vea ilmnemisel katkestatakse töö</guilabel>. Enamikus projektides on see välja lülitatud. See vastab võtmele <computeroutput>-k</computeroutput> rakenduse <application>gmake</application> väljakutses, mis esines meie Hello näidisprojekti <link linkend="gettingstarted-compile-basic-build-cmd">esimese ehitamise</link> käsus.</para>

<para>See on mõttekas sellises &IDE;-s nagu &tdevelop;, mis talletab kõik ehitamise ajal tekkinud vead. Pärast ehitamist saab tööriistavaates <guilabel>Teated</guilabel> hõlpsasti kõiki vigu näha. Neid saab läbi lapata menüükäskudega <menuchoice><guimenu>Vaade</guimenu> <guimenuitem>Järgmine viga</guimenuitem></menuchoice> ja <menuchoice><guimenu>Vaade</guimenu><guimenuitem>Eelmine viga</guimenuitem></menuchoice> või vastavate kiirklahvidega <keycap>F4</keycap> ja <keycombo><keycap>Shift</keycap><keycap>F4</keycap></keycombo>. &tdevelop; aktiveerib selle peale automaatselt vajaliku lähtekoodifaili ja viib kursori reale, kus viga esines.</para>

<para>Kui sa aga soovid, et ehitamine peatataks kohe vea tekkimisel, märgi dialoogis ära kast <guilabel>Esimese vea ilmnemisel katkestatakse töö</guilabel>. Sel juhul kutsub &tdevelop; programmi <application>gmake</application> välja võtmeta <computeroutput>-k</computeroutput>.</para>
</sect3>

<sect3 id="gettingstarted-compile-setup-run">
<title>Käivitatava faili käivitamine</title>

<para>Kui ehitamine tehtud, saab &tdevelop;is kohe rakenduse käivitada. Vali kas menüükäsk <menuchoice><guimenu>Ehitamine</guimenu> <guimenuitem>Käivita rakendus</guimenuitem></menuchoice>, kiirklahv <keycombo><keycap>Shift</keycap><keycap>F9</keycap></keycombo> või klõpsa &tdevelop;i <guilabel>ehitamisribal</guilabel> ikoonile <guibutton>Käivita rakendus</guibutton>.</para>

<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="run-button.png" format="PNG"/>
</imageobject>
<caption><para>Rakenduse käivitamine tööriistaribalt</para></caption>
</mediaobject>
</screenshot>

<para>Aga kus see käivitatav fail asub? Kuidas lisada &tdevelop;i väljakutsele veel mõningaid võtmeid? Ja kuidas panna see tööle omaette terminalist, et kontrollida interaktiivset käitumist konsoolis?</para>

<para>Kõik see on seadistatav &tdevelop;i projekti käivitamisvalikutega. Vali <menuchoice><guimenu>Projekt</guimenu> <guimenuitem>Projekti seadistused</guimenuitem></menuchoice> ja seejärel vasakus servas ikoon <guiicon>Käivitamise seadistused</guiicon>. Paremal avaneb dialoog <guilabel>Käivitamise seadistused</guilabel>.</para>

<screenshot>
<mediaobject>
<imageobject>
<imagedata fileref="configure-project-run.png" format="PNG"/>
</imageobject>
<caption><para>Rakenduse käivitamise koha ja viisi määramine</para></caption>
</mediaobject>
</screenshot>

<para>Selles dialoogis on üsna palju valikuid, mis põhimõtteliselt jagunevad nelja rühma.</para>

<itemizedlist>
<listitem>
<formalpara>
<title>Kataloog</title>
<para>Siin saab &tdevelop;ile teada anda, kust tuleb käivitatav fail välja kutsuda. Valida saab kolme võimaluse seast.</para>
</formalpara>

<para>Pane tähele, et siin saab määrata ainult juurkataloogi. &tdevelop; otsib käivitatavat faili tavaliselt mõnest alamkataloogist, mille saab määrata valikute järgmises rühmas.</para>

<itemizedlist>
<listitem>
<para>Käivitamine kataloogist, kus käivitatav fail viimati ehitati. See on vaikevalik. Selle võib julgelt kehtima jätta.</para>
</listitem>

<listitem>
<para>Käivitamine ehituskataloogist vastavalt parajasti valitud <link linkend="gettingstarted-compile-setup-build">ehitamisseadistusele</link>. Kataloogi nimi on kindlaks määratud dialoogis <link linkend="gettingstarted-compile-setup-config-general">Üldised seadistused</link>.</para>

<para>See on juurkataloog, kust &tdevelop; käivitatavat faili otsib. See muutub automaatselt vastavalt menüüs <menuchoice><guimenu>Projekt</guimenu> <guisubmenu>Ehitamise seadistused</guisubmenu></menuchoice> langetatud valikule.</para>

<para>Lisaks sellele, et nii saab alati käivitada kõige viimati ehitatud käivitatava faili, võimaldab see valik rakenduse käivitamist lülitada lihtsalt menüüst <guimenu>Projekt</guimenu> mõnda muud ehitamisseadistust valides.</para>
</listitem>

<listitem>
<para>Käivitamine kindlast valitud kataloogist. Taas on tegemist vaid juurkataloogiga, mille seest otsitakse käivitatavat faili.</para>

<para>Seda on mõtet kasutada &eg; siis, kui soovid käivitada juba paigaldatud rakenduse, mitte aga projektikataloogides asuva versiooni.</para>
</listitem>
</itemizedlist>
</listitem>

<listitem>
<formalpara>
<title>Programm</title>
<para>See annab &tdevelop;ile teada programmi suhtelise asukoha ja nime, mida välja kutsuda. Asukoht on suhteline eespool määratud konfiguratsioonirühma asukoha juurkataloogi suhtes. Lisaks saab anda &tdevelop;ile korralduse edastada programmile väljakutsumisel mis tahes võtmeid.</para>
</formalpara>

<note>
<para>Kui jätta tekstikast <guilabel>Põhirakendus</guilabel> tühjaks, kasutatakse Automake'i halduri <emphasis>aktiivse sihtmärgi</emphasis> seadistusi. Kuigi tegemist on kogenud kasutajatele mõeldud valikuga, tekitab selle välja juhuslik tühjaksjätmine väga sageli probleeme. See tasuks ära märkida, kui &tdevelop; ei kutsu välja vajalikku käivitatavat faili.</para>
</note>
</listitem>

<listitem>
<formalpara>
<title>Keskkonnamuutujad</title>
<para>&tdevelop; loob spetsiaalse keskkonna, milles rakendus tööle panna. Siin saab määrata täiendavad keskkonnamuutujad.</para>
</formalpara>
</listitem>

<listitem>
<formalpara>
<title>Muud</title>
<para>Dialoogi allservas on veel kaks märkekasti.</para>
</formalpara>

<itemizedlist>
<listitem>
<para><guilabel>Automaatne kompileerimine enne käivitamist</guilabel> on enamasti mõttekas valik. &tdevelop; kontrollib projektis muutusi ja sooritab vajaduse korral konfigureerimise ja ehitamise, kui annad käsu rakendus käivitada.</para>

<para>Märge tasuks kastist eemaldada juihul, kui soovid käivitada rakenduse viimase muutmise eelse versiooni.</para>
</listitem>

<listitem>
<para><guilabel>Käivitamine välises terminalis</guilabel> pakub huvi juhul, kui soovid testida mittegraafilise rakenduse sisendi ja väljundi käitumist konsoolis. Vaikimisi ei ole see sisse lülitatud, mistõttu &tdevelop; käivitab rakenduse omaenda aknas, kus puuduvad konsooliterminali sisendi/väljundi võimalused.</para>
</listitem>
</itemizedlist>
</listitem>
</itemizedlist>
</sect3>
</sect2> 
</sect1>

<sect1 id="gettingstarted-extend">
<title>Projekti laiendamine &mdash; Automake'i haldur</title>

<para>(- veel kirjutamata -)</para>

<sect2 id="gettingstarted-extend-automake">
<title>Kiirülevaade Automake'i tegevusest</title>

<para>(- veel kirjutamata -)</para>
</sect2> 

<sect2 id="gettingstarted-extend-pics">
<title>Ikoonide asetamine eraldi kataloogi</title>

<para>(- veel kirjutamata -)</para>
</sect2> 

<sect2 id="gettingstarted-extend-class">
<title>Uute klasside lisamine</title>

<para>(- veel kirjutamata -)</para>

<caution><para>Ole klassi failinimede valimisel väga hoolikas. Hiljem on neid väga keeruline muuta.</para></caution>
</sect2> 

<sect2 id="gettingstarted-extend-subproject">
<title>Alamprojekti sisu</title>

<para>(- veel kirjutamata -)</para>

<sect3 id="gettingstarted-extend-subproject-active">
<title>Keskendumine tööle &mdash; aktiivne sihtmärk</title>

<para>(- veel kirjutamata -)</para>
</sect3> 
</sect2> 

<sect2 id="gettingstarted-extend-restructure">
<title>Mõned sammud projekti restruktureerimiseks</title>

<para>(- veel kirjutamata -)</para>
</sect2> 
</sect1>


<sect1 id="gettingstarted-debug">
<title>Silumine</title>

<para>(- veel kirjutamata -)</para>
</sect1> 


<sect1 id="gettingstarted-doc">
<title>Märkus projekti dokumentatsiooni kohta</title>

<para>&kde; projekt kasutab oma käsiraamatu genereerimiseks <ulink url="http://www.docbook.org/tdg5/en/html/docbook.html">docbook'i</ulink>. Käsiraamatu saab avada rakenduses menüükäsuga <menuchoice><guimenu>Abi</guimenu><guimenuitem><replaceable>RakenduseNimi</replaceable> käsiraamat</guimenuitem></menuchoice>, kui &kde; graafiline rakendus töötab. Pärast projekti ehitamist näeb käsiraamatut &abikeskus;es. See peaks seletama kasutajale, kuidas rakendus töötab, millised on selle peamised omadused ja kuidas seda seadistada. Samuti peaks see rääkima kogenenumatele kasutajatele mõeldud võimalustest, kui neid on. </para>
<para>Kõigil &tdevelop;i &kde; põhistel mallidel on alamkataloog doc, mis sisaldab kataloogis en malli <filename>index.docbook</filename>, mille põhjal saab asuda käsiraamatut kirjutama. Faili <filename>index.docbook</filename> tuleks redigeerida &tdevelop;is, alustades selliste eraandmete muutmisest, nagu nimi, e-posti aadress &etc; Uuri failis leiduvaid kommentaare ja püüa nende alusel hakata oma rakenduse dokumentatsiooni kirjutama. Kui soovid näha muudatusi &abikeskus;es, ehita projekt uuesti.</para>
<note><para>Projekt tuleb paigaldada &tdevelop;is menüükäsuga <menuchoice><guimenu>Ehitamine</guimenu> <guimenuitem>Paigalda</guimenuitem></menuchoice> või <guimenuitem>Paigalda (administraatorina)</guimenuitem>, kui soovid näha käsiraamatut &abikeskus;es.</para></note>
<para>Docbook'i süntaksi kohta leiab rohkem teavet <ulink url="http://l10n.kde.org/docs/markup/index.html">&kde; dokumentatsiooni veebileheküljelt</ulink>.</para>
</sect1>

<sect1 id="gettingstarted-keys">
<title>Ja viimaks - kiirklahvid</title>

<para>(- veel kirjutamata -)</para>
</sect1>

<sect1 id="gettingstarted-whereto">
<title>Kuhu edasi?</title>

<para>(- veel kirjutamata -)</para>

<sect2 id="gettingstarted-whereto-faq">
<title>Sageli esinevad probleemid</title>

<simplelist>
<member>Põhitõdede peatükk</member>
<member>KKK-leheküljed</member>
<member>Foorum</member>
<member>Postiloendid</member>
</simplelist>
</sect2>

<sect2 id="gettingstarted-whereto-projects">
<title>Projektide kasutamine</title>

<para>(- veel kirjutamata -)</para>

<sect3 id="gettingstarted-whereto-projects-open">
<title>Olemasolevate &tdevelop;i projektide kasutamine</title>

<para>(- veel kirjutamata -)</para>
</sect3>

<sect3 id="gettingstarted-whereto-projects-import">
<title>Väliste projektide import</title>

<para>(- veel kirjutamata -)</para>
</sect3>
</sect2>
</sect1>

</chapter>
