Alaska Software Inc. - :layoutAlign
Username: Password:
AuthorTopic: :layoutAlign
Jan Escholt:layoutAlign
on Mon, 08 Jun 2015 20:00:43 +0200
Hallo,

ich habe Probleme mit der automatischen Anpassung von GUI-Elementen, 
speziell Statics (sowohl "normale" als auch XBPSTATIC_TYPE_GROUPBOX). 
Das funktioniert alles so lange, bis ich ein XBPLAYOUT_REL... - Element 
einbaue. Genau das klappt dann nämlich leider nicht, wird einfach ignoriert.

XbpBrowse dagegen reagiert darauf. Aber nur der Browse gesamt, nicht die 
Spalten darin. Wie bekomme ich die dazu, sich nach meinen Wünschen zu 
benehmen? Ein oBrowse:getColumn(n):layoutAlign klappt jedenfalls nicht - 
dann verschwindet die Spalte beim Resizing komplett. Im Gegensatz zu den 
Statics passiert da also was, nur leider nicht das Richtige.

Jan
Till WarwegRe: :layoutAlign
on Mon, 15 Jun 2015 12:55:55 +0200
Hallo Jan,

was machst Du genau? Ich habe eben folgendes probiert

  oSta := XbpStatic():new( oDlg:drawingArea )
  oSta:type := XBPSTATIC_TYPE_GROUPBOX
  oSta:layoutAlign := XBPLAYOUT_LEFT + XBPLAYOUT_RELRIGHT + XBPLAYOUT_BOTTOM + XBPLAYOUT_RELTOP
  oSta:create( ,, {10,100}, {150,50} )

und es schien alles zu funktionieren?

Ich vermute beim XbpBrowse ist es so, daß sich beim Verwenden von :layoutAlign mit Spaltenobjekten die normale 
Positionierungslogik des Browses und die Anpassungen des Layout Managers sich gegenseitig in die Quere kommen. XbpBrowse 
muß an dieser Stelle überarbeitet werden und sollte eine spezielle Layout-Klasse verwenden. Das Anchoring-Schema der 
Standardklasse ist hier weniger gut geeignet. Ich habe für dieses Thema einen PDR verfasst.

Schöne Grüße,
  Till Warweg
  [Alaska Software]

--------------------------------------------------------------------
Technical Support:         support@alaska-software.com
News Server:                 news.alaska-software.com
Homepage:                     http://www.alaska-software.com
KnowledgeBase:            http://www.alaska-software.com/kb
--------------------------------------------------------------------



"Jan Escholt" schrieb im Newsbeitrag news:3dc2cb7b$2c6c4492$241f09@news.alaska-software.com...
> Hallo,
>
> ich habe Probleme mit der automatischen Anpassung von GUI-Elementen, speziell Statics (sowohl "normale" als auch 
> XBPSTATIC_TYPE_GROUPBOX). Das funktioniert alles so lange, bis ich ein XBPLAYOUT_REL... - Element einbaue. Genau das 
> klappt dann nämlich leider nicht, wird einfach ignoriert.
>
> XbpBrowse dagegen reagiert darauf. Aber nur der Browse gesamt, nicht die Spalten darin. Wie bekomme ich die dazu, sich 
> nach meinen Wünschen zu benehmen? Ein oBrowse:getColumn(n):layoutAlign klappt jedenfalls nicht - dann verschwindet die 
> Spalte beim Resizing komplett. Im Gegensatz zu den Statics passiert da also was, nur leider nicht das Richtige.
>
> Jan
Jan EscholtRe: :layoutAlign
on Fri, 03 Jul 2015 17:31:31 +0200
Hallo Till,

gerade kämpfe ich mit einen ähnlichen Problem. Ich versuche mal, das 
kurz zusammen zu fassen:
- Gegeben ist ein Maindialog mit {{XBP_PP_ORIGIN, XBP_ORIGIN_TOPLEFT}}
- Auf diesem MainDialog eine XbpTabPage
- Mit dieser als Parent erstelle ich einen Dialog ohne Rahmen, ohne 
Caption, ohne Icon
- Auf diesem Dialog:drawingArea erstelle ich übereinander angeordnet 
drei Statics vom Typ GroupBox. Startpunkt der ersten bei 10 von oben, 
der zweiten bei oDialog:currentSize / 3, der dritte bei 
oDialog:currentSize / 3 * 2. Die Höhe ist jeweils oDialog:currentSize / 
3 - 20
- Beim Resizen des MainDialogs sollen die drei Statics sich in der Größe 
anpassen.

Ich habe als :layoutAlign versucht:
- XBPLAYOUT_LEFT + XBPLAYOUT_RIGHT + XBPLAYOUT_TOP + XBPLAYOUT_BOTTOM: 
Da werden die Startpunkte oben links korrekt verschoben, aber die Höhe 
schrumpft auf ca. 1/6 statt 1/3
- XBPLAYOUT_LEFT + XBPLAYOUT_RIGHT + XBPLAYOUT_TOP + 
XBPLAYOUT_RELBOTTOM: Das natürlich nur beim obersten Static, die anderen 
jeweils mit REL... an den passenden Stellen. Hier werden alle Statics 
angepasst, aber ungleichmäßig, und sie überlappen sich

Was muß ich machen, da mit die drei Groupboxen korrekt resizen?

Jan

Am 08.06.2015 um 20:00 schrieb Jan Escholt:
> Hallo,
>
> ich habe Probleme mit der automatischen Anpassung von GUI-Elementen,
> speziell Statics (sowohl "normale" als auch XBPSTATIC_TYPE_GROUPBOX).
> Das funktioniert alles so lange, bis ich ein XBPLAYOUT_REL... - Element
> einbaue. Genau das klappt dann nämlich leider nicht, wird einfach
> ignoriert.
>
> XbpBrowse dagegen reagiert darauf. Aber nur der Browse gesamt, nicht die
> Spalten darin. Wie bekomme ich die dazu, sich nach meinen Wünschen zu
> benehmen? Ein oBrowse:getColumn(n):layoutAlign klappt jedenfalls nicht -
> dann verschwindet die Spalte beim Resizing komplett. Im Gegensatz zu den
> Statics passiert da also was, nur leider nicht das Richtige.
>
> Jan