I love that :)
It could be very useful ^^
Ben
On Jan 24, 2011, at 2:36 PM, Gary Chambers wrote:
> Tricky...
> Just an experiment, but try the following after filing in attached change set.
> Can make the re-proportioning explicit and maybe fix things to constrain to
> the owner morph if interested...
>
>
> | container morph1 morph2 morph3 ex1 ex2 ex3 sp1 sp2|
> morph1 := (PanelMorph new fillStyle: (SolidFillStyle color: Color red))
> hResizing: #spaceFill;
> vResizing: #spaceFill.
> morph2 := (PanelMorph new fillStyle: (SolidFillStyle color: Color blue))
> hResizing: #spaceFill;
> vResizing: #spaceFill.
> morph3 := (PanelMorph new fillStyle: (SolidFillStyle color: Color yellow))
> hResizing: #spaceFill;
> vResizing: #spaceFill.
> ex1 := (UITheme builder newExpander: 'Red' for: morph1)
> expanded: true.
> ex2 := (UITheme builder newExpander: 'Blue' for: morph2)
> expanded: true.
> ex3 := (UITheme builder newExpander: 'Yellow' for: morph3)
> expanded: true.
> sp1 := EdgeGripMorph new
> target: ex1;
> edgeName: #bottom;
> vResizing: #rigid;
> extent: 24 @ ProportionalSplitterMorph splitterWidth;
> on: #mouseDown send: #expandedSizingRigid to: ex1.
> sp2 := EdgeGripMorph new
> target: ex2;
> edgeName: #bottom;
> vResizing: #rigid;
> extent: 24 @ ProportionalSplitterMorph splitterWidth;
> on: #mouseDown send: #expandedSizingRigid to: ex2.
> container := UITheme builder newColumn: {
> ex1.
> sp1.
> ex2.
> sp2.
> ex3}.
> container cellInset: 0.
> container extent: 400@400.
> container openInWindow.
>
>
>
> Have a play/fun.
>
> Regards, Gary
>
> ----- Original Message ----- From: "Tudor Girba" <[email protected]>
> To: "[email protected] Development"
> <[email protected]>
> Sent: Friday, January 21, 2011 11:18 PM
> Subject: [Pharo-project] collapsing panes
>
>
> Hi,
>
> I have a question about how to obtain an effect similar to minimizing a pane
> in Eclipse. Let's consider the example from below. I have a
> ProportionalLayout because I want to fill the entire space and be able to
> resize the inside panes. Now, I would also like to have some way of
> collapsing one of the panes and have the rest resize to fill the rest of the
> space. It's a bit like I would need some part of a behavior from the
> TableLayout.
>
> Can anyone provide me with some hints in this direction? Do I need to create
> a new Layout?
>
> | container morph1 morph2 morph3 window |
> container := PanelMorph new.
> morph1 := PanelMorph new fillStyle: (SolidFillStyle color: Color red).
> morph2 := PanelMorph new fillStyle: (SolidFillStyle color: Color blue).
> morph3 := PanelMorph new fillStyle: (SolidFillStyle color: Color yellow).
> container changeProportionalLayout.
> container addMorph: morph1 fullFrame: (LayoutFrame fractions: (0 @ 0 corner:
> 1 @ 0.33)).
> container addMorph: morph2 fullFrame: (LayoutFrame fractions: (0 @ 0.33
> corner: 1 @ 0.66)).
> container addMorph: morph3 fullFrame: (LayoutFrame fractions: (0 @ 0.66
> corner: 1 @ 1)).
> container addPaneSplitters.
> container fillStyle: (SolidFillStyle color: Color yellow).
> container extent: 400@400.
> container openInWindow.
>
> Cheers,
> Doru
>
>
> --
> www.tudorgirba.com
>
> "Be rather willing to give than demanding to get."
>
>
>
> <ExpanderTweak.1.cs>