- Estréllate y Arde - https://www.estrellateyarde.org -

Manual de C/C++ en Linux con Anjuta

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++.

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.

1.- 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

  • nos pedirá una Descripción de nuestro programa (Hello world con Anjuta y Glade):

    Anjuta - Descripcion del proyecto

  • todavía nos pedirá algunos datos más, como Entrada en el menú (HolaMundo), Grupo en el menú (Applications) o Icono:

    Anjuta - Mas opciones del proyecto

  • nos presentará 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

2.- 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 recoloquen al modificar el tamaño de la ventana. Disponemos para ello de tres controles:

    - Caja vertical:


    Caja vertical

    - Caja horizontal:


    Caja horizontal

    - Tabla:


    Tabla

    Combinando estos controles podemos crear cualquier 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:

    Eventos

    Ahora, 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 clickar 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:


    About

    Y 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

3.- Distribuir e instalar nuestra 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

Article printed from Estréllate y Arde: https://www.estrellateyarde.org

URL to article: https://www.estrellateyarde.org/discover/manual-c-anjuta-en-linux

Copyright © 2010 Estrellate y Arde