<chapter id="kdevelop-survey">

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

<title
>Panoramica delle caratteristiche di &kdevelop;</title>

<indexterm zone="kdevelop-survey">
  <primary
>&kdevelop;</primary>
  <secondary
>panoramica</secondary
></indexterm>
<indexterm zone="kdevelop-survey">
  <primary
>panoramica</primary
></indexterm>
<indexterm zone="kdevelop-survey">
  <primary
>panoramica</primary
></indexterm>

<para
>&kdevelop; integra diversi strumenti, e modelli in un'unica interfaccia utente comune, che è costituita fondamentalmente da:  <itemizedlist>
  <listitem
><para
>diverse <link linkend="uimodes-survey"
>modalità dell'interfaccia utente</link
>, con le quali si può selezionare l'aspetto dell'area di lavoro, </para
></listitem>
  <listitem
><para
>la <link linkend="applicationwizard"
>procedura guidata per le applicazioni</link
> che aiuta a creare un nuovo progetto, </para
></listitem>
  <listitem
><para
>diversi <link linkend="makesystems"
>sistemi di gestione dei progetti</link
> che aiutano nella compilazione e nella gestione del progetto, </para
></listitem>
  <listitem
><para
>alcuni <link linkend="editing"
>strumenti di editing</link
> per lavorare con facilità sul testo dei propri programmi </para
></listitem>
  <listitem
><para
>diversi <link linkend="file-browsers"
>browser di file</link
> che forniscono differenti visualizzazioni del file system, </para
></listitem>
  <listitem
><para
>diversi <link linkend="class-browsers"
>browser di classi</link
> che aiutano a gestire le classi e le loro relazioni nei progetti orientati agli oggetti, </para
></listitem>
  <listitem
><para
><link linkend="debugger"
>un'interfaccia per il debug</link
> per trovare e rimuovere gli errori dei programmi dall'interno di &kdevelop;, e </para
></listitem>
  <listitem
><para
>diversi <link linkend="plugin-tools"
>plugin</link
>, moduli estendibili che possono essere caricati a richiesta. Questi permettono di attivare solo le caratteristiche che servono veramente. </para
></listitem>
  <listitem
><para
>un insieme di altri strumenti di diagnosi, per documentazione e per l'ottimizzazione. </para
></listitem>
</itemizedlist>
</para>

<note>
  <para
>In realtà vengono generalmente installate tre applicazioni relative a &kdevelop;: </para>
  <itemizedlist>
    <listitem
><para
>L'IDE di &kdevelop; &mdash; è l'applicazione che si usa normalmente per lavorare.</para
></listitem>
    <listitem
><para
>L'Assistente di &kdevelop; &mdash; racchiude in una applicazione separata tutti gli strumenti per la documentazione di &kdevelop;. È utile quando si vuole consultare qualche argomento relativo alla programmazione senza dover avviare l'IDE.</para
></listitem>
    <listitem
><para
>Il Designer di &kdevelop; &mdash; espande il Designer &Qt; con elementi specifici di &kde; e si integra facilmente con l'IDE di &kdevelop;.</para
></listitem>
  </itemizedlist>
</note>


<sect1 id="uimodes-survey">
<title
>Modalità dell'interfaccia utente disponibili</title>

<indexterm zone="uimodes-survey">
  <primary
>&kdevelop;</primary>
  <secondary
>modalità dell'interfaccia utente</secondary
></indexterm>
<indexterm zone="uimodes-survey">
  <primary
>interfaccia utente</primary>
  <secondary
>modalità di &kdevelop;</secondary
></indexterm>
<indexterm zone="uimodes-survey">
  <primary
>modalità UI</primary
></indexterm>
<indexterm zone="uimodes-survey">
  <primary
>Finestre Childframe</primary
></indexterm>
<indexterm zone="uimodes-survey">
  <primary
>Schedario</primary
></indexterm>
<indexterm zone="uimodes-survey">
  <primary
>Finestre Toplevel</primary
></indexterm>
<indexterm zone="uimodes-survey">
  <primary
>IDEAl</primary
></indexterm>

<para
>&kdevelop; offre agli sviluppatori quattro modalità diverse dell'interfaccia utente (fare clic sul nome della modalità per vedere un esempio): <itemizedlist>
  <listitem
><para
><link linkend="ideal-desc"
>IDEAl</link
></para>
  <para
>Questo è un nuovo approccio all'interfaccia utente che ottimizza l'area di lavoro che permette una manipolazione intuitiva degli strumenti. </para>
  <itemizedlist>
    <listitem
><para
>Tutti gli strumenti vista sono ancorati attorno all'area della finestra principale con delle etichette. Sono raggruppati a sinistra, destra, in alto e in basso a seconda dei servizi che forniscono. </para
></listitem>
    <listitem
><para
>Le viste dell'editor e del browser saranno inserite in una grande finestra con linguette all'interno dell'area della finestra principale.  </para
></listitem>
  </itemizedlist>
  </listitem>

  <listitem>
  <para
><link linkend="mdi-desc"
>Finestre Childframe</link
></para>
  <itemizedlist>
    <listitem
><para
>Tutti gli strumenti di vista sono inizialmente all'interno della finestra principale.</para
></listitem>
    <listitem
><para
>Le viste dell'editor e del browser saranno visualizzate come finestre principali all'interno dell'area della finestra del programma.</para
></listitem>
  </itemizedlist>
  </listitem>

  <listitem>
  <para
><link linkend="tabbed-desc"
>Schedario</link
></para>
  <itemizedlist>
    <listitem
><para
>Tutti gli strumenti di vista sono inizialmente all'interno della finestra principale. </para
></listitem>
    <listitem
><para
>Le viste dell'editor e del browser saranno visualizzate all'interno di una finestra con linguetta. </para
></listitem>
  </itemizedlist>
  </listitem>

  <listitem>
  <para
><link linkend="toplevel-desc"
>Finestre Toplevel</link
></para>
  <itemizedlist>
    <listitem
><para
>Tutti gli editor, il browser e gli strumenti di vista saranno visualizzati come finestre principali direttamente sul desktop. </para
></listitem>
    <listitem
><para
>Il widget principale contiene soltanto il menu, le barre degli strumenti e la barra di stato. </para
></listitem>
  </itemizedlist>
  </listitem>

</itemizedlist>
</para>

<sect2 id="uimodes-switch">
<title
>Come cambiare le interfacce utente</title>

<indexterm zone="uimodes-switch">
  <primary
>interfaccia utente</primary>
  <secondary
>cambiare modalità</secondary
></indexterm>
<indexterm zone="uimodes-switch">
  <primary
>cambiare modalità UI</primary
></indexterm>

<para
>Per cambiare la modalità dell'interfaccia utente selezionare <menuchoice
><guimenu
>Impostazioni</guimenu
> <guimenuitem
>Configura KDevelop...</guimenuitem
></menuchoice
>. Apparirà la finestra di dialogo <guilabel
>Configura KDevelop</guilabel
>, dove si potrà selezionare <guilabel
>Interfaccia Utente</guilabel
> a sinistra. Questo visualizzerà la pagina di impostazioni mostrata qui sotto. </para>

<screenshot>
  <mediaobject>
    <imageobject>
      <imagedata fileref="select-user-interface.png" format="PNG"/>
    </imageobject>
    <caption
><para
>Selezionare una modalità dell'interfaccia utente </para
></caption>
  </mediaobject>
</screenshot>

<para
>(Nelle versioni più vecchie di &kdevelop; è disponibile solo la sezione relativa alla selezione Top mode), </para>

<para
>Nella sezione <guilabel
>Modalità principale interfaccia utente</guilabel
> selezionare l'opzione relativa all'interfaccia utente che si vuole utilizzare. </para>
<para
>A seconda della modalità dell'interfaccia utente selezionata, potrebbero essere disponibili altre sezioni per la configurazione dove si potranno configurare ulteriori dettagli. Vedere il capitolo <link linkend="setup-ui"
>Selezionare l'interfaccia utente</link
> per ulteriori informazioni. </para>

<note
><para
>Non dimenticarsi di riavviare KDevelop per rendere effettive le impostazioni. </para
></note>

</sect2
> <!-- uimodes-switch -->

<sect2 id="maximize-workspace">
<title
>Come massimizzare l'area di lavoro</title>

<indexterm zone="maximize-workspace">
  <primary
>&kdevelop;</primary>
  <secondary
>area di lavoro</secondary
></indexterm>
<indexterm zone="maximize-workspace">
  <primary
>&kdevelop;</primary>
  <secondary
>massimizzare l'area di lavoro</secondary
></indexterm>
<indexterm zone="maximize-workspace">
  <primary
>interfaccia utente</primary>
  <secondary
>area di lavoro</secondary
></indexterm>
<indexterm zone="maximize-workspace">
  <primary
>interfaccia utente</primary>
  <secondary
>barra dei menu</secondary
></indexterm>
<indexterm zone="maximize-workspace">
  <primary
>interfaccia utente</primary>
  <secondary
>modalità schermo intero</secondary
></indexterm>
<indexterm zone="maximize-workspace">
  <primary
>modalità schermo intero</primary
></indexterm>
<indexterm zone="maximize-workspace">
  <primary
>barra dei menu</primary>
  <secondary
>nascondere/mostrare</secondary
></indexterm>
<indexterm zone="maximize-workspace">
  <primary
>nascondere la barra dei menu</primary
></indexterm>
<indexterm zone="maximize-workspace">
  <primary
>mostrare la barra dei menu</primary
></indexterm>

<para
>Per massimizzare lo spazio, è disponibile una modalità a schermo intero che espande l'area della finestra principale fino ai bordi dello schermo. Ulteriore spazio può essere recuperato nascondendo la barra dei menu. Si possono anche nascondere tutte le barre degli strumenti come nelle applicazioni <application
>KDE</application
>. </para>

<variablelist>
<varlistentry>
<term
>Modalità schermo intero</term>
<listitem>
<para
>Per attivare o disattivare la modalità schermo intero selezionare <menuchoice
><guimenu
>Visualizza</guimenu
> <guimenuitem
>Modalità schermo intero</guimenuitem
> </menuchoice
> dai menu oppure premere <keycombo
>&Ctrl;&Shift; <keycap
>F</keycap
></keycombo
>. È disponibile anche una icona nella <guilabel
>barra di navigazione</guilabel
>.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
>Nascondere/Mostrare la barra dei menu</term>
<listitem>
<para
>Per <emphasis
>nascondere</emphasis
> la barra dei menu selezionare <menuchoice
><guimenu
>Impostazioni</guimenu
> <guimenuitem
>Mostra la barra dei menu</guimenuitem
></menuchoice
> dal menu o premere <keycombo
>&Ctrl;<keycap
>M</keycap
> </keycombo
>. Si può anche includere l'icona <guiicon
>Mostra la barra dei menu</guiicon
> in una barra degli strumenti appropriata, &eg; la <guilabel
>barra di navigazione</guilabel
>. Per <emphasis
>mostrare</emphasis
> la barra dei menu si deve premere <keycombo
>&Ctrl;<keycap
>M</keycap
> </keycombo
> o, se disponibile, usare l'icona <guiicon
>Mostra la barra dei menu</guiicon
>. </para>
</listitem>
</varlistentry>
</variablelist>

</sect2
> <!-- maximize-workspace -->

</sect1
> <!-- uimodes-survey -->

<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->

<sect1 id="ui-elements">
<title
>Elementi dell'interfaccia utente</title>

<para
>(... da scrivere ...) </para>

<sect2 id="ui-elements-workarea">
<title
>L'area di lavoro</title>

<para
>(... da scrivere ...) </para>
</sect2
> <!-- ui-elements-workarea -->

<sect2 id="ui-elements-titlebar">
<title
>La barra del titolo di &kdevelop;</title>

<para
>(... da scrivere ...) </para>
</sect2
> <!-- ui-elements-titlebar -->

<sect2 id="ui-elements-statusbar">
<title
>La barra di stato di &kdevelop;</title>

<para
>(... da scrivere ...) </para>
</sect2
> <!-- ui-elements-statusbar -->

<sect2 id="ui-elements-menubar">
<title
>La barra dei menu</title>

<para
>(... da scrivere ...) </para>
</sect2
> <!-- ui-elements-menubar -->

<sect2 id="ui-elements-toolbars">
<title
>Le barre degli strumenti</title>

<para
>(... da scrivere ...) </para>
</sect2
> <!-- ui-elements-toolbars -->

<sect2 id="ui-elements-treetoolviews">
<title
>Viste ad albero</title>

<para
>(... da scrivere ...) </para>
</sect2
> <!-- ui-elements-treetoolviews -->

<sect2 id="ui-elements-outputtoolviews">
<title
>Viste di output</title>

<para
>(... da scrivere ...) </para>
</sect2
> <!-- ui-elements-outputtoolviews -->

</sect1
> <!-- ui-elements -->

<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->

<sect1 id="makesystems">
<title
>Sistemi di gestione dei progetti</title>

<indexterm zone="makesystems">
  <primary
>gestione progetti</primary
></indexterm>

<para
>Un progetto fa affidamento su qualche tipo di sistema di gestione dei progetti. &kdevelop; fornisce quattro <emphasis
>sistemi di gestione dei progetti</emphasis
> che possono essere selezionati. <itemizedlist>
  <listitem
><para
>I <link linkend="automake-project"
>Progetti Automake</link
> usano gli strumenti standard di sviluppo &GNU;. </para
></listitem>
  <listitem
><para
>I <link linkend="qmake-project"
>Progetti QMake</link
> usano il gestore di progetti QMake di Trolltech. </para
></listitem>
  <listitem
><para
>I <link linkend="ant-project"
>Progetti ANT</link
> usano il gestore di progetti ANT di Apache per lo sviluppo con &Java;. </para
></listitem>
  <listitem
><para
>I <link linkend="custom-project"
>Progetti personalizzati</link
> che richiedono la gestione manuale dei <filename
>Makefile</filename
>. </para
></listitem>
</itemizedlist>
</para>

<sect2 id="automake-project">
<title
>Progetti automake</title>

<indexterm zone="automake-project">
  <primary
>progetti</primary>
  <secondary
>automake</secondary
></indexterm>
<indexterm zone="automake-project">
  <primary
>automake</primary>
  <secondary
>progetti</secondary
></indexterm>

<para
>I progetti creati con il gestore di progetti automake di &kdevelop; rendono molto facile per gli sviluppatori l'uso degli strumenti standard di sviluppo &GNU;, che forniscono <itemizedlist>
  <listitem
><para
>una migliore generazione dei <filename
>Makefile</filename
> e </para
></listitem>
  <listitem
><para
>un modo ottimale e sicuro per adattarsi velocemente a sistemi differenti usando gli script <filename
>configure</filename
> generati da autoconf. </para
></listitem>
</itemizedlist>
</para>
</sect2
> <!-- automake-project -->

<sect2 id="qmake-project">
<title
>Progetti QMake</title>

<indexterm zone="qmake-project">
  <primary
>progetti</primary>
  <secondary
>qmake</secondary
></indexterm>
<indexterm zone="qmake-project">
  <primary
>qmake</primary>
  <secondary
>progetti</secondary
></indexterm>

<para
>Per gli sviluppatori che amano la flessibilità del sistema qmake di &Qt;, &kdevelop; fornisce la possibilità di gestire i progetti basati su qmake (file .pro) all'interno della &GUI;. </para>
<para
>Per ulteriori informazioni sul gestore di progetti QMake vedere la guida <quote
>qmake User Guide</quote
> che dovrebbe essere inclusa nella propria distribuzione, oppure vedere il nel sito di <ulink url="http://doc.trolltech.com/"
>TROLLTECH</ulink
> dove si trova la documentazione della propria versione del <citetitle
>toolkit per lo sviluppo di applicazioni GUI con Qt</citetitle
>. </para>
</sect2
> <!-- qmake-project -->

<sect2 id="ant-project">
<title
>ANT Project Manager (applicazioni &Java;)</title>

<indexterm zone="ant-project">
  <primary
>progetti</primary>
  <secondary
>ant</secondary
></indexterm>
<indexterm zone="ant-project">
  <primary
>ant</primary>
  <secondary
>progetti</secondary
></indexterm>
<indexterm zone="ant-project">
  <primary
>progetti</primary>
  <secondary
>Java</secondary
></indexterm>
<indexterm zone="ant-project">
  <primary
>Java</primary>
  <secondary
>progetti</secondary
></indexterm>
<indexterm zone="ant-project">
  <primary
>sviluppo</primary>
  <secondary
>Java</secondary
></indexterm>

<para
>Gli sviluppatori &Java; potrebbero usare il gestore di progetti ANT di Apache per i loro progetti. Per impostare un nuovo progetto ANT con &kdevelop; selezionare <menuchoice
><guimenuitem
>Nuovo Progetto...</guimenuitem
><guimenuitem
>Java</guimenuitem
><guimenuitem
>Ant Project</guimenuitem
><guimenuitem
>Application</guimenuitem
></menuchoice
>. </para>
<para
>Per ulteriori informazioni vedere la home page <ulink url="http://ant.apache.org/"
>The Apache Ant Project</ulink
>. </para>
</sect2
> <!-- ant-project -->

<sect2 id="custom-project">
<title
>Progetti personalizzati</title>

<indexterm zone="custom-project">
  <primary
>progetti</primary>
  <secondary
>personalizzato</secondary
></indexterm>
<indexterm zone="custom-project">
  <primary
>progetti personalizzati</primary
></indexterm>
<indexterm zone="custom-project">
  <primary
>Makefile</primary>
  <secondary
>progetti personalizzati</secondary
></indexterm>

<para
>Se si preferisce gestire da soli i <filename
>Makefile</filename
> del proprio progetto si può usare l'opzione custom project di &kdevelop;. Potrebbe essere conveniente in progetti non usuali o se si vuole mantenere il pieno controllo sul processo di <command
>make</command
>. </para>
<para
>Tuttavia, se <emphasis
>non serve</emphasis
> la flessibilità e il controllo dei progetti personalizzati si dovrebbe considerare l'uso del gestore automake o degli altri gestori di progetto, che facilitano considerevolmente la costruzione dei programma e il processo di distribuzione. </para>
</sect2
> <!-- custom-project -->

<sect2 id="makesystems-distribution">
<title
>Come distribuire la propria applicazione</title>

<indexterm zone="makesystems-distribution">
  <primary
>distribuzione</primary
></indexterm>
<indexterm zone="makesystems-distribution">
  <primary
>applicazione</primary>
  <secondary
>distribuzione</secondary
></indexterm>
<indexterm zone="makesystems-distribution">
  <primary
>pacchetti binari</primary
></indexterm>

<para
>Per distribuire l'applicazione è richiesto che l'utente finale abbia installato: <itemizedlist>
  <listitem
><para
>un compilatore appropriato,</para
></listitem>
  <listitem
><para
>un linker e</para
></listitem>
  <listitem
><para
>le relative librerie di sviluppo</para
></listitem>
</itemizedlist>
</para>
<para
>come per le applicazioni C++. Ma si possono distribuire anche i <emphasis
>pacchetti binari</emphasis
> dell'applicazione. In entrambi i casi, l'utente finale non deve avere installato &kdevelop;. </para>
<para
>Se si distribuiscono i sorgenti, si raccomanda di includere anche <emphasis
>il file di progetto</emphasis
> di &kdevelop;. Questo rende molto semplice agli altri sviluppatori &mdash; se usano &kdevelop; &mdash; lavorare con i file sorgente. </para>
<para
>Questa raccomandazione è valida anche per progetti a cui collaborano <emphasis
>vari sviluppatori</emphasis
>, che magari lavorano in posti diversi. </para>
<para
>Specialmente nelle applicazioni multi-linguaggio, i <emphasis
>traduttori</emphasis
> non lavorano con il codice sorgente, eccetto nei casi che richiedono delle correzioni per abilitare il supporto alla traduzione. </para>

</sect2
> <!-- makesystems-distribution -->

</sect1
> <!-- makesystems -->

</chapter
> <!-- kdevelop-survey -->
