Pharo-dev
By thread
pharo-dev@lists.pharo.org
By month
Messages by month
- ----- 2026 -----
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- 1 participants
- 144619 messages
Re: [Pharo-project] collapsing panes
by Tudor Girba
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" <tudor.girba(a)gmail.com>
> To: <Pharo-project(a)lists.gforge.inria.fr>
> 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" <tudor.girba(a)gmail.com>
>> To: <Pharo-project(a)lists.gforge.inria.fr>
>> 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" <tudor.girba(a)gmail.com>
>>> To: <Pharo-project(a)lists.gforge.inria.fr>
>>> 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" <tudor.girba(a)gmail.com>
>>>>> To: "Pharo-project(a)lists.gforge.inria.fr Development" <pharo-project(a)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>
>>>>
>>>>
>>>
>>> --
>>> 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."
Jan. 25, 2011
Re: [Pharo-project] collapsing panes
by Gary Chambers
OK, try the following, after filing in attached change set,
I've had a dabble with announcements too ;-) ...
| container morph1 morph2 morph3 morph4 ex1 ex2 ex3 ex4 sp1 sp2 sp3|
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.
morph4 := (PanelMorph new fillStyle: (SolidFillStyle color: Color green))
hResizing: #spaceFill; vResizing: #spaceFill.
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.
ex4 := (UITheme builder newExpander: 'Green' for: morph4) spaceFillWeight:
4; expanded: true.
sp1 := EdgeGripMorph new
target: ex1;
edgeName: #bottom;
fitTargetOwner: true;
on: #mouseDown send: #expandedSizingRigid to: ex1.
sp2 := EdgeGripMorph new
target: ex2;
edgeName: #bottom;
fitTargetOwner: true;
on: #mouseDown send: #expandedSizingRigid to: ex2.
sp3 := EdgeGripMorph new
target: ex3;
edgeName: #bottom;
fitTargetOwner: true;
on: #mouseDown send: #expandedSizingRigid to: ex3.
ex1 announcer on: ExpanderMorphAnnouncement do: [:ann |
sp1
visible: ann expanderMorph expanded;
disableTableLayout: ann expanderMorph expanded not].
ex2 announcer on: ExpanderMorphAnnouncement do: [:ann |
sp2
visible: ann expanderMorph expanded;
disableTableLayout: ann expanderMorph expanded not].
ex3 announcer on: ExpanderMorphAnnouncement do: [:ann |
sp3
visible: ann expanderMorph expanded;
disableTableLayout: ann expanderMorph expanded not].
container := UITheme builder newColumn: {
ex1.
sp1.
ex2.
sp2.
ex3.
sp3.
ex4}.
container cellInset: 0.
container extent: 400@400.
container openInWindow.
Once people are happy with it I'll wrap thing up into a new morph that
takes the burdensome details away (ExpanderGroupMorph or something like
that).
Later, like tabs, ability to add/remove sections dynamically etc.
Regards, Gary
----- Original Message -----
From: "Gary Chambers" <gazzaguru2(a)btinternet.com>
To: <Pharo-project(a)lists.gforge.inria.fr>
Sent: Tuesday, January 25, 2011 3:07 PM
Subject: Re: [Pharo-project] collapsing panes
> I'm working on it... changeset soon...
>
> Regards, Gary
>
> ----- Original Message -----
> From: "Tudor Girba" <tudor.girba(a)gmail.com>
> To: <Pharo-project(a)lists.gforge.inria.fr>
> 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" <tudor.girba(a)gmail.com>
>> To: <Pharo-project(a)lists.gforge.inria.fr>
>> 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" <tudor.girba(a)gmail.com>
>>> To: <Pharo-project(a)lists.gforge.inria.fr>
>>> 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"
>>>>> <tudor.girba(a)gmail.com>
>>>>> To: "Pharo-project(a)lists.gforge.inria.fr Development"
>>>>> <pharo-project(a)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>
>>>>
>>>>
>>>
>>> --
>>> 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."
>
>
>
>
>
Jan. 25, 2011
Re: [Pharo-project] collapsing panes
by Gary Chambers
I'm working on it... changeset soon...
Regards, Gary
----- Original Message -----
From: "Tudor Girba" <tudor.girba(a)gmail.com>
To: <Pharo-project(a)lists.gforge.inria.fr>
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" <tudor.girba(a)gmail.com>
> To: <Pharo-project(a)lists.gforge.inria.fr>
> 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" <tudor.girba(a)gmail.com>
>> To: <Pharo-project(a)lists.gforge.inria.fr>
>> 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"
>>>> <tudor.girba(a)gmail.com>
>>>> To: "Pharo-project(a)lists.gforge.inria.fr Development"
>>>> <pharo-project(a)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>
>>>
>>>
>>
>> --
>> 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."
Jan. 25, 2011
Re: [Pharo-project] why does monticello updates accessing web when i save on dir?
by Igor Stasenko
At some point it tries to refresh all know repositories..
probably to show you the warning "Oh, but there is more recent version
of the package you saving.. maybe you need to merge with it before
saving"
I think this message could be made optional and turned off for
"professionals" :)
On 25 January 2011 15:25, HwaJong Oh <daliot.oh(a)gmail.com> wrote:
>
> It accesses the web when i store to my local repo.
> Since my last post here, I am coming up with a suspicion that it may have
> some package dependency toward the web.
> I better check.
>
> Your interest tell me, it is not a usual case. It is interesting to me, too.
> :-)
> --
> View this message in context: http://forum.world.st/why-does-monticello-updates-accessing-web-when-i-save…
> Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
>
>
--
Best regards,
Igor Stasenko AKA sig.
Jan. 25, 2011
Re: [Pharo-project] why does monticello updates accessing web when i save on dir?
by HwaJong Oh
It accesses the web when i store to my local repo.
Since my last post here, I am coming up with a suspicion that it may have
some package dependency toward the web.
I better check.
Your interest tell me, it is not a usual case. It is interesting to me, too.
:-)
--
View this message in context: http://forum.world.st/why-does-monticello-updates-accessing-web-when-i-save…
Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
Jan. 25, 2011
Re: [Pharo-project] Issue 3594 in pharo: Expander needs tweaking to enable resize in a TableLayout
by pharoï¼ googlecode.com
Updates:
Labels: Milestone-1.3
Comment #2 on issue 3594 by tudor.gi...(a)gmail.com: Expander needs tweaking
to enable resize in a TableLayout
http://code.google.com/p/pharo/issues/detail?id=3594
(No comment was entered for this change.)
Jan. 25, 2011
Re: [Pharo-project] debugger problems?
by Adrian Lienhard
On Jan 25, 2011, at 14:05 , Tudor Girba wrote:
> I am not alone! :)
>
> Anyone else noticed this?
yes
Is it http://code.google.com/p/pharo/issues/detail?id=709 ?
Adrian
Jan. 25, 2011
Re: [Pharo-project] Issue 3594 in pharo: Expander needs tweaking to enable resize in a TableLayout
by pharoï¼ googlecode.com
Comment #1 on issue 3594 by tudor.gi...(a)gmail.com: Expander needs tweaking
to enable resize in a TableLayout
http://code.google.com/p/pharo/issues/detail?id=3594
And now with the attachment
Attachments:
ExpanderTweak.1.cs 757 bytes
Jan. 25, 2011
Re: [Pharo-project] why does monticello updates accessing web when i save on dir?
by Adrian Lienhard
Does it access the web when you store to your local repo or when you copy to SqueakSource? Was that different with Squeak?
If there's some unnecessary "activity" I would be interested to know about ;)
Cheers,
Adrian
On Jan 25, 2011, at 14:44 , HwaJong Oh wrote:
>
> Saving packages in my local directory repository and then copying them to the
> squeaksource is my pattern of work since Squeak. But, when I apply that
> pattern, Pharo accesses web everytime i save a version taking long time. Is
> this behavior have some meaning or is it some sort of side effect?
>
> Best Regards
> --
> View this message in context: http://forum.world.st/why-does-monticello-updates-accessing-web-when-i-save…
> Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
>
Jan. 25, 2011
Re: [Pharo-project] collapsing panes
by Tudor Girba
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" <tudor.girba(a)gmail.com>
> To: <Pharo-project(a)lists.gforge.inria.fr>
> 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" <tudor.girba(a)gmail.com>
>> To: <Pharo-project(a)lists.gforge.inria.fr>
>> 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" <tudor.girba(a)gmail.com>
>>>> To: "Pharo-project(a)lists.gforge.inria.fr Development" <pharo-project(a)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>
>>>
>>>
>>
>> --
>> 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."
Jan. 25, 2011