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."
