Merge remote branch 'klaaspieter/bindings-fixes' into bindings

Conflicts:
	AppKit/CPControl.j
	Foundation/CPValueTransformer.j
This commit is contained in:
Ross Boucher committed 2010-05-28 10:23:47 -07:00
commit 7c3f94dd87
5 files changed
+52 -29

No files matched your search

+20 -17
View File
@@ -129,7 +129,26 @@ var CPControlBlackColor = [CPColor blackColor];
+ (void)initialize
{
[self exposeBinding:"value"];
if (self === [CPControl class])
{
[self exposeBinding:@"value"];
[self exposeBinding:@"objectValue"];
[self exposeBinding:@"stringValue"];
[self exposeBinding:@"integerValue"];
[self exposeBinding:@"intValue"];
[self exposeBinding:@"doubleValue"];
[self exposeBinding:@"floatValue"];
[self exposeBinding:@"enabled"];
}
}
- (void)_replacementKeyPathForBinding:(CPString)aBinding
{
if (aBinding === @"value")
return @"objectValue";
return [super _replacementKeyPathForBinding:aBinding];
}
- (id)initWithFrame:(CGRect)aFrame
@@ -581,22 +600,6 @@ BRIDGE(ImageScaling, imageScaling, "image-scaling")
return [self hasThemeState:CPThemeStateHighlighted];
}
/*
Support the CPValueBinding binding.
*/
- (void)setValue:(id)aValue
{
[self setObjectValue:aValue];
}
- (id)_replacementKeyPathForBinding:(CPString)binding
{
if ([binding isEqual:@"value"])
return @"objectValue";
return binding;
}
@end
var CPControlValueKey = "CPControlValueKey",
+1 -1
View File
@@ -535,7 +535,7 @@ var CPObjectControllerObjectClassNameKey = @"CPObjectControllerOb
for (var i=0, count=[allValues count]; i<count && value!=CPMultipleValuesMarker; i++)
{
if (![values isEqual:[allValues objectAtIndex:i]])
if (![value isEqual:[allValues objectAtIndex:i]])
value = CPMultipleValuesMarker;
}
}
+5
View File
@@ -263,6 +263,11 @@
[self _setRepresentedObject:target];
}
- (void)removeObject:(id)anObject
{
[self removeObject:anObject inRange:CPMakeRange(0, [self count])];
}
- (void)removeLastObject
{
if (_remove)
+25 -11
View File
@@ -23,8 +23,8 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
@import <Foundation/CPObject.j>
@import <Foundation/CPDictionary.j>
@import "CPObject.j"
@import "CPDictionary.j"
var transformerMap = [CPDictionary dictionary];
@@ -35,6 +35,17 @@ var transformerMap = [CPDictionary dictionary];
}
+ (void)initialize
{
if (self !== [CPValueTransformer class])
return;
[CPValueTransformer setValueTransformer:[[CPNegateBooleanTransformer alloc] init] forName:CPNegateBooleanTransformerName];
[CPValueTransformer setValueTransformer:[[CPIsNilTransformer alloc] init] forName:CPIsNilTransformerName];
[CPValueTransformer setValueTransformer:[[CPIsNotNilTransformer alloc] init] forName:CPIsNotNilTransformerName];
[CPValueTransformer setValueTransformer:[[CPUnarchiveFromDataTransformer alloc] init] forName:CPUnarchiveFromDataTransformerName];
}
+ (void)setValueTransformer:(CPValueTransformer)transformer forName:(CPString)aName
{
[transformerMap setObject:transformer forKey:aName];
@@ -79,7 +90,9 @@ var transformerMap = [CPDictionary dictionary];
// builtin transformers
@implementation CPNegateBooleanTransformer : CPObject
@implementation CPNegateBooleanTransformer : CPValueTransformer
{
}
+ (BOOL)allowsReverseTransformation
{
@@ -103,7 +116,9 @@ var transformerMap = [CPDictionary dictionary];
@end
@implementation CPIsNilTransformer : CPObject
@implementation CPIsNilTransformer : CPValueTransformer
{
}
+ (BOOL)allowsReverseTransformation
{
@@ -122,7 +137,9 @@ var transformerMap = [CPDictionary dictionary];
@end
@implementation CPIsNotNilTransformer : CPObject
@implementation CPIsNotNilTransformer : CPValueTransformer
{
}
+ (BOOL)allowsReverseTransformation
{
@@ -141,7 +158,9 @@ var transformerMap = [CPDictionary dictionary];
@end
@implementation CPUnarchiveFromDataTransformer : CPObject
@implementation CPUnarchiveFromDataTransformer : CPValueTransformer
{
}
+ (BOOL)allowsReverseTransformation
{
@@ -169,8 +188,3 @@ CPNegateBooleanTransformerName = @"CPNegateBooleanTransformerName";
CPIsNilTransformerName = @"CPIsNilTransformerName";
CPIsNotNilTransformerName = @"CPIsNotNilTransformerName";
CPUnarchiveFromDataTransformerName = @"CPUnarchiveFromDataTransformerName";
[CPValueTransformer setValueTransformer:[CPNegateBooleanTransformer new] forName:CPNegateBooleanTransformerName];
[CPValueTransformer setValueTransformer:[CPIsNilTransformer new] forName:CPIsNilTransformerName];
[CPValueTransformer setValueTransformer:[CPIsNotNilTransformer new] forName:CPIsNotNilTransformerName];
[CPValueTransformer setValueTransformer:[CPUnarchiveFromDataTransformer new] forName:CPUnarchiveFromDataTransformerName];
+1
View File
@@ -57,6 +57,7 @@
@import "CPURLResponse.j"
@import "CPUserSessionManager.j"
@import "CPValue.j"
@import "CPValueTransformer.j"
/*! @mainpage
Cappuccino is distributed under the @ref license "GNU LGPL".