Allineamento layout JSLC'era un modo per allineare un elemento a LHS o RHS di un HListBox.
Fondamentalmente voglio creare un modello per le applicazioni con una "Casella di riepilogo V" annidata all'interno di una "Casella di riepilogo H"
Il valore predefinito di VListBox (testo rosso) è allineato al lato sinistro. Se aggiungo il mio logo, si allineerà naturalmente anche al lato sinistro come mostrato.

Tuttavia, voglio che il logo si allinei all'RHS all'interno di HLISTBOX padre.

Nota, per mantenere la larghezza dell'applicazione sto usando a SpacerBox (dimensioni (1200, 0)) proprio sopra HListBox.
Saluti, Troy
ScriptingRe: Allineamento layout JSLPenso di aver fatto qualcosa di simile ispirandomi alla tua presentazione Un approccio strutturato alla programmazione con JSL per la creazione di applicazioni scalabili e del mondo reale ( 2019-EU-30MP-098 ) e alla fine ho fatto ricorso all'utilizzo della casella spaziatore e all'aggiornamento delle dimensioni in base alla larghezza del logo:</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: Allineamento layout JSL</LINGO-SUB><LINGO-BODY id="lingo-body-415240" slang="en-US"><P>Se non dai una dimensione allo spacerbox, non devi ridimensionarlo.Cerca solo di riempire più spazio possibile.Con più spacerbox nello stesso genitore, penso che lo divida in modo 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: Allineamento layout JSLSenza dargli alcuna dimensione, mi sembra che i bordi della casella di confine scompaiano, ma questo può essere gestito molto probabilmente abbastanza facilmente con l'imbottitura
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: Allineamento layout JSLCiao Jarmo, ho provato a calcolare anche la dimensione del distanziatore. Tuttavia, dato che la larghezza del titolo può cambiare ("Boilerplate Template" in questo caso), devo tenerne conto. Ciò implica conoscere il numero di caratteri nel nome del titolo, nonché la dimensione del carattere e calcolare la larghezza. Uso un rapporto altezza/larghezza generale di 0,6 o 0,7 e generalmente spinge il logo sufficientemente a destra... ma non in modo "pulito" e coerente nello stesso punto e non allineato "a destra"
Tuttavia, è abbastanza buono per una gamma di larghezze del titolo.
Speravo in un insieme più semplice di opzioni "Allineamento" simili a quelle che esistono, diciamo, CSS.
Proverò anche il suggerimento di Vince sull'uso di scatole spaziatori "senza valore" per vedere come funziona.
Grazie per le risposte gente.
myToolWidth = 800;
myFontScale = 0.7;
myHeading1 = textBox(myScriptName, << fontColor("red"), << setFontSize(24), << setFontStyle("bold"), <<SETWRAP></SETWRAP>
Esempi di varie larghezze di titolo e calcolo del Sacerbox in base alla dimensione del carattere e al numero di caratteri nel titolo.

Re: Allineamento layout JSLFantastico Vincenzo. Questo ha funzionato perfettamente per tutte le larghezze del titolo.