<chapter id="kdevelop-survey">

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

<title
>Introdução às Funcionalidades do &kdevelop;</title>

<indexterm zone="kdevelop-survey">
  <primary
>&kdevelop;</primary>
  <secondary
>introdução</secondary
></indexterm>
<indexterm zone="kdevelop-survey">
  <primary
>vista geral</primary
></indexterm>
<indexterm zone="kdevelop-survey">
  <primary
>introdução</primary
></indexterm>

<para
>O &kdevelop; integra um conjunto de ferramentas, programas e modelos numa interface de utilizador comum. Basicamente, consiste em <itemizedlist>
  <listitem
><para
>vários <link linkend="uimodes-survey"
>modos de interface de utilizador</link
> com os quais você poderá seleccionar a aparência e comportamento do espaço de trabalho, </para
></listitem>
  <listitem
><para
>um <link linkend="applicationwizard"
>&appwizard;</link
> que o ajuda a configurar um novo projecto, </para
></listitem>
  <listitem
><para
>vários <link linkend="makesystems"
>sistemas de gestão de projectos</link
> que o ajudam a compilar e a gerir o seu projecto, </para
></listitem>
  <listitem
><para
>algumas <link linkend="editing"
>ferramentas de edição</link
> para trabalhar nos textos do seu programa </para
></listitem>
  <listitem
><para
>vários <link linkend="file-browsers"
>navegadores de ficheiros</link
> que lhe oferecem várias vistas sobre o seu sistema de ficheiros, </para
></listitem>
  <listitem
><para
>vários <link linkend="class-browsers"
>navegadores de classes</link
> para o ajudarem a gerir as classes e as suas relações entre si no seu projecto de programação orientada por objectos, </para
></listitem>
  <listitem
><para
>uma <link linkend="debugger"
>interface para o depurador</link
> para procurar e remover os erros do programa dentro do &kdevelop;, e </para
></listitem>
  <listitem
><para
>várias <link linkend="plugin-tools"
>ferramentas em 'plugins'</link
>, ou seja, módulos extensíveis que podem ser carregados durante a execução e a pedido. Isto permite-lhe activar apenas as funcionalidades que você realmente necessita. </para
></listitem>
  <listitem
><para
>um conjunto de outras ferramentas auxiliares de diagnóstico, documentação e optimização. </para
></listitem>
</itemizedlist>
</para>

<note>
  <para
>De facto existem três aplicações baseadas no &kdevelop;: </para>
  <itemizedlist>
    <listitem
><para
>O IDE do &kdevelop; &mdash; este é o local onde você normalmente irá trabalhar.</para
></listitem>
    <listitem
><para
>O navegador de documentação do Assistente do &kdevelop; autónomo &mdash; isola todas as funcionalidades poderosas de documentação do IDE &kdevelop; numa ferramenta separada. Isto pode ser útil quando desejar procurar por alguma documentação de programação mas não queira iniciar o IDE por completo.</para
></listitem>
    <listitem
><para
>O Desenhador do &kdevelop; &mdash; aumenta o &Qt; User Interface Designer, adicionando os elementos específicos do &kde; e integra-se bem no IDE &kdevelop;.</para
></listitem>
  </itemizedlist>
</note>


<sect1 id="uimodes-survey">
<title
>Modos de Interface do Utilizador Disponíveis</title>

<indexterm zone="uimodes-survey">
  <primary
>&kdevelop;</primary>
  <secondary
>modos de interface do utilizador</secondary
></indexterm>
<indexterm zone="uimodes-survey">
  <primary
>interface do utilizador</primary>
  <secondary
>modos do &kdevelop;</secondary
></indexterm>
<indexterm zone="uimodes-survey">
  <primary
>Modos de interface</primary
></indexterm>
<indexterm zone="uimodes-survey">
  <primary
>Janelas-Filhas</primary
></indexterm>
<indexterm zone="uimodes-survey">
  <primary
>Janelas em Páginas</primary
></indexterm>
<indexterm zone="uimodes-survey">
  <primary
>Janelas de Topo</primary
></indexterm>
<indexterm zone="uimodes-survey">
  <primary
>IDEAl</primary
></indexterm>

<para
>O &kdevelop; oferece aos programadores quatro modos de interface do utilizador (carregue no nome do modo para ver um exemplo): <itemizedlist>
  <listitem
><para
><link linkend="ideal-desc"
>IDEAl</link
></para>
  <para
>Esta é uma nova aproximação de interfaces de utilizador que optimiza tanto o espaço de trabalho como a actuação intuitiva sobre as ferramentas. </para>
  <itemizedlist>
    <listitem
><para
>Todas as janelas de ferramentas estão acopladas numa disposição em páginas à volta da área da janela principal. Elas agrupam-se à esquerda, em baixo e à direita, de acordo com os serviços fornecidos. </para
></listitem>
    <listitem
><para
>As janelas de edição e de navegação estarão empilhadas numa grande janela de páginas a meio da área da janela principal. </para
></listitem>
  </itemizedlist>
  </listitem>

  <listitem>
  <para
><link linkend="mdi-desc"
>Janelas-Filhas</link
></para>
  <itemizedlist>
    <listitem
><para
>Todas as janelas de ferramentas estão inicialmente acopladas à janela principal.</para
></listitem>
    <listitem
><para
>As janelas de edição e de navegação irão existir como janelas de topo dentro de uma área de visualização da janela principal.</para
></listitem>
  </itemizedlist>
  </listitem>

  <listitem>
  <para
><link linkend="tabbed-desc"
>Janelas em Páginas</link
></para>
  <itemizedlist>
    <listitem
><para
>Todas as janelas de ferramentas estão inicialmente acopladas à janela principal. </para
></listitem>
    <listitem
><para
>As janelas de edição e de navegação irão estar empilhadas numa janela com várias páginas separadas. </para
></listitem>
  </itemizedlist>
  </listitem>

  <listitem>
  <para
><link linkend="toplevel-desc"
>Janelas de Topo</link
></para>
  <itemizedlist>
    <listitem
><para
>Todas as janelas de edição, navegação e de ferramentas serão janelas de topo directamente no ecrã. </para
></listitem>
    <listitem
><para
>A janela principal só irá conter o menu, as barras de ferramentas e a barra de estado. </para
></listitem>
  </itemizedlist>
  </listitem>

</itemizedlist>
</para>

<sect2 id="uimodes-switch">
<title
>Como Mudar de Modos de Interface do Utilizador:</title>

<indexterm zone="uimodes-switch">
  <primary
>interface do utilizador</primary>
  <secondary
>mudar de modos</secondary
></indexterm>
<indexterm zone="uimodes-switch">
  <primary
>mudar de modo de interface</primary
></indexterm>

<para
>Para mudar o modo da interface do utilizador, seleccione a <menuchoice
> <guimenu
>Configuração</guimenu
> <guimenuitem
>Configurar o KDevelop...</guimenuitem
> </menuchoice
> no menu. A janela para <guilabel
>Configurar o KDevelop</guilabel
> irá aparecer, onde então terá de seleccionar <guilabel
>Interface do Utilizador</guilabel
> no campo do lado esquerdo. Isto levá-lo-á à página de configuração mostrada em baixo. </para>

<screenshot>
  <mediaobject>
    <imageobject>
      <imagedata fileref="select-user-interface.png" format="PNG"/>
    </imageobject>
    <caption
><para
>Seleccione um modo de interface de utilizador </para
></caption>
  </mediaobject>
</screenshot>

<para
>(As versões mais antigas do &kdevelop; oferecem apenas a secção de selecção do modo de topo). </para>

<para
>Na secção do <guilabel
>Modo Principal de Interface do Utilizador</guilabel
>, seleccione a opção exclusiva do modo de interface de utilizador com que deseja trabalhar. </para>
<para
>Dependendo do modo de interface de utilizador que seleccionou, as outras secções de configuração ficarão disponíveis, nas quais poderá ajustar mais detalhes da aparência e comportamento às suas preferências. Veja o capítulo sobre como <link linkend="setup-ui"
>Seleccionar a Interface do Utilizador</link
> para mais detalhes. </para>

<note
><para
>Não se esqueça de reiniciar o &kdevelop; para que as suas selecções façam efeito. </para
></note>

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

<sect2 id="maximize-workspace">
<title
>Como Maximizar a Área do Espaço de Trabalho</title>

<indexterm zone="maximize-workspace">
  <primary
>&kdevelop;</primary>
  <secondary
>espaço de trabalho</secondary
></indexterm>
<indexterm zone="maximize-workspace">
  <primary
>&kdevelop;</primary>
  <secondary
>maximizar o espaço de trabalho</secondary
></indexterm>
<indexterm zone="maximize-workspace">
  <primary
>interface do utilizador</primary>
  <secondary
>espaço de trabalho</secondary
></indexterm>
<indexterm zone="maximize-workspace">
  <primary
>interface do utilizador</primary>
  <secondary
>barra de menu</secondary
></indexterm>
<indexterm zone="maximize-workspace">
  <primary
>interface do utilizador</primary>
  <secondary
>modo de ecrã completo</secondary
></indexterm>
<indexterm zone="maximize-workspace">
  <primary
>modo de ecrã completo</primary
></indexterm>
<indexterm zone="maximize-workspace">
  <primary
>barra de menu</primary>
  <secondary
>esconder/mostrar</secondary
></indexterm>
<indexterm zone="maximize-workspace">
  <primary
>esconder a barra de menu</primary
></indexterm>
<indexterm zone="maximize-workspace">
  <primary
>mostrar a barra de menu</primary
></indexterm>

<para
>Para maximizar o espaço, existe um modo de janelas de ecrã completo que expande a área da janela principal até aos extremos do ecrã. O espaço adicional poderá ser reclamado de volta se esconder a barra de menu. E, claro, você poderá esconder qualquer barra de ferramentas como é normal nas aplicações do <application
>KDE</application
>. </para>

<variablelist>
<varlistentry>
<term
>Modo de Ecrã Completo</term>
<listitem>
<para
>Para mudar de ou para o modo de ecrã completo seleccione <menuchoice
> <guimenu
>Ver</guimenu
> <guimenuitem
>Modo de Ecrã Completo</guimenuitem
> </menuchoice
> no menu ou carregue em <keycombo
>&Ctrl;&Shift;<keycap
>F</keycap
></keycombo
>. Existe também um ícone <guiicon
>Modo de Ecrã Completo</guiicon
> na <guilabel
>Barra de Navegação</guilabel
>.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
>Esconder/Mostrar o Menu</term>
<listitem>
<para
>Para <emphasis
>esconder</emphasis
> o menu seleccione <menuchoice
> <guimenu
>Configuração</guimenu
> <guimenuitem
>Mostrar o Menu</guimenuitem
> </menuchoice
> nas opções de menu ou carregue em <keycombo
>&Ctrl;<keycap
>M</keycap
> </keycombo
>. Você poderá também incluir um <guiicon
>Mostrar o Menu</guiicon
> numa barra de ferramentas adequada, p.ex., na <guilabel
>Barra de Navegação</guilabel
> para esse fim. Para <emphasis
>voltar a mostrar</emphasis
> o menu você precisa de carregar em <keycombo
>&Ctrl;<keycap
>M</keycap
></keycombo
> ou de usar o ícone <guiicon
>Mostrar o Menu</guiicon
>, se estiver disponível. </para>
</listitem>
</varlistentry>
</variablelist>

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

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

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

<sect1 id="ui-elements">
<title
>Elementos da Interface do Utilizador</title>

<para
>(... ainda não escrito ...) </para>

<sect2 id="ui-elements-workarea">
<title
>A Área de Trabalho</title>

<para
>(... ainda não escrito ...) </para>
</sect2
> <!-- ui-elements-workarea -->

<sect2 id="ui-elements-titlebar">
<title
>A Barra de Título do &kdevelop;</title>

<para
>(... ainda não escrito ...) </para>
</sect2
> <!-- ui-elements-titlebar -->

<sect2 id="ui-elements-statusbar">
<title
>A Barra de Estado do &kdevelop;</title>

<para
>(... ainda não escrito ...) </para>
</sect2
> <!-- ui-elements-statusbar -->

<sect2 id="ui-elements-menubar">
<title
>A barra de menu</title>

<para
>(... ainda não escrito ...) </para>
</sect2
> <!-- ui-elements-menubar -->

<sect2 id="ui-elements-toolbars">
<title
>As Barras de Ferramentas</title>

<para
>(... ainda não escrito ...) </para>
</sect2
> <!-- ui-elements-toolbars -->

<sect2 id="ui-elements-treetoolviews">
<title
>As Janelas em Árvore</title>

<para
>(... ainda não escrito ...) </para>
</sect2
> <!-- ui-elements-treetoolviews -->

<sect2 id="ui-elements-outputtoolviews">
<title
>As Janelas dos Resultados das Ferramentas</title>

<para
>(... ainda não escrito ...) </para>
</sect2
> <!-- ui-elements-outputtoolviews -->

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

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

<sect1 id="makesystems">
<title
>Sistemas de Gestão de Projectos</title>

<indexterm zone="makesystems">
  <primary
>gestão de projectos</primary
></indexterm>

<para
>Globalmente, um projecto basear-se-á num sistema de gestão de projecto qualquer. O &kdevelop; oferece quatro <emphasis
>sistemas de gestão de projectos</emphasis
> que o programador poderá seleccionar ao criar um novo projecto. <itemizedlist>
  <listitem
><para
>Os <link linkend="automake-project"
>projectos do Automake</link
> usam as ferramentas de desenvolvimento normais da &GNU;. </para
></listitem>
  <listitem
><para
>Os <link linkend="qmake-project"
>projectos do QMake</link
> usam o gestor de projectos QMake da Trolltech. </para
></listitem>
  <listitem
><para
>Os <link linkend="ant-project"
>projectos de ANT</link
> usam o gestor de projectos ANT do Apache para a programação em &Java;. </para
></listitem>
  <listitem
><para
>Os <link linkend="custom-project"
>projectos personalizados</link
> necessitam que você faça a gestão das suas próprias <filename
>Makefiles</filename
>. </para
></listitem>
</itemizedlist>
</para>

<sect2 id="automake-project">
<title
>Projectos Automake</title>

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

<para
>Os projectos criados com o &automanag; do &kdevelop; tornam bastante simples a utilização das ferramentas normais da &GNU; para os programadores. Eles possibilitam <itemizedlist>
  <listitem
><para
>uma melhor forma de gerar <filename
>Makefile</filename
>s e </para
></listitem>
  <listitem
><para
>uma forma segura e boa de se adaptar facilmente entre vários sistemas de comandos <filename
>configure</filename
> gerados pelo Automake. </para
></listitem>
</itemizedlist>
</para>
</sect2
> <!-- automake-project -->

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

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

<para
>Para os programadores que gostam da flexibilidade e comportamento do sistema QMake do &Qt;, o &kdevelop; oferece a possibilidade de lidar com os projectos baseados em QMake (os ficheiros .pro) na sua interface gráfica. </para>
<para
>Para mais informações sobre o gestor de projectos QMake veja o <quote
>Guia de Utilizador do qmake</quote
>, que deverá estar incluído na sua distribuição, ou dê uma vista de olhos na página de <ulink url="http://doc.trolltech.com/"
>Documentação da TROLLTECH</ulink
> onde você poderá encontrar a documentação do QMake para a sua versão da <quote
>Plataforma de Desenvolvimento de Aplicações Gráficas em C++ Qt</quote
>. </para>
</sect2
> <!-- qmake-project -->

<sect2 id="ant-project">
<title
>Projectos ANT (Projectos em &Java;)</title>

<indexterm zone="ant-project">
  <primary
>projectos</primary>
  <secondary
>ant</secondary
></indexterm>
<indexterm zone="ant-project">
  <primary
>ant</primary>
  <secondary
>projectos</secondary
></indexterm>
<indexterm zone="ant-project">
  <primary
>projectos</primary>
  <secondary
>Java</secondary
></indexterm>
<indexterm zone="ant-project">
  <primary
>Java</primary>
  <secondary
>projectos</secondary
></indexterm>
<indexterm zone="ant-project">
  <primary
>desenvolvimento</primary>
  <secondary
>Java</secondary
></indexterm>

<para
>Os programadores em &Java; poderão querer usar o gestor de projectos ANT do projecto Apache para os seus projectos. Para configurar um novo projecto de ANT no &kdevelop; seleccione <menuchoice
><guimenu
>Projecto</guimenu
> <guimenuitem
>Novo Projecto...</guimenuitem
> <guimenuitem
>Java</guimenuitem
> <guimenuitem
>Projecto de Ant</guimenuitem
> <guimenuitem
>Aplicação</guimenuitem
></menuchoice
>. </para>
<para
>Para mais informações veja a página do <ulink url="http://ant.apache.org/"
>Projecto Ant do Apache</ulink
>. </para>
</sect2
> <!-- ant-project -->

<sect2 id="custom-project">
<title
>Projectos Personalizados</title>

<indexterm zone="custom-project">
  <primary
>projectos</primary>
  <secondary
>personalizado</secondary
></indexterm>
<indexterm zone="custom-project">
  <primary
>projectos personalizados</primary
></indexterm>
<indexterm zone="custom-project">
  <primary
>Makefile</primary>
  <secondary
>projectos personalizados</secondary
></indexterm>

<para
>Se você preferir manter as suas próprias <filename
>Makefiles</filename
> para o seu projecto, você poderá usar a opção de projectos personalizados do &kdevelop;. Isto poderá ser adequado para os projectos estruturados de forma anormal ou se deseja ter um controlo absoluto no processo do <command
>make</command
>. </para>
<para
>Todavia, se você não <emphasis
>precisa de facto</emphasis
> da flexibilidade extra e do controlo do gestor de projectos personalizados, você deverá pensar no Autoproject ou num dos outros gestores de projectos, porque facilitam consideravelmente os processos de compilação e distribuição do programa. </para>
</sect2
> <!-- custom-project -->

<sect2 id="makesystems-distribution">
<title
>Como Distribuir a sua Aplicação</title>

<indexterm zone="makesystems-distribution">
  <primary
>distribuição</primary
></indexterm>
<indexterm zone="makesystems-distribution">
  <primary
>aplicação</primary>
  <secondary
>distribuição</secondary
></indexterm>
<indexterm zone="makesystems-distribution">
  <primary
>pacotes binários</primary
></indexterm>

<para
>A distribuição das suas aplicações não necessita que o utilizador final tenha nada de diferente instalado, a não ser <itemizedlist>
  <listitem
><para
>um compilador apropriado,</para
></listitem>
  <listitem
><para
>um editor de ligações, e</para
></listitem>
  <listitem
><para
>as bibliotecas de desenvolvimento apropriadas,</para
></listitem>
</itemizedlist>
</para>
<para
>o que, pelo menos para as aplicações em C++, é normalmente o caso. Mas você pode também distribuir os <emphasis
>pacotes binários</emphasis
> da sua aplicação. De qualquer forma, o utilizador final do seu produto não precisa do &kdevelop; instalado. </para>
<para
>Para fornecer o seu código, aconselhamo-o a incluir também o <emphasis
>ficheiro do projecto</emphasis
> do &kdevelop;. Isto torna muito simples para os outros programadores &mdash; se usarem também o &kdevelop; &mdash; poder trabalhar com o seu código. </para>
<para
>Para os projectos onde os <emphasis
>vários programadores</emphasis
> estão envolvidos, talvez trabalhando em sítios diferentes, poderá ser este o caso de qualquer forma. Por isso, você poderá garantir a consistência das <filename
>Makefiles</filename
> para não ter problemas. </para>
<para
>Especialmente nas aplicações multilingues, os <emphasis
>tradutores</emphasis
> não irão lidar de facto com o código-fonte, excepto nos casos que necessitem de correcções para permitir o suporte de traduções. </para>

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

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

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