[squeak-dev] Re: Problem with ProportionalSplitters

Markus Lampert markuslampert at yahoo.com
Wed Sep 30 04:50:04 UTC 2009


OK, the way I changed minExtentFrom: is that it multiplies the minExtent of a morph with the fraction allocated by the frame. CodeHolder>>buildCodePaneWith: sets the frame for the button row to '(0 at 0 corner: 1 at 0.11)' which is about a tenth of the overall hight.

The minimum height for the button row is 20 leading to a minimum height of the code pane of almost 200. Which is used by the ProportionalSplitterMorph to calculate its bounds...

Additional bonus: If the system window is made small enough it becomes impossible for the ProportionalSplitterMorph to honour the minExtent of any of it's adjecent morphs.

I see 2 options:
  1) Restrict the minimum size a system window can be reduced to
  2) Revert most of my changes and let the user decide on what they want to see.


I lean towards 2) because it will probably show the 'least surprise' behaviour and be more deterministic. If you let me know the preferred implementation I'll make the changes.

Have fun,
Markus



----- Original Message ----
> From: Markus Lampert
> To: The general-purpose Squeak developers list <squeak-dev at lists.squeakfoundation.org>
> 
> Played a long time with it until I could reproduce it. Resizing the whole 
> browser window (making it smaller) leads to horrible sizing problems. 
> Interestingly it works fine with the default layout, only if the splitters have 
> been moved beforehand things become ugly (literally).
> 
> So this is probably an issue on smaller screens.
> 
> Will look into it, but it will take a few days.
> 
> Have fun,
> Markus
> 
> 
> 
> 
> ----- Original Message ----
> > From: Andreas Raab 
> > To: The general-purpose Squeak developers list 
> 
> > Sent: Sunday, September 27, 2009 6:52:25 PM
> > Subject: [squeak-dev] Re: Problem with ProportionalSplitters
> > 
> > Are you fully updated? I am unable to recreate the problem here.
> > 
> > Cheers,
> >   - Andreas
> > 
> > Robert Krahn wrote:
> > > Hi,
> > > 
> > > In the recent trunk version the browser is screwed up if one tries to resize 
> 
> > the code pane with its splitter (see below).
> > > 
> > > Robert
> > > 
> > > 
> > > ------------------------------------------------------------------------
> > > 
> > > 
> > > 
> > > On Aug 17, 2009, at 12:29 AM, Alexander Lazarević wrote:
> > > 
> > >> Hi!
> > >> 
> > >> I guess not too many use ProportionalSplitters to change the layout of
> > >> windows these days, but they are broken in the latest trunk image.
> > >> This is because the Method containingWindow in Morph has changed. The
> > >> containing Window is now searched based on the model of the component,
> > >> but ProportionalSplitters do have no model.
> > >> A quick fix is to look up the owner chain of a ProportionalSplitter to
> > >> find an owner that has a model. Most of the time (always?) the owner
> > >> will be the containing window, so I don't know if the ifFalse: Branch
> > >> is needed.
> > >> I will publish this fix so ProportionalSplitters should work again
> > >> until someone with better insights has a better solution.
> > >> 
> > >> Alex
> > >> 
> > > 
> > > 
> > > ------------------------------------------------------------------------
> > > 
> > > 



      



More information about the Squeak-dev mailing list