<chapter id="applicationwizard">

<chapterinfo>
  <authorgroup>
    <author><firstname>Bernd</firstname><surname>Pol</surname></author>
    <!-- ROLES_OF_TRANSLATORS -->
  </authorgroup>
</chapterinfo>

<title>Alustamine &mdash; &appwizard;</title>
<!-- FIXME (bp, 2006-06-18) This is a misnomer. It should be something like -->
<!-- Working With Projects -->
<!-- featuring the application manager as part of the New Projects section. -->

<indexterm zone="applicationwizard">
  <primary>&appwizard;</primary></indexterm>

<para>Arendustegevuse keskmes seisavad &tdevelop;is <emphasis>projektid</emphasis>. Projekt hõlmab kõike, mis kuulub ühe tervikliku programmi juurde: lähtekoodi failid, täiendavad andmefailid, kõik vajalikud haldusvahendid (näiteks make), tagab ligipääsu kõigile komponentidele ja lisatööriistadele, mida on vaja rakenduse loomiseks ja töölepanemiseks. </para>
<para>Kogu arendustegevuse koondamine projektidesse võimaldab vähese vaevaga lülituda ühelt oma ülesandelt teisele. See on eriti kasuks siis, kui töötad &eg; korraga mitme rakenduse kallal. Sel juhul lase lihtsalt &tdevelop;il avada projekt, mille kallal tahad parajasti vaeva näha, ning see avatakse täpselt selles keskkonnas, kuhu sa ta viimati jätsid. </para>

<sect1 id="new-projects">
<title>Uued projektid</title>

<!-- TODO (bp, 2006-06-18) This whole section must be completely rewritten. -->
<!-- There is no need for a tutorial habit anymore. -->

<indexterm zone="new-projects">
  <primary>projekt</primary>
  <secondary>uus</secondary></indexterm>

<para>Kui asud uut programmeerimisprojekti looma, tuleb kõigepealt mitmed asjad kindlaks määrata: luua algne kataloogistruktuur, esialgsed päise- ja lähtekoodifailid, initsialiseerida ehitamissüsteem &etc; </para>
<para>&tdevelop; pakub intuitiivse vahendi uue projekti loomiseks &mdash; <emphasis>&appwizard;</emphasis>. &appwizard; saab avada menüüst käsuga <menuchoice><guimenu>Projekt</guimenu> <guimenuitem>Uus projekt</guimenuitem></menuchoice>. </para>
<para>Uue programmeerimisprojekti loomiseks &appwizard; abil on vaja vaid mõned sammud: </para>
<orderedlist>
  <listitem><para><link linkend="new-projects-start-type">Valida programmeerimiskeel</link> ja rakenduse tüüp teatud eelnevalt määratud mallide seast. </para></listitem>
  <listitem><para><link linkend="new-projects-start-general">Määrata teatud üldinfo</link>: rakenduse nimi, kataloog, kus see luuakse &etc; </para></listitem>
  <listitem><para>Otsustada, kas kasutada <link linkend="new-projects-start-cvs">versioonikontrollisüsteemi</link> (&eg; CVS) ja anda vajaduse korral selle jaoks andmed. </para></listitem>
  <listitem><para>Luua mõned mallid <link linkend="new-projects-start-templates">esialgsete päise- ja lähtekoodigfailide</link> tarbeks. </para></listitem>
  <listitem><para>Anda &appwizard;le korraldus <link linkend="new-projects-start-build">luua kõik esialgu vajalik</link>: kataloogistruktuur, esialgne päis/lähtekood, failimallid ja haldusvahendid (&eg; esiaglne ehitamisstruktuur) &etc; </para></listitem>
</orderedlist>
<para>Voil&agrave; &mdash; ongi kõik. &appwizard; loob nüüd sinu eest esialgse töötava failide komplekti, mille kallal võid kohe tegutsema hakata. </para>
<para>Vaatame nüüd seda kõike veidi lähemalt. </para>

<sect2 id="new-projects-start">
<title>Esimesed sammud</title>

<indexterm zone="new-projects-start">
  <primary>dialoog</primary>
  <secondary>uue projekti loomine</secondary></indexterm>
<indexterm zone="new-projects-start">
  <primary>projekt</primary>
  <secondary>uue projekti loomine</secondary>
  <tertiary>dialoog</tertiary></indexterm>
<indexterm zone="new-projects-start">
  <primary>projekt</primary>
  <secondary>mallid</secondary></indexterm>
<indexterm zone="new-projects-start">
  <primary>mallid</primary>
  <secondary>projekt</secondary></indexterm>

<para>&tdevelop;is uue projekti loomiseks vali käsk <guimenuitem>Uus projekt</guimenuitem> menüüst <guimenu>Projekt</guimenu>. Ilmub dialoog <guilabel>Uue projekti loomine</guilabel>, kus on avatud kaart <guilabel>Üldine</guilabel>: </para>

<screenshot id="screenshot-newprojectwizard">
  <mediaobject>
    <imageobject>
      <imagedata fileref="create-new-project.png" format="PNG"/>
    </imageobject>
    <caption><para>Uue projekti loomise esimene dialoog </para></caption>
  </mediaobject>
</screenshot>

<para>Nagu näed, jaguneb dialoog ülemiseks ja alumiseks osaks. Ülemises osas saad valida programmeerimiskeele ja rakenduse tüübi, alumises osas näed teatud üldist infot. </para>

<sect3 id="new-projects-start-type">
<title>Programmeerimiskeele ja rakenduse tüübi valimine</title>

<indexterm zone="new-projects-start-type">
  <primary>projekt</primary>
  <secondary>rakenduse tüüp</secondary></indexterm>
<indexterm zone="new-projects-start-type">
  <primary>projekt</primary>
  <secondary>programmeerimiskeel</secondary></indexterm>
<indexterm zone="new-projects-start-type">
  <primary>projekt</primary>
  <secondary>keel</secondary></indexterm>
<indexterm zone="new-projects-start-type">
  <primary>keel</primary></indexterm>
<indexterm zone="new-projects-start-type">
  <primary>programmeerimiskeel</primary></indexterm>
<indexterm zone="new-projects-start-type">
  <primary>rakendus</primary>
  <secondary>tüüp</secondary></indexterm>

<para>Dialoogi ülemise poole vasakpoolses osas saad langetada oma valiku. Dialoogi avanedes näed seal tervet rida katalooge, igaüks tähistatud teatud programmeerimiskeele järgi: </para>

<itemizedlist>
  <listitem><para>Ada <indexterm>
      <primary>Ada</primary>
      <secondary>uus projekt</secondary></indexterm>
  </para></listitem>
  <listitem><para>C <indexterm>
      <primary>C</primary>
      <secondary>uus projekt</secondary></indexterm>
  </para></listitem>
  <listitem><para>C++ <indexterm>
      <primary>C++</primary>
      <secondary>uus projekt</secondary></indexterm>
  </para></listitem>
  <listitem><para>Database (SQL projektid) <indexterm>
      <primary>SQL</primary>
      <secondary>uus projekt</secondary></indexterm>
    <indexterm>
      <primary>Andmebaas</primary>
      <secondary>uus projekt</secondary></indexterm>
  </para></listitem>
  <listitem><para>Fortran <indexterm>
      <primary>Fortran</primary>
      <secondary>uus projekt</secondary></indexterm>
  </para></listitem>
  <listitem><para>Haskell <indexterm>
      <primary>Haskell</primary>
      <secondary>uus projekt</secondary></indexterm>
  </para></listitem>
  <listitem><para>Java <indexterm>
      <primary>Java</primary>
      <secondary>uus projekt</secondary></indexterm>
  </para></listitem>
  <listitem><para>PHP <indexterm>
      <primary>PHP</primary>
      <secondary>uus projekt</secondary></indexterm>
  </para></listitem>
  <listitem><para>Pascal <indexterm>
      <primary>Pascal</primary>
      <secondary>uus projekt</secondary></indexterm>
  </para></listitem>
  <listitem><para>Perl <indexterm>
      <primary>Perl</primary>
      <secondary>uus projekt</secondary></indexterm>
  </para></listitem>
  <listitem><para>Python <indexterm>
      <primary>Python</primary>
      <secondary>uus projekt</secondary></indexterm>
  </para></listitem>
  <listitem><para>Ruby <indexterm>
      <primary>Ruby</primary>
      <secondary>uus projekt</secondary></indexterm>
  </para></listitem>
  <listitem><para>Shell (Bash'i shelliskriptid) <indexterm>
      <primary>Bash</primary>
      <secondary>uus projekt</secondary></indexterm>
    <indexterm>
      <primary>shell</primary>
      <secondary>uus projekt</secondary></indexterm>
  </para></listitem>
</itemizedlist>

<para>Kui täpne olla, siis need kataloogid ei sisalda tegelikult ühtegi programmeerimistööriista. Need viivad vaid eelnevalt määratud <emphasis>mallide</emphasis> juurde, mida saab kasutada alustuseks antud keeles programmi loomisel. Et näha, mida pakutakse, ava lihtsalt kataloogid. Mõnes on mitu alamkataloogi, mõnes aga vaid üks või mõni kirje. Alamkataloogid korraldavad saadaolevad mallid teatud ülesannete järgi, kirjed aga näitavad, millise malliga on konkreetselt tegemist. </para>
<para>Me ei hakka siin põhjalikult peatuma sellel, milliseid ülesandeid iga mall võimaldab täita, kuid selles selguselejõudmine ei tohiks olla väga keeruline. Kui valid mõne malli, näidatakse paremal pool selle kohta teatud infot. Allpool on näha <emphasis>lühike kirjeldus</emphasis>, mida antud mall teeb, selle kohal aga olemasolu korral pilt, kuidas malli põhjal loodud rakendus peaks lõpuks välja nägema, kui kompileerid ja käivitad selle ilma mingeid muudatusi tegemata. Tavaliselt on see rakenduse peaakna <emphasis>ekraanipilt</emphasis>. </para>
<para>Vali mall, mis kõige paremini tundub vastavat sellele rakendusele, mida sa oma vaimusilmas näed. Seejärel määra dialoogi alumises osas üldised omadused, mida kohe selgitame. </para>

<formalpara>
<title>Projektihalduse süsteemi valimine</title>
<para>Iga mall on seotud kindla <link linkend="makesystems">projektihalduse süsteemiga</link>. Praegu ei ole võimalik päris otse ja vabalt seda valida. Sul tuleb lihtsalt leida mall, mis vastab sinu vajadustele, või muuta projekti pärast selle loomist. </para>
</formalpara>

</sect3> <!-- new-projects-start-type -->

<sect3 id="new-projects-start-general">
<title>Üldinfo määramine</title>

<indexterm zone="new-projects-start-general">
  <primary>projekt</primary>
  <secondary>omadused</secondary></indexterm>
<indexterm zone="new-projects-start-general">
  <primary>omadused</primary></indexterm>
<indexterm zone="new-projects-start-general">
  <primary>rakendus</primary>
  <secondary>nimi</secondary></indexterm>
<indexterm zone="new-projects-start-general">
  <primary>nimi</primary>
  <secondary>rakendus</secondary></indexterm>
<indexterm zone="new-projects-start-general">
  <primary>projekt</primary>
  <secondary>kataloog</secondary></indexterm>
<indexterm zone="new-projects-start-general">
  <primary>kataloog</primary>
  <secondary>projekt</secondary></indexterm>
<indexterm zone="new-projects-start-general">
  <primary>asukoht</primary>
  <secondary>uus projekt</secondary></indexterm>
<indexterm zone="new-projects-start-general">
  <primary>projekt</primary>
  <secondary>autor</secondary></indexterm>
<indexterm zone="new-projects-start-general">
  <primary>projekt</primary>
  <secondary>e-posti aadress</secondary></indexterm>
<indexterm zone="new-projects-start-general">
  <primary>autor</primary></indexterm>
<indexterm zone="new-projects-start-general">
  <primary>e-posti aadress</primary></indexterm>
<indexterm zone="new-projects-start-general">
  <primary>projekt</primary>
  <secondary>main.cpp</secondary></indexterm>
<indexterm zone="new-projects-start-general">
  <primary>main.cpp</primary></indexterm>
<indexterm zone="new-projects-start-general">
  <primary>projekt</primary>
  <secondary>litsents</secondary></indexterm>
<indexterm zone="new-projects-start-general">
  <primary>litsents</primary></indexterm>

<para>Dialoogi <guilabel>Uue projekti loomine</guilabel> kaardi <guilabel>Üldine</guilabel> alumine osa sisaldab raamiga ümbritsetud sektsiooni <guilabel>Omadused</guilabel>. Sul tuleb siin anda veidi üldist infot oma projekti kohta, et &appwizard; teaks, kuidas esialgne struktuur luua. </para>
<formalpara>
<title>Rakenduse nimi</title>
<para>Rakendus vajab enesestmõistetavalt nime. Kirjuta see sektsiooni <guilabel>Omadused</guilabel> ülemisele väljale, mis kannab nimetust <guilabel>Rakenduse nimi</guilabel>. Me kasutame oma näites nimetust <quote>MinuRakendus</quote>. </para>
</formalpara>
<para>Kindlasti paned tähele, et &appwizard; ei luba siia mitte kõike sisestada. Sellele väljale on lubatud sisestada ainult järgmisi sümboleid: <itemizedlist>
  <listitem><para>suur- ja väiketähed</para></listitem>
  <listitem><para>arvud</para></listitem>
  <listitem><para>alakriips</para></listitem>
</itemizedlist>
</para>
<para>Selle piirangu üks oluline põhjus on asjaolu, et &appwizard; kasutab rakenduse nime <emphasis>mõne klassinime alusena</emphasis>, mida ta esialgse projekti loomise käigus tekitab. Seepärast peab rakenduse nimi vastama programmeerimiskeele nõuetele ja reeglitele. </para>
<formalpara>
<title>Projektikataloog</title>
<para>Teist selle piirangu olulist põhjust näed sektsiooni <guilabel>Omadused</guilabel> allosas. See kannab nimetust <guilabel>Lõppasukoht</guilabel> ning kujutab endast kataloogi, kuhu &appwizard; sinu rakenduse loob. </para>
</formalpara>
<para>Kui sisestad rakenduse nime, näed, et &appwizard; kordab seda real <guilabel>Lõppasukoht</guilabel>, ainult et seal on see läbivalt väiketähtedega. </para>
<para>Seepärast tuleb rakenduse nimi hoolikalt valida. Kui sisestad juba olemasoleva kataloogi nime, ei luba &appwizard; sul järgmise sammu kallale asuda: nupp <guibutton>Edasi &gt;</guibutton> on mitteaktiivne (hall). Kuid sel juhul saad <emphasis>hoiatuse</emphasis>: rea <guilabel>Lõppasukoht</guilabel> lõppu lisatakse teade <quote>(kataloog/fail on juba olemas)</quote>. </para>

<formalpara>
<title>Asukoht</title>
<para>Oma rakendusele vaikimisi määratust erineva asukoha saab valida kahel viisil. Üks võimalus on anda lihtsalt rakendusele teine nimi. See ei ole siiski alati mõttekas (&eg; kui soovid luua juba olemasoleva rakenduse uue versiooni). Teine võimalus on valida rakendusekataloogile teine asukoht. </para>
</formalpara>
<para>Seda saab teha sektsiooni <guilabel>Omadused</guilabel> väljal <guilabel>Asukoht</guilabel>. Siia sisestatu on tegelikult ainult uue rakenduse kataloogi <emphasis>asukoha algus</emphasis>. &appwizard; lisab sellele rakenduse nime, mis saab tegelikukt uue projekti asukohaks. Tulemust näeb real <guilabel>Lõppasukoht</guilabel>. </para>
<para>&appwizard; kopeerib käivitamisel väljale <guilabel>Asukoht</guilabel> <emphasis>vaikeväärtuse</emphasis>. See on kataloog, mis on kindlaks määratud <link linkend="setup-general">seadistustedialoogi</link> väljal <guilabel>Projectide vaikimisi kataloog</guilabel>. Meie näites kasutab &tdevelop; uute projektide vaikekataloogina kataloogi <filename class="directory">/home/devel/projektid/</filename>. </para>
<para>Muuda välja <guilabel>Asukoht</guilabel> sisu, et rakenduse arenduskataloog, mida näitab rida <guilabel>Lõppasukoht</guilabel>, oleks unikaalne. </para>
<!--TODO add tab description Project Options -->
<note><para>Kontrolli, et asukoht, mille sisestad väljale <guilabel>Asukoht</guilabel>, oleks ikka olemas. Vastasel juhul ei pääse sa edasi järgmise sammu juurde. &appwizard; <emphasis>hoiatab</emphasis> sind selle eest: rea <guilabel>Lõppasukoht</guilabel> lõppu lisatakse teade <quote>(kataloog/fail on juba olemas)</quote>. </para></note>

<screenshot id="screenshot-createnewprojectoptions">
  <mediaobject>
    <imageobject>
      <imagedata fileref="createnewprojectoptions.png" format="PNG"/>
    </imageobject>
    <caption><para>Uue projekti loomine CVS-is </para></caption>
  </mediaobject>
</screenshot>

<formalpara>
<title>Isiklik info</title>
<para>Sellele järgnevad väljad pole nii olulise tähtsusega. Anna lihtsalt oma nimi (&ie; isiku nimi, kes vastutab rakenduse eest) väljal <guilabel>Autor</guilabel> ning kehtiv e-posti aadress väljal <guilabel>E-post</guilabel>, et kasutajad saaksid rakenduse kohta tagasisidet anda. </para>
</formalpara>

<note>
<orderedlist>
  <listitem><para>&appwizard; täidab need väljad vaikeväärtustega, mis võetakse &juhtimiskeskus;e e-posti seadistustest. Kui sulle ei sobi dialoogi <guilabel>Uue projekti loomine</guilabel> väljadel <guilabel>Autor</guilabel> ja <guilabel>E-post</guilabel> antud vaikeväärtused, võiksid vahest üle vaadata ka &juhtimiskeskus;e vastavad seadistused. </para></listitem>
  <listitem><para>&appwizard; põimib selle info võimaluse korral programmimallidesse. &kde; C++ programmides näiteks leiab selle lähtekoodifaili <filename>main.cpp</filename> algusest. </para></listitem>
  <listitem><para>Kõigist väljadest ei ole <guilabel>E-post</guilabel> <emphasis>kohustuslik</emphasis>, sest mitte kõigil arendajatel ei pruugi olla ligipääsu internetile. Kui soovid, võid selle välja tühjaks jätta ja ikkagi edasi minna. </para></listitem>
</orderedlist>
</note>

<formalpara>
<title>Versiooni- ja litsentsiinfo</title>
<para>Lõpuks sisesta oma uue rakenduse versiooninumber väljale <guilabel>Versioon</guilabel> ning vali rippmenüüst <guilabel>Litsents</guilabel> litsents, mille alusel soovid oma rakendust levitada. </para>
</formalpara>

<para>Kui oled valinud rakenduse tüübi, mille korral &appwizard; pakub üldist lähtekoodi malli teksti (&eg; C/C++), näed litsentsi teksti dialoogi <guilabel>Uue projekti loomine</guilabel> kolmandal kaardil (vaata allpool osa <link linkend="new-projects-start-templates">Päise/lähtekoodimallide määramine</link>). </para>
<para>Kui valid rippmenüüst <guilabel>Litsents</guilabel> valiku <quote>Kohandatud</quote>, pead ka litsentsi ise kirja panema. </para>

<note><para>Nii versiooni- kui ka litsentsiinfo põimitakse mallidesse vastavalt sellele, kuidas seda võimaldab sinu valitud rakenduse tüüp. </para></note>

<para>Kui oled kogu info korrektselt sisestanud, klõpsa järgmiste kaartide juurde minemiseks nupule <guibutton>Edasi &gt;</guibutton>. </para>
</sect3> <!-- new-projects-start-general -->

</sect2> <!-- new-projects-start -->

<sect2 id="new-projects-start-cvs">
<title>Versioonikontrollisüsteemi info määramine</title>

<indexterm zone="new-projects-start-cvs">
  <primary>CVS</primary>
  <secondary>uus projekt</secondary></indexterm>
<indexterm zone="new-projects-start-cvs">
  <primary>projekt</primary>
  <secondary>CVS</secondary></indexterm>
<indexterm zone="new-projects-start-cvs">
  <primary>andmebaas</primary>
  <secondary>CVS</secondary></indexterm>
<indexterm zone="new-projects-start-cvs">
  <primary>versioon</primary>
  <secondary>andmebaas</secondary></indexterm>
<indexterm zone="new-projects-start-cvs">
  <primary>versioon</primary>
  <secondary>CVS</secondary></indexterm>

<para>&appwizard; teine samm viib sind kaardile <guilabel>Versioonikontrollisüsteem</guilabel>, kus saad otsustada, millist versioonikontrollisüsteemi kasutada. </para>

<note><para>Siinkohal puudutame ainult projekti loomisega seotud asju. Täpsemalt räägib &CVS;-ist allpool olev peatükk <link linkend="cvs">&CVS;-i kasutamine</link>. </para></note>

<formalpara>
<title>Versioonikontrollisüsteem puudub</title>
<para>Algselt on kaardil <guilabel>Versioonikontrollisüsteem</guilabel> valitud <quote>Puudub</quote> ning kaart on tühi. Kui sa ei soovi kasutada versioonikontrollisüsteemi, klõpsa lihtsalt nupule <guibutton>Edasi ></guibutton> </para>
</formalpara>

<formalpara>
<title>&CVS;-i kasutamine</title>
<para>Vastasel juhul pead valima soovitava versioonikontrollisüsteemi kaardil <guilabel>Versioonikontrollisüsteem</guilabel>. Me kasutame oma näites <quote>&cvs;-i</quote>. Selle valimisel näitab &appwizard; mitmeid välju, mis sul tuleb nüüd täita. </para>
</formalpara>

<screenshot id="screenshot-newproject-cvs">
  <mediaobject>
    <imageobject>
      <imagedata fileref="create-new-project-cvs.png" format="PNG"/>
    </imageobject>
    <caption><para>Uue projekti loomine CVS-is </para></caption>
  </mediaobject>
</screenshot>

<para>Versioonikontrollisüsteemid nagu &CVS; (mis tähendab <quote>Concurrent Versions System</quote> ehk kõrvutiste versioonide süsteem) salvestavad valitud projekti failide koopia omamoodi andmebaasi. &CVS;-i kasutamisel saad muu hulgas need failid üles laadida (<quote>sisse kanda</quote>) või uuesti oma projektikataloogi laadida (<quote>välja võtta</quote> või <quote>uuendada</quote>). Versioonisüsteemi andmebaasi iseärasuseks on see, et failiinfo salvestatakse struktureeritult, nii et sa saad alati vajaduse korral taastada failide varasema oleku. &CVS; lubab mitmel arendajal korraga tegutseda ka suurte ühisprojektide (näiteks &tdevelop;) kallal, ilma et nad üksteist segaksid. </para>

<indexterm zone="new-projects-start-cvs-root">
  <primary>CVS</primary>
  <secondary>root</secondary></indexterm>
<indexterm zone="new-projects-start-cvs-root">
  <primary>root</primary>
  <secondary>CVS</secondary></indexterm>
<indexterm zone="new-projects-start-cvs-root">
  <primary>CVS</primary>
  <secondary>kohalik</secondary></indexterm>
<indexterm zone="new-projects-start-cvs-root">
  <primary>CVS</primary>
  <secondary>võrgus</secondary></indexterm>
<indexterm zone="new-projects-start-cvs-root">
  <primary>kohalik CVS</primary></indexterm>
<indexterm zone="new-projects-start-cvs-root">
  <primary>:local:</primary></indexterm>
<indexterm zone="new-projects-start-cvs-root">
  <primary>CVS</primary>
  <secondary>:local:</secondary></indexterm>

<formalpara id="new-projects-start-cvs-root">
<title>&CVS; Root</title>
<para>&CVS; on mõeldud sinu projektifailide versioonide andmebaasi <emphasis>haldamiseks</emphasis>. Selleks hoiab ta teatud spetsiaalset andmebaasiinfot omaette kataloogis, mis kannab nimetust <emphasis>&CVS; root</emphasis>. Oma uue projekti &CVS;-i loomisel ongi sestap esimene samm anda &tdevelop;ile teada, kus see 'root' ehk juurkataloog asub. </para>
</formalpara>

<para><emphasis>Kohalik &CVS; root</emphasis>. Selleks on kaks võimalust. Sa võid kasutada <emphasis>kohalikku</emphasis> &CVS;-i andmebaasi või siis andmebaasi, mis paikneb <emphasis>võrguserveris</emphasis>. Kui arendad rakendust omaette, võid kasutada &CVS;-i andmebaasi enda arvutis omamoodi varusüsteemina. Tavaliselt asub see siis sinu kodukataloogis ja kannab nime <filename>cvsroot</filename> umbes nii: </para>
<para><userinput><filename class="directory">/home/devel/cvsroot</filename></userinput> (kus <filename>devel</filename> tähistab lihtsalt <quote>arendajast</quote> kasutajat) </para>

<note><para>Õigupoolest on see lühivorm. Konkreetsemalt peab kohalikule &CVS;-i juurkataloogile eelnema liide <computeroutput>:local:</computeroutput>. Lühivorm on lubatud ainult juhul, kui failinimi algab kaldkriipsuga (<computeroutput>/</computeroutput>). Meie näite korral näeb kohaliku CVS;-i juurkataloogi nimi välja nii: <filename class="directory">:local:/home/devel/cvsroot</filename> </para></note>

<para>Sisesta &CVS;-i juurkataloogi nimi väljale <guilabel>CVS root</guilabel>. Põhimõtteliselt võid valida suvalise nime või kasutada ka mitut CVS;-i andmebaasi, kuid soovitatav on &CVS; root säilitada, kui sa selle juba loonud oled. </para>
<para><emphasis>Initsialiseeri uus &CVS; root</emphasis>. Kui &CVS;-i juurkataloogi polnud varem olemas, võib &tdevelop; anda &CVS;-süsteemile korralduse luua see sinu jaoks määratud kataloogis. Selleks märgi välja <guilabel>CVS root</guilabel> all ära kast <guilabel>Initsialiseeri juurkataloog</guilabel>. </para>
<note><para>Nagu öeldud, annab &tdevelop; lihtsalt <emphasis>käsu</emphasis> &CVS;-süsteemile initsialiseerida uus &CVS; root. KDevelop ei tee selles kataloogis ise midagi. Õnneks on &CVS; piisavalt nutikas ja oskab kontrollida, kas &CVS;-i juurkataloog on juba olemas või mitte. Seepärast ei teki ka kahju, kui oled eksikombel märkinud kasti <guilabel>Initsialiseeri juurkataloog</guilabel>, aga &CVS;-i juurkataloog on juba olemas. </para></note>

<para><emphasis>&CVS; root võrgus</emphasis>. Sageli aga paikneb &CVS;-i andmebaas võrguserveris, eriti siis, kui projekti kallal töötab hulk arendajaid. Sel juhul pead sisestama väljale <guilabel>CVS root</guilabel> selle serveri &CVS; root &URL;-i. Kui näiteks selleks on &kde; &CVS;-server, näeb see välja nii: </para>
<para><userinput><filename class="directory">:pserver:<replaceable>minukasutajanimi</replaceable>@cvs.kde.org:/home/kde</filename></userinput> (kus <replaceable>minukasutajanimi</replaceable> tähistab sinu &kde; &CVS;-i konto nime) </para>

<indexterm zone="new-projects-start-cvs-remote">
  <primary>CVS võrgus</primary></indexterm>
<indexterm zone="new-projects-start-cvs-remote">
  <primary>:pserver:</primary></indexterm>
<indexterm zone="new-projects-start-cvs-remote">
  <primary>:ext:</primary></indexterm>
<indexterm zone="new-projects-start-cvs-remote">
  <primary>CVS</primary>
  <secondary>:local:</secondary></indexterm>
<indexterm zone="new-projects-start-cvs-remote">
  <primary>CVS</primary>
  <secondary>:pserver:</secondary></indexterm>
<indexterm zone="new-projects-start-cvs-remote">
  <primary>CVS</primary>
  <secondary>:ext:</secondary></indexterm>

<formalpara id="new-projects-start-cvs-remote">
<title>&CVS;-i võrguserveri tüübid</title>
<para>Põhimõtteliselt on kaks laiemalt levinud &CVS;-i võrguserveri tüüpi: <emphasis>pserver</emphasis>, mis kasutab parooliga mittekrüptitavat protokolli, ja <emphasis>ext</emphasis>, mis kasutab rsh või ssh krüptimisega andmeedastust. Neid eristab &URL;-i prefiks: </para>
</formalpara>
<para>
<filename>:pserver:</filename>
</para>
<para>krüptimata <quote>parooliga kaitstud serveri</quote> ja </para>
<para>
<filename>:ext:</filename>
</para>
<para>rsh või ssh krüptimisega serveri korral. Näiteks </para>
<para>
<userinput><filename class="directory">:ext:<replaceable>minukasutajanimi</replaceable>@cvs.cervisia.sourceforge.net:/cvsroot/cervisia</filename></userinput>
</para>
<para>tagab ligipääsu laialdaselt kasutatava &CVS;-i haldustööriista <application>Cervisia</application> &CVS;-i juurkataloogile SourceForge'i serveris. </para>
<para>Kui soovid &CVS;-i kasutamiseks pruukida rsh või ssh krüptimisega serverit, pead &tdevelop;ile teada andma, millist krüptoprotokolli kasutada. Selleks kirjuta lihtsalt <userinput>rsh</userinput> või <userinput>ssh</userinput> dialoogi <guilabel>Uue projekti loomine</guilabel> kaardi <guilabel>Versioonikontrollisüsteem</guilabel> väljale <guilabel>CVS_RSH</guilabel>. </para>

<note><para>Sind varitseb siiski üks oht, kui kasutada &CVS;-i korral &tdevelop;is krüptimisega serverit. Täpsemalt räägib sellest peatükk <link linkend="cvs">&CVS;-i kasutamine</link>. </para></note>

<indexterm zone="new-projects-start-cvs-repository">
  <primary>CVS</primary>
  <secondary>hoidla</secondary></indexterm>
<indexterm zone="new-projects-start-cvs-repository">
  <primary>hoidla</primary>
  <secondary>CVS</secondary></indexterm>

<formalpara id="new-projects-start-cvs-repository">
<title>&CVS;-hoidla</title>
<para>Praeguseks oled &tdevelop;ile teada andnud, kus asub &CVS; root, mis haldab versioonide andmebaasi, ja kuidas sellele ligi pääseda. Nüüd tuleb &tdevelop;ile öelda, millise nimel all peaks &CVS; selles andmebaasis sinu projekti failid salvestama. Sellist projektifailide asupaika &CVS;-is nimetatakse <emphasis>hoidlaks</emphasis>. </para>
</formalpara>
<para>Põhimõtteliselt võid kasutada oma projekti &CVS;-hoidla jaoks igasugust nime, peaasi, et see vastab failinime reeglitele. Enamik arendajaid siiski kasutab lihtsalt oma rakenduse nime. &CVS; loob sellenimelise kataloogi &CVS;-i juurkataloogis, mistõttu märksa lihtsam on seda tuvastada, kui see kannab sinu rakendusega sama nime. </para>
<para>Sisesta lihtsalt soovitud hoidla nimi dialoogi <guilabel>Uue projekti loomine</guilabel> kaardi <guilabel>Versioonikontrollisüsteem</guilabel> väljale <guilabel>CVS-hoidla</guilabel>. Meie näites on selleks <userinput>MinuRakendus</userinput>. </para>

<warning><para><emphasis>Kontrolli, et sellenimelist hoidlat ei oleks juba olemas!</emphasis> &CVS; ei hoiata topeltfailide eest, vaid lihtsalt ühendab kõik, mis ei tekita formaalset konflikti. Sel juhul võib tekkida väga suur segadus! </para></warning>

<formalpara>
<title>Ülejäänud väljad</title>
<para>Enam pole palju jäänud. &appwizard; on ülejäänud väljad täitnud vaikeväärtustega. Need on järgmised: </para>
</formalpara>
<para>Välja <guilabel>Tootja</guilabel> kasutatakse ainult ühilduvuse nimel. Sa võid rahumeeli leppida vaikeväärtusega <quote>tootja</quote>, mille &appwizard; on sinu eest siia sisestanud. </para>
<para>Väli <guilabel>Kommentaar</guilabel> võimaldab kommenteerida &CVS;-i esialgset sisu. Kirjuta siia, mida süda soovib, või rahuldu tekstiga <quote>uus projekt</quote>, mille &appwizard; on sinu eest siia sisestanud. </para>
<para>Väljal <guilabel>Väljalaske silt</guilabel> seisab nimi, mis sildistab sinu projekti esialgse oleku. Selline <emphasis>silt</emphasis> tähistab teatud hetke &CVS;-hoidlas, mille juurde võid arendamise käigus vajaduse korral taasi pöörduda (täpsemalt räägib sellest peatükk <link linkend="cvs">&CVS;-i kasutamine</link>). </para>
<para>&appwizard; on siia sisestanud <quote>alustamine</quote>, mis on ka päris mõistlik. Kui see sind rahuldab, ära seda muuda. </para>

<note>
<para>Seda, kas kogu antud info on korrektne, ei tea &tdevelop; üldiselt enne projekti loomist. Siis selgitab &CVS; ise hoidla ehitamisel välja võimalikud vead. Seepärast tuleks silm peal hoida &tdevelop;i <guilabel>teadete</guilabel> aknal, kui alustad projekti lõplikku loomist. Kui &CVS; kohtab mõnda viga, näed enamasti umbes sellist veateadet: </para>

<screen><computeroutput>
* cd '/home/devel/test' &amp;&amp; cvs -d '/home/devel/minucvsroot' \
  import -m 'uus projekt' '' 'vendor' 'start' &amp;&amp;\
  sh /opt/kde3/share/apps/kdevcvs/buildcvs.sh . '' \
  '/home/devel/minucvsroot'
* cvs [import aborted]: /home/devel/minucvsroot/CVSROOT: No such file or
  directory
* *** Exited with status: 1 ***
</computeroutput></screen>

<para>Sellisel juhul pead kas &CVS;-i käsitsi seadistama (&tdevelop; peaks selleks hetkeks olema sinu projektifailid edukalt initsialiseerinud) või kustutama projektikataloogi ja alustama taas käsust <guimenuitem>Uus projekt</guimenuitem> menüüs <guimenu>Projekt</guimenu>. </para>
</note>

<para>Kui oled sisestanud kogu &CVS;-iga seotud info, klõpsa jätkamiseks nupule <guibutton>Edasi &gt;</guibutton>. </para>

<note><para>Kui soovid parandada mõnda viga dialoogi <guilabel>Uue projekti loomine</guilabel> varasematel kaartidel, klõpsa nupule <guibutton>&lt; Tagasi</guibutton>. &appwizard; jätab meelde aktiivse lehekülje seadistused, nii et kui oled parandused teinud, võid naasta ja varasemast olekust edasi minna. </para></note>

</sect2> <!-- new-projects-start-cvs -->

<sect2 id="new-projects-start-templates">
<title>Päise/lähtekoodimallide määramine</title>

<para>Järgmisel sammul seisab sinu ees mitu kaarti, kus saad määrata üldinfo, mida on vaja päise- ja lähtekoodifailide kaasamiseks (kui seda eeldab muidugi sinu projekt). </para>
<para>Nii päise- kui lähtekoodimallid on olemas C ja C++ rakenduste jaoks, mõlemad omaette kaardil. Teiste keelte puhul võib olla ainult lähtekoodimall. Mõnel juhul on aga isegi see kaart tühi. </para>
<para>Kui see kaart on kasutusel, määrab &appwizard; juba enne teatud päiseosa, mida üks C++ rakendus arvatavasti peaks kasutama: </para>

<screen><computeroutput><literal>
/***************************************************************************
 *   Copyright (C) 2003 by Your Name                                       *
 *   you@you.com                                                           *
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 *   This program is distributed in the hope that it will be useful,       *
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
 *   GNU General Public License for more details.                          *
 *                                                                         *
 *   You should have received a copy of the GNU General Public License     *
 *   along with this program; if not, write to the                         *
 *   Free Software Foundation, Inc.,                                       *
 *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
 ***************************************************************************/
</literal></computeroutput></screen>

<para>Teised mallid pakuvad samalaadset infot vormingus, mis vastab kasutatavale programmeerimiskeelele. </para>
<para>Nagu vahest märkad, on rakenduste haldur juba täitnud osa infot, mille andsid dialoogi <guilabel>Uue projekti loomine</guilabel> esimesel kaardil (<guilabel>Üldine</guilabel>), nimelt sealmääratud väljade <guilabel>Autor</guilabel> ja <guilabel>E-post</guilabel> info. Lisatud on ka info, mille andsid väljal <guilabel>Litsents</guilabel>. </para>

<sect3 id="new-projects-start-templates-edit">
<title>Mallide redigeerimine</title>

<indexterm zone="new-projects-start-templates-edit">
  <primary>mallid</primary>
  <secondary>projekt</secondary>
  <tertiary>redigeerimine</tertiary></indexterm>
<indexterm zone="new-projects-start-templates-edit">
  <primary>projekt</primary>
  <secondary>mallid</secondary>
  <tertiary>redigeerimine</tertiary></indexterm>

<para>Malle, mida lood dialoogis <guilabel>Uue projekti loomine</guilabel>, kasutatakse hiljem, kui annad &tdevelop;ile korralduse luua uus lähtekoodi- ja/või päisefail. Siin antud info lisatakse dokumentatsiooni päisesse enne koodi enda algust. </para>
<para>Sa ei ole siiski piiratud puhta tekstiga. &tdevelop; tunneb ka mitmeid muutujaid, millega kaasata faili tegelikku infot. Õigupoolest kasutaski &appwizard; muutujaid, kui lisas malli teksti väljade <guilabel>Autor</guilabel>, <guilabel>E-post</guilabel> ja <guilabel>Litsents</guilabel> info. </para>

<variablelist>
<varlistentry>
<term>&doxygen;i failiinfo kaasamine</term>
<listitem>
<para>Kui näiteks soovid, et &doxygen;i loodud &API; dokumentatsioon näitakse failinimede nimekirjas lisainfot faili sisu kohta, võid lähtekoodifaili malli lisada järgmised read: </para>
<screen><computeroutput>
/**
 * \file $MODULE$.cpp
 * \brief (put some short descripion here).
 **/
</computeroutput></screen>
<para>Kui nüüd lood uue lähtekoodifaili, asendab &tdevelop; muutuja <varname>$MODULE$</varname> loodu faili nimega. Kui näiteks lood uue C++ klassi nimega <classname>ASimpleTest</classname>, näed failis <filename>asimpletest.cpp</filename> järgmisi ridu: </para>
<screen><computeroutput>
/**
 * \file asimpletest.cpp
 * \brief (put some short descripion here).
 **/
</computeroutput></screen>
<para>Sa pead küll ikkagi ise andma lühikirjelduse võtmesõna <quote>\brief</quote> järel, kuid osa tööst tehakse sinu eest automaatselt ära. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>Litsentsiteksti fail</term>
<listitem>
<para>Veel üks näide: sa võid malli lisada otsese viite litsentsile, mida soovid kasutada. Selleks tarvita muutujat <varname>$LICENSEFILE$</varname> ja lisa näiteks selline rida: </para>

<screen><computeroutput>
//   See $LICENSEFILE$ for the full license text.
</computeroutput></screen>
<para>&appwizard; asendab muutuja <varname>$LICENSEFILE$</varname> faili nimega, milles paikneb täielik litsents, näiteks: </para>
<screen><computeroutput>
//   See COPYING for the full license text.
</computeroutput></screen>
<para><acronym>GPL</acronym> litsentsi korral või </para>
<screen><computeroutput>
//   See LICENSE.BSD for the full license text.
</computeroutput></screen>
<para>kui otsustad oma rakendust levitada <acronym>BSD</acronym> litsentsi alusel. </para>
<para>Loomulikult tunneb &tdevelop; märksa rohkem muutujaid. Uuri lähemalt osa <link linkend="newfiles-edittemplates">Mallide redigeerimine</link> peatükis <link linkend="editing">Redigeerimistööriistad</link>. </para>
</listitem>
</varlistentry>
</variablelist>

<note><para>Siin määratud mallid jõustuvad alles pärast seda, kui &appwizard; on uue projekti loonud. Selle info leiab nende failide algusest, mida sa ise arendamise käigus tekitad. Esialgseid faile luues kasutab &appwizard; teatud eelnevalt määratletud standardmalle. Sul tuleb need käsitsi muuta oma vajadustele vastavaks. </para></note>

</sect3> <!-- new-projects-start-templates-edit -->
</sect2> <!-- new-projects-start-templates -->

<sect2 id="new-projects-start-build">
<title>Esialgsete projektifailide ehitamine</title>

<indexterm zone="new-projects-start-build">
  <primary>projekt</primary>
  <secondary>uus</secondary>
  <tertiary>ehitamine</tertiary></indexterm>
<indexterm zone="new-projects-start-build">
  <primary>projekt</primary>
  <secondary>esialgne ehitamine</secondary></indexterm>

<para>Ongi peaaegu kõik valmis. Viimasel mallikaardil võtab nupp <guibutton>Edasi &gt;</guibutton> kuju <guibutton>Lõpeta</guibutton>. </para>
<para><emphasis>Mõtle enne klõpsamist veel kõik korralikult läbi!</emphasis> Nupule <guibutton>&lt; Tagasi</guibutton> klõpsates saad kõik tehtu veel kord üle vaatada. &appwizard; jätab alati parajasti kehtivad valikud meelde, nii et tagasi- ja edasiliikumisel ei lähe andmeid kaotsi. Kui kasutad kohalikku &CVS;-i, kontrolli kindlasti veel kord <emphasis>&CVS;-hoidla</emphasis> nime (sellise nimega alamkataloogi ei tohiks varem &CVS;-i juurkataloogis olla &mdash; kui aga on, määra hoidlale mõni muu nimi). </para>
<para>Kui sa ei soovi uut projekti tegelikult luua, välju dialoogist <guilabel>Uue projekti loomine</guilabel> klõpsuga nupule <guibutton>Loobu</guibutton>. Kui aga soovid, klõpsa nupule <guibutton>Lõpeta</guibutton> ja jälgi <guilabel>teadete</guilabel> aknas, kuidas &appwizard; projekti loob. </para>
<para>Kui soovisid kasutada ka versioonikontrollisüsteemi (&CVS;), on õieti kaks ehitamisprotsessi. Kõigepealt ehitab &appwizard; projekti kataloogid ja failid ning kutsub siis välja &CVS;-i programmi, mis saadab siis <guilabel>teadete</guilabel> aknasse juba oma teated. Kui ühe protsessi ajal tekib mõni viga, protsess peatub ja sa näed vastavat veateadet aknas. </para>

<note><para>Kui projekt sel moel luuakse, laadib &tdevelop; enamasti ühe või mõne olulisema mooduli lähtekoodifaili(d) kohe pärast seda, nii et saad nende kallal tegutsema asuda (see, milliseid mooduleid näidatakse &mdash; kui üldse &mdash; sõltub ennekõike mallist, mille sa &appwizard; esimesel sammul valisid). </para></note>

<para>Ära unusta kohe kontrollimast, mida &appwizard; siis teinud on. Näiteks võib olla mõttekas muuta algset päiseinfot vastavalt oma mallidele. Enamasti leiad need oma projektikataloogi alamkataloogist <filename class="directory">templates</filename>. Sageli piisab siin lihtsalt kopeerimisest. </para>
<para>Soovitatav on <emphasis>algne projekt kompileerida</emphasis>, enne kui hakkad koodi muutma. Enamasti tuleb kompileerimine ka välja. Sel moel saad igal juhul kontrollida, kas projekt on tõesti korrektselt loodud. Kui kompileerimine peaks ebaõnnestuma, eemalda lihtsalt projektikataloog (ka kohalikus &CVS;-i juurkataloogis, kui sa kasutad versioonikontrollisüsteemi) ja alusta uuesti otsast peale. </para>

<warning id="defaultbuild-warning"> <!-- ### remove this when "default" works again -->

  <indexterm zone="defaultbuild-warning">
    <primary>vaikimisi ehitamisseadistused</primary>
    <secondary>hoiatus</secondary></indexterm>
  <indexterm zone="defaultbuild-warning">
    <primary>ehitamisseadistused</primary>
    <secondary>vaikimisi ehitamishoiatus</secondary></indexterm>
  <indexterm zone="defaultbuild-warning">
    <primary>hoiatus</primary>
    <secondary>vaikimisi ehitamisseadistused</secondary></indexterm>

  <para>Enne uue projekti esimest kompileerimist võiks heita pilgu alammenüüsse <menuchoice><guimenu>Projekt</guimenu> <guimenuitem>Ehitamise seadistused</guimenuitem></menuchoice>. Seal peaks olema kolm kirjet: <guimenuitem>default</guimenuitem>, <guimenuitem>optimized</guimenuitem> ja <guimenuitem>debug</guimenuitem>. Kui valitud on <guimenuitem>debug</guimenuitem>, jäta see kehtima, või vali <guimenuitem>optimized</guimenuitem>. </para>
  <para>Praeguste autoconf/automake'i teatud piirangute tõttu ei tohiks <emphasis>mitte mingil juhul</emphasis> valida ehitamise seadistustes kirjet <guimenuitem>default</guimenuitem>. See rikub ära teatud seesmised kataloogiseadistused, mis paneb käsu <command>configure</command> mitme asja üle kurtma, kui valid hiljem <guimenuitem>optimized</guimenuitem> või <guimenuitem>debug</guimenuitem>. </para>
  <para>(See kehtib muidugi siis, kui on mitu valikut. Kui sinu valitud rakenduse tüüp pakub ehitamise seadistuseks ainult kirje <guimenuitem>default</guimenuitem>, tuleb seda mõistagi kasutada.) </para>
</warning>

</sect2> <!-- new-projects-start-build -->

</sect1> <!-- new-projects -->

<sect1 id="projects-configure">
<title>Projektide seadistamine</title>

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

</sect1>

</chapter> <!-- applicationwizard -->
