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" <tudor.gi...@gmail.com>
> To: "Pharo-project@lists.gforge.inria.fr Development" 
> <pharo-project@lists.gforge.inria.fr>
> 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>


Reply via email to