It's already integrated in Pharo :). Cheers, Doru
On 20 Jan 2011, at 12:03, Gary Chambers wrote: > Not yet. (gmail issues) .Go ahead though if you wish. > > Regards, Gary > > ----- Original Message ----- From: "Tudor Girba" <[email protected]> > To: <[email protected]> > Sent: Tuesday, January 18, 2011 7:44 PM > Subject: Re: [Pharo-project] aligning morphs > > > 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." > > > > > -- www.tudorgirba.com "Some battles are better lost than fought."
