JSL-Layout-AusrichtungGibt es eine Möglichkeit, ein Element entweder am LHS oder am RHS einer HListBox auszurichten?
Grundsätzlich möchte ich eine Vorlage für Anwendungen mit einer 'V List Box' erstellen, die in einer 'H List Box' verschachtelt ist
Die VListBox (roter Text) wird standardmäßig an der linken Seite ausgerichtet. Wenn ich mein Logo hinzufüge, wird es natürlich auch wie abgebildet an der linken Seite ausgerichtet.

Ich möchte jedoch, dass sich das Logo am RHS innerhalb der übergeordneten HLISTBOX ausrichtet.

Hinweis, um die Anwendungsbreite beizubehalten, verwende ich a SpacerBox(Größe(1200, 0)) direkt über der HListBox.
Grüße, Troja
SkriptingBetreff: Ausrichtung des JSL-LayoutsIch glaube, ich habe etwas Ähnliches gemacht, inspiriert von deiner Präsentation Ein strukturierter Ansatz zur Programmierung mit JSL zum Aufbau realer, skalierbarer Anwendungen ( 2019-EU-30MP-098 ) und am Ende habe ich auf die Verwendung einer Spacer-Box zurückgegriffen und die Größe basierend auf der Logobreite aktualisiert:</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">Betreff: Ausrichtung des JSL-Layouts</LINGO-SUB><LINGO-BODY id="lingo-body-415240" slang="en-US"><P>Wenn Sie spacerbox einfach keine Größe zuweisen, müssen Sie die Größe nicht ändern.Es versucht einfach, so viel Platz wie möglich zu füllen.Bei mehreren Spacerboxen im selben Elternteil denke ich, dass es nur gleichmäßig aufgeteilt wird. </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")
);
)
)
);
Betreff: Ausrichtung des JSL-LayoutsOhne ihm eine Größe zu geben, habe ich das Gefühl, dass die Ränder der Borderbox verschwinden, aber dies kann höchstwahrscheinlich ziemlich einfach mit Padding behandelt werden
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")
)
)
)
);Betreff: JSL-Layout-AusrichtungHallo Jarmo, ich habe auch versucht, die Größe der Spacerbox zu berechnen. Da sich die Titelbreite jedoch ändern kann (in diesem Fall „Boilerplate Template“), muss ich dies berücksichtigen. Dazu gehört, die Anzahl der Zeichen im Titelnamen sowie die Schriftgröße zu kennen und die Breite herauszufinden. Ich verwende ein allgemeines Verhältnis von Höhe zu Breite von 0,6 oder 0,7 und es verschiebt das Logo im Allgemeinen ausreichend nach rechts .... aber nicht "sauber" und konsistent an derselben Stelle und nicht "rechts" ausgerichtet
Es ist jedoch gut genug für eine Reihe von Titelbreiten.
Ich hatte auf einen einfacheren Satz von "Ausrichtungs"-Optionen gehofft, ähnlich denen, die beispielsweise in CSS existieren.
Ich werde auch Vinces Vorschlag ausprobieren, "wertlose" Abstandshalter zu verwenden, um zu sehen, wie dies funktioniert.
Danke für die Antworten Leute.
myToolWidth = 800;
myFontScale = 0.7;
myHeading1 = textBox(myScriptName, << fontColor("red"), << setFontSize(24), << setFontStyle("bold"), <<SETWRAP></SETWRAP>
Beispiele für verschiedene Titelbreiten und Berechnung der Sacerbox anhand von Schriftgröße und Zeichenanzahl im Titel.

Betreff: JSL-Layout-AusrichtungToller Vince. Dies funktionierte perfekt für alle Titelbreiten.