<chapter id="getting-started">

<!-- ToDo: 
Put the AppWizard section at the beginning.
Before anything else, let the user generate
a hello program like this:
- assumes KDevelop is properly installed,
  e.g. from a good Linux distribution
  (list those that include KDevelop?)
- start KDevelop
- if settings are needed, accept default ones
- Project - New Project
- C++ - KDE - Simple KDE application
- name: hello, location: default (/home/user). Next
- Project Options: Leave as default. Next
- .h Template: Leave as default. Next
- .cpp Template: Leave as default. Finish
- Build - Execute Program (Yes to run automake & friends)
- Messages window appears. Wait until program is compiled.
- Finally, program pops up, saying "Hello World".

After this, explore the KDevelop functionality
with the hello program as an example.

Also: Links to detailed descriptions in the main part.
Volker Paul
-->

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

<title
>Iniziare ad usare &kdevelop;</title>

<para
>Come iniziare ad usare &kdevelop; dopo averlo installato? Siccome è una applicazione complessa, se l'utente non ha mai usato questo tipo di ambiente di sviluppo integrato, la curva di apprendimento potrebbe risultare piuttosto drastica. </para>
<para
>Si cercherà di ammorbidirla analizzando una semplice applicazione C++ per KDE. Si effettuerà una (rapida) panoramica su: </para>
<simplelist>
  <member
><link linkend="gettingstarted-overview"
>Come si presenta l'IDE &kdevelop;.</link
></member>
<!--  <member
><link linkend="gettingstarted-configure"
>Some initial configuration steps.</link
></member
> -->
  <member
><link linkend="gettingstarted-new"
>Come creare un nuovo progetto</link
></member>
<!--  
  <member
><link linkend="gettingstarted-edit"
>How to work with documents.</link
></member>
  <member
><link linkend="gettingstarted-compile"
>How to compile the application in this project.</link
></member>
  <member
><link linkend="gettingstarted-extend"
>How to add classes and other detail to your project.</link
></member>
  <member
><link linkend="gettingstarted-debug"
>What to do to debug the application.</link
></member>
  <member
><link linkend="gettingstarted-doc"
>Some basic tools to build program or user documentation.</link
></member>
-->
</simplelist>

<sect1 id="gettingstarted-overview">
<title
>Un primo sguardo a &kdevelop;</title>

<sect2 id="gettingstarted-overview-basic">
<title
>In superficie</title>

<para
>Quando si avvia &kdevelop; per la prima volta, verrà visualizzata una schermata simile a questa: </para>

<screenshot>
  <mediaobject>
    <imageobject>
      <imagedata fileref="empty-ide.png" format="PNG"/>
    </imageobject>
    <caption
><para
>Aspetto iniziale di &kdevelop; </para
></caption>
  </mediaobject>
</screenshot>

<formalpara>
<title
>Area di lavoro e linguette degli strumenti</title>
<para
>Inizialmente &kdevelop; userà la cosiddetta <link linkend="uimodes-survey"
>interfaccia utente IDEAl</link
>, dove l'area di lavoro ha la massima dimensione possibile ed è circondata a sinistra, destra e in basso da vari pulsanti simili a linguette. Facendo clic su una di queste linguette verrà aperta una cosiddetta <emphasis
>vista strumenti</emphasis
> che permette di svolgere un particolare compito. </para>
</formalpara>

<formalpara>
<title
>Menu e barre degli strumenti</title>
<para
>In alto è presente la normale barra dei menu e diverse barre degli strumenti, alcune inizialmente vuote. Verranno riempite quando si aprirà un progetto. </para>
</formalpara>

<formalpara>
<title
>Barra di stato</title>
<para
>Infine è presente nella parte bassa della finestra una barra di stato che fornisce brevi informazioni su vari compiti. </para>
</formalpara>
</sect2
> <!-- gettingstarted-overview-basic -->

<sect2 id="gettingstarted-overview-help">
<title
>Come ricevere aiuto</title>

<para
>Oltre al menu <guimenu
>Aiuto</guimenu
>, che fornisce supporto per questioni specifiche, si possono ottenere alcune brevi informazioni dalla barra di stato e da due tipi di aiuto. </para>

<formalpara>
<title
>Cosa fa questa voce di menu?</title>
<para
>Quando si posiziona il cursore sopra una voce di menu verrà generalmente visualizzata una breve informazione nella barra di stato. In molti casi ripeterà il nome della selezione, mentre in alcuni altri saranno fornite ulteriori informazioni sullo scopo del comando del menu.</para>
</formalpara>

<formalpara>
<title
>Qual è il nome di questo elemento?</title>
<para
>Quando si posiziona il cursore su un elemento, verrà visualizzato per qualche secondo un aiuto contenente il suo nome. É utile per orientarsi velocemente nella barra degli strumenti o nelle viste strumenti della modalità IDEAl quando è stata impostata la sola visualizzazione delle icone.</para>
</formalpara>

<formalpara>
<title
>Cosa fa questo elemento?</title>
<para
>Per molti elementi dell'IDE sono disponibili ulteriori informazioni attraverso gli aiuti estesi. Selezionare <menuchoice
><guimenu
>Aiuto</guimenu
><guimenuitem
>Che cos'è?</guimenuitem
></menuchoice
> o premere <keycombo
><keycap
>&Shift;</keycap
><keycap
>F1</keycap
></keycombo
> e selezionare l'elemento con il cursore, che verrà visualizzato con un punto interrogativo. Con questo metodo si possono anche aprire i menu e fare clic su una voce specifica (sia attiva che disattivata) per visualizzare le eventuali informazioni aggiuntive.</para>
</formalpara>

</sect2
> <!-- gettingstarted-overview-help -->

<sect2 id="gettingstarted-overview-menu">
<title
>Cosa è presente nei menu</title>

<para
>Ci sono dieci menu selezionabili nella barra dei menu. La maggior parte di essi viene riempita quando è stato caricato un progetto, mentre altri quando viene aperto almeno un documento. In breve, essi permettono i seguenti tipi di azioni. </para>

<para
>Questa è solo una breve panoramica. Vedere il capitolo relativo alla <link linkend="commands"
>Descrizione dei comandi</link
> per un elenco dettagliato.</para>

<variablelist>
  <varlistentry>
  <term
><guimenu
>File</guimenu
></term>
  <listitem>
    <formalpara
><title
>Azioni comuni</title>
    <para
>Queste azioni sono molto standard. Permettono di creare, aprire, salvare, stampare, chiudere i file e uscire dall'applicazione &kdevelop;.</para
></formalpara>
    <formalpara
><title
>Annulla le modifiche</title>
    <para
>Permette di annullare le modifiche ricaricando i contenuti originali del file.</para
></formalpara>
  </listitem>
  </varlistentry>
  
  <varlistentry>
  <term
><guimenu
>Modifica</guimenu
></term>
  <listitem>
    <para
>Questo menu è utile solo se è presente un documento aperto.</para>
    <formalpara
><title
>Azioni comuni</title>
    <para
>Fornisce le normali azioni annulla/rifai e taglia/copia/incolla, oltre a permettere di selezionare blocchi di testo in vari modi.</para
></formalpara>
    <formalpara
><title
>Trova e Sostituisci</title>
    <para
>Nel menu <guimenu
>Modifica</guimenu
> è presente uno strumento per le ricerche molto potente. In aggiunta alle normali azioni di ricerca e sostituzione limitate al documento aperto può anche effettuare ricerche e sostituzioni globali che vengono effettuate su tutti i file del progetto.</para
></formalpara>
    <formalpara
><title
>Modifica avanzata del testo</title>
    <para
>In futuro sarà possibile riformattare il documento e completare automaticamente le parti di testo incomplete in vari modi.</para
></formalpara>
  </listitem>
  </varlistentry>
  
  <varlistentry>
  <term
><guimenu
>Visualizza</guimenu
></term>
  <listitem>
    <para
>Come il menu <guimenu
>Modifica</guimenu
>, questo menu è utile solo quando è presente un documento aperto: saranno disponibili (assieme ad altre) le seguenti azioni:</para>
    <formalpara
><title
>Cronologia</title>
    <para
>Permette di muoversi avanti e indietro attraverso i vari documenti visitati</para>
    </formalpara>
    <formalpara
><title
>Traccia degli errori</title>
    <para
>Naviga tra le linee di codice che contengono errori rilevati durante l'ultimo processo di compilazione.</para>
    </formalpara>
    <formalpara
><title
>Gestione degli strumenti di vista</title>
    <para
>Seleziona o nasconde gli strumenti di vista</para>
    </formalpara>
    <formalpara
><title
>Azioni relative all'editor</title>
    <para
>Alcune voci del menu <guimenu
>Visualizza</guimenu
> controllano l'aspetto dell'editor in uso. Nel caso del componente &kate; (editor avanzato incorporato) saranno disponibili i seguenti comandi:</para>
    </formalpara>
    <itemizedlist>
      <listitem
><para
>Controllo del ritorno a capo automatico nella finestra del documento.</para
></listitem>
      <listitem
><para
>Mostrare o nascondere diversi bordi della finestra del documento: numeri di linea, icone e contrassegni.</para
></listitem>
      <listitem
><para
>Controllo della visualizzazione delle sezioni annidate (temporaneamente nascoste) nel codice sorgente.</para
></listitem>
    </itemizedlist>
  </listitem>
  </varlistentry>
  
  <varlistentry>
  <term
><guimenu
>Progetto</guimenu
></term>
  <listitem>
    <para
>Tutto il lavoro in &kdevelop; si basa sui <emphasis
>progetti</emphasis
>, che raccolgono file di codice sorgente, file per la gestione della compilazione e altre informazioni in una directory . In questo menu si può controllare quale progetto usare, le sue proprietà e altre azioni relative alla sua gestione. In particolare:</para>
    <formalpara
><title
>Apri Progetto</title>
    <para
>Permette di creare nuovi progetti, aprirne di nuovi e importare progetti di altri ambienti.</para>
    </formalpara>
    <formalpara
><title
>Opzioni progetto</title>
    <para
>Permette di definire un insieme di varie proprietà del progetto</para>
    </formalpara>
    <formalpara
><title
>Gestione delle classi</title>
    <para
>Aggiunge nuove classi al progetto e permette di attraversare l'albero di ereditarietà di una classe.</para>
    </formalpara>
    <formalpara
><title
>Distribuzione del progetto</title>
    <para
>Aiuta a costruire pacchetti di distribuzione del progetto.</para
></formalpara>
  </listitem>
  </varlistentry>
  
  <varlistentry>
  <term
><guimenu
>Compila</guimenu
></term>
  <listitem>
    <para
>Questo menu è dedicato alla compilazione e alla documentazione del progetto. Si può quindi usare quando è presente un progetto aperto. Fornisce le seguenti azioni:</para>
    <formalpara
><title
>Compilare, effettuare il link, eseguire</title>
    <para
>Permette di compilare ed effettuare il link dell'intero progetto o parti di esso ed eseguire l'applicazione dall'interno dell'IDE.</para>
    </formalpara>
    <formalpara
><title
>Preparazione alla compilazione</title>
    <para
>Queste operazioni dipendono dal sistema make usato per il progetto. Nel caso di progetti automake, esse permettono di eseguire <filename
>Makefile.cvs</filename
> e <filename
>configure</filename
>. </para>
    </formalpara>
    <formalpara
><title
>Installare l'applicazione</title>
    <para
>Permette di installare l'applicazione sia nelle directory locali che nelle directory di sistema accessibili solo all'utente root.</para>
    </formalpara>
    <formalpara
><title
>Documentazione API</title>
    <para
>Costruisce o rimuove la documentazione API del progetto basata su doxygen in base alle opzioni del progetto</para>
    </formalpara>
  </listitem>
  </varlistentry>
  
  <varlistentry>
  <term
><guimenu
>Debug</guimenu
></term>
  <listitem>
    <para
>Anche se questo menu viene riempito una volta che un progetto è aperto, è ovviamente utile solo se il progetto è stato precedentemente compilato con le informazioni di debug (può essere impostato in <menuchoice
><guimenu
>Progetto</guimenu
> <guimenuitem
>Opzioni progetto...</guimenuitem
></menuchoice
>. Sono presenti le seguenti azioni:</para>
    <formalpara
><title
>Azioni normali del debugger</title>
    <para
>La prima parte del menu <guimenu
>Debug</guimenu
> costituisce una interfaccia grafica al debugger &GNU; GDB. Permette di avviare e interrompere l'applicazione nel debugger e procedere in diverse modalità passo-per-passo.</para>
    </formalpara>
    <formalpara
><title
>Breakpoint</title>
    <para
>&kdevelop; permette di impostare i breakpoint (punti di interruzione) in diversi modi nei sorgenti dell'applicazione. Uno viene effettuato usando la voce <guimenuitem
>Attiva/disattiva breakpoint</guimenuitem
>.</para>
    </formalpara>
    <formalpara
><title
>Debug avanzato</title>
    <para
>Le altre voci del menu <guimenu
>Debug</guimenu
> compiono analisi più sofisticate. Usare <keycombo
><keycap
>&Shift;</keycap
><keycap
>F1</keycap
></keycombo
> per ottenere ulteriori informazioni sul loro funzionamento.</para>
    </formalpara>
  </listitem>
  </varlistentry>
  
  <varlistentry>
  <term
><guimenu
>Finestra</guimenu
></term>
  <listitem>
    <para
>È un menu piuttosto standard. Si possono selezionare varie finestre aperte e chiudere una o più finestre contenenti documenti. Si può anche selezionare un gruppo di finestre da chiudere in un colpo solo.</para>
  </listitem>
  </varlistentry>
  
  <varlistentry>
  <term
><guimenu
>Strumenti</guimenu
></term>
  <listitem>
    <para
>&kdevelop; è altamente configurabile. Si può selezionare il proprio editor preferito per i documenti e fornire plugin esterni per estendere le capacità di base dell'IDE. Il menu <guimenu
>Strumenti</guimenu
> controlla tutte queste impostazioni.</para>
    <formalpara
><title
>Editing avanzato</title>
    <para
>La parte alta del menu <guimenu
>Strumenti</guimenu
> viene fornita del plugin dell'editor in uso. Si può selezionare l'editor preferito in <menuchoice
><guimenu
>Impostazioni</guimenu
> <guimenuitem
>Configura KDevelop</guimenuitem
> <guilabel
>Editor</guilabel
></menuchoice
>. Quando è stato selezionato un documento, questa porzione del menu visualizzerà i comandi di editing specifici del componente editor usato.</para>
    </formalpara>
    <formalpara
><title
>Gestione pagine web</title>
    <para
>Se la finestra del documento attivo contiene una pagina HTML (&eg; visualizzata selezionando la <guilabel
>Documentazione</guilabel
>), il menu <guimenu
>Strumenti</guimenu
> visualizzerà ulteriori voci per la gestione delle pagine Web.</para>
    </formalpara>
    <formalpara
><title
>Altri strumenti</title>
    <para
>Normalmente saranno presenti molte altre voci a seconda degli strumenti disponibili. Usare <keycombo
><keycap
>&Shift;</keycap
><keycap
>F1</keycap
></keycombo
> per ottenere ulteriori infomazioni.</para>
    </formalpara>
  </listitem>
  </varlistentry>
  
  <varlistentry>
  <term
><guimenu
>Impostazioni</guimenu
></term>
  <listitem>
    <para
>Questo menu permette di mostrare e nascondere la barra dei menu, le barre degli strumenti e la barra di stato. Inoltre si possono configurare le scorciatoie, le barre degli strumenti, le notifiche, l'editor e il comportamento generale di KDevelop.</para>
  </listitem>
  </varlistentry>
  
  <varlistentry>
  <term
><guimenu
>Aiuto</guimenu
></term>
  <listitem>
    <para
>Si può aprire questo manuale, leggere la documentazione Qt, aprire le pagine man (il tradizionale formato UNIX per i manuali) e le pagine info (il formato GNU per i manuali), segnalare i bug e ottenere varie informazioni sulla versione e sugli autori di KDevelop.</para>
  </listitem>
  </varlistentry>
</variablelist>

</sect2
> <!--gettingstarted-overview-menu-->

</sect1
> <!-- gettingstarted-overview -->

<!--
This is covered elsewhere, so unless someone convinces me that 
it is useful to have it here as well, I will eventually delete it. Volker Paul.

<sect1 id="gettingstarted-configure">
<title
>A Bit of Configuration</title>

<para
>(- to be written -)</para>

</sect1
> 

 -->

<sect1 id="gettingstarted-new">
<title
>Come iniziare un nuovo progetto &mdash; la procedura guidata per le applicazioni</title>

<para
>Dimostra quanto è facile lasciare che KDevelop crei un programma funzionante.</para>

<para
>La <link linkend="applicationwizard"
>procedura guidata per le applicazioni</link
> può creare con facilità un progetto dopo averlo selezionato in un elenco di modelli. Tutto quello che si deve fare è: selezionare il tipo di progetto desiderato, il nome, e dove verrà memorizzato. </para>

<para
>Selezionare Progetto - Nuovo Progetto...: verrà visualizzata la finestra di dialogo "Crea nuovo Progetto". Supponendo di voler creare un normale progetto KDE, selezionare: C++ - KDE - Simple KDE Application. Inserire il nome, ad es. helloworld. La posizione di default sarà /home/propriahome/helloworld. Dopo aver terminato l'inserimento delle impostazioni in questa finestra premere Avanti. Nella prossima finestra vengono visualizzate alcune opzioni preimpostate su valori di default. Fare clic su Avanti e verranno mostrati i modelli per i file .h e .cpp. Nuovamente, si possono lasciare le impostazioni di default e fare clic su Fine. Sarà visualizzato il messaggio che informa dell'avvenuta creazione del programma. </para>

<para
>Per eseguire il programma, selezionare Compila - Esegui Programma. Si riceverà un messaggio che informa di eseguire automake &amp; compagni: fare clic su OK. Il programma viene compilato ed eseguito: la sua finestra apparirà visualizzando "Hello World". Ora può essere modificato per l'aggiunta di funzionalità più utili. </para>

</sect1
> <!-- gettingstarted-new -->

<!-- 
Again, this will be deleted, if nobody complains.

<sect1 id="gettingstarted-edit">
<title
>Working With Documents</title>

<para
>(- to be written -)</para>

<sect2 id="gettingstarted-edit-codecompletion">
<title
>How to Automate Some Typing Tasks</title>

<para
>(- to be written -)</para>

</sect2
> 

</sect1
> 


<sect1 id="gettingstarted-compile">
<title
>How to Compile a Project</title>

<para
>(- to be written -)</para>

<sect2 id="gettingstarted-compile-messages">
<title
>What the Messages Tell</title>

<para
>(- to be written -)</para>

</sect2
> 

</sect1
> 


<sect1 id="gettingstarted-extend">
<title
>How to Extend a Project &mdash; the &automanag;</title>

<para
>(- to be written -)</para>

<sect2 id="gettingstarted-extend-automake">
<title
>A Short Look at the Automake Machinery</title>

<para
>(- to be written -)</para>

</sect2
> 

<sect2 id="gettingstarted-extend-pics">
<title
>How to Place Icons in a Separate Directory</title>

<para
>(- to be written -)</para>

</sect2
> 

<sect2 id="gettingstarted-extend-class">
<title
>How to Add New Classes</title>

<para
>(- to be written -)</para>

<caution
><para>
Be careful when you select your class file names. It is extremely difficult to change them later.
</para
></caution>

</sect2
> 

<sect2 id="gettingstarted-extend-subproject">
<title
>What is in a Subproject?</title>

<para
>(- to be written -)</para>

<sect3 id="gettingstarted-extend-subproject-active">
<title
>Concentrate on Your Work &mdash; the Active Target</title>

<para
>(- to be written -)</para>

</sect3
> 

</sect2
> 

<sect2 id="gettingstarted-extend-restructure">
<title
>Some Steps to Restructure a Project</title>

<para
>(- to be written -)</para>

</sect2
> 


</sect1
> 



<sect1 id="gettingstarted-debug">
<title
>How to Debug</title>

<para
>(- to be written -)</para>

</sect1>


<sect1 id="gettingstarted-doc">
<title
>A Note on Documentation</title>

<para
>(- to be written -)</para>

</sect1>
-->
</chapter>
