Jan hat geschrieben:
Was ich mache ist, daß ich in den ::oParent:resize-Slot die Größenänderung aller oder mancher auf dem Parent enthaltenen XBParts durchziehe. Da meist nicht alles angesprochen wird mache ich das manuell für jeden XBPart einzeln. Du hast ja auf dem XUG-Treffen gesehen, was das Resultat ist.
Übrigens: ::oParent ist die Drawingarea eines Dialoges.
klar "kann" man das dann auch so machen, aber es soll doch eine Class werden
deine XbParts "erben" doch von der DrawingArea praktisch den :resize Slot und du musst es nicht
jedem einzelnem XbPart "beibringen". In der :resize Method hab ich doch das
was ich zu Unterscheidung benutze.
In eine Class hast du doch auch Zugriff auf "alle" VAR denen du XbParts zugordnet hast, also
kannst du genau bestimmen wann/wer sich wie verhalten soll(te)
"alles" was mit der Class zu tun hat geht nur durch 1 Aufruf und ist auf die Method konzentriert.
Jan hat geschrieben:
Die 3 Parameter im Codeblock brauche ich daher überhaupt nicht...
bei einer Method myClass:resize FROM XbpDialog hast du völlig recht.
Man kann aber auch eine Procedure/Function für mehrere "ähnliche" Class(en) nehmen und da
ist der 3th. Parameter
self im Prinzip schon richtig damit die Procedure/Function weiss
welche Class den nun gemeint ist
p.s. schon mal mit/ohne :invalidateRect() probiert ?
bei setPosandSize() braucht man oft kein :invalidateRect() während setSize() es oft benötigt ...
was nun wiederum zu einem "flicker" beim :resize führen könnte ...