Suivez-nous sur X
|
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z,
ALL
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z
|
|
A propos d'Obligement
|
|
David Brunet
|
|
|
|
Programmation : Amiga E et MUI
(Article écrit par Pierre Girard et extrait d'Amiga News - mai 1997)
|
|
Que l'on soit plutôt pro-MUI ou non, il est impensable, aujourd'hui, de ne pas s'y intéresser, cette interface utilisateur
étant devenue incontournable. Une fois les principes de base acquis, sa programmation en E devient finalement assez simple
grâce aux modules E disponibles.
MUI (Magic User Interface) de Stefan Stuntz n'est, à la base, qu'une interface graphique comme les autres. Mais elle est
intéressante à deux titres : elle permet à l'utilisateur de paramétrer comme il veut l'apparence de ses logiciels (de la
couleur d'écriture à l'aspect des gadgets) et évite au programmeur beaucoup de soucis. En effet, une interface MUI a
l'avantage de s'occuper de la gestion de "l'espace" dans les fenêtres. Ainsi, si vous redimensionnez la fenêtre du logiciel
Fractint, par exemple, la taille de tous les gadgets change automatiquement, et ceci sans que le programmeur ait à s'en occuper.
Ceci est valable pour tous les objets que peut utiliser MUI et ils sont nombreux (Listview, boutons, radio-bouton... plus
tous les "custom-objects" qu'il est possible de créer). Tout ça, c'est bien beau, m'direz vous, mais c'est comment qu'on fait ?
MUI en E
Depuis la version 3.5, le paquetage développeur pour le E n'est plus distribué avec celui de MUI. C'est donc sur Aminet que j'ai
trouvé une archive intitulée "MUI38dev-E.lha" (répertoire dev/MUI) qui est en fait le kit développeur pour MUI 3.7 (cherchez l'erreur).
Cette archive contient tous les outils nécessaires, à commencer par les modules mui.m, muip.m (contient les objets muip_),
muimaster.m et muicustom-class.m (pour faire vos classes vous-même).
En pratique
Tout d'abord, pour vous familiariser avec MUI, il est très important de lire la documentation de MUI, puis celle qui accompagne
le kit développeur. Ensuite, il faut jeter un petit coup d'oeil sur le source du module mui.m (qui se nomme étrangement mui.e).
Vous y découvrirez toutes les constantes et les macros qui sont indispensables à la création d'interfaces.
Parlant de macros,
il faut bien comprendre que c'est grâce à elles que la programmation de MUI est aussi simple et aussi lisible. Ceux qui ont
déjà regardé le programme, ont sans doute vu que plusieurs d'entre elles étaient ici utilisées : ApplicationObject qui crée
un objet application, Subwindow qui crée un objet "window" ou encore End qui n'est autre qui ne fait rien d'autre qu'un
"TAG_DONED". C'est à cause de l'utilisation de toutes ces macros qu'il faut dans chaque source indiquer l'option "PREPROCESS"
(à moins que vous ne vouliez vous passer des macros ? Seriez pas un peu masochiste ?).
Le programme
Vous avez compris qu'il m'est impossible de décrire les macros et constantes de MUI dans le peu d'espace qui me reste. En analysant
bien le programme, je pense que vous devriez pouvoir à peu près apréhender la structure d'une interface MUI simple (même si
celle-ci peut prendre d'autres formes). Elle adopte une forme hiérarchique avec tout en haut l'application, puis la ou les
fenêtres et enfin les objets qui sont contenus dans des groupes d'objets (disposés horizontalement ou verticalement). Cet arbre
est simple, mais il peut être beaucoup plus compliqué quand un groupe commence à en contenir d'autres).
C'est déjà fini ?
Et oui, toutes les bonnes choses ont une fin. Si je ne reçois pas de messages incendiaires et si vous continuez à acheter
Amiga News, je pense continuer un petit moment sur MUI (qui mérite à lui tout seul un Amiga News entier). Donc, le mois
prochain, nous verrons un de ces points : la notification (gestion d'événements), quelques objets sympathiques de MUI,
MUIBuilder... ou bien tout à la fois si j'arrive à négocier quatre ou cinq pages de plus pour l'Amiga E ;-). Que l'esprit de
l'Amiga reste en vous !
|