<chapter id="kdevelop-survey">

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

<title
>Un vistazo a las características de &kdevelop;</title>

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

<para
>&kdevelop; integra gran cantidad de herramientas, guiones y plantillas en una interfaz común de usuario. Básicamente consiste en: <itemizedlist>
  <listitem
><para
>varios <link linkend="uimodes-survey"
>modos de interfaz de usuario</link
> mediante los que puede seleccionar el aspecto del área de trabajo, </para
></listitem>
  <listitem
><para
>un <link linkend="applicationwizard"
>&appwizard;</link
> que le ayuda a generar un nuevo proyecto, </para
></listitem>
  <listitem
><para
>varios <link linkend="makesystems"
>sistemas de gestión del proyecto</link
> que le ayudan a construir y gestionar su proyecto, </para
></listitem>
  <listitem
><para
>algunas <link linkend="editing"
>herramientas de edición</link
> para trabajar fácilmente en el texto de su programa, </para
></listitem>
  <listitem
><para
>varios <link linkend="file-browsers"
>navegadores de archivos</link
> que le proporcionan diferentes vistas de su sistema de archivos, </para
></listitem>
  <listitem
><para
>varios <link linkend="class-browsers"
>navegadores de clases</link
> para ayudarle a mantener las clases y sus relaciones de su proyecto de programación orientada a objetos, </para
></listitem>
  <listitem
><para
>una <link linkend="debugger"
>interfaz de depuración</link
> para encontrar y eliminar errores del programa desde &kdevelop;, y </para
></listitem>
  <listitem
><para
>algunas <link linkend="plugin-tools"
>extensiones de herramientas</link
>, que son módulos extensibles que se pueden cargar en tiempo de ejecución y bajo demanda. Esto le permite activar solo las características que realmente necesita. </para
></listitem>
  <listitem
><para
>un conjunto de diagnósticos, documentación y herramientas de optimización. </para
></listitem>
</itemizedlist>
</para>

<note>
  <para
>De hecho, existen tres aplicaciones basadas en &kdevelop;: </para>
  <itemizedlist>
    <listitem
><para
>El IDE &kdevelop; &mdash; este es el lugar donde normalmente trabajará.</para
></listitem>
    <listitem
><para
>El navegador de documentación independiente, el Asistente de &kdevelop; &mdash; aisla todas las poderosas características de documentación del IDE &kdevelop; en una herramienta separada. Esto puede resultar útil cuando necesita buscar determinada documentación de programación pero no quiere iniciar todo el IDE.</para
></listitem>
    <listitem
><para
>El Diseñador de &kdevelop; &mdash; mejora el diseñador de interfaces de usuario de &Qt; con los elementos específicos de &kde; y se integra de un modo agradable en el IDE de &kdevelop;.</para
></listitem>
  </itemizedlist>
</note>


<sect1 id="uimodes-survey">
<title
>Modos de interfaz de usuario disponibles</title>

<indexterm zone="uimodes-survey">
  <primary
>&kdevelop;</primary>
  <secondary
>modos de interfaz de usuario</secondary
></indexterm>
<indexterm zone="uimodes-survey">
  <primary
>interfaz de usuario</primary>
  <secondary
>Modos de &kdevelop;</secondary
></indexterm>
<indexterm zone="uimodes-survey">
  <primary
>Modos de la interfaz del usuario</primary
></indexterm>
<indexterm zone="uimodes-survey">
  <primary
>Ventanas de marco hijo</primary
></indexterm>
<indexterm zone="uimodes-survey">
  <primary
>Páginas tabuladas</primary
></indexterm>
<indexterm zone="uimodes-survey">
  <primary
>Ventanas de nivel superior</primary
></indexterm>
<indexterm zone="uimodes-survey">
  <primary
>IDEAl</primary
></indexterm>

<para
>&kdevelop; ofrece a los desarrolladores cuatro modos distintos de interfaz de usuario (pulse sobre el nombre de cada modo para ver un ejemplo): <itemizedlist>
  <listitem
><para
><link linkend="ideal-desc"
>IDEAl</link
></para>
  <para
>Esta es una interfaz para usuarios principiantes que se centra en la optimización del espacio de trabajo y en el manejo intuitivo de las herramientas. </para>
  <itemizedlist>
    <listitem
><para
>Todas las vistas de herramientas están ancladas en una barra de pestañas alrededor del área de la ventana principal. Están agrupadas a la izquierda, abajo y a la derecha según los servicios que proporcionan. </para
></listitem>
    <listitem
><para
>Las vistas del editor y del navegador estarán apiladas en una ventana de pestañas de gran tamaño en medio del área de la ventana principal. </para
></listitem>
  </itemizedlist>
  </listitem>

  <listitem>
  <para
><link linkend="mdi-desc"
>Ventanas de marco hijo</link
></para>
  <itemizedlist>
    <listitem
><para
>Todas las vistas de herramientas están inicialmente ancladas en el marco de la ventana principal.</para
></listitem>
    <listitem
><para
>Las vistas del editor y del navegador coexistirán como ventanas de nivel superior dentro del área de visibilidad de la ventana principal.</para
></listitem>
  </itemizedlist>
  </listitem>

  <listitem>
  <para
><link linkend="tabbed-desc"
>Páginas tabuladas</link
></para>
  <itemizedlist>
    <listitem
><para
>Todas las vistas de herramientas están inicialmente ancladas en el marco de la ventana principal. </para
></listitem>
    <listitem
><para
>Las vistas del editor y del navegador estarán apiladas en una ventana con pestañas. </para
></listitem>
  </itemizedlist>
  </listitem>

  <listitem>
  <para
><link linkend="toplevel-desc"
>Ventanas de nivel superior</link
></para>
  <itemizedlist>
    <listitem
><para
>Todas las vistas del editor, del navegador y de las herramientas serán ventanas de nivel superior, directamente sobre el escritorio. </para
></listitem>
    <listitem
><para
>El «widget» principal contiene sólo el menú, las barras de herramientas y la barra de estado. </para
></listitem>
  </itemizedlist>
  </listitem>

</itemizedlist>
</para>

<sect2 id="uimodes-switch">
<title
>Cómo cambiar los modos de interfaz de usuario</title>

<indexterm zone="uimodes-switch">
  <primary
>interfaz de usuario</primary>
  <secondary
>cambiar modos</secondary
></indexterm>
<indexterm zone="uimodes-switch">
  <primary
>cambiar modos de interfaz del usuario</primary
></indexterm>

<para
>Para cambiar el modo de la interfaz de usuario seleccione <menuchoice
> <guimenu
>Preferencias</guimenu
> <guimenuitem
>Configurar KDevelop...</guimenuitem
> </menuchoice
> en el menú. Se mostrará el diálogo <guilabel
>Personalizar KDevelop</guilabel
>, donde tendrá que seleccionar <guilabel
>Interfaz de usuario</guilabel
> en el árbol de opciones de la izquierda. Esto hará que se muestre la página de preferencias inferior. </para>

<screenshot>
  <mediaobject>
    <imageobject>
      <imagedata fileref="select-user-interface.png" format="PNG"/>
    </imageobject>
    <caption
><para
>Seleccionar un modo de interfaz de usuario </para
></caption>
  </mediaobject>
</screenshot>

<para
>(Las versiones anteriores de &kdevelop; solo proporcionan la sección de opciones superior.) </para>

<para
>En la sección <guilabel
>Modo principal de interfaz de usuario</guilabel
>, seleccione la opción del modo de interfaz con el que desea trabajar. </para>
<para
>Dependiendo del modo de interfaz de usuario que seleccione, estarán disponibles otras secciones de configuración con las que puede afinar más detalles del aspecto según sus preferencias. Consulte el capítulo <link linkend="setup-ui"
>Selección de la interfaz de usuario</link
> para obtener más detalles. </para>

<note
><para
>No olvide reiniciar &kdevelop; para que su selección tenga efecto. </para
></note>

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

<sect2 id="maximize-workspace">
<title
>Cómo maximizar el área del espacio de trabajo</title>

<indexterm zone="maximize-workspace">
  <primary
>&kdevelop;</primary>
  <secondary
>espacio de trabajo</secondary
></indexterm>
<indexterm zone="maximize-workspace">
  <primary
>&kdevelop;</primary>
  <secondary
>maximizar espacio de trabajo</secondary
></indexterm>
<indexterm zone="maximize-workspace">
  <primary
>interfaz de usuario</primary>
  <secondary
>espacio de trabajo</secondary
></indexterm>
<indexterm zone="maximize-workspace">
  <primary
>interfaz de usuario</primary>
  <secondary
>barra de menú</secondary
></indexterm>
<indexterm zone="maximize-workspace">
  <primary
>interfaz de usuario</primary>
  <secondary
>modo de pantalla completa</secondary
></indexterm>
<indexterm zone="maximize-workspace">
  <primary
>modo de pantalla completa</primary
></indexterm>
<indexterm zone="maximize-workspace">
  <primary
>barra de menú</primary>
  <secondary
>ocultar/mostrar</secondary
></indexterm>
<indexterm zone="maximize-workspace">
  <primary
>ocultar la barra de menú</primary
></indexterm>
<indexterm zone="maximize-workspace">
  <primary
>mostrar la barra de menú</primary
></indexterm>

<para
> Para maximizar el espacio dispone de un modo a pantalla completa que expande el área de la ventana principal hasta los bordes de la pantalla. Puede ganar espacio adicional ocultando la barra de menú. Por supuesto, también puede ocultar cualquier barra de herramientas del mismo modo a como lo hace en cualquier aplicación de <application
>KDE</application
>. </para>

<variablelist>
<varlistentry>
<term
>Modo de pantalla completa</term>
<listitem>
<para
>Para entrar o salir del modo de pantalla completa, seleccione <menuchoice
> <guimenu
>Ver</guimenu
> <guimenuitem
>Modo de pantalla completa</guimenuitem
> </menuchoice
> en el menú, o pulse <keycombo
>&Ctrl;&Shift;<keycap
>F</keycap
> </keycombo
>. También dispone de un icono <guiicon
>Modo de pantalla completa</guiicon
> en la <guilabel
>Barra de herramientas de navegación</guilabel
>.</para>
</listitem>
</varlistentry>

<varlistentry>
<term
>Ocultar/mostrar la barra de menú</term>
<listitem>
<para
> Para <emphasis
>ocultar</emphasis
> la barra de menú, seleccione en el menú <menuchoice
> <guimenu
>Preferencias</guimenu
> <guimenuitem
>Mostrar barra de menú</guimenuitem
> </menuchoice
>, o pulse <keycombo
>&Ctrl;<keycap
>M</keycap
> </keycombo
>. También puede incluir un icono <guiicon
>Mostrar barra de menú</guiicon
> en una barra de herramientas adecuada, como la <guilabel
>Barra de herramientas de navegación</guilabel
>. Para <emphasis
>mostrar</emphasis
> la barra de menú, puede pulsar la combinación <keycombo
> &Ctrl;<keycap
>M</keycap
> </keycombo
> o usar el icono <guiicon
>Mostrar barra de menú</guiicon
>, si está disponible. </para>
</listitem>
</varlistentry>
</variablelist>

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

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

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

<sect1 id="ui-elements">
<title
>Elementos de la interfaz de usuario</title>

<para
>(... pendiente de escribir ...) </para>

<sect2 id="ui-elements-workarea">
<title
>El área de trabajo</title>

<para
>(... pendiente de escribir ...) </para>
</sect2
> <!-- ui-elements-workarea -->

<sect2 id="ui-elements-titlebar">
<title
>La barra de título de &kdevelop;</title>

<para
>(... pendiente de escribir ...) </para>
</sect2
> <!-- ui-elements-titlebar -->

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

<para
>(... pendiente de escribir ...) </para>
</sect2
> <!-- ui-elements-statusbar -->

<sect2 id="ui-elements-menubar">
<title
>La barra de menú</title>

<para
>(... pendiente de escribir ...) </para>
</sect2
> <!-- ui-elements-menubar -->

<sect2 id="ui-elements-toolbars">
<title
>Las barras de herramientas</title>

<para
>(... pendiente de escribir ...) </para>
</sect2
> <!-- ui-elements-toolbars -->

<sect2 id="ui-elements-treetoolviews">
<title
> Las vistas de herramientas en árbol</title>

<para
>(... pendiente de escribir ...) </para>
</sect2
> <!-- ui-elements-treetoolviews -->

<sect2 id="ui-elements-outputtoolviews">
<title
>Las vistas de herramientas de salida</title>

<para
>(... pendiente de escribir ...) </para>
</sect2
> <!-- ui-elements-outputtoolviews -->

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

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

<sect1 id="makesystems">
<title
>Sistemas de gestión del proyecto</title>

<indexterm zone="makesystems">
  <primary
>gestión del proyecto</primary
></indexterm>

<para
>Globalmente, un proyecto confiará en algún tipo de sistema de gestión de proyectos. &kdevelop; ofrece cuatro de estos <emphasis
>sistemas de gestión de proyectos</emphasis
> que el programador puede seleccionar cuando crea un proyecto nuevo. <itemizedlist>
  <listitem
><para
>Los <link linkend="automake-project"
>proyectos automake</link
> utilizan las herramientas de desarrollo estándar de &GNU;. </para
></listitem>
  <listitem
><para
>Los <link linkend="qmake-project"
>proyectos QMake</link
> utilizan el gestor de proyectos QMake, de Trolltech. </para
></listitem>
  <listitem
><para
>Los <link linkend="ant-project"
>proyectos ANT</link
> utilizan el gestor de proyectos ANT, de Apache, para desarrollos en &Java;. </para
></listitem>
  <listitem
><para
>Los <link linkend="custom-project"
>proyectos personalizados</link
> necesitan que usted mantenga sus propios <filename
>Makefiles</filename
>. </para
></listitem>
</itemizedlist>
</para>

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

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

<para
>Los proyectos creados con el &automanag; de &kdevelop; hacen que sea muy fácil para los desarrolladores utilizar las herramientas de desarrollo estándar de &GNU;. Proporcionan <itemizedlist>
  <listitem
><para
>un mejor modo para generar archivos <filename
>Makefile</filename
>, y </para
></listitem>
  <listitem
><para
>una manera eficaz y sencilla de adaptarse rápidamente a diferentes sistemas mediante scripts <filename
>configure</filename
> generados por «autoconf». </para
></listitem>
</itemizedlist>
</para>
</sect2
> <!-- automake-project -->

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

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

<para
>Para los desarrolladores que prefieren la flexibilidad y el estilo del sistema «qmake» de &Qt;, &kdevelop; ofrece la posibilidad de gestionar proyectos basados en «qmake» (archivos .pro) desde la interfaz de usuario. </para>
<para
>Para obtener más información sobre el gestor de proyectos QMake, consulte la <quote
>Guía de usuario de qmake</quote
> que debería estar incluida en su distribución, o mire en la web sobre la <ulink url="http://doc.trolltech.com/"
>Documentación de Trolltech</ulink
>, donde puede encontrar la documentación de QMake para su versión de la <quote
>herramienta de desarrollo de aplicaciones gráficas en C++ de Qt</quote
>. </para>
</sect2
> <!-- qmake-project -->

<sect2 id="cmake-project">
<title
>Proyectos CMake</title>

<indexterm zone="cmake-project">
  <primary
>proyectos</primary>
  <secondary
>cmake</secondary
></indexterm>
<indexterm zone="cmake-project">
  <primary
>cmake</primary>
  <secondary
>proyectos</secondary
></indexterm>

<para
>CMake será el sistema de construcción de &kde; para &kde; 4. &kdevelop; ya le proporciona algunas plantillas C y C++ basadas en CMake. Solo necesita que el programa cmake esté en su $<envar
>PATH</envar
> para construir estos proyectos. </para>
<para
>Para preparar un nuevo proyecto C o C++ en &kdevelop; seleccione <menuchoice
><guimenu
>Proyecto</guimenu
> <guimenuitem
>Nuevo proyecto...</guimenuitem
> <guimenuitem
>C o C++</guimenuitem
> <guimenuitem
>Proyectos basados en CMake</guimenuitem
> <guimenuitem
>Una plantilla de biblioteca compartida o programa «Hola mundo»</guimenuitem
> </menuchoice
>. </para>
</sect2
> <!-- cmake-project -->

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

<indexterm zone="ant-project">
  <primary
>proyectos</primary>
  <secondary
>ant</secondary
></indexterm>
<indexterm zone="ant-project">
  <primary
>ant</primary>
  <secondary
>proyectos</secondary
></indexterm>
<indexterm zone="ant-project">
  <primary
>proyectos</primary>
  <secondary
>Java</secondary
></indexterm>
<indexterm zone="ant-project">
  <primary
>Java</primary>
  <secondary
>proyectos</secondary
></indexterm>
<indexterm zone="ant-project">
  <primary
>desarrollo</primary>
  <secondary
>Java</secondary
></indexterm>

<para
>Es posible que los desarrolladores de proyectos &Java; deseen usar el gestor de proyectos ANT, de Apache. Para generar un nuevo proyecto Ant en &kdevelop;, seleccione <menuchoice
><guimenu
>Proyecto</guimenu
> <guimenuitem
>Nuevo proyecto...</guimenuitem
> <guimenuitem
>Java</guimenuitem
> <guimenuitem
>Proyecto Ant</guimenuitem
> <guimenuitem
>Aplicación</guimenuitem
></menuchoice
>. </para>
<para
>Para más información, consulte la página del <ulink url="http://ant.apache.org/"
>proyecto Ant de Apache</ulink
>. </para>
</sect2
> <!-- ant-project -->

<sect2 id="custom-project">
<title
>Proyectos personalizados</title>

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

<para
>Si prefiere mantener sus propios <filename
>Makefiles</filename
> para su proyecto, puede usar la opción para proyectos personalizados de &kdevelop;. Esto resulta adecuado para proyectos con estructuras inusuales, o si quiere tener control total sobre el proceso <command
>make</command
>. </para>
<para
>Incluso si no <emphasis
>necesita realmente</emphasis
> la flexibilidad extra ni el control sobre el gestor de proyectos personalizado, debería considerar el uso de &automanag; u otro de los gestores de proyectos, ya que facilitan enormemente los procesos de creación y distribución de programas. </para>
</sect2
> <!-- custom-project -->

<sect2 id="makesystems-distribution">
<title
>Cómo distribuir su aplicación</title>

<indexterm zone="makesystems-distribution">
  <primary
>distribución</primary
></indexterm>
<indexterm zone="makesystems-distribution">
  <primary
>aplicación</primary>
  <secondary
>distribución</secondary
></indexterm>
<indexterm zone="makesystems-distribution">
  <primary
>paquetes binarios</primary
></indexterm>

<para
>La distribución de sus aplicaciones solo necesita que el usuario final tenga instalado en su sistema <itemizedlist>
  <listitem
><para
>un compilador apropiado,</para
></listitem>
  <listitem
><para
>un enlazador, y</para
></listitem>
  <listitem
><para
>las bibliotecas de desarrollo necesarias,</para
></listitem>
</itemizedlist>
</para>
<para
>que, al menos para las aplicaciones en C++, suele ser lo usual. Pero también puede distribuir <emphasis
>paquetes binarios</emphasis
> de su aplicación. De cualquier modo, el usuario final de su producto no necesita tener instalado &kdevelop;. </para>
<para
>Le recomendamos que también incluya el <emphasis
>archivo de proyecto</emphasis
> de &kdevelop; junto a su código fuente. Esto facilita el trabajo de otros programadores con su código fuente (si usan &kdevelop;). </para>
<para
>También debería hacer esto mismo con los proyectos en los que trabajan <emphasis
>varios desarrolladores</emphasis
>, tal vez en diferentes lugares. De este modo podrá asegurar la consistencia de los <filename
>Makefiles</filename
> para que no generen problemas. </para>
<para
>Incluso en las aplicaciones multilingües, los <emphasis
>traductores</emphasis
> no trabajaran realmente con el código fuente, excepto en los casos que necesiten hacer correcciones para activar el soporte de traducción. </para>

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

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

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