gnustep-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Help adding horizontal scrolling to NSBrowser


From: Gregory Casamento
Subject: Re: Help adding horizontal scrolling to NSBrowser
Date: Thu, 11 Feb 2010 07:29:57 -0500

Quentin,

Actually, NSBrowser does implemend keyed coding in initWithCoder:
(See NSBrowser.m:2715) :).   You may be looking a little earlier in
that file and seeing the initWithCoder: implementation of
NSBrowserColumn.

GC

On Thu, Feb 11, 2010 at 7:10 AM, Quentin Mathé <address@hidden> wrote:
> Le 11 févr. 2010 à 09:24, Richard Frith-Macdonald a écrit :
>
>> On 10 Feb 2010, at 21:38, Eric Wasylishen wrote:
>>
>>> Hi,
>>> Yesterday I added support for horizontal scrolling to NSScrollView and
>>> X11 -back, which is a really nice improvement for people with trackpads or
>>> Apple mice.
>>>
>>> I was trying to add support for this to NSBrowser, but it's a bit
>>> trickier. I need the columns' scroll views to forward -scrollWheel: events
>>> with a horizontal component up to the NSBrowser.  I think using a private
>>> NSScrollView subclass for the columns is the only way to do this (for what
>>> it's worth, Cocoa subclasses NSScrollView too).
>>>
>>> Here is a patch that more or less works, but it won't interact properly
>>> with nib/gorm saving and loading. In particular, when I save a .nib
>>> containing a NSBrowser in Interface Builder, there are no NSScrollView's
>>> saved in the nib. However, when I save a .nib containing a NSBrowser in
>>> GORM, the NSScrollViews are saved. I guess I could change the class of the
>>> NSScrollView to GSBrowserScrollView when loading the nib, but that seems a
>>> bit ugly.
>>>
>>> Any ideas how I should tackle this?
>>
>> Greg will know about GORM and the way it handles NSBrowser, but from the
>> point of view of archiving/unarchiving objects to/from nib the solution is
>> probably to:
>> 1. continue to support existing gorm files by retaining the existing
>> decoding implementation, but
>> 2. increment the class version, and use the class version to switch to a
>> new path in encodeWithCoder: and initWithCoder: which doesn't store the
>> scrollviews but (presumably regenerates them some way when decoding).
>> 3. modify the keyed archiver support to match the behavior of Cocoa nibs
>> while retaining backward compatibility (similar to the change for old style
>> coding which was controlled by the class version, but in keyed archiving the
>> behavior is controlled by the presence of the particular keyed values in the
>> archive).
>
> iirc NSBrowser doesn't implement keyed archiving on GNUstep, and NSBrowser
> on Mac OS X also uses a new implementation (e.g. NSMatrix is not used in
> each column) whose keyed archiving ouput is hard to support on GNUstep
> without rewriting NSBrowser first.
> So I don't think Mac OS X compatibility really matters here.
>
> Cheers,
> Quentin.
>
> _______________________________________________
> Gnustep-dev mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/gnustep-dev
>



-- 
Gregory Casamento
yahoo/skype: greg_casamento, aol: gjcasa
(240)274-9630 (Cell)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]