Alineación de diseño JSL¿Hay alguna forma de alinear un elemento con el LHS o el 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'
El VListBox (texto rojo) se alinea por defecto con el lado izquierdo. Si agrego mi logotipo, naturalmente se alineará 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, Troy
ScriptingRe: 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 y del mundo real (2019-EU-30MP-098) y al final recurrí a usar el cuadro espaciador y actualizar el tamaño en función del 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());
</CODE></P><P> </P></LINGO-BODY><LINGO-SUB id="lingo-sub-415240" slang="en-US">Re: alineación de diseño JSL</LINGO-SUB><LINGO-BODY id="lingo-body-415240" slang="en-US"><P>Si simplemente no le da un tamaño a spacerbox, no tiene que cambiar su tamaño.Solo trata de llenar tanto espacio como pueda.Con múltiples espaciadores en el mismo padre, creo que simplemente lo divide de manera uniforme. </P>
<P> </P>
<PRE><CODE class=" language-jsl">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 JSLSin darle ningún tamaño, siento que los bordes del cuadro de borde desaparecen, pero esto 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 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 JSLImpresionante Vicente. Esto funcionó perfecto para todos los anchos de título.