[Chandler-dev] Setting aside the detail-view relayout work

Brian Kirsch bkirsch at osafoundation.org
Mon Dec 10 11:07:48 PST 2007


Hi Bryan,
See comments in-line.

-Brian

On Dec 7, 2007, at 3:19 PM, Bryan Stearns wrote:

> BKirsch (and others),
>
> I've hit a wall (actually, a series of walls) with the detail-view  
> relayout work: accomplishing what I set out to do keeps leading me  
> into more and more changes, and the original issue doesn't seem to  
> be important enough to make the additional work worthwhile.
>
> To recap: the original goal was to allow labels in the detail view  
> to expand dynamically, to allow longer words to be used by  
> translations, as well as to preserve alignment in English if a  
> plugin added a longer label. This was bug 10133:
> https://bugzilla.osafoundation.org/show_bug.cgi?id=10133
>
> To accomplish this, I creating a custom wx sizer that owned layout  
> of the detail view in both dimensions. I chose the sizer approach  
> because "sizing time" seemed like the right time to address label  
> width, and it allowed me to also fix several other issues that have  
> been bugging me (and others, though to a lesser extent):
>
> - we could let widgets assume their native size (instead of  
> hardcoding their height to a size that looks good on Mac, ok on  
> Windows, and sucky on Linux)
> - we could now align baselines of text in controls and widgets  
> (Mac's currently manually aligned, Windows is one pixel off, and  
> Ubuntu is a few pixels off).
> - we could control arrange of widgets without hard-coding their  
> positions in persisted blocks (so all three platforms would look  
> equally good), and without lots of extra "spacer blocks" that just  
> add overhead.
> - we could work toward true "expando" fields, that would wrap and  
> grow vertically as the user entered more text in them.
>
> To accomplish this, I changed the way detail views are declared  
> (since layout information needs to be persisted differently). I got  
> this generally working for the core detail view, but once I tried  
> to update all the plugins' detail views, I found that some of my  
> earlier assumptions didn't hold, and that in some cases, the  
> plugins don't follow (what I thought were) the rules for how new  
> items and detail views are added to Chandler.
>
> Fixing that will take a lot more work, both on the plugins, on the  
> sizer, and on the existing attribute editors (sizing behavior is  
> distributed all over the place!), but I don't think now is the  
> right time to figure those issues out, since the rearchitecture  
> effort will obsolete all of this soon. Also, we've already shipped  
> the localization release, and no one seems too upset about our  
> inability to dynamically resize labels in the detail view.
>
> So: I'm setting aside this work in favor of the other stuff that's  
> piling up and prioritized for 1.0. It's possible that the sizer  
> work will be useful in the rearchitected world - I'll be talking  
> with Grant about this soon.

I think this makes sense given the difficulty the resizing is causing.

>
> If the width of the labels really is a problem we need to deal with  
> before the rearchitecture branch takes over, we could hard-code a  
> larger size than we need now, or maybe find some other solution  
> that doesn't try to fix the other issues.

I think a larger size may be all that is needed for now. Let's see  
what feedback we get as more localizations are contributed before  
addressing this issue further.


>
> ...Bryan
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
>
> Open Source Applications Foundation "chandler-dev" mailing list
> http://lists.osafoundation.org/mailman/listinfo/chandler-dev



More information about the chandler-dev mailing list