JSL: valor establecido del cuadro deslizanteHola a todos,
Aquí está el código del Scripting Index para crear un Slider Box:
Names Default To Here( 1 );
sliderValue = .6;
New Window( "Example",
Panel Box( "Slider Box",
tb = Text Box( "Value: " || Char( sliderValue ) ),
sb = Slider Box(
0,
1,
sliderValue,
tb << Set Text( "Value: " || Char( sliderValue ) )
)
)
);
Si ejecuta este ejemplo, puede hacer clic con el botón derecho en el control deslizante para establecer un valor específico:

Supongamos que configuro esto en 0.8. Si lo hago, el control deslizante se mueve, pero el script asociado con el control deslizante no se ejecuta. Es decir, el cuadro de texto sobre el control deslizante no se actualiza.
Pregunta 1: ¿Por qué?
Pregunta 2: ¿Existe alguna forma diferente de transferir el nuevo valor al cuadro de texto? Intenté convertir el código para usar el mensaje Establecer función, pero esto no lo resolvió.
He observado que si hace clic con el botón derecho en un control deslizante en una plataforma (como Custom Profiler) y establece el valor, la plataforma parece responder correctamente (el control deslizante y el cuadro de edición de texto asociado se mueven como se esperaba), entonces puedo decir que hay alguna manera para hacer esto en JSL. Simplemente no sé qué es eso.
Estoy ejecutando 15.2.1 Pro en una Mac.
Miguel
ScriptingRe: JSL: valor establecido del cuadro deslizanteGracias por dar un ejemplo y una pregunta claros. Facilitó la verificación de que se trata de un error en JMP 15 (quizás versiones anteriores). La devolución de llamada para el control deslizante no se activa en el valor establecido.
También verifiqué que lo hemos solucionado en la próxima versión de JMP 16.
Puede haber una solución complicada que podría codificar en JSL, pero cuando lo vea funcionando en las plataformas integradas, no se está haciendo a través de JSL.
Re: JSL: valor establecido del cuadro deslizanteNo veo una solución alternativa porque no hay forma de asociar una expresión con la acción Establecer valor. Aquí hay una variación del script original, pero tampoco funciona porque se llama cuando se mueve el control deslizante.
Names Default To Here( 1 );
sliderValue = .6;
New Window( "Example",
Panel Box( "Slider Box",
tb = Text Box( "Value: " || Char( sliderValue ) ),
Slider Box( 0, 1, sliderValue,
<< Set Function(
Function( { me },
tb << Set Text( "Value: " || Char( me << Get ) )
)
)
)
)
);Re: JSL: valor establecido del cuadro deslizanteEsto no soluciona el problema subyacente que identificó con la secuencia de comandos que no se activa, pero a menudo coloco un cuadro de edición de números junto a ese valor con una secuencia de comandos para establecer el valor del control deslizante.De esa manera, si alguien quiere establecer el valor, es poco probable que haga clic derecho en el control deslizante, ya que es más fácil hacer clic en el cuadro de edición de texto.Aquí hay una forma de incluir ambos, mientras que también se ejecuta alguna función cuando el control deslizante se mueve o se escribe un nuevo valor:

Names Default To Here( 1 );
sliderValue = .6;
//Function that is called when either slider is moved or new value is typed in
dothisonchange = Function({val}, tb << Set Text( "Value: " || Char( val) ) );
New Window( "Example",
Panel Box( "Slider Box",
tb = Text Box( "Value: " || Char( sliderValue ) ),
h list box(
sb = Slider Box(
0,
1,
sliderValue,
//Set the number edit box and call the other function
neb << Set( sliderValue );
dothisonchange(sliderValue);
),
neb = Number Edit Box(
sliderValue,
3,
<< Set function( Function( {this},
sliderValue = this << Get;
//Set the slider and call the other function
sb << Set( sliderValue );
dothisonchange(sliderValue);
) )
)
)
)
);Re: JSL: valor establecido del cuadro deslizanteTambién puedes usar este enfoque Cuadro de edición de números y cuadro deslizante combinados y conectados