Hey Eric, Le 11 août 09 à 20:11, Eric Wasylishen a écrit :
> Author: ericwa > Date: Tue Aug 11 20:11:51 2009 > New Revision: 5106 > > URL: http://svn.gna.org/viewcvs/etoile?rev=5106&view=rev > Log: > Added an experimental 'slideshow' layout, which displays one layout > item at a time, stretched to fit the available space. > > Added: > trunk/Etoile/Frameworks/EtoileUI/Headers/ETSlideshowLayout.h > - copied, changed from r5089, trunk/Etoile/Frameworks/EtoileUI/ > Headers/ETLineLayout.h > trunk/Etoile/Frameworks/EtoileUI/Source/ETSlideshowLayout.m > - copied, changed from r5089, trunk/Etoile/Frameworks/EtoileUI/ > Source/ETLineLayout.m The slideshow layout is a nice idea… :-) However ETPaneLayout already provides almost all you need. A slideshow is just a pane-like layout with a navigation bar that can be visible or not. ETPaneLayout still a bit rough and miss some methods but it should now be usable (since July). I think you don't even need a subclass. My idea was to add several factory methods to ETPaneLayout like +slideshowLayout, +drillDownLayout, +paneNavigationLayout, +wizardLayout etc. that return a pane layout configured in a special way. + slideshowLayout { ETPaneLayout *layout = [self layout]; // self is ETPaneLayout class here // This method isn't yet implemented though [layout setBarVisible: NO]; return layout; } A variant with back/forward/etc. buttons would be like: + slideshowLayoutWithNavigationbar { ETPaneLayout *layout = [self layout]; [[layout barItem] setLayout: [ETLineLayout layout]]; [[layout barItem] addItem: [itemFactory buttonWithTitle: _(@"Back") target: layout action: @selector(goBack:)]; [[layout barItem] addItem: [itemFactory buttonWithTitle: _(@"Forward") target: layout action: @selector(goForward:)]; // More buttons could be added and the bar position (left, top, down, bottom) controlled with -setBarPosition: // Take note -setBarPosition: exists but only 'top' is supported (the missing implementation is in the -tile method) return layout; } As a side note, to sublass ETComputedLayout to present a single item isn't a good idea and make everything a lot more complex than it ought to be. You'll probably encounter bugs or limitations with ETPaneLayout though. Just tell me and I'll help you to fix them quickly :-) Cheers, Quentin. _______________________________________________ Etoile-dev mailing list [email protected] https://mail.gna.org/listinfo/etoile-dev
