It's really great working with you :)

Cheers,
Doru


On 25 Jan 2011, at 16:07, Gary Chambers wrote:

> I'm working on it... changeset soon...
> 
> Regards, Gary
> 
> ----- Original Message ----- From: "Tudor Girba" <[email protected]>
> To: <[email protected]>
> Sent: Tuesday, January 25, 2011 2:15 PM
> Subject: Re: [Pharo-project] collapsing panes
> 
> 
> Ahh, indeed! My bad. Thanks Gary.
> 
> The main issue that seems to be left is the resizing. Currently, resizing 
> propagates the changes to all the following morphs. This is great when the 
> table layout is inside a GeneralScrollPane, but it leads to a bit of an odd 
> behavior when stretching inside a bounded morph. Is there an easy option to 
> change the behavior of the resizer?
> 
> Cheers,
> Doru
> 
> 
> 
> On 25 Jan 2011, at 12:07, Gary Chambers wrote:
> 
>> Hi Doru,
>> 
>> The weight should be applied to the expanders themselves...
>> 
>> 
>> ex1 := (UITheme builder newExpander: 'Red' for: morph1)
>> spaceFillWeight: 1;
>> expanded: true.
>> ex2 := (UITheme builder newExpander: 'Blue'  for: morph2)
>> spaceFillWeight: 2;
>> expanded: true.
>> ex3 := (UITheme builder newExpander: 'Yellow'  for: morph3)
>> spaceFillWeight: 3;
>> expanded: true.
>> 
>> Regards, Gary
>> 
>> ----- Original Message ----- From: "Tudor Girba" <[email protected]>
>> To: <[email protected]>
>> Sent: Monday, January 24, 2011 9:14 PM
>> Subject: Re: [Pharo-project] collapsing panes
>> 
>> 
>> Hi Gary,
>> 
>> On 24 Jan 2011, at 16:16, Gary Chambers wrote:
>> 
>>> Hi,
>>> I don't think the layouts can be merged, as such, as they have very 
>>> different
>>> approaches.
>>> 
>>> With the TableLayout, it is possible to assign "weights" to each spaceFill
>>> section to get what you want, I think. (see #spaceFillWeight:)
>> 
>> I tried to use it, but I get no effect when I use it in your example.
>> 
>> Below is one of my trouts (added spaceFillWeight: 10 to morph2). What am I 
>> doing wrong?
>> 
>> | 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;
>> spaceFillWeight: 10.
>> 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.
>> 
>> Cheers,
>> Doru
>> 
>> 
>> 
>>> Regards, Gary
>>> 
>>> ----- Original Message ----- From: "Tudor Girba" <[email protected]>
>>> To: <[email protected]>
>>> Sent: Monday, January 24, 2011 2:32 PM
>>> Subject: Re: [Pharo-project] collapsing panes
>>> 
>>> 
>>> Thanks a lot, Gary! I gave it a try and it does go in the wanted direction.
>>> 
>>> Now, the next question. I see that you are using a TableLayout. Is there a 
>>> way to specify a proportion (like in the proportional layout?) for the 
>>> initial extent of the inner panes?
>>> 
>>> If yes, then I suppose we could merge the two layouts into one.
>>> 
>>> Cheers,
>>> Doru
>>> 
>>> 
>>> On 24 Jan 2011, at 14:51, Benjamin wrote:
>>> 
>>>> 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>
>>>> 
>>>> 
>>> 
>>> --
>>> www.tudorgirba.com
>>> 
>>> "Every now and then stop and ask yourself if the war you're fighting is the 
>>> right one."
>>> 
>>> 
>>> 
>>> 
>>> 
>> 
>> --
>> www.tudorgirba.com
>> 
>> "Problem solving efficiency grows with the abstractness level of problem 
>> understanding."
>> 
>> 
>> 
>> 
>> 
> 
> --
> www.tudorgirba.com
> 
> "There are no old things, there are only old ways of looking at them."
> 
> 
> 
> 
> 

--
www.tudorgirba.com

"Sometimes the best solution is not the best solution."


Reply via email to