¿Mantener abierta la ventana de diálogo?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Alguien tiene un código rápido para imitar la opción "Mantener el diálogo abierto" que ve en las plataformas de la tabla, como "subconjunto".En caso afirmativo, ¿funciona con una ventana modal?

Re: ¿Mantener abierta la ventana de diálogo?No estoy seguro de qué es confuso acerca de que una función haga dos cosas diferentes según las expresiones proporcionadas y el objeto sobre el que influye.Consulte el comando de eliminación a continuación:

No estoy seguro de qué error aparece en el registro, pero definitivamente puede proporcionar scripts a los botones "Aceptar" y "Cancelar" independientemente de si la ventana es modal o no.Por lo que usted describe arriba, tengo la sensación de que no entiende qué es una ventana modal, pero podría estar equivocado.
Re: ¿Mantener abierta la ventana de diálogo?También puedes probar:
Nombres predeterminados aquí ( 1 ) ;
mantener abierta = 0 ;
Nueva ventana ( "Ejemplo" , Muestrame el menu ( 0 ) , Mostrar barras de herramientas ( 0 ) , Suprimir Ocultar automáticamente ,
<< Modal , <
Caja de texto ( "Ejemplo: casilla de verificación Mantener el diálogo abierto" ) ,
Caja de texto ( "" ) ,
Cuadro de lista H (
mantenercbox = Casilla de verificación ( "Mantener el diálogo abierto" , mantener abierta = mantenercbox << conseguir ( 1 ) ) ,
Caja de botones ( "DE ACUERDO" ,
// Inserta el nombre de una expresión para ejecutar como script
) ,
Caja de botones ( "Cancelar" )
)
) ;
<Re: ¿Mantener abierta la ventana de diálogo?
Estoy de acuerdo con MS: no estoy seguro de cuál es el << Al cerrar() la función está haciendo cualquiera de las dos cosas. La Referencia de sintaxis JSL (en Ayuda > Libros) explica la función Al cerrar de forma diferente al Índice de secuencias de comandos. De la referencia de secuencias de comandos: " < no logra cerrar." Entonces, ¿un argumento de 0 impide que la ventana se cierre o una ventana que no se cierra genera un resultado 0 de la función? Muy confuso.
Volviendo al tema de su cuadro de diálogo modal... Yo creo que el << modales El comando trata los botones "Aceptar" y "Cancelar" como botones especiales (mismo comportamiento que la antigua función Dialog()). Por lo tanto, los scripts no se pueden adjuntar a los botones "Aceptar" y "Cancelar" (aparece un error en el registro).
Aquí hay otro enfoque que puede funcionar para su ventana modal. Cree otros botones que puedan realizar acciones adjuntando scripts a esos botones. La ventana permanece abierta hasta que se hace clic en el botón "Aceptar". Desafortunadamente, no creo que puedas cambiar el nombre del botón "Aceptar" a "Cerrar" o permitir que otro botón cierre la ventana modal.
Names Default To Here( 1 );win = New Window( "Example", << Modal, << On Close ( Print( "Closed" ) ), // prints to log window Show Menu( 0 ), Show Toolbars( 0 ), Suppress Autohide, Text Box( "Example: Modal Dialog Window" ), Text Box( "" ), H List Box( Button Box( "Say Hello", Print( "Hello" ) ), // prints to log window Button Box( "New Window", newwin = New Window( "New Window" ) ), Button Box( "OK" ) ));
He incluido un ejemplo de << Al cerrar() en este guión. Puede ver que realiza esta acción de script cuando la ventana está cerrada.
¡Buena suerte!
Howard
Re: ¿Mantener abierta la ventana de diálogo?Desde el índice de secuencias de comandos, en Nueva ventana:
"Si se especifica el argumento modal, la nueva ventana se crea como una ventana modal.Al abrir, al cerrar, al validar y devolver resultado solo están disponibles para ventanas modales.On Open() evalúa su expresión cuando se crea la ventana. Si On Close() devuelve cero, se impide que la ventana se cierre."
No estoy seguro de por qué no funciona en tu Mac, pero supongo que no realizaste la actualización en la ventana actual().
Re: ¿Mantener abierta la ventana de diálogo?no estoy seguro de qué Al cerrar(1) y Al cerrar(0) se supone que debemos hacer aquí.
Sin embargo, esto no funciona bien en JMP 12.1 para Mac. Si "Mantener el diálogo abierto" está marcado y hago clic en "Aceptar", queda una ventana vacía (no modal) sin ningún método obvio para cerrarla. Y si selecciono "Cerrar" en el menú, JMP falla. Extraño
Re: ¿Mantener abierta la ventana de diálogo?Solo otra nota, tengo problemas con 'Ventana actual()' si la expresión que se ejecuta crea ventanas.Lo cambié a keepcbox (o cualquier otra pantalla en la ventana modal) y debería arreglarse.
Re: ¿Mantener abierta la ventana de diálogo?En realidad lo descubrí:
'<
Esto es malo porque terminarás con una ventana que es modal y no se cerrará, pero la agregarás al script de hlrauch:
Nombres predeterminados aquí ( 1 ) ;
mantener abierta = 0 ;
Nueva ventana ( "Ejemplo" , Muestrame el menu ( 0 ) , Mostrar barras de herramientas ( 0 ) , Suprimir Ocultar automáticamente ,
<< Modal ,
Caja de texto ( "Ejemplo: casilla de verificación Mantener el diálogo abierto" ) ,
Caja de texto ( "" ) ,
Cuadro de lista H (
mantenercbox = Casilla de verificación ( "Mantener el diálogo abierto" , mantener abierta = mantenercbox << conseguir ( 1 ) ) ,
Caja de botones ( "DE ACUERDO" ,
// Inserta el nombre de una expresión para ejecutar como script
Si ( ! mantener abierta , Ventana actual () << Al cerrar ( 1 ) , Ventana actual () << Al cerrar ( 0 )) ;
) ,
Caja de botones ( "Cancelar" ,
Ventana actual () << Cerrar ventana
)
)
) ;
Re: ¿Mantener abierta la ventana de diálogo?Esto es lo que estoy buscando, solo necesito que funcione con una ventana modal ya que quiero obligar al usuario a responder.¿Alguna idea?
Re: ¿Mantener abierta la ventana de diálogo?msnido,
Parece que desea agregar "Mantener el diálogo abierto" como una casilla de verificación en la ventana de diálogo, ¿verdad? Si ese es el caso, aquí hay parte de un script que he usado para agregar una o más columnas de números aleatorios. La secuencia de comandos detrás del botón "Aceptar" cierra la ventana sólo si la casilla de verificación no está marcada.
Names Default to Here( 1 );keepopen = 0;New Window( "Example", Show Menu( 0 ), Show Toolbars( 0 ), Suppress Autohide, Text Box( "Example: Keep Dialog Open Checkbox" ), Text Box( "" ), H List Box( keepcbox = Check Box( "Keep dialog open", keepopen = keepcbox << get( 1 ) ), Button Box( "OK", // Insert name of an expression to run as a script If( !keepopen, Current Window() << Close Window); ), Button Box( "Cancel", Current Window() << Close Window ) ));
Por supuesto que querrás agregar más opciones a la ventana de diálogo ( ejemplo avanzado en la Guía de secuencias de comandos JMP; páginas 454-456). No creo que puedas agregar una casilla de verificación similar usando el método más antiguo (modal) Column Dialog(). Puede hacer que la ventana anterior sea modal agregando una opción <
Howard
Re: ¿Mantener abierta la ventana de diálogo?Hola msharp ,
Encontré estos dos enlaces contradictorios sobre el tema:
Éste (página 83) dice que no es muy útil:
https://books.google.co.uk/books?id=42Bt1lDZLYoC&pg=PA82&lpg=PA82&dq=jsl+keep+dialog+open&source=bl&ots=rnr7dBRzZv&sig=1aAcJT94KS6DsbpLwTUzOen3xkE&hl=en&sa=X&ved=0ahUKEwj6wqXDi KDJAhXIfhoKHZakDyoQ6AEIIDAA#v=onepage&q=jsl%20keep% 20dialog%20open&f=falso
este muestra algún uso de “Mantener el diálogo abierto (1)”, pero no estoy seguro de que sea la forma que estás buscando:
http://www.jmp.com/support/help/Utility_Functions.shtml
mejor,
ron
Re: ¿Mantener abierta la ventana de diálogo?Del índice de secuencias de comandos:
Nombres predeterminados aquí (1);
dt = Abrir( "$SAMPLE_DATA/Tiretread.jmp" );
obj = Ajustar modelo(
Y( :ABRASIÓN ),
Efectos( :SÍLICA, :SILANO ),
Personalidad (mínimos cuadrados estándar)
);
obj << Mantener el diálogo abierto (1);
obj << Ejecutar;