Source/NSEvent.m

Source/NSScroller.m


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@13187 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
pyr 2002-03-21 21:47:15 +00:00
parent fd6db100ed
commit 4fa33c8a8c
3 changed files with 45 additions and 18 deletions

View file

@ -1,3 +1,15 @@
2002-03-21 Pierre-Yves Rivaille <pyrivail@ens-lyon.fr>
* Source/NSEvent.m
([NSEvent +startPeriodicEventsAfterDelay:withPeriod:]):
([NSEvent +_registerRealTimer:]):
The first periodic event is sent after delay seconds.
It was incorrectly sent after delay+period seconds.
* Source/NSScroller.m ([NSScroller -drawParts]):
Set the scrollbuttons to send actions on mouseDown instead of
mouseUp. Changed the initial delay (to reflect NSEvent changes)
and the period so that it feels smoother.
2002-03-20 Richard Frith-Macdonald <rfm@gnu.org> 2002-03-20 Richard Frith-Macdonald <rfm@gnu.org>
* configure.in: Use info from make package, and look in GNUstep * configure.in: Use info from make package, and look in GNUstep

View file

@ -293,21 +293,15 @@ static Class eventClass;
@"this thread %x", GSCurrentThread()]; @"this thread %x", GSCurrentThread()];
/* /*
* If the delay time is 0 then register a timer immediately. Otherwise * Register a timer that will fire in delaySeconds.
* register a timer with no repeat that when fired registers the real timer * This timer will fire the first event and register
* a repeat timer that will send the following events
*/ */
if (!delaySeconds) timer = [NSTimer timerWithTimeInterval: delaySeconds
timer = [NSTimer timerWithTimeInterval: periodSeconds target: self
target: self selector: @selector(_registerRealTimer:)
selector: @selector(_timerFired:) userInfo: [NSNumber numberWithDouble: periodSeconds]
userInfo: nil repeats: NO];
repeats: YES];
else
timer = [NSTimer timerWithTimeInterval: delaySeconds
target: self
selector: @selector(_registerRealTimer:)
userInfo: [NSNumber numberWithDouble: periodSeconds]
repeats: NO];
[[NSRunLoop currentRunLoop] addTimer: timer [[NSRunLoop currentRunLoop] addTimer: timer
forMode: NSEventTrackingRunLoopMode]; forMode: NSEventTrackingRunLoopMode];
@ -343,6 +337,23 @@ static Class eventClass;
NSMutableDictionary *dict = GSCurrentThreadDictionary(); NSMutableDictionary *dict = GSCurrentThreadDictionary();
NSDebugLog (@"_registerRealTimer: "); NSDebugLog (@"_registerRealTimer: ");
{
NSTimeInterval timeInterval;
NSEvent *periodicEvent;
timeInterval = [[NSDate date] timeIntervalSinceReferenceDate];
periodicEvent = [self otherEventWithType: NSPeriodic
location: NSZeroPoint
modifierFlags: 0
timestamp: timeInterval
windowNumber: 0
context: [NSApp context]
subtype: 0
data1: 0
data2: 0];
[NSApp postEvent: periodicEvent atStart: NO];
}
realTimer = [NSTimer timerWithTimeInterval: [[timer userInfo] doubleValue] realTimer = [NSTimer timerWithTimeInterval: [[timer userInfo] doubleValue]
target: self target: self

View file

@ -241,7 +241,8 @@ static NSColor *scrollBarColor = nil;
[upCell setAlternateImage: [NSImage imageNamed: @"common_ArrowUpH"]]; [upCell setAlternateImage: [NSImage imageNamed: @"common_ArrowUpH"]];
[upCell setImagePosition: NSImageOnly]; [upCell setImagePosition: NSImageOnly];
[upCell setContinuous: YES]; [upCell setContinuous: YES];
[upCell setPeriodicDelay: 0.05 interval: 0.05]; [upCell sendActionOn: (NSLeftMouseDownMask | NSPeriodicMask)];
[upCell setPeriodicDelay: 0.3 interval: 0.04];
downCell = [NSButtonCell new]; downCell = [NSButtonCell new];
[downCell setHighlightsBy: NSChangeBackgroundCellMask|NSContentsCellMask]; [downCell setHighlightsBy: NSChangeBackgroundCellMask|NSContentsCellMask];
@ -249,7 +250,8 @@ static NSColor *scrollBarColor = nil;
[downCell setAlternateImage: [NSImage imageNamed: @"common_ArrowDownH"]]; [downCell setAlternateImage: [NSImage imageNamed: @"common_ArrowDownH"]];
[downCell setImagePosition: NSImageOnly]; [downCell setImagePosition: NSImageOnly];
[downCell setContinuous: YES]; [downCell setContinuous: YES];
[downCell setPeriodicDelay: 0.05 interval: 0.05]; [downCell sendActionOn: (NSLeftMouseDownMask | NSPeriodicMask)];
[downCell setPeriodicDelay: 0.3 interval: 0.04];
leftCell = [NSButtonCell new]; leftCell = [NSButtonCell new];
[leftCell setHighlightsBy: NSChangeBackgroundCellMask|NSContentsCellMask]; [leftCell setHighlightsBy: NSChangeBackgroundCellMask|NSContentsCellMask];
@ -257,7 +259,8 @@ static NSColor *scrollBarColor = nil;
[leftCell setAlternateImage: [NSImage imageNamed: @"common_ArrowLeftH"]]; [leftCell setAlternateImage: [NSImage imageNamed: @"common_ArrowLeftH"]];
[leftCell setImagePosition: NSImageOnly]; [leftCell setImagePosition: NSImageOnly];
[leftCell setContinuous: YES]; [leftCell setContinuous: YES];
[leftCell setPeriodicDelay: 0.05 interval: 0.05]; [leftCell sendActionOn: (NSLeftMouseDownMask | NSPeriodicMask)];
[leftCell setPeriodicDelay: 0.3 interval: 0.04];
rightCell = [NSButtonCell new]; rightCell = [NSButtonCell new];
[rightCell setHighlightsBy: NSChangeBackgroundCellMask|NSContentsCellMask]; [rightCell setHighlightsBy: NSChangeBackgroundCellMask|NSContentsCellMask];
@ -265,7 +268,8 @@ static NSColor *scrollBarColor = nil;
[rightCell setAlternateImage: [NSImage imageNamed: @"common_ArrowRightH"]]; [rightCell setAlternateImage: [NSImage imageNamed: @"common_ArrowRightH"]];
[rightCell setImagePosition: NSImageOnly]; [rightCell setImagePosition: NSImageOnly];
[rightCell setContinuous: YES]; [rightCell setContinuous: YES];
[rightCell setPeriodicDelay: 0.05 interval: 0.05]; [rightCell sendActionOn: (NSLeftMouseDownMask | NSPeriodicMask)];
[rightCell setPeriodicDelay: 0.3 interval: 0.04];
knobCell = [NSButtonCell new]; knobCell = [NSButtonCell new];
[knobCell setButtonType: NSMomentaryChangeButton]; [knobCell setButtonType: NSMomentaryChangeButton];