Obligement - L'Amiga au maximum

Vendredi 06 juin 2025 - 12:35  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

Actualité (récente)
Actualité (archive)
Comparatifs
Dossiers
Entrevues
Matériel (tests)
Matériel (bidouilles)
Points de vue
En pratique
Programmation
Reportages
Quizz
Tests de jeux
Tests de logiciels
Tests de compilations
Trucs et astuces
Articles divers

Articles in English


Réseaux sociaux

Suivez-nous sur X




Liste des jeux Amiga

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


Trucs et astuces

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


Glossaire

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


Galeries

Menu des galeries

BD d'Amiga Spécial
Caricatures Dudai
Caricatures Jet d'ail
Diagrammes de Jay Miner
Images insolites
Fin de jeux (de A à E)
Fin de Jeux (de F à O)
Fin de jeux (de P à Z)
Galerie de Mike Dafunk
Logos d'Obligement
Pubs pour matériels
Systèmes d'exploitation
Trombinoscope Alchimie 7
Vidéos


Téléchargement

Documents
Jeux
Logiciels
Magazines
Divers


Liens

Associations
Jeux
Logiciels
Matériel
Magazines et médias
Pages personnelles
Réparateurs
Revendeurs
Scène démo
Sites de téléchargement
Divers


Partenaires

Annuaire Amiga

Amedia Computer

Relec


A Propos

A propos d'Obligement

A Propos


Contact

David Brunet

Courriel

 


Test de MUI
(Article écrit par Cédric Beust et extrait d'Amiga News - novembre 1993)


MUI est en train de causer une véritable révolution dans le monde de l'Amiga et deviendra sans aucun doute une composante majeure dans notre environnement. N'attendez pas une minute de plus (sauf peut-être le temps de lire cet article :-)).

MUI signifie Magic User Interface. C'est davantage un système complet destiné à bâtir et modifier des interfaces graphiques qu'un programme. Sa grande force réside dans le fait qu'il va intéresser à la fois les programmeurs et les utilisateurs, et rassembler une telle communauté de personnes est une garantie certaine de succès.

N'avez-vous jamais pesté devant certaines interfaces mal programmées qui ne vous permettaient pas de manipuler le programme autrement qu'à la souris ? Ou bien de voir les titres des gadgets sortir de leur gadget du fait que le programmeur avait figé son interface pour ne tourner qu'avec une police de taille 8 ? Ou bien d'avoir voulu tout simplement redimensionner une fenêtre pour avoir plus d'informations présentes à l'écran ?

MUI résoud en bloc tous ces problèmes et apporte même des innovations qu'on n'avait jamais vues sur Amiga :
  • La possibilité de manipuler la totalité de l'interface au clavier avec une réaction visuelle (oui, même les "listview", les cycles, etc. qui s'enfonceront si vous activez le raccourci auquel ils sont associés).
  • Un paramétrage total de l'apparence de l'interface (images des gadgets, séparations graphiques, etc.), à partir d'un programme de préférences externe.
La version actuelle de MUI est 1.3 et l'archive fait dans les 800 ko. Le prix à payer pour bénéficier de MUI est un répertoire "Classes" relativement fourni (150 ko), une bibliothèque (muimaster.library, 150 ko), le programme de réglage de préférences (60 ko), et les images que vous avez choisies pour décorer vos interfaces (taille variable). L'environnement pour développer prend à peine plus de place (quelques includes).

MUI pour l'utilisateur

Bien que l'essentiel du travail de Stefan Stuntz ait porté sur l'aspect développement de MUI, il n'en a pas pour autant oublié sa cible première : les utilisateurs. Tout comme les programmeurs, ceux-ci trouveront indubitablement leur compte dans tout ce que MUI a à leur offrir. A partir d'un programme de préférences central (SYS:Prefs/MUI), vous pouvez contrôler toutes les applications MUI en cours d'exécution sur votre machine (ou bien éditer l'interface de chacune d'elles séparément).

Dans un premier temps, lançons une application MUI (figure 1). Notez qu'un nouveau gadget a fait son apparition dans la barre de titre : c'est un gadget d'iconification qui réduira votre application à une simple icône dans la fenêtre du Workbench.

MUI
Figure 1

Ensuite, lançons le programme de préférences de MUI (figure 2). Dans le gadget de liste figurent toutes les applications MUI qui ont été lancées et ont déjà sauvegardé des préférences. Notez la présence en tête de liste de "-Global-" qui permet d'affecter avec une seule modification toutes les applications MUI qui seront lancées à l'avenir.

MUI
Figure 2

Sinon, sélectionnez l'application que vous souhaitez modifier (MUI-Demo dans notre exemple) et passons en revue les différentes possibilités :
  • Objects : pour spécifier diverses informations sur les objets (positions des gadgets système, espacements des fenêtres, des groupes, etc.).
  • Frames : concerne les cadres (épaisseur, espacement, image à utiliser, placement des titres, etc.).
  • Images : probablement l'option la plus intéressante puisque tous les objets MUI peuvent voir leur image changée. Voir exemple plus bas.
  • Fonts : les polices de caractères.
  • Screens : les écrans sur lesquels démarrer les applications.
  • Keyboards : les raccourcis clavier standard.
  • System : options internes.
  • General : les chemins d'accès.
MUI MUI
Réglages des images et des groupes

Par exemple, si nous voulions modifier l'imagerie de la barre de défilement de l'application MUI-Demo, il suffit de passer dans le menu "Images", de cliquer sur "Knob" dans un premier temps (puis "ArrowUp" et "ArrowDown" respectivement) et de sélectionner l'image correspondante (plusieurs images sont livrées avec la distribution).

Ensuite, retour dans la fenêtre principale, sélection de "Test" et surprise : la fenêtre de MUI-Demo se ferme, s'ouvre de nouveau et a adopté les nouvelles préférences (figure 3). Rien de plus facile que de mettre un fond marbré dans vos fenêtres (tout simplement superbe), de changer les couleurs, voire de dessiner vos propres gadgets. Les possibilités sont infinies...

MUI
Figure 3

MUI pour le programmeur

MUI n'est pas à proprement parler un générateur d'interface dans la mesure où il ne vous permet pas de dessiner à l'aide de la souris une interface graphique. Il est bâti au-dessus de BOOPSI (Basic Object Oriented Programming System for Intuition). Certains programmes utilisent BOOPSI mais aucun n'était allé aussi loin dans ce domaine. Non seulement MUI fournit une interface orientée objet dans la plus pure tradition BOOPSI, mais en plus il en simplifie énormément la programmation. Et je ne mentionne pas les innombrables améliorations dont bénéficient toutes les applications développées en utilisant MUI (voir le paragraphe consacré aux utilisateurs).

Une interface MUI se construit de façon très intuitive, presque visuelle. Un lot de macros (débrayable à la compilation si cette syntaxe ne vous plaît pas) permet de bâtir votre interface de la même façon que vous imaginez la hiérarchie des vos gadgets.

App = ApplicationObject,
  MUIA_Application_Title, "Test MUI ANews",
  SubWindow, windowObject = WindowObject,
    MUIA_Window Title, "Un bouton MUI!",
    WindowContents, VGroup,
      Child, button = KeyButton("Appuyez!", 'a'),
    End,   /* windom contents */
  End,     /* window object */
End;       /* app */

Ensuite, vous ajoutez les actions liées à votre interface :

DoMethod(windowObject,MUIM_Notify,
  MUIA_Window_CloseRequest,TRUE,
App,2,MUIM_Application_ReturnID,
  MUIV_Application_ReturnID_Quit);

Cette ligne apparemment compliquée est en fait relativement facile à comprendre : on indique à l'objet "windowObject" que lorsque son attribut "Window_CloseRequest" passe à "TRUE", il doit appliquer sur l'objet "App" la méthode "Returnld" avec comme valeur "ReturnID Quit" (autrement dit, quand la fenêtre sera fermée, la boucle d'attente principale rendra cette valeur).

Puis on ouvre la fenêtre :

set(windowObject,MUIA_Window_Open,TRUE);

La boucle principale est la suivante :

while (running) {
  ret = DoMethod(App,MUIM_Application_Input,&signal);
  switch (ret) :
    case MUIV_Application_ReturnID_Quit :
      running = FALSE; break;
    defaults:;
    }
    if (signal)
      Wait(signal);
  }

Remarque : si vous préférez, vous pouvez associer une fonction à l'action d'appuyer sur un bouton, et donc diminuer la boucle principale (la fonction s'appelle une "callback").

Ce programme simple crée un bouton avec un raccourci clavier. Si vous appuyez dessus, fermez la fenêtre ou bien tapez "a", la fenêtre se ferme, avec un effet visuel sur le bouton pour vous confirmer qu'il a été sélectionné, même si celle-ci s'est faite par le biais du clavier.

Cet exemple illustre plusieurs points clé de MUI :
  • Tout est géré par des attributs, même l'ouverture d'une fenêtre. La gestion de l'interface se fait à l'aide du positionnement d'attribut (set()), ou bien de leur lecture (get()).
  • Il est possible de lier certains gadgets entre eux (par exemple une barre de défilement à un objet de type "listview"). Ce mécanisme peut être automatisé de façon à ce que MUI s'occupe de toutes les mises à jour (dans le vocabulaire BOOPSI, ce mécanisme s'appelle la notification).
Ces deux notions sont particulièrement puissantes dès qu'elles sont utilisées conjointement. Pour faire en sorte que notre programme s'arrête si le bouton est pressé, il suffit d'ajouter la ligne suivante :

DoMethod(button, MUIM_Notify,
  MUIA_Pressed, TRUE,
App,2,MUIM_Application_ReturnID,
  MUIV_Application_ReturnID_Quit);

Avec un peu de pratique, vous êtes capable de construire votre interface avec une vitesse surprenante. Une fois que l'apparence y est, il ne vous reste plus qu'à ajouter les fonctionnalités qui vous sont propres. Tous les détails visuels seront pris en compte par MUI et gérés par le programme de préférences, vous n'avez plus à vous en soucier.

Un énorme avantage de MUI est qu'il gère automatiquement le placement des gadgets. Tout ce que vous avez à faire c'est de les placer dans des boîtes (groups) horizontale ou verticale, de leur donner un poids (par exemple un gadget avec un poids de 200 occupera deux fois plus d'espace qu'un autre qui n'a que 100), et MUI calcule automatiquement leur emplacement en tenant compte de la taille de la police de caractères, des bords choisis par l'utilisateur, de la taille de la fenêtre (même en cas de redimensionnement, etc.).

Des dizaines de pages ne suffiraient pas à donner une vue d'ensemble des possibilités de MUI. Sachez qu'il fournit un nombre impressionnant de gadgets, que toute application se trouve automatiquement pourvue d'un port ARexx, qu'il est extrêmement simple d'ajouter une aide en ligne AmigaGuide à chacun de vos gadgets (un simple attribut suffit), et vous commencerez à vous faire une idée du potentiel de MUI...

Quelques réflexions

MUI a été indéniablement conçu par quelqu'un qui connaît le domaine des interfaces graphiques. Il démontre clairement à quel point une application sera efficace si elle sépare de façon clairement délimitée son aspect extérieur (qui se doit d'être le plus standard possible) de ses fonctionnalités (aucune limite dans ce domaine). Il paraît totalement aberrant qu'une application doive contenir dans son code toute la gestion des polices de caractères, ou bien des actions à faire en cas de redimensionnement par l'utilisateur : tous ces événements sont un dénominateur commun de toutes les applications graphiques, et en tant que tel, ils doivent impérativement être extraits de l'interface. Qui plus est, leur contrôle doit être donné à l'utilisateur, qui peut ainsi adapter votre produit à ses goûts, lui donnant par la même occasion l'impression d'avoir un logiciel plus puissant dans les mains.

Conclusion

MUI est un logiciel professionnel, à la fois dans la qualité, le soin apporté à son interface pour l'utilisateur, son potentiel et sa présentation (un article en format .dvi et AmigaGuide, des Autodocs qui peuvent être convertis en AmigaGuide). MUI est shareware (20 DM), la version non enregistrée ne peut pas sauver les préférences (autrement dit, les applications MUI garderont une apparence standard) mais vous pouvez malgré tout profiter de toute sa puissance. Un tel travail de qualité se doit d'être salué et encouragé. Espérons que de nombreuses applications MUI ne tarderont pas à envahir nos écrans !

Nom : MUI (Magic User Interface).
Auteur : Stefan Stuntz.
Genre : cadre d'application pour interface graphique.
Date : 1993.
Configuration minimale : Amiga OCS, 68000, 512 ko de mémoire.
Licence : partagiciel.
Prix : 20 DM.


[Retour en haut] / [Retour aux articles]