Configuration de l'environnement
Pour pouvoir utiliser la bibliothèque gtkmm, vous allez devoir modifier votre environnement :
-
la variable
PATHdoit contenir/users/prof/lamy/local/bin:
export PATH=/users/prof/lamy/local/bin:$PATH
-
la variable
LD_LIBRARY_PATHdoit contenir/users/prof/lamy/local/lib:
export LD_LIBRARY_PATH=/users/prof/lamy/local/lib:$LD_LIBRARY_PATH
-
la variable
PKG_CONFIG_PATHdoit contenir/users/prof/lamy/local/lib/pkgconfig:
export PKG_CONFIG_PATH=/users/prof/lamy/local/lib/pkgconfig:$PKG_CONFIG_PATH
Modifiez votre fichier ~/.bashrc, et lancez les trois commandes export dans votre shell courant pour que les modifications soient prises en compte dans celui-ci.
La documentation de la bibliothèque gtkmm est disponible sur le web. Cette documentation vous sera très utile par la suite.
Utilisation de gtkmm
L'utilisation de bibliothèques nécessite souvent de passer un certain nombre de paramètres au compilateur et à l'éditeur de liens. Comme ces paramètres peuvent être complexes, beaucoup de bibliothèques modernes fournissent pkg-config, un petit programme qui permet de les obtenir. Par exemple pkg-config –cflags gtkmm-2.0 affiche les options nécessaires pour compiler un programme utilisant gtkmm. Pour compiler effectivement un programme, on utilisera :
g++ `pkg-config --cflags gtkmm-2.4` -c programme.cpp
Le Makefile utilisé est le suivant :
# Options de compilation
CXXFLAGS = `pkg-config --cflags gtkmm-2.4`
#Options de liaison
LDFLAGS = `pkg-config --libs gtkmm-2.4`
monExecutable : objet1.o objet2.o
$(CXX) $(LDFLAGS) -o $@ $^
Premier programme
Copiez les fichiers Makefile, main.cpp, MaFenetre.h et MaFenetre.cpp chez vous. Compilez le programme (make) et exécutez-le. Lisez le code attentivement. Certains aspects vous paraîtront encore confus, ce n'est pas grave. Pour le moment nous allons nous contenter d'en comprendre les grandes lignes et de rajouter des choses simples.
Dessiner dans une fenêtre
Copiez les fichiers ZoneDessin.h et ZoneDessin.cpp chez vous. Modifiez la classe MaFenetre pour qu'elle comporte un membre de type ZoneDessin. Modifiez le Makefile pour que la fichier ZoneDessin.cpp soit compilé, compilez le programme et exécutez le. Lisez le code attentivement. La classe Gdk::Drawable contient des fonctions de dessin. Utilisez-les pour dessiner un rectangle plein dans la fenêtre.
Dessin et bouton
Ajoutez une fonction à la classe ZoneDessin qui permet de dessiner une ligne aléatoire dans la zone de dessin (la taille de la zone s'obtient grâce à la fonction Gdk::Drawable::get_size, qui s'applique à la fenêtre retournée par la fonction get_window()). Modifiez la classe MaFenetre de telle manière que le clic sur le bouton appelle votre fonction de tracé de ligne aléatoire.