Test con Pharo 1.4 summer. Penso che sia meglio spiegarlo usando gli screenshot, il codice è sotto.Morphic: ridimensiona automaticamente la casella di gruppo contenuta in un riquadro di scorrimento?
Questo è il mio stato iniziale (quello che sto ottenendo ora con il mio codice):
Voglio che il morph casella di gruppo da riempire orizzontalmente in apertura, in questo modo:
E dopo il ridimensionamento, voglio il Variante casella di gruppo per mantenere i limiti, vale a dire:
Questo è il codice che ho provato:
| s morph1 morph2 row groupBox scroller |
s := ScrollPane new.
morph1 := BorderedMorph new.
morph2 := BorderedMorph new.
row := UITheme builder newRow: {morph1 . morph2}.
groupBox := UITheme builder newGroupbox: 'Group Box Test' for: row.
groupBox
layoutFrame: (LayoutFrame fractions: (0 @ 0 corner: 1 @ 0.8));
vResizing: #spaceFill;
hResizing: #spaceFill;
layoutChanged.
scroller := s scroller.
scroller
addMorph: (groupBox position: [email protected])
fullFrame: (0 @ 0 corner: [email protected]).
s scroller color: Color white.
s
extent: [email protected];
openCenteredInWorld
Il contenitore deve essere uno ScrollPane.
ho adattato il codice di Bert non utilizzare il polimorfo UIBuilder, con conseguente:
morph1 := Morph new.
morph2 := Morph new.
row := ScrollPane new.
row
color: Color white; borderColor: Color gray; borderWidth: 1;
layoutPolicy: ProportionalLayout new.
row scroller
addMorph: morph1 fullFrame: (LayoutFrame fractions: ([email protected] corner: [email protected]) offsets: ([email protected] corner: [email protected]));
addMorph: morph2 fullFrame: (LayoutFrame fractions: ([email protected] corner: [email protected]) offsets: ([email protected] corner: [email protected])).
row
extent: [email protected];
openInHand
ma anche non funziona perché morphs blu interni sono sovrapposti e non riempimento della struttura specificata. Ho provato molte combinazioni usando i frame ma niente ha funzionato finora. Sai cosa mi manca?
Ho modificato la mia domanda aggiungendo una versione dell'adattatore del codice, ma non sembra funzionare neanche. Forse è un bug ScrollPane? – user183928