Múltiples botones "Aceptar" en la ventana modal¿Es posible diseñar una ventana modal con múltiples opciones "OK"?Creo que mi principal dificultad es cerrar la ventana después de seleccionar el segundo botón Aceptar.¿Existe una forma más inteligente de hacer esto?Estoy usando JMP11. El ejemplo está a continuación.
¡Gracias!
w1 = New Window( "New Window",
<<MODAL></MODAL>
Re: Múltiples botones "OK" en ventana modalMarca:
Su respuesta me recuerda lo que mi profesor de programación de primer año le dijo a la clase sobre esto. Era algo así como "No confundas intencionalmente al usuario". Por ejemplo, no hagas que el botón Cancelar ejecute [eliminar *.*]." Me reí entre dientes en aquel entonces... ¡y ahora!
Re: Múltiples botones "OK" en ventana modalCuestiono la necesidad de más de un botón Aceptar o Cancelar en cualquier cuadro de diálogo. Estos controles y sus acciones asociadas tienen un significado especial. Estos dos botones están destinados a ser las únicas formas de cerrar el diálogo.Los principios de diseño de la interfaz de usuario generalmente evitan la duplicación de controles, especialmente los controles estándar.
El ejemplo con el que comenzó podría usar otro control para determinar la opción deseada antes de cerrar el cuadro de diálogo. Parece que una caja de radio sería apropiada en esta situación.
Desea utilizar controles separados para propósitos separados y distintos.
Re: Múltiples botones "OK" en ventana modalA mí también me gustaría esto. El estado correcto de un botón debe estar relacionado con una propiedad del botón distinta del título del botón.
Re: Múltiples botones "OK" en ventana modalAquí tienes un ejemplo de lo que tendrías que hacer.
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: Múltiples botones "OK" en ventana modalHola chicos, soy nuevo en esto. si desea que una ventana solicite al usuario solo dos opciones
1) Ok, entonces el script posterior continuará haciendo lo que sea necesario.
2) Cancelar, si se selecciona esta opción, quiero detener/salir del script o ir al final del script.
Gracias
Sam
Re: Múltiples botones "OK" en ventana modal<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />MS, gracias por señalar esto.Buscamos diferentes nombres para los botones.Generalmente esto es solo para manejar las variantes Aceptar/Cancelar y Sí/No, pero sí, se pueden usar al mismo tiempo.
Re: Múltiples botones "OK" en ventana modalTal vez sea sólo una curiosidad, pero es posible tener dos botones "OK" que funcionen siempre que uno sea un botón "SÍ".
En la ventana modal generada por el siguiente código, al presionar el primer "OK" o el "SÍ", ambos regresan {Botón 1 )} mientras que el segundo "OK" está inactivo.
New Window( "New Window",
<<MODAL></MODAL>
Re: Múltiples botones "OK" en ventana modalNo, actualmente no hay forma de evitar la adición del botón Aceptar en este caso.Esto se hace para garantizar que se pueda cerrar la ventana.
Re: Múltiples botones "OK" en ventana modalHola, chicos,
Otro aspecto de esta pregunta: ¿hay alguna manera de tener un cuadro de diálogo modal? sin los botones Aceptar o Cancelar?
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: Múltiples botones "OK" en ventana modalGracias Dan!
Re: Múltiples botones "OK" en ventana modalParece que la solución de Eric funciona en JMP 12 (que se lanzará próximamente), pero JMP 11 tiene un comportamiento diferente.
Un problema en el script original es que w1 no se puede usar hasta que se complete la llamada a Nueva ventana y, en el caso de una ventana modal, la llamada no se completa hasta que se cierre la ventana.Y debido a que la ventana ya no existe cuando regresa la llamada, el valor de retorno de una llamada modal a Nueva ventana no es una referencia de ventana en absoluto.En su lugar, es {Botón(1)} si se presionó Aceptar y {Botón(-1)} si se presionó Cancelar.
Afortunadamente, puede enviar un mensaje <
w1 = New Window( "New Window",
<<MODAL></MODAL>
Tenga en cuenta que el comportamiento del botón agregado está más cerca de 'Cancelar' que de 'Aceptar': el valor de retorno w1 será {Botón(-1)} para el botón "Otro Aceptar" y el script Al validar() [si existe ] no se ejecutará.Está bien: simplemente puede hacer su propia validación dentro del script del botón, pero tenga esto en cuenta si observa el valor de retorno desde Nueva ventana().
Re: Múltiples botones "OK" en ventana modalHola Eric,
Gracias por la respuesta. Cuando ejecuto tu script,
Current Window() << Close Window;
cierra la ventana Script, no el cuadro de mensaje. ¿Estás haciendo algo especial para que funcione?
Re: Múltiples botones "OK" en ventana modalIntentar Ventana actual() en lugar de intentar hacer referencia a w1. Esto funcionó para mí:
w1 = New Window( "New Window",
<<MODAL></MODAL>