From be6a95f1dc75a8d2272795e43a25743cac985715 Mon Sep 17 00:00:00 2001 From: fredkiefer Date: Mon, 7 Mar 2011 15:35:36 +0000 Subject: [PATCH] Implement NSSelectedTagBinding on NSPopupButton. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32486 72102866-910b-0410-8b05-ffd578937521 --- ChangeLog | 6 ++++++ Headers/AppKit/NSKeyValueBinding.h | 3 +++ Source/NSPopUpButton.m | 13 ++++++++++++- Source/externs.m | 3 +++ 4 files changed, 24 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 57c7b3a02..683029d33 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2011-03-07 Fred Kiefer + + * Headers/AppKit/NSKeyValueBinding.h + * Source/externs.m: Add a few more binding names. + * Source/NSPopUpButton.m: Implement NSSelectedTagBinding. + 2011-03-07 Fred Kiefer * Source/NSWindow.m diff --git a/Headers/AppKit/NSKeyValueBinding.h b/Headers/AppKit/NSKeyValueBinding.h index 9816cdd7d..f519d9a83 100644 --- a/Headers/AppKit/NSKeyValueBinding.h +++ b/Headers/AppKit/NSKeyValueBinding.h @@ -107,8 +107,11 @@ APPKIT_EXPORT NSString *NSContentObjectBinding; APPKIT_EXPORT NSString *NSEditableBinding; APPKIT_EXPORT NSString *NSEnabledBinding; APPKIT_EXPORT NSString *NSFontBinding; +APPKIT_EXPORT NSString *NSFontNameBinding; +APPKIT_EXPORT NSString *NSFontSizeBinding; APPKIT_EXPORT NSString *NSHiddenBinding; APPKIT_EXPORT NSString *NSSelectedIndexBinding; +APPKIT_EXPORT NSString *NSSelectedTagBinding; APPKIT_EXPORT NSString *NSTextColorBinding; APPKIT_EXPORT NSString *NSTitleBinding; APPKIT_EXPORT NSString *NSToolTipBinding; diff --git a/Source/NSPopUpButton.m b/Source/NSPopUpButton.m index ccc1914fc..2bf48eddf 100644 --- a/Source/NSPopUpButton.m +++ b/Source/NSPopUpButton.m @@ -65,7 +65,10 @@ Class _nspopupbuttonCellClass = 0; [self setCellClass: [NSPopUpButtonCell class]]; [self exposeBinding: NSSelectedIndexBinding]; - } + [self exposeBinding: NSSelectedTagBinding]; + [self setKeys: [NSArray arrayWithObject: NSSelectedIndexBinding] + triggerChangeNotificationsForDependentKey: NSSelectedTagBinding]; + } } + (Class) cellClass @@ -568,6 +571,10 @@ this to return nil to indicate that we have no context menu. { [self selectItemAtIndex: [anObject intValue]]; } + else if ([aKey isEqual: NSSelectedTagBinding]) + { + [self selectItemWithTag: [anObject integerValue]]; + } else { [super setValue: anObject forKey: aKey]; @@ -580,6 +587,10 @@ this to return nil to indicate that we have no context menu. { return [NSNumber numberWithInt: [self indexOfSelectedItem]]; } + else if ([aKey isEqual: NSSelectedTagBinding]) + { + return [NSNumber numberWithInteger: [self selectedTag]]; + } else { return [super valueForKey: aKey]; diff --git a/Source/externs.m b/Source/externs.m index cd86fbfdc..9cea0e4fb 100644 --- a/Source/externs.m +++ b/Source/externs.m @@ -654,8 +654,11 @@ NSString *NSContentObjectBinding = @"contentObject"; NSString *NSEditableBinding = @"editable"; NSString *NSEnabledBinding = @"enabled"; NSString *NSFontBinding = @"font"; +NSString *NSFontNameBinding = @"fontName"; +NSString *NSFontSizeBinding = @"fontSize"; NSString *NSHiddenBinding = @"hidden"; NSString *NSSelectedIndexBinding = @"selectedIndex"; +NSString *NSSelectedTagBinding = @"selectedTag"; NSString *NSTextColorBinding = @"textColor"; NSString *NSTitleBinding = @"title"; NSString *NSToolTipBinding = @"toolTip";