Anjuta .- Un entorno de desarrollo

C y C++ son sin duda los lenguajes de programación más extendidos:

  • C: «el lenguaje», creado para programar Sistemas Operativos, permite hacer todo tipo de cosas.
  • C++: C con objetos, un superconjunto de C.

Vamos a ver una pequeña introducción a Anjuta, uno de los IDEs más utilizados para desarrollar aplicaciones en C/C++.

Vamos a ver una pequeña introducción a Anjuta, uno de los IDEs más utilizados para desarrollar aplicaciones en C/C++.

Anjuta (anjuta.org) es un IDE (Integrated Development Environment, Entorno integrado de desarrollo) para programar en C/C++ en Linux, que utiliza las librerías GTK (gtk.org, las del escritorio GNOME). Está perfectamente integrado con Glade (glade.gnome.org) un diseñador de interfaces gráficas que también utiliza GTK y que puede generar código fuente o un archivo XML.

Instalar Anjuta y crear un proyecto

Veamos cómo instalar Anjuta y crear un proyecto:

  • Instalamos Anjuta (paquete anjuta) y se instalará Glade por dependencias:
    # apt-get install anjuta
  • Abrimos Anjuta, seleccionamos Proyecto nuevo y se nos abrirá el Asistente:
    Anjuta - Asistente nuevo proyecto
  • Seleccionamos el tipo de proyecto, en este caso Proyecto GNOME:Anjuta - Tipo de proyecto
  • Definimos los datos básicos del proyecto: Nombre del proyecto (HolaMundo), Objetivo (holamundo), Autor y Lenguage (C):Anjuta - Datos basicos del proyecto
  • Se pedirá una Descripción de nuestro programa (Hello world con Anjuta y Glade):Anjuta - Descripcion del proyecto
  • Aún, nos pedirá algunos datos más, como Entrada en el menú (HolaMundo), Grupo en el menú (Applications) o Icono:Anjuta - Mas opciones del proyecto
  • Veremos una pantalla Resumen. Si todo está correcto presionamos Aplicar:Anjuta - Resumen del proyecto
  • Anjuta creará el proyecto y guardará los archivos en el directorio ~/Projects/HolaMundo. Veremos los archivos de código fuente en el panel Proyecto, podremos editarlos en el Editor y veremos los mensajes en el panel Mensajes:Anjuta - Interfaz
  • Ahora podemos construir la aplicación seleccionando Construir todo. Una vez terminado podemos ejecutarla seleccionando Ejecutar y obtendremos una ventana vacía:Anjuta - Ejecutar

Crear la interfaz gráfica con Glade

Veamos cómo crear la interfaz gráfica con Glade (se guarda en interface.c):

    • Ahora vamos con la interfaz gráfica de la aplicación. Seleccionamos Editar GUI de la aplicación y arrancará Glade. Vemos que sólo existe una ventana (window1) y que está vacía:Glade
    • Desde el panel Propiedades podremos cambiar las propiedades de todos los objetos de la GUI. Por ejemplo, cambiemos el Título de la ventana window1:Glade Propiedades
    • Si el tamaño de la ventana va a ser modificable por el usuario usaremos un layout a base de cajas colocando un control en cada celda, de manera que los controles se vuelvan a colocar al modificar el tamaño de la ventana. Disponemos para ello de tres controles:
      – Caja vertical:
      Caja vertical– Caja horizontal:
      Caja horizontal– Tabla:
      TablaCombinando estos controles podemos crear cualquier cuadro(layout) en nuestra ventana:Distribucion
    • Si la ventana va a ser de tamaño fijo podemos utilizar un layout fijo:
      Tabla
    • Luego colocaremos los controles (botones, etiquetas, campos de texto, etc.) y configuraremos sus propiedades desde el panel de Propiedades (Nombre, Tooltip, etc.):Controles

      Nota

      Conviene dar a los controles nombres descriptivos: Exit_button mejor que button5.

    • El panel Árbol de controles muestra todos los objetos de nuestra ventana:Arbol de controles
    • En este punto tenemos el GUI terminado pero todavía no hace nada. Para ello, asignaremos código a los eventos de los controles (se guardan en callbacks.c). Por ejemplo, vamos a hacer que cuando clickemos en el botón Exit_button la aplicación se cierre. En el panel de Propiedades de Exit_button añadimos el evento (señal) clicked:EventosAhora, si abrimos callbacks.c en el editor de Anjuta veremos que se ha añadido la siguiente función (manejador):
      void on_Exit_button_clicked (GtkButton *button, gpointer user_data) {
      }

      Sólo nos queda añadir (a mano) lo que queremos que haga la aplicación al hacer clic en el botón Exit_button (queremos que la aplicación se cierre):

      void on_Exit_button_clicked (GtkButton *button, gpointer user_data) {
      gtk_main_quit();
      }

      Añadiremos el resto de eventos:

      – Evento destroy del objeto window1 (si nos olvidamos este evento, cuando hagamos click en el botón Cerrar de la ventana ésta se cerrará pero la aplicación no terminará ¡seguirá ejecutándose!):

      void on_window1_destroy (GtkObject *object, gpointer user_data) {
      gtk_main_quit();
      }

      – Evento clicked del objeto Aceptar_button (esta es la parte que hace algo, aunque no mucho):

      void on_Aceptar_button_clicked(GtkButton *button, gpointer user_data) {
      GtkWidget *label = lookup_widget(GTK_WIDGET(button), "Nombre_label");
      GtkWidget *entry = lookup_widget(GTK_WIDGET(button), "Nombre_entry");
      gchar output[50]="Hello ";
      strcat(output,gtk_entry_get_text(GTK_ENTRY(entry)));
      gtk_label_set_text(GTK_LABEL(label),output);
      }
    • Para añadir a nuestro proyecto una ventana About insertaremos un control Diálogo Acerca de:
      AboutY añadiremos el evento clicked del objeto About_button (llamamos a la función create_aboutdialog1 de interface.c):

      void on_About_button_clicked (GtkButton *button, gpointer user_data) {
      gtk_widget_show(create_aboutdialog1());
      }
    • Una vez terminada la GUI en Glade seleccionamos Construir y salimos guardando los cambios.
    • Volvemos a Anjuta y compilamos seleccionando Construir todo. Una vez que termine ejecutamos la aplicación seleccionando Ejecutar:Hello world antes Hello world despues

Distribuir e instalar una aplicación

Veamos cómo distribuir e instalar nuestra aplicación:

  • Para instalar la aplicación en nuestra máquina seleccionaremos Instalar.
  • Para generar el archivo HolaMundo-0.1.tar.gz listo para distribuir (contiene código fuente) seleccionaremos Construir distribución.
  • Para instalar nuestra aplicación en otra máquina realizaremos los mismos pasos que con cualquier otro tar.gz de código fuente:
    # ./configure
    # make
    # make install