Sie sind auf Seite 1von 59

GIade

(Generador de interfaz
grfica)
Anjuta
(Entorno de desarrollo
integrado)
Manual GLADE Y ANJUTA
Re!"lica #oli$ariana de %enezuela
Ministerio de Educaci&n ' Deortes (MED)
(undaci&n #oli$ariana de )nfor*tica ' Tele*tica ((unda"it)
Manual Glade ' An+uta, %ersi&n enero -../
0residente de (unda"it1 Lic, 2arlos Joa
Gerente de Educaci&n1 Lic, Ninos3a 2ardona
Gerente de Tecnolog4a1 )ng, Arelis Mantilla
Esecialista en contenido1 T,5,U, Yor3ier Arau+o G,
Dise6adores instruccionales1 Lic, %er&nica Garc4a M,7 Lic, Juan 0aulo Torreal"a
Re$isi&n edag&gica ' de estilo1 Lic, 5il$ia Lossada7 Lic, %il*a 2antillo
Este *aterial es ara uso educati$o ' total*ente gratuito,
0ro8i"ida cual9uier coia7 $enta7 ca*"io total o arcial tanto del te:to co*o de las
ilustraciones7 sin er*iso escrito de la instituci&n,
De&sito legal del *anual1
)5#N1
(unda"it, Es9, de 5alas, 09a, Altagracia, Edif, 5ede MED, 0isos ; ' <;,
2aracas=%enezuela, 2&digo ostal <.<.
Tlf1 .-<-=>./?@>.A>./?@B@ (a:1>./?;-C,
2orreo institucional1 infofunda"itD*e,go",$e
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
NDICE
Pg.
Ficha pedaggica >
INTRODUCCIN /
Cmo utiIizar este manuaI? C
CAPTULO I: GLADE
1. GeneraIidades
a) Definici&n ?
") 2aracter4sticas @
c) 0roceso de instalaci&n <.
2. Inicio de sesin en GIade
a) Acceso desde el entorno EDE <;
3. Descripcin deI entorno GIade
a) Entorno Glade <B
") (unciones de la #arra de Men! <>
<, 0ro'ecto <>
<,<, 5u"= *en! utilizado <C
<,<,<, 2onstruir <C
<,<,-, Fciones <@
-, Editar --
;, %er -;
B, Gerra*ientas ara crear o"+etos -;
>, Editor roiedades de ele*entos del ro'ecto -?
/, Hr"ol de Iidget -@
C, 0ortaaeles -@
c) Acti$idad1 El calendario ;.
CAPTULO II: ANJUTA
1. GeneraIidades
a) Definici&n ;;
") 2aracter4sticas ;;
c) Acceso desde el entorno EDE ;B
2. Descripcin deI entorno Anjuta
a) Entorno An+uta ;>
") 2a+as de te:to B-
c) 0roiedad 2lic3ed B;
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
NDICE
d) 5alida del rogra*a B?
e) 0ulsaci&n de "ot&n B?
Actividad finaI >.
GIosario >B
Referencias >C
Anexo >?
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
Ficha pedaggica
TtuIo deI materiaI: Manual de Glade ' An+uta
A quin est dirigido: A ersonal tJcnico de los 2#)T
Conocimientos previos:
L&gica de rogra*aci&n
Lengua+e 2 (0rogra*aci&n "sica en lengua+e
estructurado 2)
0rogra*aci&n orientada a o"+eto
Linu: "sico,
Propsito
2aacitar al ersonal tJcnico en el uso de 8erra*ientas
li"res7 ara desarrollar alicaciones educati$as a tra$Js de
rogra*as co*o Glade ' An+uta,
Objetivo generaI:
Al finalizar el resente curso los articiantes estarn en la
caacidad de1
E+ecutar los rocedi*ientos corresondientes ara el
*ane+o del rogra*a Glade ' An+uta,
Objetivos especficos:
Enu*erar las caracter4sticas *s i*ortantes del
rogra*a Glade,
Descri"ir los rocedi*ientos ara descargar el
rogra*a Glade,
Descri"ir los rocedi*ientos ara iniciar sesi&n en
Glade,
Descri"ir el entorno Glade,
Esta"lecer los co*onentes ara generar alicaciones
en Glade,
Enu*erar las roiedades *s i*ortantes del entorno
de desarrollo integrado An+uta,
Descri"ir los co*onentes del entorno de desarrollo
integrado An+uta,
Esta"lecer el uso del entorno de desarrollo integrado
An+uta ara rogra*ar en lengua+e 2 ' 2KK,
Maniular los rogra*as dentro del entorno de
desarrollo integrado An+uta,
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
INTRODUCCIN
El lengua+e de rogra*aci&n es una tJcnica estndar de co*unicaci&n7 9ue er*ite
e:resar las instrucciones 9ue 8an de ser e+ecutadas en una co*utadora, 2onsiste en un
con+unto de reglas sintcticas ' se*nticas 9ue definen un rogra*a infor*ticoL
er*itiJndole al rogra*ador esecificar de *anera recisa so"re 9uJ datos de"e oerar
una co*utadora7 c&*o de"en ser al*acenados ' trans*itidos Jstos7 ' 9uJ acciones se
de"en to*ar "a+o una $ariada ga*a de circunstancias, Todo esto7 a tra$Js de un lengua+e
9ue intenta estar relati$a*ente r&:i*o al lengua+e 8u*ano o natural tal co*o sucede con el
lengua+e LJ:ico,
Actual*ente7 e:isten rogra*as 9ue tienen entre sus caracter4sticas el *ane+ar
lengua+e de rogra*aci&n7 entre ellos se encuentran Glade ' An+uta7 los cuales son
desarrolladores de entorno grfico, Mstos le er*iten al usuario crear entornos a+ustados a
las necesidades7 utilizando ara ello7 lengua+es de rogra*aci&n esec4ficos co*o 27 2KK '
Ada @>7 as4 co*o ta*"iJn7 8acer *odificaciones desde el c&digo fuente,
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
Cmo utiIizar este manuaI?
Este *aterial est di$idido "sica*ente en dos (-) unidades de arendiza+e7 a sa"er1
CAPTULO I: GLADE
1. Generalidades
2. )nicio de sesi&n en Glade
3. Descrici&n del entorno Glade
CAPTULO II: ANJUTA
1. Generalidades
2. Descrici&n del entorno ANJUTA
Este *anual est dirigido al ersonal tJcnico de los 2#)T7 ' tiene co*o finalidad el
segui*iento ' la osterior realizaci&n de cada una de las acti$idades 9ue se for*ulan en las
dos (-) unidades de arendiza+e se6aladas anterior*ente,
Es i*ortante7 *antener el orden secuencial en el 9ue se resentan las unidades7
ara oder e+ecutar con J:ito la acti$idad final sugerida,
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
CAPTULO I
GLADE
1. GeneraIidades
a) Definici&n
Glade es una 8erra*ienta ara el desarrollo $isual de alicaciones, Entre sus aletas
de co*onentes destacan las de GTE ' GNFME, Dentro de GNFME se 8a creado un
reositorio de NIidgetsO7 el cual se caracteriza or tener $arios co*onentes,
Un Iidget es un co*onente grfico con el cual el usuario interact!a7 co*o or
e+e*lo7 una $entana o una ca+a de te:to, Los rogra*adores los utilizan ara construir
interfaces grficas de usuario,
Glade es caaz de generar c&digo ara i*le*entar la interfaz $isual7 9ue se descri"e en
PML7 en 27 2KK7 Ada @>7 0erl ' Eiffel, El c&digo 9ue genera se co*ila e instala con1
configure7 *a3e7 *a3e install7 entre otros,
Glade uede crear la interfaz de usuario de las alicaciones7 de dos for*as
diferentes7 "ien sea generando c&digo fuente7 o7 cargando din*ica*ente un fic8ero PML de
descrici&n de la *is*a en tie*o de e+ecuci&n, 2ual9uiera de las dos alternati$as est
disoni"le ara una gran cantidad de lengua+es de rogra*aci&n,
Aun9ue tradicional*ente se 8a utilizado de for*a indeendiente7 Glade se encuentra
incororado en el rogra*a An+uta7 el cual es un entorno integrado de desarrollo ara
rogra*ar en lengua+e de rogra*aci&n.
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
") 2aracter4sticas
Glade er*ite definir la interfaz7 as4 co*o crear auto*tica*ente los arc8i$os fuente
del ro'ecto ' los arc8i$os NconfigureO ' N*a3efileO de *odo 9ue7 al construirlo for*ar arte
de los "inarios, 5i "ien esto es una gran a'uda7 se uede transfor*ar en una li*itante7 or
cuanto7 cada $ez 9ue se necesite *odificar algo de la interfaz se de"e co*ilar nue$a*ente
el ro'ecto, 0ara e$itar esto ' "rindar *a'or li"ertad en el uso de los arc8i$os PML de Glade7
e:iste la li"rer4a1 Li"glade,
Li"glade es una li"rer4a 9ue er*ite *a'or fle:i"ilidad a la 8ora de reutilizar Iidgets7
de"ido a 9ue facilita la edici&n de la interfaz en la etaa de desarrollo ' er*ite el uso de
*!ltiles interfaces sin necesidad de co*ilar la alicaci&n ara interca*"iar entre Jstas,
Es una li"rer4a 9ue act!a so"re la "i"lioteca GNFME li"s ' GTE7 la cual contiene
funciones 9ue er*iten crear las interfaces accediendo a los arc8i$os PML en tie*o de
e+ecuci&n7 ' accediendo s&lo a los co*onentes 9ue se indi9uen en el c&digo del rogra*a,
A tra$Js de Li"glade se logra la searaci&n entre la interfaz de usuario ' la l&gica del
rogra*a,
c) 0roceso de instalaci&n
Para instaIar Ia apIicacin en un ambiente Linux, usted podr efectuarIo de
dos formas diferentes, como se especifica a continuacin:
Forma 1:
<, A"ra el E:lorador de )nternet,
-, En la "arra de direcciones escri"a lo siguiente1
http://www.Iinex.org/sources/Iinex/debian/pooIsarge/main/g/gIade-2/
;, 0ulse la tecla Enter,
B, F"ser$e 9ue aarecer una $entana con los a9uetes 9ue de"er guardar
ara e+ecutar la alicaci&n,
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
>, 2ree una careta con el no*"re de GIade en el directorio home/usuario,
/, 5eleccione cada uno de los siguientes a9uetes7 los cuales de"en ser
colocados en la careta creada en el aso anterior, 0ara guardar7 8aga clic
con el "ot&n derec8o del *ouse so"re cada uno de los siguientes a9uetes1
gIade-2_2.6.7-1.diff.gz
gIade-2_2.6.7-1.dsc
gIade-2_2.6.7-1_i386
gIade-2_2.6.7.orig.t..
gIade-common-2_2.6.7
gIade-doc-2_2.6.7-1
gIade-gnome-2_2.6.7
C, F"ser$e 9ue aarecer un cuadro de dilogo, Gaga clic en Guardar
destino deI enIace como1
?, Luego del aso anterior7 aarecer un cuadro de dilogo indicando la
u"icaci&n donde desea guardar el a9uete, 0ara este caso u"49uelo en la
siguiente direcci&n de careta1 home/usuario/GIade, Guarde todos los
a9uetes seg!n lo indicado en el aso 6,
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
@, Gaga clic en la careta creada en home/usuario con el no*"re de GIade,
<., Luego7 8aga clic en el 4cono en for*a de Monitor u"icado en la
Barra de Tareas,
<.,<, F"ser$e 9ue se a"rir una consola en donde escri"ir lo siguiente1
(Nota1 Lo 9ue se encuentra en negritas ser lo 9ue usted de"er escri"ir7 '
luego7 de"er ulsar la tecla Enter),
Usuario: su -
0assQord1 (Escriba Ia cIave Root que usted Ie asign a Ia
mquina),
<<,;, Root1 cd/home/usuario/gIade (a9u4 usted entra a la careta
Glade u"icada dentro de 8o*eAusuario),
<<,B, Root1 /home/usuario/gIade:~# Is (a9u4 odr $isualizar el
contenido de la careta Glade ' o"ser$ar los a9uetes guardados
anterior*ente),
<<,>, Root1 /home/usuario/gIade:~# dpkg -i gIade-2_2.6.7-1.diff.gz
gIade-2_2.6.7-1.dsc gIade-2_2.6.7-1_i386 gIade-2_2.6.7.orig.t
gIade-common-2_2.6.7 gIade-doc-2_2.6.7-1 gIade-gnome-2_2.6.7
(Nota1 2oie cada a9uete u"icado en la careta Glade de+ando un
esacio entre cada a9uete),
Esere unos segundos ara 9ue la alicaci&n instale los a9uetes
necesarios ara tra"a+ar,
0ara finalizar la instalaci&n7 escri"a lo siguiente1 (Nota1 Lo 9ue se
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
encuentra en negritas ser lo 9ue usted de"er escri"ir7 ' luego7
de"er ulsar la tecla Enter),
Root1 A8o*eAusuarioAGlade1RS exit
Forma 2:
<, Gaga clic en el 4cono en for*a de Monitor u"icado en la Barra de
Tareas,
<,<, F"ser$e 9ue se a"rir una consola en donde escri"ir lo siguiente1
(Nota1 Lo 9ue se encuentra en negritas ser lo 9ue usted de"er escri"ir7 '
luego7 de"er ulsar la tecla Enter,
Usuario1 su -
0assQord1 (Escriba Ia cIave Root que usted Ie asign a Ia
mquina),
Una $ez en rootDe9uioS1RS vi /etc/apt/source.Iist ' resione
Enter,
Este co*ando er*ite *ostrar el contenido del arc8i$oL una lista de
ser$idores,
0resione ESC ' luego ulse la tecIa i7 ara crear una l4nea de
co*ando7 ' or !lti*o resione Enter,
Escri"a1 deb http://www.Iinex.org/sources/Iinex/ sarge Iinex
0resione ESC7 luego escri"a1 wq! ' ulse Enter,
Una $ez en root@equipo#:~# escri"a apt-get update ' resione
Enter, Esta oci&n dar inicio a esta"lecer una cone:i&n con la
direcci&n electr&nica indicada anterior*ente ara realizar la
instalaci&n del rogra*a,
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
2. Inicio de sesin en GIade
a) Acceso desde el entorno EDE
0ara oder iniciar sesi&n en Glade se de"e accesar al entorno EDE7 siguiendo los a=
sos 9ue se le resentan a continuaci&n1
IMAGEN DESCRIPCIN DE PASOS A SEGUIR
1. Gaga clic en el "ot&n K del Men de Inicio
2. 5eleccione la oci&n DesarroIIo
2.1. Luego 8aga clic en Diseador de interfaces GIade
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
IMAGEN DESCRIPCIN DE PASOS A SEGUIR
2.2. 0osterior*ente se deslegar la PaIeta de trabajo
2.3. %entana rincial o ad*inistrador de ro'ectos
3. Descripcin deI entorno GIade
a) Entorno Glade
Glade tra"a+a "a+o un a*"iente *u' si*ilar al 9ue conoce*os co*o orientado a
o"+eto7 en donde el entorno de tra"a+o se resenta en reas indeendientes,
Al co*enzar la alicaci&n7 se nos resenta una serie de reas de tra"a+o
indeendientes con las cuales se ela"orar nuestra interfaz, En ri*er lugar7 tra"a+are*os
con la N%entana 0rincial o Glade1 Gola*undoO,
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
"Ventana principaI o GIade: hoIamundo":
%ea*os a continuaci&n co*o est confor*ada la #arra de Men!,
") (unciones de la #arra de Men!
1. Proyecto
Funciones Barra de Men
Nuevo: 2rea un ro'ecto nue$o7 dndole un
no*"re ' u"icndolo en un directorio,
Abrir 0er*ite u"icar ' cargar los arc8i$os de un ro'ecto 'a e:istente,
Guardar 0er*ite guardar el ro'ecto,
Construir 5e o"ser$a el directorio donde se guard& el ro'ecto7 *ostrando los
arc8i$os 9ue se crean en el *is*o7 al guardar el ro'ecto,
Opciones 0er*ite configurar di$ersos atri"utos de la 8erra*ienta7 or e+e*lo7
la ruta desde donde se o"tendr la tiograf4a7 resoluci&n de antalla7
atri"utos del lienzo7 entre otros,
SaIir Fci&n 9ue er*ite finalizar la 8erra*ienta,
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
Al crear un ro'ecto nue$o ' guardarlo7 esta*os creando ade*s7 en ese *is*o
arc8i$o7 otros arc8i$os 9ue co*le*entarn el funciona*iento de nuestra interfaz, Usted
notar 9ue se crea una careta con el no*"re Proyecto ' dentro de ella estar el arc8i$o
9ue aca"a*os de guardar7 tal co*o se o"ser$a a continuaci&n1
To*ando co*o referencia la i*agen anterior ' ara $isualizar lo creado7 a8ora
8aga clic en la careta Proyectos,
DesuJs de 8acer clic en la careta indicada o"ser$ar lo siguiente1
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
5e $isualizarn los arc8i$os 9ue se crearon adicional*ente dentro de la careta7
tal co*o se o"ser$a en la siguiente i*agen1
<,<, 5u"=*en! utilizado
5on a9uellas ociones 9ue utilizare*os con *a'or frecuencia ara $isualizar
arc8i$os 9ue son necesarios ara la creaci&n de la interfaz, Las *is*as se odrn o"ser$ar
al deslegar el su"=*en! de 0ro'ecto en Glade,
<,<,<,
T Esta oci&n del *en! de 0ro'ecto es *u' i*ortante7 si o"ser$a el
directorio en donde se guard& el ro'ecto,
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
EjempIo: /home/yorkier/proyecto/proyecto04
T Al e+ecutar esta oci&n se crean los arc8i$os fuentes ' los directorios
necesarios en lengua+e 2,
T 2o*o se o"ser$a se generaron diez (<.) o"+etos dentro del directorio
proyecto047 dos (-) directorios ' oc8o (?) arc8i$os en este *en! rincial7 oc8o (?) arc8i$os
dentro del directorio AsrcA (B de fuentes en ,c ' B de ca"ecera en ,8) ' dos en el directorio A
oA,
T Mste ser el c&digo de la interfaz creada en Glade ' 9ue odr *odificar en
An+uta,
Archivos creados por Ia opcin: CONSTRUIR
Archivo Descripcin
MakefiIe.am: Utiliza auto*a3e con este arc8i$o ara roducir Ma3efile,in
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
autogen.sh: 58ell ara generar el Ma3efile de la alicaci&n
configure.in: Re9uerido or Autoconf ara roducir un gui&n configure
po/: Localizaci&n (NL5) de los arc8i$os suort
src/: Arc8i$os con las fuentes de la Alicaci&n
El su"directorio src contiene los arc8i$os fuente ara la alicaci&n
stamp-h.h: Ti*esta*
Ftros arc8i$os
acconfig.h: )nfor*aci&n ara Autoconf
macros/: Genera los *acros relacionados (*B)
nombre.gIade: El arc8i$o de ro'ecto Glade ara la alicaci&n
<,<,-,
T Esta oci&n del *en! er*ite configurar las ociones del 0ro'ecto,
T En esta antalla ode*os escoger en 9uJ careta se arc8i$ar nuestro
ro'ecto7 con 9uJ no*"re ' en 9uJ directorio se guardarn las fuentes ' las i*genes (no
es *u' reco*enda"le ca*"iar el no*"re ' el directorio una $ez 'a creados), Ade*s7
ode*os seleccionar el c&digo fuente en el 9ue se guardar el ro'ecto7 dado 9ue Glade
"sica*ente se "asa en las "i"liotecas GTEK (Gi* Tool Eit = Juego de Gerra*ientas ara
Gi*) ' ara estas "i"liotecas se tienen enlaces con los lengua+es U2U7 U2KKU7 0erl ' otros7
entonces se uede seleccionar en cul de estos lengua+es 9uere*os nuestra salida (or
defecto es U2U),
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
T A continuaci&n se *ostrar en detalle cada una de las ociones 9ue se
resentan1
GENERAL
FUNCIONES
Directorio deI proyecto
Es la u"icaci&n donde guardare*os todas las caretas
' arc8i$os 9ue generarn nuestro ro'ecto,
Nombre deI proyecto
Es la identificaci&n 9ue se le dar al ro'ecto,
Archivo deI proyecto
Es el no*"re del arc8i$o 9ue genera el ro'ecto en
Glade (or e+e*lo1 8ola*undo,glade),
Nombre deI programa
Nor*al*ente se coloca el *is*o del arc8i$o7 ero este
ca*o er*ite identificar el rogra*a o alicaci&n 9ue
se genera con el ro'ecto,
Directorio deI cdigo fuente
Este es un su"directorio 9ue crea Glade dentro del
ro'ecto donde se colocarn los arc8i$os de c&digo
fuente del ro'ecto 9ue se estJn realizando,
Directorio de imgenes
Este directorio lo crea Glade dentro del ro'ecto7 con la
finalidad de al*acenar all4 todas las i*genes7 4conos7
i:*a7 entre otros7 9ue necesite o se 8a'a lla*ado en
los rogra*as ' alicaciones del ro'ecto,
Lenguaje
A9u4 encontrar los lengua+es con los 9ue tendr la
osi"ilidad de generar el c&digo de lo 9ue realiza en
Glade7 entre ellos se encuentran C7 C++7 Ada @>, 0or
defecto se encuentra seleccionado C,
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
Opciones de C
OPCIONES GENERALES
Soporte para gettext
2ontiene utilidades ara la internacionalizaci&n '
localizaci&n, Esto er*ite a los rogra*as co*ilarse con
5oorte de Lengua+e Nati$o (NL5)7 lo 9ue les er*ite
*ostrar *ensa+es en el idio*a nati$o del usuario,
EstabIecer eI nombre de Ios Widgets
Esta oci&n le indica al siste*a 9ue Jl esta"lecer
auto*tica*ente el no*"re de los o"+etos interacti$os
Iidgets 9ue sern usados en el ro'ecto,
Guardar copia de respaIdo de Ios archivos de
cdigo fuente
Esto crea un arc8i$o .bak de resaldo de todos los arc8i$os
de c&digo fuente 9ue se generarn en el ro'ecto,
Activar soporte para Ia ayuda de Gnome
Acti$a el soorte ara la a'uda de alicaciones ' c&digos
de GNFME,
OPCIONES DE ARCHIVOS DE SALIDA
Generar eI archivo Main.C
5i acti$a esta oci&n cuando estJ constru'endo el c&digo7
el Glade lo generar,
Generar funciones de apoyo
Esta oci&n er*itir crear arc8i$os 9ue indi9uen errores o
ro"le*as 9ue se uedan resentar7 as4 co*o las osi"les
soluciones,
FUNCIONES PARA LA CREACIN DE INTERFAZ
Archivo fuente
Este es el arc8i$o c&digo 9ue se genera desuJs de 8a"er
realizado la alicaci&n grfica ' utilizado la oci&n generar
c&digo,
Archivo de cabecera
Este es el arc8i$o 9ue genera la infor*aci&n rincial del
arc8i$o de interfaz7 as4 co*o la internacionalizaci&n de la
*is*a,
FUNCIONES DEL MANEJADOR DE SEALES Y CALLBACK
Archivo fuente
No*"re del arc8i$o donde se encontrarn al*acenadas
estas funciones,
Archivo de cabecera
No*"re del arc8i$o identificador de internacionalizaci&n en
el lengua+e nati$o del usuario 9ue los accesa,
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
FUNCIONES DE APOYO
Archivo fuente
Arc8i$o donde se encontrarn las li"rer4as ' funciones
necesarias7 ero no ri*ordiales,
Archivo de cabecera
Arc8i$o identificador de las funciones de ao'o,
Opciones LibgIade
5e odr4a resu*ir de la siguiente *anera1
Funciones de creacin de Interfaz interface.c interface.h
Manejador de seaIes y funciones
de retroIIamadas
call"ac3s,c call"ac3s,8
Funciones de soporte suort,c suort,8
Programa principaI Main,c
-, Editar
Las ociones de EDITAR le er*itir a usted cortar7 coiar7 egar ' eli*inar
ele*entos o co*onentes (co*o $entanas7 alets7 Qitgets7 entre otros)7 9ue se encuentren
en la $entana ad*inistradora de o"+etos ($er i*agen en la gina -;),
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
;, %er
En este su"=*en! del ad*inistrador de ro'ecto7 usted odr ocultar o *ostrar los
co*onentes $isualizadores de Glade,
B, Gerra*ientas ara crear o"+etos
Estas 8erra*ientas se u"ican en la PALETA DE TRABAJO7 9ue contiene ;
categor4as7 las cuales le er*itir crear los ele*entos de la interfaz a ela"orar,
2ategor4as1
Widgets GTK+ Bsicos
Widgets GTK+ AdicionaIes
Widgets Gnome
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
A continuaci&n se resentan en for*a detallada las Categoras de la PALETA DE
TRABAJO7 con la cual se crearn los ele*entos1
Widgets GTK+ Bsicos: A9u4 encontra*os los ele*entos ara la creaci&n de
interfaces, 2on Jstos es osi"le 8acer alicaciones co*letas,
Componentes de Ia paIeta GTK+ Bsicos
CONO DESCRIPCIN CONO DESCRIPCIN
%ENTANA
ENTRADA DE LA 2AJA
2FM#F
#ARRA DE MENV %)5TA DEL TEPTF
#ARRA DE GERRAM)ENTA5
#FTWN
2AJA MAN)0ULA#LE #FTWN DE DF5 E5TADF5
#FTWN #ARRA DE
GERRAM)ENTA5
#FTWN DE %ER)()2A2)WN
#FTWN DE 2FNMUTA2)WN DE
#ARRA DE GERRAM)ENTA5
#FTWN DE RAD)F
#FTWN DE RAD)F DE #ARRA
DE GERRAM)ENTA5
2AJA 2FM#F
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
Componentes de Ia paIeta GTK+ Bsicos
ELEMENTF 5E0ARADFR DE
LA #ARRA DE
GERRAM)ENTA5
#FTWN DE )N2REMENTF
ET)XUETA #ARRA DE E5TADF
ENTRADA DE TEPTF %)5TA F L)5TA DE HR#FL
5E0ARADFR GFR)YFNTAL )MAGEN
5E0ARADFR %ERT)2AL YFNA DE D)#UJF
Widgets GTK+ AdicionaIes: A9u4 se encuentran los ele*entos *s ela"orados7 con
los 9ue se uede realizar gran cantidad de alicaciones *s esecializadas1
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
Componentes de Ia paIeta Widget Gtk-AdicionaI
CONO DESCRIPCIN CONO DESCRIPCIN
E52ALA GFR)YFNTAL 2UR%A
E52ALA %ERT)2AL 2UR%A GAMMA
REGLA GFR)YFNTAL
#ARRA DE
DE50LAYAM)ENTF
GFR)YFNTAL
REGLA %ERT)2AL
#ARRA DE
DE50LAYAM)ENTF
%ERT)2AL
AL)NEA2)WN
5ELE2TFR DE
AR2G)%F5
2AJA DE E%ENTF5
5ELE22)WN DE
2FLFR
2ALENDAR)F
5ELE2TFR DE
T)0FGRA(ZA
#ARRA DE 0RFGRE5F
D)HLFGF DE
ENTRADA
2FLF2A2)WN
#FTWN
5ELE22TFR DE
2FLFR
A50E2TF DEL MAR2F
#FTWN DE
5ELE22)WN DE
T)0FGRA(ZA
(LE2GA
MENV
EMERGENTE
EP0AN5FR
I)DGET
0ER5FNAL)YADF
== ==
ELEMENTF DE
#ARRA DE
GERRAM)ENTA5
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
Widgets Gnome: Estos son o"+etos ara realizar interfaces esecializados en gno*e7
aun9ue ueden utilizarse en alicaciones generales,
Componentes de Ia paIeta GNOME
CONO DESCRIPCIN
%ENTANA DE A0L)2A2)WN GNFME
D)HLFGF NA2ER2A DEO GNFME
#ARRA DE A0L)2A2)WN
DRU)DA
ENTRADA DE TEPTF GNFME
ENTRADA DE AR2G)%F GNFME
ENTRADA DE 0)PER GNFME
ED)TFR DE (E2GA GNFME
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
Componentes de Ia paIeta GNOME
GNFME 2AN%A5
L)5TA DE Z2FNF5
5ELE22)WN DE Z2FNF5
2FNTRFL #FNF#F
ENTRADA DE Z2FNF5 GNFME
#FTWN GNFME DE ENLA2E5 IE#
>, Editor de roiedades de los ele*entos 9ue co*onen el ro'ecto
Este co*onente se acti$ar cuando un Iidget estJ seleccionado ' er*ite
*odificar sus atri"utos7 ta*a6o7 u"icaci&n7 co*orta*iento7 entre otras,
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
/, Hr"ol de Iidget
Esta roiedad le er*itir $isualizar de for*a +err9uica los Iidgets7 tanto adres
co*o 8i+os7 entre otros7 ' ofrece la osi"ilidad de coiar7 *o$er o egar los ele*entos con la
oci&n del segundo "ot&n del *ouse,
C, 0ortaaeles
Este ele*ento le er*itir guardar co*onentes co*o1 $entanas7 *en! ' cual9uier
ele*ento 9ue desea agregar en alg!n otro lugar,
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
c) Acti$idad1 El calendario
2on la finalidad de dar alica"ilidad a lo antes e:uesto7 sugeri*os realizar la
siguiente acti$idad1
<,= 2ree un ro'ecto nue$o7 8aciendo clic en el 4cono NUEVO,
-,= Esco+a el a*"iente o tio de ro'ecto a crear, En este caso seleccione la oci&n
Proyecto GNOME, A continuaci&n se deslegar una $entana rincial o ad*inistrador de
ro'ecto,
;,= En la PaIeta de Trabajo7 seleccione el ele*ento de la $entana7 u"icado en la
categor4a de Componentes bsicos GTK,
B,= 5e deslegar una $entana alternati$a7 ' en la PaIeta de trabajo seleccione la
categor4a de GTK+BSICO, Gaga clic en el ele*ento de caja verticaI,
>,= U"i9ue el o"+eto en la $entana 9ue se 8a creado7 ' ulse el "ot&n iz9uierdo del
*ouse,
/,= Aarecer un cuadro de dilogo del nue$o ele*ento, 2olo9ue 27 en la oci&n
nmero de fiIas,
C,= U"i9ue el cursor en la arte suerior de la $entana ' 8aga clic con el "ot&n
iz9uierdo del *ouse7 ara deslegar un *en!, 5eleccione la oci&n Editar mens ' luego
8aga clic en Aceptar, De esta *anera se colocarn las ociones de un *en! en la $entana
creada,
?,= %uel$a a la PaIeta de trabajo7 ' reita la acci&n del punto 57 osicionndola so"re
el rea 9ue resta en la $entana,
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
@,= 5eleccione el ele*ento de la Barra de Herramientas7 de la PaIeta de trabajo,
Aarecer un cuadro de dilogo ' en la oci&n nmero de eIementos colo9ue 5,
<.,= La $entana se su"di$idir, 0resione entonces el 4cono NFEO en cada una de las
su"di$isiones 9ue se 8an creado,
<<,= A6ada i*genes a cada uno de los "otones,
<-,= U"i9ue la $entana de roiedades de los Iidgets osicionndose en el "ot&n7 'a
9ue cada ele*ento de lo 9ue se est creando tiene roiedades7 ' en donde se encuentre el
lano de enfo9ue de all4 usted to*ar las roiedades,
<;,= 5eleccione el cuadro de roiedades7 Jstas sern las del "ot&n,
<B,= U"i9ue la i*agen con for*ato ng 9ue desea agregar en ese "ot&n7 s&lo tendr
9ue u"icar la ruta en la roiedad cono7 ara 9ue Jsta aunte a la i*agen ' la refle+e en el
"ot&n7 entonces una $ez realizado esto 9uedar4a de la siguiente *anera1
<>,= 0ara co*letar la acti$idad inicial del calendario7 luego de 8a"er creado los
"otones del *en!7 de"er colocar en el esacio disoni"le de la alicaci&n7 el "ot&n roio
de la paIeta gtk-adicionaI la oci&n de caIendario,
</,= La alicaci&n final 9uedar de la siguiente *anera1
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
CAPTULO II
ANJUTA
1. GeneraIidades
a) Definici&n
An+uta es un entorno integrado de desarrollo ara rogra*ar en 2 ' 2KK en Linu:7
escrito ara tra"a+ar con GTEAGNFME, Tiene licencia G0L e inclu'e un ad*inistrador de
ro'ectos7 lantillas7 deurador interacti$o ' un oderoso editor,
An+uta es una )DE de rogra*aci&n, Tiene integradas la gesti&n de ro'ectos7 el de=
urador ' un gran n!*ero de ociones, Una IDE es un entorno (o a*"iente) integrado de
desarrollo (Integrated Development Environment, )DE)7 es decir7 es un rogra*a co*uesto
or un con+unto de 8erra*ientas ara un rogra*ador,
Este entorno uede dedicarse en e:clusi$a a un solo lengua+e de rogra*aci&n o
"ien7 uede utilizarse ara $arios7 ' aca"a de ser u"licada la $ersi&n -,.,<7 con i*ortantes
*e+oras7 entre las 9ue destacan7 el ro*etedor siste*a de e:tensiones ' la integraci&n con
Glade,
") 2aracter4sticas
Editor de te:tos 9ue integra las 8erra*ientas GNU (gcc7 auto*a3e7 auto=
conf7 *a3e ' gd") en un entorno 9ue 8ace *s fcil el segui*iento de los
ca*"ios,
0er*ite desarrollar ro'ectos en $arios lengua+es de rogra*aci&n,
5ir$e de soorte ara resaltar la sinta:is en funci&n del lengua+e,
Ffrece una $isi&n de la estructura del directorio del ro'ecto,
0er*ite la integraci&n del deurador gd" con el te:to,
Ffrece la generaci&n auto*tica de los arc8i$os necesarios ara la con=
figuraci&n7 re$ia a la instalaci&n del ro'ecto,
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
c) Acceso desde el entorno EDE
0ara oder iniciar sesi&n en An+uta7 se de"e accesar al entorno EDE7 siguiendo los
asos 9ue se le resentan a continuaci&n1
IMAGEN DESCRIPCIN DE LOS PASOS A SEGUIR
1. Gaga clic en el "ot&n K del Men de Inicio
2. 5eleccione la oci&n DesarroIIo
2.1. Luego 8aga clic en Anjuta IDE
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
2. Descripcin deI entorno ANJUTA
a) Entorno An+uta
Antes de e*ezar a tra"a+ar con An+uta7 se de"er configurar la u"icaci&n donde se
guardarn los ro'ectos, 0ara ello7 usted de"e seleccionar Opciones =[ Preferencias, En la
esta6a GeneraI7 elegir el directorio dentro de la oci&n Directorio7 Proyectos, La oci&n
or defecto es guardar los ro'ectos en el directorio home/usuario/Projects,
0ara iniciar un ro'ecto nue$o en An+uta7 usted de"er elegir Archivo =[ Nuevo
Proyecto,
An+uta dar inicio al asistente ara la creaci&n del ro'ecto, 2uando se encuentre
u"icado en Tipo de Proyecto esco+a Proyecto LibgIade 2.0,
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
5eleccione la oci&n Asistente ara alicaciones ' a continuaci&n le aarecer la
siguiente antalla1
Luego resione AdeIante ' aarecer la siguiente antalla1
0osterior*ente seleccione la oci&n LibgIade2.07 ' resione AdeIante7 desuJs de
lo cual le aarecer la siguiente antalla1
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
2o*o uede o"ser$ar en esta nue$a antalla7 usted de"er darle un no*"re al
ro'ecto ' colocar las ociones ara 9ue sea en Ienguaje C ' el tipo de objetivo
ejecutabIe, 0resione AdeIante ' osterior*ente en la siguiente antalla odr escri"ir una
"re$e descrici&n del ro'ecto 9ue est realizando (ocional),
Luego de redactar la "re$e descrici&n7 resione siguiente ' en la r&:i*a antalla
usted de"er configurar las ociones adicionales ara el ro'ecto 9ue est realizando,
2o*o se uede o"ser$ar en el siguiente grfico7 en esta arte se de"en configurar
las ociones del ro'ecto7 <) incluir re*"ulo de co'rig8t GNU en las ca"eceras7 -) acti$ar
soorte ara gette:t7 as4 co*o ;) instalar la alicaci&n una $ez realizada ' el no*"re 9ue
tendr,
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
De"e resionar ApIicar ' el siste*a realizar unas configuraciones ' nos las
*ostrar, Luego aarecer una antalla resu*en con lo cual finaliza el asistente,
(inal*ente aarecer la siguiente antalla, 2o*o se uede o"ser$ar7 el siste*a
gener& el arc8i$o rincial main.c (la e:tensi&n .c indica 9ue el arc8i$o se encuentra en
for*ato de lengua+e 2)1
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
F"ser$e 9ue An+uta 8a creado el ri*er fic8ero main.c, A continuaci&n usted de"e
realizar el interfaz con Glade ' luego $ol$er al ro'ecto en An+uta ara a6adir7 tanto el fic8ero
de Glade7 co*o *s fic8eros de fuentes7 ca"eceras ' i:*as,
0ara esta acti$idad uede realizar la alicaci&n de dos for*as distintas1 2rear el
interfaz ' 9ue GIade genere la fuente en 2 (o 2KK) o utilizar el fichero xmI en el 9ue Glade
guarda la infor*aci&n del interfaz con LibgIade, Usted utilizar esta segunda oci&n con la
cual se generar una $entana de tio ApIicacin Gnome ' de"er colocar un Widget tio
eti9ueta7 una entrada de te:to ' un "ot&n, Al ulsar el "ot&n saldr una $entana con una
eti9ueta con la infor*aci&n introducida en la entrada de te:to,
Usted ulsar un nue$o ro'ecto, Glade reguntar si es una alicaci&n GTK+ o
Gnome, Eli+a Gnome, Una $ez creado el nue$o ro'ecto entrar en las opciones deI
proyecto en GIade ' seleccionar buscar,
5eguida*ente eli+a el directorio del ro'ecto 9ue cre&1 Anjuta: A
Go*eA0ro'ectsAGola*undoA7 ' adicional*ente cree un directorio dentro de 8ola*undo
deno*inado AdataA7 en donde guardar el ro'ecto de An+uta, Esto es7 or9ue An+uta7 al
agregar el fic8ero :*l de Glade7 lo a6adir en este directorio, 0ara no tener dos (-)
$ersiones del arc8i$o7 usted lo guardar directa*ente donde An+uta lo "uscar, 2olo9ue el
no*"re del ro'ecto7 Gola*undo7 ' el no*"re del fic8ero ,Glade,
Ftro detalle ara la correcta integraci&n con An+uta7 es el directorio de los fic8eros
i:*as,Glade7 9ue or defecto los guardar dentro de Home/Proyectos/data/pixmaps,
0or la *is*a raz&n or la 9ue se ca*"ia el directorio del ro'ecto7 de"e ca*"iarse el
directorio i:*as a ../pixmaps7 9ue es donde An+uta7 al a6adir los fic8eros de i:*as los
guarda,
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
La configuraci&n de"e 9uedar de la siguiente for*a1
En la esta6a Opciones de LibgIade7 se acti$a el soorte gettext ara la
internacionalizaci&n de las cadenas del interfaz, A9u4 de"e introducir un no*"re ara el
fic8ero 9ue al*acenar las cadenas traduci"les, Este fic8ero es fuente en 27 or lo 9ue
de"er guardarse en ../src ara 9ue An+uta lo to*e directa*ente de a841
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
En las opciones de LibgIade usted de"er guardar las cadenas traduci"les en un
arc8i$o 9ue estar u"icado en el directorio Asrc 'a 9ue estar en lengua+e 2,
Luego en Glade se eli+e una $entana en la PaIeta de Gnome, A6ada una se6al a la
$entana rincial en sus roiedades7 luego elegir una $entana de alicaci&n,
Dentro de la oci&n Gnome de la aleta de Glade7 se odr o"ser$ar una $entana,
A6ada una se6al a la $entana rincial7 eligiendo en la esta6a SeaIes de la $entana
propiedades de gIade7 la se6al deIete_event ara osterior*ente conectarla con
gtk_main_quit,
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
Esta se6al sir$e ara 9ue al cerrar la $entana desde el gestor de $entana7 la
alicaci&n ter*ine,
0osterior*ente a6ada una ca+a $ertical en la oci&n Gtk+ Bsico de la PaIeta de
trabajo7 de ta*a6o -7 ara colocar los Iidgets, En la arte suerior colo9ue una ca+a
8orizontal de ta*a6o -, De"e tener el siguiente asecto1
") 2a+as de te:to
En la arte iz9uierda de la ca+a7 colo9ue un Iidget Etiqueta7 ' u"i9ue en Etiqueta de
la aleta de roiedades Mensaje, En la ca+a de la derec8a colo9ue una Entrada de texto,
En la arte inferior7 colo9ue una Caja de botones horizontaIes 9ue est en Gtk+ Bsico de
la paIeta de trabajo7 ' en la en!lti*a fila7 de ta*a6o <,
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
)nserte la roiedad Disposicin a End, Eli+a el "ot&n de la ca+a de "otones '
colo9ue en Botn predefinido7 luego 8aga clic en la oci&n ApIicar, De"e 9uedar de la
siguiente for*a1
c) 0roiedad 2lic3ed
Eli+a el "ot&n ' ca*"ie el no*"re a botn, Eli+a la esta6a SeaIes ' a6ada una7
ara el e$ento cIicked, de la siguiente *anera1
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
5eguida*ente de"e crear un dilogo *u' si*le7 con una eti9ueta en la 9ue colocar
el escrito introducido en la ca+a de te:to de la $entana rincial de la alicaci&n,
5eleccione la $entana DiIogo nuevo dentro de Gtk+ Bsico de la aleta de Glade7
en la oci&n CoIocacin estndar de Ios botones7 eli+a la segunda alternati$a7 de for*a
9ue s&lo tendr el "ot&n Aceptar,
Dentro de las Propiedades deI diIogo ca*"ie el t4tulo a Texto Introducido, En la
esta6a Comunes onga la oci&n VisibIe a No, Esto es ara 9ue esta $entana no se
*uestre al iniciarse la alicaci&n,
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
5eleccione una eti9ueta ' u"49uela dentro de la zona de dilogo, 0uede ca*"iarle el
no*"re a algo *s descriti$o co*o etiqueta_diaIogo7 ara su *e+or referencia
osterior*ente en An+uta,
0osterior*ente se guarda el ro'ecto en Glade ' se asa a An+uta ara la arte de
c&digo,
0ri*era*ente7 inclu'a en el ro'ecto7 el fic8ero :*l generado con Glade, Elegi*os
Proyecto =[ Aadir fichero =[ Archivos de datos, 5eleccione el fic8ero hoIamundo.gIade
9ue est dentro del directorio data del ro'ecto, Eli+a Proyecto =[ Aadir fichero =[
Archivos pixmaps ' luego seleccione el fic8ero adecuado 9ue estar dentro del directorio A
pixmaps, 5i no est en este directorio es or9ue no 8a uesto en la oci&n Directorio de
i:*as del ro'eto Glade7 ,,Ai:*as,
En el fic8ero main.c de"e incluir co*o *4ni*o gnome.h ' config.h7 9ue realizar la
lla*ada a gnome_program_init con los ar*etros adecuados ' la funci&n rincial del
rogra*a7 hoIamundo_main7 9ue i*le*entar en otro fic8ero, La !lti*a funci&n a lla*ar
es el "ucle gtk+, gtk_main,
SincIude <gnome.h>
#incIude <config.h>
#define GETTEXT_PACKAGE "hoIamundo"
int main(int argc, char *argv[])
{
GnomeProgram *hoIamundo;
#ifdef ENABLE_NLS
bindtextdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR);
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
textdomain (GETTEXT_PACKAGE);
#endif
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
hoIamundo = gnome_program_init("HoIamundo",VERSION,LIBGNOMEUI_MODULE,argc,argv,NULL);
hoIamundo_main();
gtk_main();
return (0);
}
2ree un arc8i$o nue$o ara el hoIamundo.c,
Ga' 9ue incluir los fic8eros gnome.h ' gIade/gIade.h ara oder tra"a+ar con las
funciones de Gnome ' LibgIade7 asi*is*o7 de"e i*le*entar la funci&n hoIamundo_main7
la cual tendr la siguiente for*a1
#incIude <gnome.h>
#incIude <gIade/gIade.h>
#incIude <config.h>
void hoIamundo_main(void)
{
GtkWidget *window = NULL;
gchar *xmI_fiIe = NULL;
if (!main_xmI) {
xmI_fiIe=g_buiId_fiIename(PACKAGE_DATA_DIR,"hoIamundo.gIade",NULL); (1)
main_xmI=gIade_xmI_new(xmI_fiIe,NULL,NULL); (2)
gIade_xmI_signaI_autoconnect(main_xmI); (3)
}
window = gIade_xmI_get_widget(main_xmI,"app1"); (4)
gtk_widget_show(GTK_WIDGET(window)); (5)
}
La $aria"le main_xml ser declarada de for*a glo"al en el fic8ero de ca"ecera 9ue
crear a continuaci&n,
En la l4nea < se construir el no*"re del fic8ero a artir del directorio donde $a a
instalar el rogra*a ' el no*"re del fic8ero Glade,
En la l4nea - se cargar el fic8ero :*l generado or Glade,
En la l4nea ; se autoconectar las funciones 9ue se crearon con Glade,
En la l4nea B se to*ar el Qidget a< ($entana rincial)7 ' or !lti*o7 en la l4nea >
la *ostra*os,
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
0roceda a8ora a guardar el fic8ero dentro del directorio Asrc del ro'ecto con no*"re
hoIamundo.c, Ta*"iJn 8a' 9ue indicarle a An+uta 9ue este fic8ero ertenece al ro'ecto,
Lo realiza*os eligiendo la oci&n Proyecto=[Aadir fichero=[Archivo de cdigo fuente,
Eli+a el fic8ero hoIamundo.c 9ue aca"a de guardar ' An+uta lo a6adir al ro'ecto,
De"e crear el fic8ero de ca"ecera hoIamundo.h, 2ree un fic8ero nue$o ' declare la
funci&n hoIamundo_main ' la $aria"le glo"al main_xml de tio GladeXML,
#ifndef _HOLAMUNDO_H
#define _HOLAMUNDO_H
#incIude <gIade/gIade.h>
GIadeXML *main_xmI;
void hoIamundo_main(void);
#endif
Guarde este fic8ero dentro de un directorio 9ue de"e crear ' lla*ar incIude, Lo de"e
8acer as47 'a 9ue An+uta guarda los fic8eros de ca"ecera en este directorio, Le indica*os a
An+uta 9ue este fic8ero ertenece al ro'ecto con la oci&n Proyecto =[ Aadir fichero =[
IncIuir archivo (no es una traducci&n *u' afortunada), 5eleccione el arc8i$o hoIamundo.h
reciJn guardado ' An+uta lo incluir en el ro'ecto,
)nclu'a tanto en hoIamundo.c co*o en main.c este fic8ero,
#incIude "hoIamundo.h"
Antes de co*ilar el rogra*a or ri*era $ez7 usted de"er seleccionar un ar de
ociones, En Opciones =[ Opciones deI compiIador y enIazador ' dentro de la esta6a
Directorio para incIudes a6ada el directorio ../include. Es i*ortante se6alarlo as47 ' no
con la ruta co*leta or9ue al generar el fic8ero tgz ara la distri"uci&n del rogra*a,
En la esta6a Avisos7 desacti$e la selecci&n Aviso por sintaxis no tradicional, Esto
es ara 9ue *uestre *uc84si*os a$isos 9ue roducen los ,h de Gnome,
Guarde el ro'ecto ' co*4lelo con Construir =[ Construir todo del *en! de An+uta
o con F11, Una $ez ter*inada la co*ilaci&n7 e+ecute el rogra*a con Construir =[
Ejecutar o con F3,
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
Las retrolla*adas (call"ac3s) son las funciones 9ue recogern las se6ales del interfaz
grfico, Estas se6ales son las 9ue a6adi& en la esta6a SeaIes de Glade,
d) 5alida del rogra*a
0re$ia*ente se de"e rogra*ar la funci&n on_quit1_activate, Lo cual de"e 8acerse
dentro del arc8i$o1
hoIamundo.c.
void on_quit1_activate(GtkMenuItem *item, gpointer data)
{
gtk_main_quit();
}
e) 0ulsaci&n del "ot&n
0rogra*ar a8ora la funci&n on_boton_cIicked7 cu'o o"+eti$o es oner en el Iidget
eti9ueta del dilogo7 el te:to introducido or el usuario en el Iidget de la $entana rincial1
void on_boton_cIicked(GtkButton *boton, gpointer data)
{
GtkWidget *entry_widget,*etiqueta,*diaIogo_window;
gchar *texto;
entry_widget = gIade_xmI_get_widget(main_xmI,"entry1"); (1)
etiqueta = gIade_xmI_get_widget(main_xmI,"etiqueta_diaIogo"); (2)
diaIogo_window = gIade_xmI_get_widget(main_xmI,"diaIog1"); (3)
texto = (gchar*)gtk_entry_get_text(GTK_ENTRY(entry_widget)); (4)
gtk_IabeI_set_text(GTK_LABEL(etiqueta),texto); (5)
gtk_diaIog_run(GTK_DIALOG(diaIogo_window)); (6)
gtk_widget_hide(GTK_WIDGET(diaIogo_window)); (7)
}
En las l4neas <7 - ' ; to*ar los Iidgets 9ue $a a utilizar del interfaz Glade,
En la l4nea B colocar el te:to 9ue 8a' en el Iidget de tio entry de la $entana
rincial,
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
En la l4nea > ondr el te:to en la eti9ueta del dilogo,
En la l4nea / e+ecutar el dilogo7 ' en la C7 lo oculta una $ez el usuario 8a'a
interactuado con Jl,
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
ACTIVIDAD FINAL
Crear una apIicacin deI Men on-Iine para eI restaurante Pipper Express &
DeIivery.
Esta acti$idad est estructurada en tres (;) etaas7 ' tiene co*o finalidad alicar
algunas de las 8erra*ientas 9ue roorciona el editor de entornos grficos Glade ' An+uta,
ETAPA I: Estructura bsica
2reaci&n de la estructura "sica del *en!,
<, A"ra la alicaci&n GIade,
-, Gaga clic en la oci&n Proyecto7 u"icada en la #arra de Men!,
;, Gaga clic en la oci&n Nuevo del su"=*en! Proyecto,
B, En la $entana Proyecto Nuevo7 8aga clic en la oci&n Proyecto GNOME,
>, En la categor4a GTK+ Bsico u"icada en la aleta7 8aga clic en la oci&n Ventana,
/, Una $ez creada la $entana7 selecciona*os la oci&n Caja VerticaI,
C, Gaga clic en la oci&n Caja VerticaI7 u"icando el cursor dentro del rea de tra"a+o de
la $entana, Al 8acer clic en el rea de tra"a+o aarecer un Cuadro de DiIogo,
?, 5eleccione tres (3) fiIas dentro del Cuadro de DiIogo7 ' luego 8aga clic en
Aceptar,
@, Una $ez creadas las filas de la Caja VerticaI7 8aga clic en la oci&n Barra de Men
u"icada en la categor4a GTK+ Bsico,
<., U"icando el cursor en la primera fiIa de la Caja VerticaI7 la fila7 auto*tica*ente se
a+usta al ta*a6o de la Barra de Men al 8acer clic,
<<, Luego 8acer clic en la oci&n Imagen7 u"icada en la categor4a GTK+ Bsico,
<-, 0osterior*ente u"i9ue el cursor en la segunda fiIa de la Caja VerticaI7 ' al 8acer
clic7 auto*tica*ente aarecer el 4cono de Imagen,
<;, 2olo9ue el cursor so"re el 4cono Imagen7 ' luego 8aga clic so"re Jl con el "ot&n
derec8o del rat&n,
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
<B, 0osterior*ente aarecer la $entana Propiedades. U"icndonos en la esta6a
Widget7 en el co*onente cono 8acer clic en el "ot&n,
<>, Luego aarecer la $entana SeIeccione Archivo, Eli+a la oci&n Escritorio7 u"i9ue
la careta Imgenes ' seleccione la Imagen 1L seguida*ente resione Aceptar,
</, 0osterior*ente 8aga clic en la oci&n Barra de Herramientas7 u"icada en la
categor4a GTK+ Bsico,
<C, U"i9ue el cursor so"re la tercera fiIa de Ia Caja VerticaI7 al 8acer clic en la fila
aarecer un Cuadro de DiIogo,
<?, 5eguida*ente seleccione tres (3) eIementos dentro del Cuadro de DiIogo, luego
resione Aceptar,
<@, Gaga clic en la oci&n Botn u"icada en la categor4a GTK+ Bsico, )nsertando tres
(3) botones en cada una de las secciones creadas,
-., U"i9ue el cursor so"re la primera seccin 9ue desleg& la inserci&n de la ca+a de
8erra*ientas en la tercera fiIa, Gaga clic con el "ot&n derec8o del rat&n7
seguida*ente aarecer la Ventana de Propiedades: Button 17 esec4fica*ente en
la esta6a Widget se *odifica el no*"re del "ot&n en el rengl&n Etiqueta,
-<, 0osterior*ente se coloca el nue$o no*"re del "ot&n1 Enviar,
--, Gaga clic nue$a*ente en la oci&n Botn u"icada en la categor4a GTK+ Bsico7
u"icando el cursor so"re la segunda seccin 9ue desleg& la inserci&n de la ca+a de
8erra*ientas en la tercera fiIa,
-;, 5eguida*ente so"re la segunda seccin 8aga clic con el "ot&n derec8o del rat&n7 '
en la Ventana Propiedades: button 27 esec4fica*ente en la esta6a Widget se
*odifica el no*"re del "ot&n en el rengl&n Etiqueta,
-B, 2olocar el nue$o no*"re del segundo "ot&n1 Ms opciones,
->, En seguida 8acer clic en la Botn u"icada en la categor4a GTK+ Bsico7 u"icando el
cursor so"re la tercera seccin 9ue desleg& la inserci&n de la ca+a de 8erra*ientas
en la tercera fiIa,
-/, 5eguida*ente so"re la tercera seccin 8aga clic con el "ot&n derec8o del rat&n7 '
en la Ventana Propiedades: button 37 esec4fica*ente en la esta6a Widget se
*odifica el no*"re del "ot&n en el rengl&n Etiqueta,
-C, (inal*ente colo9ue el nue$o no*"re del tercer "ot&n1 SaIir,
(unda"it N!*ero de gina

Manual GLADE Y ANJUTA


ETAPA II: Creacin deI Men
Una $ez creada la estructura "sica se rocede a crear el *en! del restaurante,
<, 2olo9ue el cursor so"re la #arra de Men!,
-, Una $ez u"icado el cursor so"re la #arra de Men!7 8aga clic con el "ot&n derec8o del
rat&n7 seguida*ente 8aga clic so"re la oci&n Editar Men!s,
;, Aarecer la $entana Editor de Men!,
B, Eli*ine todos los ele*entos 9ue aarecen en la arte iz9uierda de la $entana,
>, 5eguida*ente u"i9ue el cursor so"re la ri*era oci&n Arc8i$o7 ' eli*ine el ele*ento
utilizando la tecla 5uri*ir u"icada en el teclado,
/, Reita el aso > ara eli*inar todas las ociones redeter*inadas,
C, Una $ez eli*inadas todas las ociones redeter*inadas7 rocede*os a 2rear las
nue$as ociones ara el *en!,
?, 5eguida*ente 8aga clic en la oci&n A6adir7 ' luego *odifi9ue el no*"re de la
eti9ueta,
@, 2olo9ue la ala"ra Entradas co*o no*"re de la ri*era eti9ueta del ele*ento
in$entario,
<., 0osterior*ente 8aga clic en la oci&n A6adir Gi+o,
<<, Edite el no*"re de la ri*era eti9ueta del su"=*en! Entradas7 colocando el no*"re1
2oa de ca*arones,
<-, Reita los asos ?7 @7 <. ' << ara cada una de las ociones restantes del *en! del
restaurante1 Ensaladas7 Nuestra 2ocina7 0astas 2aseras7 0escados ' Mariscos7
0ostres, (%er Ane:o A),
<;, Guarde los ca*"ios realizados,
<B, 0osterior*ente resione el "ot&n 2onstruir u"icada en el Men! 2onte:tual7 ' or
!lti*o7 8aga clic en la oci&n Guardar,
ETAPA III: Cdigo de diseo Anjuta IDE
Una $ez creada la estructura "sica ' el *en! en el desarrollador de entorno grfico
Glade rocede*os a i*ortar el arc8i$o a la alicaci&n An+uta )DE,
<, A"ra la alicaci&n Anjuta IDE,
-, 5eleccione las ociones corresondientes al Cuadro de DiIogo de Inicio Anjuta
IDE,
;, 5eguida*ente en la $entana Tipo de Proyecto seleccione la oci&n LibgIade 2.0,
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
B, En la Barra de Men7 esec4fica*ente en la oci&n Proyecto seleccione la oci&n
Aadir archivo,
>, 5eguida*ente en la oci&n Archivo del su"=*en! Proyecto7 seleccione Archivo
de datos,
/, 0osterior*ente aarecer el 2uadro Dilogo Aadir archivo a un mduIo: data,
C, En la oci&n Directorio del 2uadro Dilogo Aadir archivo a un mduIo: data,
u"i9ue la ruta en donde se guard& el ro'ecto GIade,
?, 5eguida*ente u"i9ue el directorio src del ro'ecto GIade7 i*ortndose los
arc8i$os ".c"7 9ue son los 9ue contienen el c&digo de la interfaz 9ue se realiz& en
GIade,
@, 5eleccionando el arc8i$o "interface.c"7 osterior*ente aarecer el cuadro
Import fiIe7 confir*e con una de las dos ociones de resuesta7 de las cuales
seleccionare*os la oci&n S,
<., 0osterior a la creaci&n de la careta Data7 al 8acer clic so"re ella se encontrar el
arc8i$o "interface.c" de GIade7 dentro del *&dulo An+uta,
<<, Al 8acer do"le clic en el arc8i$o "interface.c"7 se o"ser$ar en c&digo el dise6o
9ue se 8a creado grfica*ente,
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
GLOSARIO
ADA: Es un lengua+e *ultiro&sito de rogra*aci&n7 estructurado7 de for*a esttica7
orientado a o"+etos ' concurrente, 0osee la facilidad de 0ascal 8asta la fle:i"ilidad de
2KK,
ADA 95: Lengua+e de rogra*aci&n 9ue en esta edici&n a6adi& la caacidad de
8erencia ' el desac8ado din*ico (d'na*ic disatc8ing) ara co*letar sus
caracter4sticas de lengua+e orientado a o"+etos,
APT (Advanced Packaging TooI): Es un siste*a de gesti&n de a9uetes creado or
el ro'ecto De"ian7 ' si*lifica en gran *edida la instalaci&n ' eli*inaci&n de
rogra*as en los siste*as Linu:, A0T es una li"rer4a de funciones 2KK 9ue se
e*lea or $arios rogra*as de L4nea de co*andos ara distri"uir a9uetes7 en
esecial7 at=get ' at=cac8e,
B: Es un lengua+e de rogra*aci&n rincial*ente usado ara alicaciones no
nu*Jricas ' rogra*aci&n de siste*as,
BCPL (Basic Combined Programming Language / Lenguaje de Programacin
Bsico Combinado): Es un lengua+e de rogra*aci&n ordenado7 otente ' *u' fcil
de adatar a diferentes ar9uitecturas, 5e oulariz& en los rogra*as de inicio de las
co*utadoras ("ootstras en inglJs) de"ido a sus co*iladores si*les ' co*actos7
algunos con caacidad ara correr en s&lo </ 3ilo"'tes, La rincial raz&n de la
caacidad de adataci&n a las diferentes ar9uitecturas es la estructura de su
co*ilador7 el cual fue di$idido en dos artes1 La cara $isi"le del *is*o interreta"a el
c&digo fuente ' genera"a c&digo *9uina ara una *9uina $irtualL la otra cara del
co*ilador to*a"a dic8o c&digo *9uina ' lo traduc4a al c&digo necesario ara la
ar9uitectura deseada,
C: Es un lengua+e de rogra*aci&n "asado en los lengua+es #20L ' #, Al igual 9ue
sus dos redecesores7 est orientado a la i*le*entaci&n de 5iste*as Ferati$os
(los siste*as oerati$os Linu: ' UN)P estn escritos *a'or*ente en 2), 5e refiere a
un lengua+e no *u' tiado de *edio ni$el7 ero 9ue osee ciertas caracter4sticas de
"a+o ni$el, Disone de las estructuras t4icas de los lengua+es de alto ni$el ero7 a su
$ez7 ta*"iJn disone de construcciones del lengua+e 9ue er*iten un control a *u'
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
"a+o ni$el, Un e+e*lo es la osi"ilidad de *ezclar c&digo en ensa*"lador con c&digo
2 o acceder directa*ente a *e*oria o disositi$os erifJricos,
C++: Es un lengua+e 84"rido7 9ue se uede co*ilar ' resulta *s sencillo de
arender ara los rogra*adores 9ue 'a conocen 2, Actual*ente e:iste un estndar7
deno*inado )5F 2KK7 al 9ue se 8an ad8erido la *a'or4a de los fa"ricantes de
co*iladores *s *odernos, E:isten ta*"iJn algunos intJrretes co*o RFFT
(enlace e:terno), Las rinciales caracter4sticas del 2KK son a"stracci&n
(encasulaci&n)7 el soorte ara rogra*aci&n orientada a o"+etos (oli*orfis*o) ' el
soorte de lantillas o rogra*aci&n genJrica (Te*lates), 0or ende7 se uede decir
9ue 2KK es un lengua+e 9ue a"arca tres aradig*as de la rogra*aci&n1 La
rogra*aci&n estructurada7 la rogra*aci&n genJrica ' la rogra*aci&n orientada a
o"+etos,
Comando: Es una instrucci&n o *andato 9ue el usuario roorciona al siste*a7
desde la l4nea de co*andos o una lla*ada a rogra*a7 el cual general*ente est
contenido en un arc8i$o e+ecuta"le, La l4nea de co*andos o consola (shell) er*ite al
usuario escri"ir *andatos en ella7 de tal *odo 9ue7 re$ia ulsaci&n de la tecla enter
en el teclado7 se e+ecuten rocesos internos del siste*a oerati$o o se lancen
rogra*as e:ternos al *is*o,
Evento: Es una acci&n o suceso7 9ue esta relacionado con una funci&n 9ue se e+ecuta
cuando este acontece7 ' a estas funciones se les conoce co*o Ucall"ac3sU o
retrolla*adas7 dic8as funciones son declaradas co*o rototios en el arc8i$o
call"ac3s,8 ' lla*adas en call"ac3s,c,
GNOME (GNU Network ModeI Envioronment): Modelo de a*"iente de escritorio de
red li"re7 es decir7 Nentorno grficoO,
GTK (GIMP TOOLKIT): Gruo de "i"liotecas o rutinas ara desarrollar interfaces
grficas de usuarios,
GUI (Grafic User Interface): )nterfaz grfica de usuario7 es un *Jtodo ara facilitar la
interacci&n del usuario con el ordenador a tra$Js de la utilizaci&n de un con+unto de
i*genes ' o"+etos ict&ricos (iconos7 $entanas,,) ade*s de te:to,
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
IDE (Integrated DeveIopment Environmet): Entorno de desarrollo integrado or
rogra*as co*uestos or un con+unto de 8erra*ientas ara un rogra*ador,
KDE (K Desktop Environment): Es un escritorio transarente a los rogra*as de red
9ue inclu'en las funciones del escritorio estndar,
Lenguaje de programacin: Es una tJcnica estndar de co*unicaci&n 9ue er*ite
e:resar las instrucciones 9ue 8an de ser e+ecutadas en una co*utadora, 2onsiste
en un con+unto de reglas sintcticas ' se*nticas 9ue definen un rogra*a
infor*tico,
PascaI: Es un lengua+e de rogra*aci&n de alto ni$el ' ro&sito general, (ue creado
ensando en un lengua+e didctico ara el arendiza+e de tJcnicas de rogra*aci&n7
Uuna discilina siste*tica "asada en deter*inados concetos funda*entalesU, 2on el
tie*o se 8a con$ertido ade*s en un estndar de los lengua+es de rogra*aci&n
*s usados,
VI: Es un editor de te:to 9ue se encuentra en casi todo siste*a de tio Uni:,
Widget: Es un co*onente grfico7 o control7 con el cual el usuario interact!a7 co*o
or e+e*lo7 una $entana o una ca+a de te:to, Los Iidgets a $eces se califican de
$irtuales ara distinguirlos de sus e9ui$alentes f4sicos, 0or e+e*lo1 los "otones
$irtuales ueden ori*irse con el cursor del *ouse7 *ientras los "otones f4sicos
ueden resionarse con los dedos, 0or regla general7 suelen reunirse $arios Iidgets
en +uegos de 8erra*ientas de Iidgets, Los rogra*adores los usan ara construir
interfaces grficas de usuario (GU)),
XML (eXtensibIe Markup Language ): Lengua+e de *arcado a*lia"le o e:tensi"le
desarrollado or el Iorld Iide Ie" 2onsortiu* (I;2),
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
REFERENCIAS
Encicloedia Li"re IiEiedia on line7 Diccionario,
Disoni"le en1 8tt1AAes,Qi3iedia,orgAQi3iA)ntegrated\Dri$e\Electronics
]2onsulta1 -..>7 < de dicie*"re^.
0Jrez M7 Marcelo, ManuaI de GIade, Enero -..B
Disoni"le en1 8tt1AAtigre,aragon,una*,*:A*;dAgladeAglade\*anual,8t*l
]2onsulta1 -..>7 < de dicie*"re^,
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
ANEXO
(unda"it N!*ero de gina
Manual GLADE Y ANJUTA
PIPPER EXPRESS & DELIVERY
MEN ON-LINE
1
ENTRADAS ENSALADAS
NUESTRA
COCINA
PASTAS CASERAS
PESCADOS Y
MARISCOS
POSTRES
2octel de
ca*arones,
Langostinos al
a+illo,
At!n a la
Esa6ola,
2araccio de
Lo*ito,
2araccio de 0ez
Esada,
Ja*&n serrano
con al*itos,
Ta"la de 9uesos
' fia*"res,
2rees de
esinacas con
cre*a ' 9ueso
ar*esano,
Ensalada
2Jsar,
Ensalada
2Jsar con
ollo,
Ensalada
2aresa,
Ensalada de
aguacate '
al*itos,
Ensalada
2anastita,
Ensalada
Griega,
Ensalada
Rusa,
Asado negro,
0olenta,
Lo*o (ung4,
Medall&n de
Lo*ito,
Lo*o
erfu*ado al
a+o,
Lo*o a la
i*ienta,
Muslito
relleno,
0ec8uguitas
de ollo
agridulce,
Enrollados de
ollo,
#roc8etas de
cordero,
Esaguetis a la
*arinera,
2anelones de
ricotta ' esinaca,
Ra$ioles de
$erdura,
0lu*itas con salsa
0esto,
_o9uis con salsa
cuatro 9uesos,
(ettucc8inis
a*arillos,
Esaguetis con
aceite de oli$a '
al"a8aca fresca,
#roc8etas
de ulo,
2azuela de
*ariscos,
Arroz con
frutos del
*ar,
#astoncitos
de escado
al curr',
0aella (-
ersonas ),
5al*&n a la
$asca,
#acalao a la
$izca4na,
Jardinera de
Langostinos,
Xuesillo de
coco,
2oa de
8elado,
(lan casero
con oc8e cre=
*a,
Tira*is!
2re*a,
#o*"&n suizo,
Mousse de
c8ocolate,
Mousse de ar=
c8ita,
Torta de 9ueso,
Tartaleta de
frutas,
Ensalada de
frutas,
Tocinillo del
cielo,
1 ANEXO / Ela"orado or1 Lic, %er&nica Garc4a M, ' Lic, Juan 0aulo Torreal"a
(unda"it N!*ero de gina

Das könnte Ihnen auch gefallen