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