mirror of
https://github.com/cappuccino/cappuccino.git
synced 2026-10-09 18:30:59 +00:00
Merge remote branch 'klaaspieter/bindings-fixes' into bindings
Conflicts: AppKit/CPControl.j Foundation/CPValueTransformer.j
This commit is contained in:
commit
7c3f94dd87
5 files changed
+52
-29
No files matched your search
+20
-17
@@ -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",
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -263,6 +263,11 @@
|
||||
[self _setRepresentedObject:target];
|
||||
}
|
||||
|
||||
- (void)removeObject:(id)anObject
|
||||
{
|
||||
[self removeObject:anObject inRange:CPMakeRange(0, [self count])];
|
||||
}
|
||||
|
||||
- (void)removeLastObject
|
||||
{
|
||||
if (_remove)
|
||||
|
||||
@@ -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];
|
||||
@@ -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".
|
||||
|
||||
Reference in new issue
Block a user