From b7b85df10a1659b3ea151bc7c84c9cc6ce864b70 Mon Sep 17 00:00:00 2001 From: FredKiefer Date: Wed, 14 Feb 2001 22:50:06 +0000 Subject: [PATCH] Added methods to handle target and action. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@9146 72102866-910b-0410-8b05-ffd578937521 --- Source/NSColorWell.m | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/Source/NSColorWell.m b/Source/NSColorWell.m index 6fc895488..e7cd712c2 100644 --- a/Source/NSColorWell.m +++ b/Source/NSColorWell.m @@ -240,6 +240,8 @@ static NSString *GSColorWellDidBecomeExclusiveNotification = - (void) setColor: (NSColor *)color { ASSIGN(_the_color, color); + // Notify our target of colour change + [self sendAction: _action to: _target]; [self setNeedsDisplay: YES]; } @@ -247,10 +249,31 @@ static NSString *GSColorWellDidBecomeExclusiveNotification = { if ([sender respondsToSelector: @selector(color)]) { - ASSIGN(_the_color, [sender color]); + [self setColor: [sender color]]; } } + +- (void) setAction: (SEL)action +{ + _action = action; +} + +- (SEL) action +{ + return _action; +} + +- (void) setTarget: (id)target +{ + _target = target; +} + +- (id) target +{ + return _target; +} + // // Managing Borders // @@ -321,6 +344,8 @@ static NSString *GSColorWellDidBecomeExclusiveNotification = [aCoder encodeObject: _the_color]; [aCoder encodeValueOfObjCType: @encode(BOOL) at: &_is_active]; [aCoder encodeValueOfObjCType: @encode(BOOL) at: &_is_bordered]; + [aCoder encodeConditionalObject: _target]; + [aCoder encodeValueOfObjCType: @encode(SEL) at: &_action]; } - (id) initWithCoder: (NSCoder*)aDecoder @@ -329,6 +354,10 @@ static NSString *GSColorWellDidBecomeExclusiveNotification = [aDecoder decodeValueOfObjCType: @encode(id) at: &_the_color]; [aDecoder decodeValueOfObjCType: @encode(BOOL) at: &_is_active]; [aDecoder decodeValueOfObjCType: @encode(BOOL) at: &_is_bordered]; + [aDecoder decodeValueOfObjCType: @encode(id) at: &_target]; + // Undo RETAIN by decoder + TEST_RELEASE(_target); + [aDecoder decodeValueOfObjCType: @encode(SEL) at: &_action]; return self; }