Hi Doru, this appears to be what you want....
| m leftMorph scroll |
m := PanelMorph new.
m
hResizing: #shrinkWrap;
vResizing: #spaceFill;
changeTableLayout;
listDirection: #leftToRight.
m addMorphBack: (leftMorph := Morph new
color: Color red;
minimumExtent: 150@10;
extent: 150@10;
hResizing: #rigid; "shown for clarity, is the default"
vResizing: #spaceFill).
m addMorphBack: (EdgeGripMorph new
width: ProportionalSplitterMorph splitterWidth;
hResizing: #rigid; "not the default this time, vResizing is also
#spaceFill by default"
target: leftMorph).
m addMorphBack: (Morph new
color: Color green;
minWidth: 100;
hResizing: #shrinkWrap;
vResizing: #spaceFill).
scroll := GeneralScrollPane new
changeScrollerTableLayout;
scrollTarget: m.
scroll openInWindow.
Sorry that the edge grip works with minimumExtent (as opposed to minWidth
and minHeight).
Should clean things up sometime, isn't Morphic fun!
Regards, Gary
----- Original Message -----
From: "Tudor Girba" <[email protected]>
To: <[email protected]>
Sent: Monday, January 17, 2011 10:34 PM
Subject: Re: [Pharo-project] splitters in table layout
Hi Gary,
I wish to achieve the effect from the panes inside the OSX Finder. Suppose
that I have two panes vertically stretched and horizontally stacked in a
GeneralScrollbar with a splitter in between. When I drag the splitter, the
first panel should extend and push the second one.
So, basically, if we have shrinkWrap, I would like the splitter to resize
the morph.
Cheers,
Doru
On 17 Jan 2011, at 12:18, Gary Chambers wrote:
Splitters only work with proportional layouts due to the way they work.
Also, since shrink wrap uses the min width/height and splitters have to
work by effectively
changing the position or extent of adjacent morphs (not min), things are
more limited.
Can you describe the effect you wish to achieve?
Regards, Gary
----- Original Message ----- From: "Tudor Girba" <[email protected]>
To: "[email protected] Development"
<[email protected]>
Sent: Sunday, January 16, 2011 12:16 PM
Subject: [Pharo-project] splitters in table layout
Hi,
I would like to have splitters used inside a table layout, but I cannot
seem to manage. In particular, I would like to have these splitters work
with the GeneralScrollPane. I tried something like below, but it seems
that the splitters expect a frame layout.
What can I do about it?
| m scroll |
m := PanelMorph new.
m
hResizing: #shrinkWrap;
vResizing: #spaceFill;
changeTableLayout;
listDirection: #leftToRight.
m addMorphBack: (PanelMorph new
minWidth: 100;
hResizing: #shrinkWrap;
vResizing: #spaceFill).
m addMorphBack: (PanelMorph new
minWidth: 100;
hResizing: #shrinkWrap;
vResizing: #spaceFill).
m addPaneSplitters.
scroll := GeneralScrollPane new
changeScrollerTableLayout;
scrollTarget: m.
scroll openInWindow.
Cheers,
Doru
--
www.tudorgirba.com
"Speaking louder won't make the point worthier."
--
www.tudorgirba.com
"What we can governs what we wish."