|
MUI : quelques exemples
Dure la création de boîtes de dialogue! Nombreux sont
ceux qui, sur Macintosh, préféraient faire appel aux
ressources du système plutôt que d'utiliser les MIAW
peu maniables et coûteuses en mémoire. Leur projet
y perdait sa portabilité. Livrée avec la version 6
de Director, l'Xtra MUI prétend résoudre ce dilemme
et faciliter enfin la création de dialogues système
indépendants de la plate-forme utilisée. La programmation
de l'Xtra plutôt mal documentée par Macromedia, à
déjà été présentée dans
un article d'initiation très détaillé
(si, si !). Pour ceux qui veulent aller plus loin avec MUI, Yazo.net
fournit ici quelques exemples.
Pour la bonne marche de ces exemple, on prendra la précaution
de se procurer la dernière version de l'Xtra. Les premières
version en effet comportaient un bug qui obligeait à intervertir
le #mode: #pixel et le mode #dialogUnit lors lors de la création
des dialogues.
Rappelons aussi qu'afin d'obtenir la création d'un dialogue,
il faut passer à l'objet créé, sous forme d'arguments
de la méthode Initialize(), deux listes de propriétés
: #windowPropList et #windowItemList.
La propriété #callback définit le gestionnaire
appelé incessament lorsque la boîte est ouverte et
que l'utilisateur en manipule les contrôles. Ce gestionnaire
à créer DOIT contenir une instruction stop( OBJET,
0) afin QUE L'ON PUISSE SORTIR DE LA BOITE. À défaut,
sur Mac, la touche esc fermera la boîte.
Pour plus d'info sur la création de scripts exploitant MUI,
on se reportera à l'article mui.html
du CrapoWeb. Ici était rassemblée TOUTE l'info disponible
sur MUI.
set CRAPO to new(xtra "mui")
initialize(CRAPO, [#windowPropList:
[#type: #normal, #name: "Un petite question", #callback: "mongestionnaire",
#mode: #pixel, #xPosition: -1, #yPosition: -1, #width: 276, #height:
171, #modal: 1, #toolTips: 0, #closeBox: 1, #canZoom: 0], #windowItemList:
[[#value: 0, #type: #WindowBegin, #attributes: [],
#title: "title", #tip: "tip", #locH: 25, #locV: 25, #width: 200,
#height: 25, #enabled: 1], [#value: 0, #type: #pushButton,
#attributes: [], #title: "Annuler", #tip: "tip", #locH:
38, #locV: 134, #width: 80, #height: 20, #enabled: 1], [#value:
0, #type: #defaultPushButton, #attributes: [], #title: "Ok",
#tip: "tip", #locH: 141, #locV: 134, #width: 80, #height: 20, #enabled:
1], [#value: 0, #type: #dividerH, #attributes: [],
#title: "Push", #tip: "tip", #locH: 19, #locV: 115, #width: 236,
#height: 1, #enabled: 1], [#value: "Votre texte ici", #type:
#label, #attributes: [#textSize: #normal], #title: "Push",
#tip: "tip", #locH: 25, #locV: 37, #width: 103, #height: 14, #enabled:
1], [#value: 0, #type: #WindowEnd, #attributes: [],
#title: "title", #tip: "tip", #locH: 25, #locV: 25, #width: 200,
#height: 25, #enabled: 1]]])
run(CRAPO)
set CRAPO to 0
set oDialog to new(xtra "mui")
initialize(oDialog, [#windowPropList:
[#type: #normal, #name: "Deux choix", #callback: "toto", #mode:
#pixel, #xPosition: -1, #yPosition: -1, #width: 488, #height: 169,
#modal: 1, #toolTips: 0, #closeBox: 1, #canZoom: 0], #windowItemList:
[[#value: 0, #type: #WindowBegin, #attributes: [],
#title: "title", #tip: "tip", #locH: 25, #locV: 25, #width: 200,
#height: 25, #enabled: 1], [#value: "Premier choix", #type:
#label, #attributes: [#textSize: #normal], #title: "Push",
#tip: "tip", #locH: 51, #locV: 59, #width: 95, #height: 14, #enabled:
1], [#value: "Deuxième choix", #type: #label, #attributes:
[#textSize: #normal], #title: "Push", #tip: "tip", #locH:
42, #locV: 104, #width: 104, #height: 14, #enabled: 1], [#value:
0, #type: #IntegerSliderH, #attributes: [#valueRange: [#min:
0.0000, #max: 100, #increment: 1.0000, #jump: 10.0000, #acceleration:
0.5000], #sliderStyle: [#ticks]], #title: "Push",
#tip: "tip", #locH: 164, #locV: 59, #width: 160, #height: 20, #enabled:
1], [#value: 0, #type: #IntegerSliderH, #attributes: [#valueRange:
[#min: 0.0000, #max: 100, #increment: 1.0000, #jump: 10.0000,
#acceleration: 0.5000], #sliderStyle: [#ticks]],
#title: "Push", #tip: "tip", #locH: 164, #locV: 104, #width: 160,
#height: 20, #enabled: 1], [#value: 0, #type: #dividerV,
#attributes: [], #title: "Push", #tip: "tip", #locH: 352,
#locV: 14, #width: 1, #height: 143, #enabled: 1], [#value:
0, #type: #pushButton, #attributes: [], #title: "Annuler",
#tip: "tip", #locH: 377, #locV: 99, #width: 80, #height: 20, #enabled:
1], [#value: 0, #type: #defaultPushButton, #attributes:
[], #title: "Ok", #tip: "tip", #locH: 377, #locV: 55, #width:
80, #height: 20, #enabled: 1], [#value: "Faites votre choix",
#type: #label, #attributes: [#textSize: #normal], #title:
"Push", #tip: "tip", #locH: 124, #locV: 18, #width: 121, #height:
14, #enabled: 1], [#value: 0, #type: #WindowEnd, #attributes:
[], #title: "title", #tip: "tip", #locH: 25, #locV: 25,
#width: 200, #height: 25, #enabled: 1]]])
run(oDialog)
set oDialog to 0
set CRAPO to new(xtra "mui")
initialize(CRAPO, [#windowPropList:
[#type: #normal, #name: "Modifier tout", #callback: "BoiteOuverte",
#mode: #pixel, #xPosition: -1, #yPosition: -1, #width: 373, #height:
237, #modal: 1, #toolTips: 0, #closeBox: 1, #canZoom: 0], #windowItemList:
[[#value: 0, #type: #WindowBegin, #attributes: [],
#title: "title", #tip: "tip", #locH: 25, #locV: 25, #width: 200,
#height: 25, #enabled: 1], [#value: 0, #type: #pushButton,
#attributes: [], #title: "Annuler", #tip: "tip", #locH:
25, #locV: 199, #width: 144, #height: 20, #enabled: 1], [#value:
0, #type: #defaultPushButton, #attributes: [], #title: "Ok",
#tip: "tip", #locH: 195, #locV: 199, #width: 144, #height: 20, #enabled:
1], [#value: 0, #type: #dividerH, #attributes: [],
#title: "Push", #tip: "tip", #locH: 19, #locV: 173, #width: 333,
#height: 1, #enabled: 1], [#value: 1, #type: #checkBox,
#attributes: [], #title: "Toujours avertir", #tip: "tip",
#locH: 32, #locV: 133, #width: 0, #height: 0, #enabled: 0],
[#value: "Nouveau nom ", #type: #label, #attributes: [#textSize:
#normal], #title: "Push", #tip: "tip", #locH: 32, #locV: 26,
#width: 94, #height: 14, #enabled: 1], [#value: "Sans titre",
#type: #editText, #attributes: [#textSize: #normal], #title:
"Push", #tip: "tip", #locH: 32, #locV: 53, #width: 250, #height:
20, #enabled: 1], [#value: "Note : 26 caractères
maximum", #type: #label, #attributes: [#textSize: #tiny],
#title: "Push", #tip: "tip", #locH: 31, #locV: 90, #width: 156,
#height: 14, #enabled: 1], [#value: 0, #type: #WindowEnd,
#attributes: [], #title: "title", #tip: "tip", #locH: 25,
#locV: 25, #width: 200, #height: 25, #enabled: 1]]])
run(CRAPO)
set CRAPO to 0
Pour une étude approfondie des scripts MUI ou bien encore
pour ne pas avoir à les rédiger, on se procurera
avec profit l'Xtra Outil EasyDialog. EasyDialog
vous laissera créer vos dialog en WYSIWYG et générera
le script correspondant.
<
Sommaire
|