mirror of
https://github.com/cappuccino/cappuccino.git
synced 2026-08-25 04:57:03 +00:00
Partial button image support in nib2cib covering NSAddTemplate and NSRemoveTemplate (standard plus and minus buttons).
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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];
|
||||
|
||||
Reference in New Issue
Block a user