Alineación de diseño JSL¿Hay alguna forma de alinear un elemento con LHS o RHS de un HListBox?
Básicamente, quiero hacer una plantilla para aplicaciones con un 'Cuadro de lista V' Anidado dentro de un 'Cuadro de lista H'
Los valores predeterminados de VListBox (texto rojo) se alinean al lado izquierdo. Si agrego mi logotipo, se alineará naturalmente con el lado izquierdo también como se muestra.

Sin embargo, quiero que el logotipo se alinee con el RHS dentro del HLISTBOX principal.

Tenga en cuenta que para mantener el ancho de la aplicación estoy usando un SpacerBox(tamaño(1200, 0)) justo encima de HListBox.
Saludos, Troya
secuencias de comandosRe: Alineación de diseño JSLImpresionante Vicente. Esto funcionó perfecto para todos los anchos de título.
Re: Alineación de diseño JSLHola Jarmo, también intenté calcular el tamaño de la caja espaciadora. Sin embargo, dado que el ancho del título puede cambiar ('Plantilla repetitiva' en este caso), debo tenerlo en cuenta. Esto implica conocer la cantidad de caracteres en el nombre del título, así como el tamaño de fuente y calcular el ancho. Utilizo una relación general de alto a ancho de .6 o 0.7 y generalmente empuja el logotipo lo suficiente hacia la derecha... pero no 'limpiamente' y consistentemente en el mismo lugar y no alineado a la 'derecha'
Sin embargo, es lo suficientemente bueno para una variedad de anchos de título.
Esperaba un conjunto más simple de opciones de 'Alineación' similares a las que existen en, por ejemplo, CSS.
También probaré la sugerencia de Vince de usar cajas espaciadoras 'sin valor' para ver cómo funciona.
Gracias por las respuestas amigos.
myToolWidth = 800;
myFontScale = 0.7;
myHeading1 = textBox(myScriptName, << fontColor("red"), << setFontSize(24), << setFontStyle("bold"), <<SETWRAP></SETWRAP>
Ejemplos de varios anchos de título y cálculo de Sacerbox en función del tamaño de fuente y la cantidad de caracteres en el título.

Re: Alineación de diseño JSLSin darle ningún tamaño, siento que los bordes del cuadro de borde desaparecen, pero esto probablemente se puede manejar con bastante facilidad con el relleno
Names default to here(1);
nw = New Window("Example",
bp = Border Box(Left(10), Right(10), Top(10), Bottom(10), Sides(15),
<< Padding(Left(5), Top(0), Right(5), Bottom(5)),
vlb = V List Box(
Spacer Box(size(1200,0)),
H List Box(
V List Box(TextBox("test"), TextBox("test2")),
sb = Spacer Box(),
logo = Icon Box("JMPLogo")
)
)
)
);Re: Alineación de diseño JSLSi simplemente no le da un tamaño a spacerbox, no tiene que cambiar su tamaño.Simplemente trata de llenar tanto espacio como puede.Con múltiples spacerboxes en el mismo padre, creo que simplemente lo divide de manera uniforme.
Names default to here(1);
nw = New Window("Example",
Border Box(Left(10), Right(10), Top(10), Bottom(10), Sides(15),
vlb = V List Box(
Spacer Box(size(1200,0)),
H List Box(
V List Box(TextBox("test"), TextBox("test2")),
sb = Spacer Box(),
logo = Icon Box("JMPLogo")
);
)
)
);
Re: Alineación de diseño JSLCreo que hice algo similar inspirado en tu presentación. Un enfoque estructurado de la programación con JSL para crear aplicaciones escalables del mundo real ( 2019-EU-30MP-098 ) y al final recurrí a usar el cuadro espaciador y actualizar su tamaño según el ancho del logotipo:</CODE></P><PRE><CODE class=" language-jsl">Names Default To Here(1);
New Window("Example",
Border Box(Left(10), Right(10), Top(10), Bottom(10), Sides(15),
vlb = V List Box(
Spacer Box(size(1200,0)),
H List Box(
V List Box(TextBox("test"), TextBox("test2")),
sb = Spacer Box(Size(0,0)),
logo = Icon Box("JMPLogo")
);
)
)
);
nw = New Window("Example",
Border Box(Left(10), Right(10), Top(10), Bottom(10), Sides(15),
vlb = V List Box(
Spacer Box(size(1200,0)),
H List Box(
V List Box(TextBox("test"), TextBox("test2")),
sb = Spacer Box(Size(0,0)),
logo = Icon Box("JMPLogo")
);
)
)
);
borderBoxoffset = 24;
sb << Set Size(1200-borderBoxoffset-(logo << get size)[1],0);
Show(nw << get width());