![]() | Creación de la aplicación |
Prev | Next |
Ahora vamos a crear un nuevo proyecto para nuestra aplicación. Para hacerlo, seleccionamos Proyecto/Nuevo proyecto. Se abrirá un asistente en el que seleccionaremos las opciones del proyecto.
Podemos utilizar KDevelop para desarrollar en C++, C, Java, Python o PHP. El asistente de "nuevo proyecto" se puede utilizar para crear una aplicación sencilla que sirve como estructura de base para la aplicación final. Si decide crear una aplicación C++, puede generar (en el momento de redacción de este tutorial): una aplicación de KDE, una aplicación de KDE que utilice KParts, un módulo del Centro de control, un servicio DCOP, un salvapantallas, una extensión KHTMLPart, un esclavo KIO (implementación de un protocolo), un módulo de KOffice, una extensión de Kate, un applet de Kicker, una extensión del panel de navegación de Konqueror, una aplicación KDE sencilla, un módulo de KDevelop, varios tipos de aplicaciones Qt y una aplicación para terminal basada en C++.
Si decide crear una aplicación en C, KDevelop podrá generar la estructura para una aplicación para GameBoyAdvance, una aplicación GNOME (sí, es posible utilizar KDevelop para crear aplicaciones para GNOME), o símplemente una aplicación para terminal basada en C.
Si prefiere utilizar Java, KDevelop podrá ayudarle con las estructuras de un proyecto de Ant, una aplicación de KDE o una extensión de KDevelop, todas ellas con Java (incluso podrá utilizar el depurador de aplicaciones Java integrado). Por último, también puede utilizar el asistente para crear un simple guión de PHP, una aplicación Python Qt o un sencillo guión de Python.
Al pinchar en el botón Siguiente, se mostrarán las opciones sobre el sistema de control de versiones que utilizaremos en el proyecto. Para simplificar nuestro ejemplo, seleccionaremos Ninguno y continuaremos en las siguientes páginas, donde podremos cambiar la plantilla de la cabecera de los archivos .h y .cpp. Fíjese en que KDevelop ha utilizado el año actual, su nombre y su dirección de correo electrónico completos, por lo que probablemente no necesitará modificar nada. Al menos nosotros no modificaremos nada, así que bastará con pinchar en el botón Finalizar.
Ahora KDevelop generará el proyecto, y estaremos listos para comenzar a desarrollar nuestra aplicación sobre la estructura básica.
La siguiente instantánea muestra una ventana vacía de KDevelop con el interfaz IDEAL. Puede cambiar el interfaz de usuario y poner alguno de los modos clásicos a través del menú Preferencias/Configurar Gideon, en la sección Interfaz de usuario, pero en este tutorial utilizaremos el interfaz IDEAL. Tenga en cuenta que las características de KDevelop son independientes del interfaz que se utilice, así que puede seleccionar aquel en el que se encuentre más cómodo.
Ahora que ya está hecha una buena parte de la aplicación, vamos a compilarla. Pinche en Construir/Construir proyecto, tras una corta espera (y en el caso de que no se produzca ningún error debido a la falta de alguno de los paquetes necesarios), obtendrá una aplicación compilada que podrá ejecutar por medio de Construir/Ejecutar progama, de forma similar a lo mostrado en la siguiente instantánea.
La aplicación también tiene los menús estándar, y un díalogo de preferencias preparado para que añada las opciones que considere oportuno. Algo parecido a esto:
Vamos a revisar ahora el código utilizado por KDevelop. Pinche en la etiqueta Clases que podrá encontrar a la izquierda para abrir la lista de clases de nuestro proyecto.
En primer lugar, vamos a echar un vistazo a la clase TheTinter. Esta clase es la ventana principal de nuestra aplicación y contiene el menú, las barras de herramientas, etc. TheTinter contiene algunos métodos interesantes que sin duda utilizaremos:
load(const KURL &url) es el método al que se llamará cuando el usuario quiera cargar un documento. Tenga en cuenta que en KDE se recomienda utilizar la clase KURL para almacenar la url de un documento. De esta forma, no nos preocupará si el documento es local, está en un servidor ftp, si se accede por ssh, etc. La biblioteca KIO se ocupará de todo.
readProperties(KConfig *) y saveProperties(KConfig *) se utilizan para cargar y guardar el estado de la aplicación (por ejemplo, los documentos cargados) cuando se abre o se cierra la sesión de KDE. De esa forma, los usuarios podrán cerrar la sesión y, cuando vuelvan a acceder al sistema, encontrarán la aplicación en el mismo estado en que la dejaron.
setupActions() se utiliza para crear las acciones y conectarlas con nuestros slots (si no le resultan familiares conceptos como señales o slots, puede consultar la documentación de Qt o mi otro tutorial). Tenga en cuenta que la mayoría de las acciones utilizadas en la aplicación de plantilla son estándar, de forma que el método contiene código del tipo KStdAction::open(this, SLOT(fileOpen()), actionCollection()); con el fin de crear una acción estándar para la entrada de menú Archivo/Abrir que, al ser activada, emite una señal que se conecta a nuestro slot fileOpen.
dragEnterEvent(QDragEnterEvent *event) se utiliza para indicarle al subsistema de arrastrar y soltar si aceptamos o no un evento de arrastrar y soltar que el usuario está arrastrando (todavía no soltando) sobre nuestra ventana, mientras que se llama adropEvent(QDropEvent *event) cuando el usuario suelta algo sobre nuestra ventana, por lo que es ahí donde debemos procesar el evento de soltar.
TheTinterView es el widget central de nuestra aplicación, es decir, el widget que se coloca debajo de la barra de herramientas y sobre la barra de estado. En la plantilla de KDevelop, esta clase crea un componente KPart capaz de leer documentos HTML, pero eliminaremos la mayor parte de esto en el siguiente paso del tutorial, ya que no nos resulta necesaria tanta complejidad.
Prev | Home | Next |
Cómo descargar e iniciar KDevelop y Designer | Up | Primeros cambios al código fuente |