Plusieurs boutons "OK" dans la fenêtre modaleEst-il possible de concevoir une fenêtre modale avec plusieurs choix « OK » ?Je pense que ma principale difficulté est de fermer la fenêtre après avoir sélectionné le deuxième bouton OK.Existe-t-il une manière plus intelligente de procéder ?J'utilise JMP11. L'exemple est ci-dessous.
Merci!
w1 = New Window( "New Window",
<<MODAL></MODAL>
Re : Plusieurs boutons « OK » dans la fenêtre modaleMarque:
Votre réponse me rappelle ce que mon professeur de programmation de première année a dit à ce sujet à la classe. C'était quelque chose du genre : « Ne confondez pas intentionnellement l'utilisateur. Par exemple, ne demandez pas à un bouton Annuler d'effectuer [supprimer *.*]." J'ai ri à l'époque... et maintenant !
Re : Plusieurs boutons « OK » dans la fenêtre modaleJe remets en question la nécessité de plus d'un bouton OK ou Annuler dans n'importe quelle boîte de dialogue. Ces contrôles et leurs actions associées ont une signification particulière. Ces deux boutons sont censés être les seuls moyens de fermer la boîte de dialogue.Les principes de conception de l’interface utilisateur évitent généralement la duplication des contrôles, en particulier les contrôles standard.
L'exemple avec lequel vous avez commencé pourrait utiliser un autre contrôle pour déterminer l'option souhaitée avant de fermer la boîte de dialogue. Il semble qu'une boîte radio serait appropriée dans cette situation.
Vous souhaitez utiliser des contrôles distincts à des fins distinctes.
Re : Plusieurs boutons « OK » dans la fenêtre modaleJ'aimerais aussi ça. Le caractère OK d'un bouton doit être lié à une propriété du bouton autre que le titre du bouton.
Re : Plusieurs boutons « OK » dans la fenêtre modaleVoici un exemple de ce que vous devrez faire
Names Default To Here( 1 );
nw = New Window( "test",
modal,
Text Box( "Click OK if you want to continue" ),
H List Box( Button Box( "OK" ), Button Box( "Cancel" ) )
);
If( nw["button"] == -1,
Throw()
);
Show( "Continuing processing" );
Re : Plusieurs boutons « OK » dans la fenêtre modaleSalut les gars, je suis nouveau dans ce domaine. si vous souhaitez qu'une fenêtre invite l'utilisateur à choisir seulement deux options
1) Ok, alors le script continuera ensuite à faire tout ce qui doit être fait.
2) Annuler, si cette option est sélectionnée, je souhaite arrêter/quitter le script ou aller à la fin du script.
Merci
Sam
Re : Plusieurs boutons « OK » dans la fenêtre modale<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />MS, merci de l'avoir signalé.Nous recherchons des noms différents pour les boutons.Généralement, il s'agit simplement de gérer les variantes OK/Annuler et Oui/Non, mais oui, elles peuvent être utilisées en même temps.
Re : Plusieurs boutons « OK » dans la fenêtre modalePeut-être juste une curiosité, mais il est possible d'avoir deux boutons "OK" fonctionnels à condition que l'un soit un bouton "OUI".
Dans la fenêtre modale générée par le code ci-dessous, en appuyant sur le premier "OK" ou sur le "OUI", les deux renvoient {Bouton( 1 )} alors que le deuxième "OK" est inactif.
New Window( "New Window",
<<MODAL></MODAL>
Re : Plusieurs boutons « OK » dans la fenêtre modaleNon, il n'existe actuellement aucun moyen d'éviter l'ajout du bouton OK dans ce cas.Ceci est fait pour garantir que la fenêtre peut être fermée.
Re : Plusieurs boutons « OK » dans la fenêtre modaleSalut les gars,
Autre problème à cette question : existe-t-il un moyen d'avoir une boîte de dialogue modale sans les boutons OK ou Annuler ?
nw = new window("Test Modal", << modal(),
panelbox("Actions",
hlistbox(
a = button box("Close A",
print("Closing with A");
a << close window;
),
b = button box("Close B",
print("Closing with B");
b << close window;
)
)
)
);
Re : Plusieurs boutons « OK » dans la fenêtre modaleMerci Dan!
Re : Plusieurs boutons « OK » dans la fenêtre modaleIl semble que la solution d'Eric fonctionne dans JMP 12 (bientôt publié), mais JMP 11 a un comportement différent.
Un problème dans le script d'origine est que w1 ne peut pas être utilisé tant que l'appel à la nouvelle fenêtre n'est pas terminé, et dans le cas d'une fenêtre modale, l'appel ne se termine pas tant que la fenêtre n'est pas fermée !Et comme la fenêtre a disparu au moment du retour de l'appel, la valeur de retour d'un appel modal à New Window n'est pas du tout une référence de fenêtre.Au lieu de cela, il s'agit de {Button(1)} si OK a été enfoncé et de {Button(-1)} si Cancel a été enfoncé.
Heureusement, vous pouvez envoyer un message « Fermer la fenêtre » à n'importe quelle boîte d'affichage.Le script suivant devrait fonctionner dans JMP 11 ou JMP 12 :
w1 = New Window( "New Window",
<<MODAL></MODAL>
Notez que le comportement du bouton ajouté est plus proche de « Annuler » que de « OK » - la valeur de retour w1 sera {Button(-1)} pour le bouton « Autre OK » et le script On Validate() [s'il existe ] ne sera pas exécuté.Ce n'est pas grave - vous pouvez simplement effectuer votre propre validation dans le script du bouton, mais gardez cela à l'esprit si vous regardez la valeur de retour de New Window().
Re : Plusieurs boutons « OK » dans la fenêtre modaleSalut Eric,
Merci pour votre réponse. Quand j'exécute votre script,
Current Window() << Close Window;
ferme la fenêtre de script, pas la boîte de message. Est-ce que tu fais quelque chose de spécial pour que ça marche ?
Re : Plusieurs boutons « OK » dans la fenêtre modaleEssayer Fenêtre actuelle() au lieu d'essayer de faire référence à w1. Cela a fonctionné pour moi :
w1 = New Window( "New Window",
<<MODAL></MODAL>