2. Interfaz del proyecto

Comenzaremos por definir la interfaz del proyecto. Esta ha sido creada en Glade-2.

Figura 1. Interfaz del proyecto

El código del archivo hello.glade generado es el siguiente:


	<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
	<!DOCTYPE glade-interface SYSTEM "http://glade.gnome.org/glade-2.0.dtd">

	<glade-interface>
	<requires lib="gnome"/>

	<widget class="GtkWindow" id="main">
	  <property name="visible">True</property>
	  <property name="title" translatable="yes">Hello</property>
	  <property name="type">GTK_WINDOW_TOPLEVEL</property>
	  <property name="window_position">GTK_WIN_POS_CENTER</property>
	  <property name="modal">False</property>
	  <property name="resizable">False</property>
	  <property name="destroy_with_parent">False</property>

	  <child>
	    <widget class="GtkVBox" id="vbox1">
	      <property name="border_width">15</property>
	      <property name="visible">True</property>
	      <property name="homogeneous">True</property>
	      <property name="spacing">0</property>

	      <child>
		<widget class="GtkLabel" id="label1">
		  <property name="visible">True</property>
		  <property name="label" translatable="yes">Hello libGlade!</property>
		  <property name="use_underline">False</property>
		  <property name="use_markup">False</property>
		  <property name="justify">GTK_JUSTIFY_LEFT</property>
		  <property name="wrap">False</property>
		  <property name="selectable">False</property>
		  <property name="xalign">0.5</property>
		  <property name="yalign">0.5</property>
		  <property name="xpad">0</property>
		  <property name="ypad">0</property>
		</widget>
		<packing>
		  <property name="padding">0</property>
		  <property name="expand">False</property>
		  <property name="fill">False</property>
		</packing>
	      </child>

	      <child>
		<widget class="GtkButton" id="button_close">
		  <property name="visible">True</property>
		  <property name="can_default">True</property>
		  <property name="has_default">True</property>
		  <property name="can_focus">True</property>
		  <property name="label">gtk-close</property>
		  <property name="use_stock">True</property>
		  <property name="relief">GTK_RELIEF_NORMAL</property>
		</widget>
		<packing>
		  <property name="padding">0</property>
		  <property name="expand">False</property>
		  <property name="fill">False</property>
		</packing>
	      </child>
	    </widget>
	  </child>
	</widget>

	</glade-interface>

La estructura que utilizaremos es la que se sugiere por lo general en un proyecto GNOME y por eso la ocuparemos para ejemplificar.

Los archivos fuente los mantendremos en el directorio hola/src y el archivo glade en hola/src/glade. Lo que pretendemos con esto es mantener organizados nuestros archivos de modo tal que podamos asociar los archivos glade con las fuentes que se encuentran en el directorio padre de su ubicación. En caso de que necesitemos incluir más fuentes y sus respectivos archivos interfases glade podemos organizarlas de modo tal que incluyamos dichas fuentes en distintos subdirectorios de hola/src y en subdirectorios hola/src/.../glade las interfaces que corresponden a cada uno, de modo que evitemos que las interfaces se confundan entre si.

Una vez que tenemos nuestro archivo hello.glade, procedemos a copiarlo a hola/src/glade.