Partial button image support in nib2cib covering NSAddTemplate and NSRemoveTemplate (standard plus and minus buttons).

This commit is contained in:
Alexander Ljungberg
2011-05-30 22:16:42 -04:00
parent 8a9d997b44
commit b4b54e5744
3 changed files with 20 additions and 1 deletions
+7
View File
@@ -83,7 +83,14 @@ var _CPCibCustomResourceClassNameKey = @"_CPCibCustomResourceClassNameKey",
if ([aCoder respondsToSelector:@selector(bundle)] &&
(![aCoder respondsToSelector:@selector(awakenCustomResources)] || [aCoder awakenCustomResources]))
if (_className === @"CPImage")
{
if (_resourceName == "CPAddTemplate")
return [[CPImage alloc] initWithContentsOfFile:[[CPBundle bundleForClass:[CPButtonBar class]] pathForResource:@"plus_button.png"] size:CGSizeMake(11, 12)];
else if (_resourceName == "CPRemoveTemplate")
return [[CPImage alloc] initWithContentsOfFile:[[CPBundle bundleForClass:[CPButtonBar class]] pathForResource:@"minus_button.png"] size:CGSizeMake(11, 4)];
return [[CPImage alloc] initWithContentsOfFile:[[aCoder bundle] pathForResource:_resourceName] size:_properties.valueForKey(@"size")];
}
return self;
}
+3
View File
@@ -196,6 +196,7 @@ var NSButtonIsBorderedMask = 0x00800000,
_keyEquivalentModifierMask = [cell keyEquivalentModifierMask];
_allowsMixedState = [cell allowsMixedState];
[self setImage:[cell normalImage]];
[self setImagePosition:[cell imagePosition]];
return self;
@@ -223,6 +224,7 @@ var NSButtonIsBorderedMask = 0x00800000,
int _bezelStyle @accessors(readonly, getter=bezelStyle);
CPString _title @accessors(readonly, getter=title);
CPImage _normalImage @accessors(readonly, getter=normalImage);
CPImage _alternateImage @accessors(readonly, getter=alternateImage);
BOOL _allowsMixedState @accessors(readonly, getter=allowsMixedState);
@@ -251,6 +253,7 @@ var NSButtonIsBorderedMask = 0x00800000,
// ... and _objectValue is _state
_objectValue = [self state];
_normalImage = [aCoder decodeObjectForKey:@"NSNormalImage"];
_alternateImage = [aCoder decodeObjectForKey:@"NSAlternateImage"];
_allowsMixedState = (cellFlags2 & NSButtonAllowsMixedStateMask) ? YES : NO;
+10 -1
View File
@@ -40,8 +40,17 @@ var FILE = require("file");
var size = CGSizeMakeZero();
if (![[aCoder resourcesPath] length])
if (_resourceName == "NSSwitch")
return nil;
else if (_resourceName == "NSAddTemplate" || _resourceName == "NSRemoveTemplate")
{
// Defer resolving this path until runtime.
_resourceName = _resourceName.replace("NS", "CP");
}
else if (![[aCoder resourcesPath] length])
{
CPLog.warn("Resources found in nib, but no resources path specified with -R option.");
}
else
{
var resourcePath = [aCoder resourcePathForName:_resourceName];