Hi Gary,

Did you publish the changes to GeneralScrollPane somewhere?

Cheers,
Doru


On 17 Jan 2011, at 12:07, Gary Chambers wrote:

> It seems you are asking for the scroll value before the layout has been 
> calculated.
> (since the window hasn't received a fullbounds yet).
> 
> 
> | m scroll |
> m := PanelMorph new.
> m
> hResizing: #shrinkWrap;
> vResizing: #spaceFill;
> changeTableLayout;
> listDirection: #leftToRight.
> m addMorphBack: (Morph new
> minWidth: 100;
> hResizing: #shrinkWrap;
> vResizing: #spaceFill).
> scroll := GeneralScrollPane new
> changeScrollerTableLayout;
> scrollTarget: m.
> scroll openInWindow.
> scroll hScrollbar setValue: 1.0.
> m addMorphBack: (Morph new
> minWidth: 100;
> hResizing: #shrinkWrap;
> vResizing: #spaceFill).
>   "Recalculate bounds now for this example... not generally needed for normal 
> code!"
> scroll fullBounds.
>   "****"
> scroll hScrollbar value
> 
> Is not normally an issue, as you can see from inspecting the scroller after 
> being opened.
> 
> Regards, Gary
> 
> ----- Original Message ----- From: "Tudor Girba" <[email protected]>
> To: <[email protected]>
> Sent: Sunday, January 16, 2011 10:56 AM
> Subject: Re: [Pharo-project] aligning morphs
> 
> 
> Hi Gary,
> 
> I would like to implement a Finder-like behavior the GeneralScrollPane. For 
> this, I would need a way to control the scrolling so that every time I add a 
> new morph, the scroller scrolls (similar to ScrollBar>>animateValue:duration: 
> from OB).
> 
> The problem seems to be that the scrollbar value is not updated when I add a 
> new morph. Take a look at the code below. The result of the horizontal 
> scrollbar value at the end is 1.0, while it should be lower. Am I doing 
> something wrong, or is this a problem?
> 
> | m scroll |
> m := PanelMorph new.
> m
> hResizing: #shrinkWrap;
> vResizing: #spaceFill;
> changeTableLayout;
> listDirection: #leftToRight;
> m addMorphBack: (Morph new
> minWidth: 100;
> hResizing: #shrinkWrap;
> vResizing: #spaceFill).
> scroll := GeneralScrollPane new
> changeScrollerTableLayout;
> scrollTarget: m.
> scroll openInWindow.
> scroll hScrollbar setValue: 1.0.
> m addMorphBack: (Morph new
> minWidth: 100;
> hResizing: #shrinkWrap;
> vResizing: #spaceFill).
> scroll hScrollbar value
> 
> ==> 1.0
> 
> Cheers,
> Doru
> 
> 
> 
> On 11 Jan 2011, at 15:17, Gary Chambers wrote:
> 
>> A slight revision as this has highlighted an edge case in the original class
>> as to when scrollbars are needed...
>> 
>> Regards, Gary
>> 
>> ----- Original Message ----- From: "Tudor Girba" <[email protected]>
>> To: <[email protected]>
>> Sent: Tuesday, January 11, 2011 1:53 PM
>> Subject: Re: [Pharo-project] aligning morphs
>> 
>> 
>> Excellent!
>> 
>> I tried the example and it works well. I will work with it in the following 
>> days.
>> 
>> Cheers,
>> Doru
>> 
>> 
>> On 11 Jan 2011, at 14:39, Gary Chambers wrote:
>> 
>>> Try the attached change set with the following example...
>>> Let me know if any use and we'll get it integrated.
>>> 
>>> |m|
>>> m := PanelMorph new.
>>> m
>>> fillStyle: Color green;
>>> hResizing: #spaceFill;
>>> vResizing: #spaceFill;
>>> changeTableLayout;
>>> layoutInset: 8.
>>> m addMorph: (Morph new
>>> height: 160;
>>> minWidth: 100;
>>> hResizing: #spaceFill;
>>> vResizing: #shrinkWrap).
>>> GeneralScrollPane new
>>> changeScrollerTableLayout;
>>> scrollTarget: m;
>>> openInWindow
>>> 
>>> 
>>> Regards, Gary
>>> 
>>> ----- Original Message ----- From: "Tudor Girba" <[email protected]>
>>> To: <[email protected]>
>>> Sent: Monday, January 10, 2011 8:23 PM
>>> Subject: Re: [Pharo-project] aligning morphs
>>> 
>>> 
>>> Wow, that would be great! I cannot wait to test it.
>>> 
>>> Cheers,
>>> Doru
>>> 
>>> 
>>> On 10 Jan 2011, at 16:50, Gary Chambers wrote:
>>> 
>>>> I may get time later in the week to have a go with GeneralScrollPane to 
>>>> support the feature you desire... ;-)
>>>> 
>>>> Regards, Gary
>>>> 
>>>> ----- Original Message ----- From: "Tudor Girba" <[email protected]>
>>>> To: <[email protected]>
>>>> Cc: <[email protected]>
>>>> Sent: Monday, January 10, 2011 2:23 PM
>>>> Subject: Re: [Pharo-project] aligning morphs
>>>> 
>>>> 
>>>> Hi Gary,
>>>> 
>>>> Thanks for the reply.
>>>> 
>>>> So, what would be required for scrollbars to work with spaceFill? I would 
>>>> really need this feature, but I do not know how to go about it.
>>>> 
>>>> Could you or anyone else provide some hints? Of course code would be even 
>>>> better. But at this moment hi ts would be helpful, too :)
>>>> 
>>>> Cheers,
>>>> Doru
>>>> 
>>>> 
>>>> 
>>>> On Jan 10, 2011, at 13:04, "Gary Chambers" <[email protected]> 
>>>> wrote:
>>>> 
>>>>> Hi Doru,
>>>>> 
>>>>> #spaceFill constraints are typically only used by table layouts.
>>>>> ScrollPane is designed for fixed size contents, at present.
>>>>> Might be nice to extend it to honour any #spaceFill of its single target 
>>>>> morph.
>>>>> This would simplify usage of scrollers quite a bit!
>>>>> 
>>>>> Regards, Gary
>>>>> 
>>>>> ----- Original Message ----- From: "Tudor Girba" <[email protected]>
>>>>> To: "[email protected] Development" 
>>>>> <[email protected]>
>>>>> Sent: Saturday, January 08, 2011 1:22 AM
>>>>> Subject: [Pharo-project] aligning morphs
>>>>> 
>>>>> 
>>>>> 
>>>>> Hi,
>>>>> 
>>>>> I would need help with understanding the magic behind alignment in 
>>>>> Morphic.
>>>>> 
>>>>> Take the example from below. Could anyone help me with what I should do 
>>>>> to have the morph stretch all the way horizontally?
>>>>> 
>>>>> | scroll window morph |
>>>>> scroll := ScrollPane new.
>>>>> scroll
>>>>> fillStyle: (SolidFillStyle color: Color blue);
>>>>> vResizing: #spaceFill;
>>>>> hResizing: #spaceFill.
>>>>> morph := PanelMorph new.
>>>>> morph
>>>>> fillStyle: (SolidFillStyle color: Color yellow);
>>>>> changeTableLayout;
>>>>> listDirection: #topToBottom;
>>>>> vResizing: #shrinkWrap;
>>>>> hResizing: #spaceFill;
>>>>> layoutInset: 10.
>>>>> morph addMorphBack: (SimpleButtonMorph new width: 200; height: 200).
>>>>> scroll scroller addMorph: morph.
>>>>> window := SystemWindow new.
>>>>> window addMorph: scroll fullFrame: (LayoutFrame fractions: (0 @ 0 corner: 
>>>>> 1 @ 1)).
>>>>> window openInWorld
>>>>> 
>>>>> 
>>>>> Cheers,
>>>>> Doru
>>>>> 
>>>>> 
>>>>> --
>>>>> www.tudorgirba.com
>>>>> 
>>>>> "Every thing should have the right to be different."
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>> 
>>>> 
>>> 
>>> --
>>> www.tudorgirba.com
>>> 
>>> "Problem solving efficiency grows with the abstractness level of problem 
>>> understanding."
>>> 
>>> 
>>> 
>>> <GeneralScrollPaneLayout.1.cs>
>> 
>> --
>> www.tudorgirba.com
>> 
>> "Some battles are better lost than fought."
>> 
>> 
>> 
>> <GeneralScrollPaneLayout.2.cs>
> 
> --
> www.tudorgirba.com
> 
> "In a world where everything is moving ever faster,
> one might have better chances to win by moving slower."
> 
> 
> 
> 
> 

--
www.tudorgirba.com

"To lead is not to demand things, it is to make them happen."




Reply via email to