Merge branch 'refs/heads/master' into nib2cib-cpbrowser-compat

This commit is contained in:
Andrew Hankinson
2013-02-21 13:58:48 -05:00
173 changed files with 3594 additions and 826 deletions
+4 -4
View File
@@ -91,15 +91,15 @@ var bottomHeight = 71;
CPView _accessoryView @accessors(property=accessoryView);
CPImage _icon @accessors(property=icon);
CPArray _buttons @accessors(property=buttons,readonly);
CPCheckBox _suppressionButton @accessors(property=suppressionButton,readonly);
CPArray _buttons @accessors(property=buttons, readonly);
CPCheckBox _suppressionButton @accessors(property=suppressionButton, readonly);
id _delegate @accessors(property=delegate);
id _modalDelegate;
SEL _didEndSelector;
_CPAlertThemeView _themeView @accessors(property=themeView, readonly);
CPWindow _window @accessors(property=window,readonly);
CPWindow _window @accessors(property=window, readonly);
int _defaultWindowStyle;
CPImageView _alertImageView;
@@ -640,7 +640,7 @@ var bottomHeight = 71;
var frame = CGRectMakeZero();
frame.size = [_themeView currentValueForThemeAttribute:@"size"];
_window = [[CPWindow alloc] initWithContentRect:frame styleMask:forceStyle || _defaultWindowStyle];
_window = [[CPPanel alloc] initWithContentRect:frame styleMask:forceStyle || _defaultWindowStyle];
[_window setLevel:CPStatusWindowLevel];
if (_title)
+8 -8
View File
@@ -617,6 +617,14 @@ CPRunContinuesResponse = -1002;
[[theWindow platformWindow] _propagateCurrentDOMEvent:willPropagate];
#endif
if ([anEvent type] == CPMouseMoved)
{
if (theWindow !== _lastMouseMoveWindow)
[_lastMouseMoveWindow _mouseExitedResizeRect];
_lastMouseMoveWindow = theWindow;
}
if (_eventListeners.length)
{
var listener = _eventListeners[_eventListeners.length - 1];
@@ -637,14 +645,6 @@ CPRunContinuesResponse = -1002;
return;
}
if ([anEvent type] == CPMouseMoved)
{
if (theWindow !== _lastMouseMoveWindow)
[_lastMouseMoveWindow _mouseExitedResizeRect];
_lastMouseMoveWindow = theWindow;
}
if (theWindow)
[theWindow sendEvent:anEvent];
}
+13 -4
View File
@@ -61,11 +61,11 @@ var DefaultLineWidth = 1.0;
/*!
Create a new CPBezierPath object initialized with an oval path drawn within a rectangular path.
*/
+ (CPBezierPath)bezierPathWithOvalInRect:(CGRect)rect
+ (CPBezierPath)bezierPathWithOvalInRect:(CGRect)aRect
{
var path = [self bezierPath];
[path appendBezierPathWithOvalInRect:rect];
[path appendBezierPathWithOvalInRect:aRect];
return path;
}
@@ -73,11 +73,20 @@ var DefaultLineWidth = 1.0;
/*!
Create a new CPBezierPath object initialized with a rectangular path.
*/
+ (CPBezierPath)bezierPathWithRect:(CGRect)rect
+ (CPBezierPath)bezierPathWithRect:(CGRect)aRect
{
var path = [self bezierPath];
[path appendBezierPathWithRect:rect];
[path appendBezierPathWithRect:aRect];
return path;
}
+ (CPBezierPath)bezierPathWithRoundedRect:(CGRect)aRect xRadius:(float)xRadius yRadius:(float)yRadius
{
var path = [self bezierPath];
[path appendBezierPathWithRoundedRect:aRect xRadius:xRadius yRadius:yRadius];
return path;
}
+1 -1
View File
@@ -122,7 +122,7 @@ CPButtonImageOffset = 3.0;
+ (Class)_binderClassForBinding:(CPString)aBinding
{
if (aBinding === CPTargetBinding || [aBinding hasPrefix:CPArgumentBinding])
return [CPArgumentTargetBinding class];
return [CPActionBinding class];
return [super _binderClassForBinding:aBinding];
}
+4 -1
View File
@@ -544,7 +544,10 @@ var HORIZONTAL_MARGIN = 2;
itemSize.width = MIN(maxItemSizeWidth, width);
}
numberOfRows = MAX(1.0 , MIN(CEIL(itemsCount / numberOfColumns), _maxNumberOfRows));
numberOfRows = CEIL(itemsCount / numberOfColumns);
if (_maxNumberOfRows > 0)
numberOfRows = MIN(numberOfRows, _maxNumberOfRows);
height = MAX(height, numberOfRows * (_minItemSize.height + _verticalMargin));
+3
View File
@@ -202,6 +202,9 @@ if (typeof document != "undefined")
{
PLATFORM_FEATURES[CPHTMLCanvasFeature] = YES;
// Any browser that supports canvas supports CSS opacity
PLATFORM_FEATURES[CPOpacityRequiresFilterFeature] = NO;
// Detect canvas setTransform/transform support
var context = document.createElement("canvas").getContext("2d");
+168
View File
@@ -0,0 +1,168 @@
/*
* CPDictionaryController.j
* AppKit
*
* Adapted from Cocotron, by Johannes Fortmann
*
* Created by Blair Duncan
* Copyright 2013, SGL Studio, BBDO Toronto All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
@import "CPArrayController.j"
@implementation CPDictionaryController : CPArrayController
{
CPDictionary _contentDictionary;
CPArray _includedKeys @accessors(property=includedKeys);
CPArray _excludedKeys @accessors(property=excludedKeys);
CPString _initialKey @accessors(property=initialKey);
id _initialValue @accessors(property=initialValue);
}
- (id)init
{
self = [super init];
if (self)
{
_initialKey = @"key";
_initialValue = @"value";
}
return self;
}
- (id)newObject
{
var keys = [_contentDictionary allKeys],
newKey = _initialKey,
count = 0;
if ([keys containsObject:newKey])
while ([keys containsObject:newKey])
newKey = [CPString stringWithFormat:@"%@%i", _initialKey, ++count];
return [self _newObjectWithKey:newKey value:_initialValue];
}
- (id)_newObjectWithKey:(CPString)aKey value:(id)aValue
{
var aNewObject = [_CPDictionaryControllerKeyValuePair new];
aNewObject._dictionary = _contentDictionary;
aNewObject._controller = self;
aNewObject._key = aKey;
if (aValue !== nil)
[aNewObject setValue:aValue];
return aNewObject;
}
- (CPDictionary)contentDictionary
{
return _contentDictionary;
}
- (void)setContentDictionary:(CPDictionary)aDictionary
{
if (aDictionary == _contentDictionary)
return;
if ([aDictionary isKindOfClass:[CPDictionary class]])
_contentDictionary = aDictionary;
else
_contentDictionary = nil;
var array = [CPArray array],
allKeys = [_contentDictionary allKeys];
[allKeys addObjectsFromArray:_includedKeys];
var iter = [[CPSet setWithArray:allKeys] objectEnumerator],
obj;
while ((obj = [iter nextObject]) !== nil)
if (![_excludedKeys containsObject:obj])
[array addObject:[self _newObjectWithKey:obj value:nil]];
[super setContent:array];
}
@end
var CPIncludedKeys = @"CPIncludedKeys",
CPExcludedKeys = @"CPExcludedKeys";
@implementation CPDictionaryController (CPCoding)
- (id)initWithCoder:(CPCoder)aCoder
{
self = [super initWithCoder:aCoder];
if (self)
{
_includedKeys = [aCoder decodeObjectForKey:CPIncludedKeys];
_excludedKeys = [aCoder decodeObjectForKey:CPExcludedKeys];
_initialKey = @"key";
_initialValue = @"value";
}
return self;
}
- (void)encodeWithCoder:(CPCoder)aCoder
{
[super encodeWithCoder:aCoder];
[aCoder encodeObject:_includedKeys forKey:CPIncludedKeys];
[aCoder encodeObject:_excludedKeys forKey:CPExcludedKeys];
}
@end
@implementation _CPDictionaryControllerKeyValuePair : CPObject
{
CPString _key @accessors(property=key);
CPDictionary _dictionary @accessors(property=dictionary);
CPDictionaryController _controller @accessors(property=controller);
}
- (id)value
{
return [_dictionary objectForKey:_key];
}
- (void)setValue:(id)aValue
{
[_dictionary setObject:aValue forKey:_key];
}
- (BOOL)isExplicitlyIncluded
{
return [[_controller _includedKeys] containsObject:_key];
}
@end
+17 -11
View File
@@ -38,7 +38,6 @@ var IEFlashCLSID = "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000";
#if PLATFORM(DOM)
DOMElement _DOMParamElement;
DOMElement _DOMObjectElement;
DOMElement _DOMInnerObjectElement;
#endif
}
@@ -52,22 +51,16 @@ var IEFlashCLSID = "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000";
if (!CPBrowserIsEngine(CPInternetExplorerBrowserEngine))
{
_DOMObjectElement = document.createElement(@"object");
_DOMObjectElement.id = [self elementID];
_DOMObjectElement.width = @"100%";
_DOMObjectElement.height = @"100%";
_DOMObjectElement.style.top = @"0px";
_DOMObjectElement.style.left = @"0px";
_DOMObjectElement.type = @"application/x-shockwave-flash";
_DOMObjectElement.setAttribute(@"classid", IEFlashCLSID);
_DOMParamElement = document.createElement(@"param");
_DOMParamElement.name = @"movie";
_DOMInnerObjectElement = document.createElement(@"object");
_DOMInnerObjectElement.width = @"100%";
_DOMInnerObjectElement.height = @"100%";
_DOMObjectElement.appendChild(_DOMParamElement);
_DOMObjectElement.appendChild(_DOMInnerObjectElement);
_DOMElement.appendChild(_DOMObjectElement);
}
@@ -89,7 +82,7 @@ var IEFlashCLSID = "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000";
if (!CPBrowserIsEngine(CPInternetExplorerBrowserEngine))
{
_DOMParamElement.value = [aFlashMovie filename];
_DOMInnerObjectElement.data = [aFlashMovie filename];
_DOMObjectElement.data = [aFlashMovie filename];
}
else
[self _rebuildIEObjects];
@@ -107,7 +100,10 @@ var IEFlashCLSID = "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000";
enumerator = [aDictionary keyEnumerator],
key;
while ((key = [enumerator nextObject]) !== nil)
if (key = [enumerator nextObject])
varString = [varString stringByAppendingFormat:@"%@=%@", key, [aDictionary objectForKey:key]];
while (key = [enumerator nextObject])
varString = [varString stringByAppendingFormat:@"&%@=%@", key, [aDictionary objectForKey:key]];
if (!_params)
@@ -184,10 +180,20 @@ var IEFlashCLSID = "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000";
_DOMObjectElement = document.createElement(@"object");
_DOMElement.appendChild(_DOMObjectElement);
_DOMObjectElement.outerHTML = [CPString stringWithFormat:@"<object classid=%@ width=%@ height=%@>%@</object>", IEFlashCLSID, CGRectGetWidth([self bounds]), CGRectGetHeight([self bounds]), paramString];
_DOMObjectElement.outerHTML = [CPString stringWithFormat:@"<object id=%@ classid=%@ width=%@ height=%@>%@</object>", [self elementID], IEFlashCLSID, CGRectGetWidth([self bounds]), CGRectGetHeight([self bounds]), paramString];
}
#endif
- (CPString)elementID
{
return @"CPFV_" + [self UID];
}
- (void)mouseMoved:(id)sommit
{
[[[self window] platformWindow] _propagateCurrentDOMEvent:YES];
}
- (void)mouseDragged:(CPEvent)anEvent
{
[[[self window] platformWindow] _propagateCurrentDOMEvent:YES];
+8 -8
View File
@@ -48,8 +48,8 @@ var imagesForNames = { },
AppKitImageForNames = { },
ImageDescriptionFormat = "%s {\n filename: \"%s\",\n size: { width:%f, height:%f }\n}";
AppKitImageForNames[CPImageNameColorPanel] = CGSizeMake(26.0, 29.0);
AppKitImageForNames[CPImageNameColorPanelHighlighted] = CGSizeMake(26.0, 29.0);
AppKitImageForNames[CPImageNameColorPanel] = _CGSizeMake(26.0, 29.0);
AppKitImageForNames[CPImageNameColorPanelHighlighted] = _CGSizeMake(26.0, 29.0);
/*!
Returns a resource image with a relative path and size
@@ -72,7 +72,7 @@ function CPImageInBundle()
if (typeof(arguments[1]) === "number")
{
if (arguments[1] !== nil && arguments[1] === undefined)
size = CGSizeMake(arguments[1], arguments[2]);
size = _CGSizeMake(arguments[1], arguments[2]);
bundle = arguments[3];
}
@@ -131,7 +131,7 @@ function CPAppKitImage(aFilename, aSize)
- (id)init
{
return [self initByReferencingFile:@"" size:CGSizeMake(-1, -1)];
return [self initByReferencingFile:@"" size:_CGSizeMake(-1, -1)];
}
/*!
@@ -148,7 +148,7 @@ function CPAppKitImage(aFilename, aSize)
if (self)
{
_size = CGSizeCreateCopy(aSize);
_size = _CGSizeMakeCopy(aSize);
_filename = aFilename;
_loadStatus = CPImageLoadStatusInitialized;
}
@@ -180,7 +180,7 @@ function CPAppKitImage(aFilename, aSize)
*/
- (id)initWithContentsOfFile:(CPString)aFilename
{
self = [self initByReferencingFile:aFilename size:CGSizeMake(-1, -1)];
self = [self initByReferencingFile:aFilename size:_CGSizeMake(-1, -1)];
if (self)
[self load];
@@ -247,7 +247,7 @@ function CPAppKitImage(aFilename, aSize)
*/
- (void)setSize:(CGSize)aSize
{
_size = CGSizeMakeCopy(aSize);
_size = _CGSizeMakeCopy(aSize);
}
/*!
@@ -433,7 +433,7 @@ function CPAppKitImage(aFilename, aSize)
// FIXME: IE is wrong on image sizes????
if (!_size || (_size.width == -1 && _size.height == -1))
_size = CGSizeMake(_image.width, _image.height);
_size = _CGSizeMake(_image.width, _image.height);
[[CPNotificationCenter defaultCenter]
postNotificationName:CPImageDidLoadNotification
+3 -3
View File
@@ -550,7 +550,7 @@ var CPBindingOperationAnd = 0,
@end
@implementation _CPMultipleValueArgumentBinding : CPBinder
@implementation _CPMultipleValueActionBinding : CPBinder
{
CPString _argumentBinding;
CPString _targetBinding;
@@ -652,7 +652,7 @@ var CPBindingOperationAnd = 0,
@end
@implementation CPArgumentTargetBinding : _CPMultipleValueArgumentBinding
@implementation CPActionBinding : _CPMultipleValueActionBinding
- (id)init
{
@@ -667,7 +667,7 @@ var CPBindingOperationAnd = 0,
@end
@implementation CPDoubleClickArgumentTargetBinding : _CPMultipleValueArgumentBinding
@implementation CPDoubleClickActionBinding : _CPMultipleValueActionBinding
- (id)init
{
+31 -3
View File
@@ -25,6 +25,7 @@
@import <Foundation/CPNotificationCenter.j>
@import <Foundation/CPString.j>
@import "CPKeyValueBinding.j"
@import "CPMenuItem.j"
@global CPApp
@@ -605,8 +606,9 @@ var _CPMenuBarVisible = NO,
/*!
Enables or disables the receivers menu items.
If the target does not implement the menu item's action method the item is disabled.
If the target responsds to selector validateMenuItem: or validateUserInterfaceItem: (in that order) the return value is used.
If the item has no target, an action binding is checked. If the target does not implement
the menu item's action method or the binding's selector, the item is disabled.
If the target responds to selector validateMenuItem: or validateUserInterfaceItem: (in that order) the return value is used.
*/
- (void)update
{
@@ -614,6 +616,7 @@ var _CPMenuBarVisible = NO,
return;
var items = [self itemArray];
for (var i = 0; i < [items count]; i++)
{
var item = [items objectAtIndex:i];
@@ -623,7 +626,26 @@ var _CPMenuBarVisible = NO,
var validator = [CPApp targetForAction:[item action] to:[item target] from:item];
if (!validator || ![validator respondsToSelector:[item action]])
if (!validator)
{
// Check to see if there is a target binding with a valid selector
var info = [CPBinder infoForBinding:CPTargetBinding forObject:item],
valid = NO;
if (info)
{
var object = [info objectForKey:CPObservedObjectKey],
keyPath = [info objectForKey:CPObservedKeyPathKey],
options = [info objectForKey:CPOptionsKey],
target = [object valueForKeyPath:keyPath],
selector = [options valueForKey:CPSelectorNameBindingOption];
valid = target && selector && [target respondsToSelector:CPSelectorFromString(selector)];
}
[item setEnabled:valid];
}
else if (![validator respondsToSelector:[item action]])
[item setEnabled:NO];
else if ([validator respondsToSelector:@selector(validateMenuItem:)])
[item setEnabled:[validator validateMenuItem:item]];
@@ -673,7 +695,13 @@ var _CPMenuBarVisible = NO,
// highlightedItem is always enabled. Do there exist edge cases: disabling on closing a menu,
// etc.? Requires further investigation and tests.
if (highlightedItem && [highlightedItem isEnabled])
{
// Perform any action binding
var binding = [CPBinder getBinding:CPTargetBinding forObject:highlightedItem];
[binding invokeAction];
[CPApp sendAction:[highlightedItem action] to:[highlightedItem target] from:highlightedItem];
}
}
//
+5 -1
View File
@@ -701,6 +701,8 @@ var STICKY_TIME_INTERVAL = 0.4,
if ([item isSeparatorItem] || [item isHidden] || ![item isEnabled])
[self moveDown:menu];
}
else if (menu == [CPApp mainMenu])
[menu _highlightItemAtIndex:0];
}
- (void)moveUp:(CPMenu)menu
@@ -709,10 +711,12 @@ var STICKY_TIME_INTERVAL = 0.4,
if (index < 0)
{
if (index != CPNotFound)
if (index != CPNotFound || menu == [CPApp mainMenu])
[menu _highlightItemAtIndex:[menu numberOfItems] - 1];
return;
}
[menu _highlightItemAtIndex:index];
var item = [menu highlightedItem];
+2
View File
@@ -109,6 +109,8 @@ var CPMenuItemStringRepresentationDictionary = [CPDictionary dictionaryWithObjec
{
if ([aBinding hasPrefix:CPEnabledBinding])
return [CPMultipleValueAndBinding class];
else if (aBinding === CPTargetBinding || [aBinding hasPrefix:CPArgumentBinding])
return [CPActionBinding class];
return [super _binderClassForBinding:aBinding];
}
+4 -94
View File
@@ -37,7 +37,6 @@
BOOL _isDirty;
_CPImageAndTextView _imageAndTextView;
CPView _submenuIndicatorView;
}
+ (CPString)defaultThemeClass
@@ -47,9 +46,8 @@
+ (id)themeAttributes
{
return [CPDictionary dictionaryWithObjects:[[CPNull null], [CPNull null], [CPNull null], 8.0, 3.0, 4.0]
forKeys:[ @"submenu-indicator-color",
@"menu-item-selection-color",
return [CPDictionary dictionaryWithObjects:[[CPNull null], [CPNull null], 12.0, 3.0, 4.0]
forKeys:[ @"menu-item-selection-color",
@"menu-item-text-shadow-color",
@"horizontal-margin",
@"submenu-indicator-margin",
@@ -76,12 +74,6 @@
[self addSubview:_imageAndTextView];
_submenuIndicatorView = [[_CPMenuItemMenuBarSubmenuIndicatorView alloc] initWithFrame:CGRectMake(0.0, 0.0, 9.0, 6.0)];
[_submenuIndicatorView setAutoresizingMask:CPViewMinYMargin | CPViewMaxYMargin];
[self addSubview:_submenuIndicatorView];
[self setAutoresizingMask:CPViewWidthSizable | CPViewHeightSizable];
}
@@ -99,7 +91,7 @@
- (CPColor)textShadowColor
{
if (![_menuItem isEnabled])
return [CPColor colorWithWhite:0.8 alpha:0.8];
return [CPColor clearColor];
return _textShadowColor || [CPColor colorWithWhite:1.0 alpha:0.8];
}
@@ -122,37 +114,11 @@
imageAndTextViewFrame.origin.x = x;
x += CGRectGetWidth(imageAndTextViewFrame);
height = MAX(height, CGRectGetHeight(imageAndTextViewFrame));
var hasSubmenuIndicator = [_menuItem hasSubmenu] && [_menuItem action];
if (hasSubmenuIndicator)
{
[_submenuIndicatorView setHidden:NO];
[_submenuIndicatorView setColor:[self textColor]];
[_submenuIndicatorView setShadowColor:[self textShadowColor]];
var submenuViewFrame = [_submenuIndicatorView frame];
submenuViewFrame.origin.x = x + [self valueForThemeAttribute:@"submenu-indicator-margin"];
x = CGRectGetMaxX(submenuViewFrame);
height = MAX(height, CGRectGetHeight(submenuViewFrame));
}
else
[_submenuIndicatorView setHidden:YES];
height += 2.0 * [self valueForThemeAttribute:@"vertical-margin"];
height = MAX(height, CGRectGetHeight(imageAndTextViewFrame)) + 2.0 * [self valueForThemeAttribute:@"vertical-margin"];
imageAndTextViewFrame.origin.y = FLOOR((height - CGRectGetHeight(imageAndTextViewFrame)) / 2.0);
[_imageAndTextView setFrame:imageAndTextViewFrame];
if (hasSubmenuIndicator)
{
submenuViewFrame.origin.y = FLOOR((height - CGRectGetHeight(submenuViewFrame)) / 2.0) + 1.0;
[_submenuIndicatorView setFrame:submenuViewFrame];
}
[self setAutoresizesSubviews:NO];
[self setFrameSize:CGSizeMake(x + [self valueForThemeAttribute:@"horizontal-margin"], height)];
[self setAutoresizesSubviews:YES];
@@ -172,9 +138,6 @@
[_imageAndTextView setImage:[_menuItem alternateImage] || [_menuItem image]];
[_imageAndTextView setTextColor:[CPColor whiteColor]];
[_imageAndTextView setTextShadowColor:[self valueForThemeAttribute:@"menu-item-text-shadow-color"]];
[_submenuIndicatorView setColor:[CPColor whiteColor]];
[_submenuIndicatorView setShadowColor:[CPColor colorWithWhite:0.1 alpha:0.7]];
}
else
{
@@ -183,60 +146,7 @@
[_imageAndTextView setImage:[_menuItem image]];
[_imageAndTextView setTextColor:[self textColor]];
[_imageAndTextView setTextShadowColor:[self textShadowColor]];
[_submenuIndicatorView setColor:[self textColor]];
[_submenuIndicatorView setShadowColor:[self textShadowColor]];
}
}
@end
@implementation _CPMenuItemMenuBarSubmenuIndicatorView : CPView
{
CPColor _color;
CPColor _shadowColor;
}
- (void)setColor:(CPColor)aColor
{
if (_color === aColor)
return;
_color = aColor;
[self setNeedsDisplay:YES];
}
- (void)setShadowColor:(CPColor)aColor
{
if (_shadowColor === aColor)
return;
_shadowColor = aColor;
[self setNeedsDisplay:YES];
}
- (void)drawRect:(CGRect)aRect
{
var context = [[CPGraphicsContext currentContext] graphicsPort],
bounds = [self bounds];
bounds.size.height -= 1.0;
bounds.size.width -= 2.0;
bounds.origin.x += 1.0;
CGContextBeginPath(context);
CGContextMoveToPoint(context, CGRectGetMinX(bounds), CGRectGetMinY(bounds));
CGContextAddLineToPoint(context, CGRectGetMaxX(bounds), CGRectGetMinY(bounds));
CGContextAddLineToPoint(context, CGRectGetMidX(bounds), CGRectGetMaxY(bounds));
CGContextClosePath(context);
CGContextSetShadowWithColor(context, CGSizeMake(0.0, 1.0), 1.1, _shadowColor || [CPColor whiteColor]);
CGContextSetFillColor(context, _color || [CPColor blackColor]);
CGContextFillPath(context);
}
@end
+2 -2
View File
@@ -248,14 +248,14 @@ var CPPasteboards = nil,
// Determining Types
/*!
Checks the pasteboard's types for a match with the types listen in the specified array. The array should
Checks the pasteboard's types for a match with the types listed in the specified array. The array should
be ordered by the requestor's most preferred data type first.
@param anArray an array of requested types ordered by preference
@return the highest match with the pasteboard's supported types or \c nil if no match was found
*/
- (CPString)availableTypeFromArray:(CPArray)anArray
{
return [[self types] firstObjectCommonWithArray:anArray];
return [anArray firstObjectCommonWithArray:[self types]];
}
/*!
+36 -28
View File
@@ -57,6 +57,8 @@ var PARTS_ARRANGEMENT = [CPScrollerKnobSlot, CPScrollerDecrementLine, CPScroll
NAMES_FOR_PARTS = {},
PARTS_FOR_NAMES = {};
var _CACHED_THEME_SCROLLER = nil; // This is used by the class methods to pull the theme attributes.
NAMES_FOR_PARTS[CPScrollerDecrementLine] = @"decrement-line";
NAMES_FOR_PARTS[CPScrollerIncrementLine] = @"increment-line";
NAMES_FOR_PARTS[CPScrollerKnobSlot] = @"knob-slot";
@@ -133,11 +135,13 @@ CPThemeStateScrollerKnobDark = CPThemeState("scroller-knob-dark");
*/
+ (float)scrollerWidthInStyle:(int)aStyle
{
var scroller = [[self alloc] init];
if (!_CACHED_THEME_SCROLLER)
_CACHED_THEME_SCROLLER = [[self alloc] init];
if (aStyle == CPScrollerStyleLegacy)
return [scroller valueForThemeAttribute:@"scroller-width" inState:CPThemeStateScrollViewLegacy];
return [scroller currentValueForThemeAttribute:@"scroller-width"];
return [_CACHED_THEME_SCROLLER valueForThemeAttribute:@"scroller-width" inState:CPThemeStateScrollViewLegacy];
return [_CACHED_THEME_SCROLLER currentValueForThemeAttribute:@"scroller-width"];
}
/*!
@@ -145,7 +149,10 @@ CPThemeStateScrollerKnobDark = CPThemeState("scroller-knob-dark");
*/
+ (float)scrollerOverlay
{
return [[[self alloc] init] currentValueForThemeAttribute:@"track-border-overlay"];
if (!_CACHED_THEME_SCROLLER)
_CACHED_THEME_SCROLLER = [[self alloc] init];
return [_CACHED_THEME_SCROLLER currentValueForThemeAttribute:@"track-border-overlay"];
}
/*!
@@ -175,14 +182,17 @@ CPThemeStateScrollerKnobDark = CPThemeState("scroller-knob-dark");
_allowFadingOut = YES;
_isMouseOver = NO;
_style = CPScrollerStyleOverlay;
var paramAnimFadeOut = [CPDictionary dictionaryWithObjects:[self, CPViewAnimationFadeOutEffect]
forKeys:[CPViewAnimationTargetKey, CPViewAnimationEffectKey]];
var paramAnimFadeOut = [CPDictionary dictionaryWithObjects:[self, CPViewAnimationFadeOutEffect]
forKeys:[CPViewAnimationTargetKey, CPViewAnimationEffectKey]];
_animationScroller = [[CPViewAnimation alloc] initWithDuration:0.2 animationCurve:CPAnimationEaseInOut];
[_animationScroller setViewAnimations:[paramAnimFadeOut]];
[_animationScroller setDelegate:self];
[self setAlphaValue:0.0];
[self _calculateIsVertical];
// We have to choose an orientation. If for some bizarre reason width === height,
// punt and choose vertical.
[self _setIsVertical:_CGRectGetHeight(aFrame) >= _CGRectGetWidth(aFrame)];
}
return self;
@@ -639,13 +649,13 @@ CPThemeStateScrollerKnobDark = CPThemeState("scroller-knob-dark");
if ([anEvent modifierFlags] & CPAlternateKeyMask)
{
if (_trackingPart == CPScrollerDecrementLine)
if (_trackingPart === CPScrollerDecrementLine)
_hitPart = CPScrollerDecrementPage;
else if (_trackingPart == CPScrollerIncrementLine)
else if (_trackingPart === CPScrollerIncrementLine)
_hitPart = CPScrollerIncrementPage;
else if (_trackingPart == CPScrollerDecrementPage || _trackingPart == CPScrollerIncrementPage)
else if (_trackingPart === CPScrollerDecrementPage || _trackingPart === CPScrollerIncrementPage)
{
var knobRect = [self rectForPart:CPScrollerKnob],
knobWidth = ![self isVertical] ? _CGRectGetWidth(knobRect) : _CGRectGetHeight(knobRect),
@@ -673,11 +683,11 @@ CPThemeStateScrollerKnobDark = CPThemeState("scroller-knob-dark");
{
_trackingStartPoint = [self convertPoint:[anEvent locationInWindow] fromView:nil];
if (_trackingPart == CPScrollerDecrementPage || _trackingPart == CPScrollerIncrementPage)
if (_trackingPart === CPScrollerDecrementPage || _trackingPart === CPScrollerIncrementPage)
{
var hitPart = [self testPart:[anEvent locationInWindow]];
if (hitPart == CPScrollerDecrementPage || hitPart == CPScrollerIncrementPage)
if (hitPart === CPScrollerDecrementPage || hitPart === CPScrollerIncrementPage)
{
_trackingPart = hitPart;
_hitPart = hitPart;
@@ -693,18 +703,13 @@ CPThemeStateScrollerKnobDark = CPThemeState("scroller-knob-dark");
}
- (void)_calculateIsVertical
- (void)_setIsVertical:(BOOL)isVertical
{
// Recalculate isVertical.
var bounds = [self bounds],
width = _CGRectGetWidth(bounds),
height = _CGRectGetHeight(bounds);
_isVertical = isVertical;
_isVertical = width < height ? 1 : (width > height ? 0 : -1);
if (_isVertical === 1)
if (_isVertical)
[self setThemeState:CPThemeStateVertical];
else if (_isVertical === 0)
else
[self unsetThemeState:CPThemeStateVertical];
}
@@ -739,12 +744,14 @@ CPThemeStateScrollerKnobDark = CPThemeState("scroller-knob-dark");
switch (_hitPart)
{
case CPScrollerKnob: return [self trackKnob:anEvent];
case CPScrollerKnob:
return [self trackKnob:anEvent];
case CPScrollerDecrementLine:
case CPScrollerIncrementLine:
case CPScrollerDecrementPage:
case CPScrollerIncrementPage: return [self trackScrollButtons:anEvent];
case CPScrollerIncrementPage:
return [self trackScrollButtons:anEvent];
}
}
@@ -792,9 +799,10 @@ CPThemeStateScrollerKnobDark = CPThemeState("scroller-knob-dark");
@end
var CPScrollerControlSizeKey = @"CPScrollerControlSize",
var CPScrollerControlSizeKey = @"CPScrollerControlSize",
CPScrollerIsVerticalKey = @"CPScrollerIsVerticalKey",
CPScrollerKnobProportionKey = @"CPScrollerKnobProportion",
CPScrollerStyleKey = @"CPScrollerStyleKey";
CPScrollerStyleKey = @"CPScrollerStyleKey";
@implementation CPScroller (CPCoding)
@@ -803,7 +811,6 @@ var CPScrollerControlSizeKey = @"CPScrollerControlSize",
if (self = [super initWithCoder:aCoder])
{
_controlSize = CPRegularControlSize;
if ([aCoder containsValueForKey:CPScrollerControlSizeKey])
_controlSize = [aCoder decodeIntForKey:CPScrollerControlSizeKey];
@@ -827,9 +834,9 @@ var CPScrollerControlSizeKey = @"CPScrollerControlSize",
[_animationScroller setDelegate:self];
[self setAlphaValue:0.0];
[self _calculateIsVertical];
[self setStyle:[aCoder decodeIntForKey:CPScrollerStyleKey]];
[self _setIsVertical:[aCoder decodeBoolForKey:CPScrollerIsVerticalKey]];
}
return self;
@@ -840,6 +847,7 @@ var CPScrollerControlSizeKey = @"CPScrollerControlSize",
[super encodeWithCoder:aCoder];
[aCoder encodeInt:_controlSize forKey:CPScrollerControlSizeKey];
[aCoder encodeInt:_isVertical forKey:CPScrollerIsVerticalKey];
[aCoder encodeFloat:_knobProportion forKey:CPScrollerKnobProportionKey];
[aCoder encodeInt:_style forKey:CPScrollerStyleKey];
}
+2
View File
@@ -551,6 +551,8 @@ var _CPTableColumnHeaderViewStringValueKey = @"_CPTableColumnHeaderViewStringVal
[self stopTrackingTableColumn:_activeColumn at:aLocation];
[self setNeedsDisplay:YES];
[_tableView _enqueueDraggingViews];
}
- (BOOL)shouldResizeTableColumn:(int)aColumnIndex at:(CGPoint)aPoint
+31 -4
View File
@@ -250,6 +250,7 @@ CPTableViewFirstColumnOnlyAutoresizingStyle = 5;
CPDragOperation _dragOperationDefaultMask;
int _retargetedDropRow;
CPDragOperation _retargetedDropOperation;
CPArray _draggingViews;
BOOL _disableAutomaticResizing @accessors(property=disableAutomaticResizing);
BOOL _lastColumnShouldSnap;
@@ -389,6 +390,7 @@ CPTableViewFirstColumnOnlyAutoresizingStyle = 5;
[self addSubview:_tableDrawView];
_draggedColumn = nil;
_draggingViews = [CPArray array];
/* //gradients for the source list when CPTableView is NOT first responder or the window is NOT key
// FIX ME: we need to actually implement this.
@@ -980,9 +982,16 @@ NOT YET IMPLEMENTED
if (_draggedColumn === aColumn)
return;
var previouslyDraggedColumn = _draggedColumn;
_draggedColumn = aColumn;
[self reloadDataForRowIndexes:_exposedRows columnIndexes:[CPIndexSet indexSetWithIndex:[_tableColumns indexOfObject:aColumn]]];
// if a column is currently being dragged, update that column (removing data views)
if (aColumn)
[self reloadDataForRowIndexes:_exposedRows columnIndexes:[CPIndexSet indexSetWithIndex:[_tableColumns indexOfObject:aColumn]]];
// when the column is dropped, we should also update it.
if (previouslyDraggedColumn)
[self reloadDataForRowIndexes:_exposedRows columnIndexes:[CPIndexSet indexSetWithIndex:[_tableColumns indexOfObject:previouslyDraggedColumn]]];
}
/*
@@ -2341,6 +2350,9 @@ NOT YET IMPLEMENTED
autosaveName = [self autosaveName],
tableColumns = [userDefaults objectForKey:[self _columnsKeyForAutosaveName:autosaveName]];
if ([tableColumns count] != [[self tableColumns] count])
return;
for (var i = 0; i < [tableColumns count]; i++)
{
var metaData = [tableColumns objectAtIndex:i],
@@ -2348,12 +2360,14 @@ NOT YET IMPLEMENTED
column = [self columnWithIdentifier:columnIdentifier],
tableColumn = [self tableColumnWithIdentifier:columnIdentifier];
[self _moveColumn:column toColumn:i];
[tableColumn setWidth:[metaData objectForKey:@"width"]];
if (tableColumn && column != CPNotFound)
{
[self _moveColumn:column toColumn:i];
[tableColumn setWidth:[metaData objectForKey:@"width"]];
}
}
}
/*!
@anchor setdelegate
Sets the delegate of the receiver.
@@ -2873,6 +2887,7 @@ Your delegate can implement this method to avoid subclassing the tableview to ad
[self _setObjectValueForTableColumn:tableColumn row:row forView:dataView];
[view addSubview:dataView];
[_draggingViews addObject:dataView];
row = [theDraggedRows indexGreaterThanIndex:row];
}
@@ -2915,6 +2930,7 @@ Your delegate can implement this method to avoid subclassing the tableview to ad
[self _setObjectValueForTableColumn:tableColumn row:row forView:dataView];
[dragView addSubview:dataView];
[_draggingViews addObject:dataView];
row = [_exposedRows indexGreaterThanIndex:row];
}
@@ -4341,6 +4357,7 @@ Your delegate can implement this method to avoid subclassing the tableview to ad
_retargetedDropRow = nil;
_draggedRowIndexes = [CPIndexSet indexSet];
[_dropOperationFeedbackView removeFromSuperview];
[self _enqueueDraggingViews];
}
/*
@@ -4529,6 +4546,16 @@ Your delegate can implement this method to avoid subclassing the tableview to ad
[self draggedImage:aView endedAt:aLocation operation:anOperation];
}
- (void)_enqueueDraggingViews
{
[_draggingViews enumerateObjectsUsingBlock:function(dataView, idx)
{
[self _enqueueReusableDataView:dataView];
}];
[_draggingViews removeAllObjects];
}
/*!
@ignore
*/
+9 -19
View File
@@ -543,6 +543,9 @@ CPTextFieldStatePlaceholder = CPThemeState("placeholder");
*/
- (void)_becomeFirstKeyResponder
{
// Make sure the text field is visible so the browser will not scroll without the NSScrollView knowing about it.
[self scrollRectToVisible:[self bounds]];
[self setThemeState:CPThemeStateEditing];
[self _updatePlaceholderState];
@@ -1631,22 +1634,14 @@ var CPTextFieldIsEditableKey = "CPTextFieldIsEditableKey",
@implementation _CPTextFieldValueBinder : CPBinder
+ (void)_updatePlaceholdersWithOptions:(CPDictionary)options forBinding:(CPBinder)aBinding
{
var selector = "_updatePlaceholdersWithOptions:",
implementation = class_getMethodImplementation([aBinding superclass], selector);
implementation.apply(aBinding, [aBinding, selector, options]);
[aBinding _setPlaceholder:@"Multiple Values" forMarker:CPMultipleValuesMarker isDefault:YES];
[aBinding _setPlaceholder:@"No Selection" forMarker:CPNoSelectionMarker isDefault:YES];
[aBinding _setPlaceholder:@"Not Applicable" forMarker:CPNotApplicableMarker isDefault:YES];
[aBinding _setPlaceholder:@"" forMarker:CPNullMarker isDefault:YES];
}
- (void)_updatePlaceholdersWithOptions:(CPDictionary)options forBinding:(CPBinder)aBinding
{
[[self class] _updatePlaceholdersWithOptions:options forBinding:self];
[super _updatePlaceholdersWithOptions:options];
[self _setPlaceholder:@"Multiple Values" forMarker:CPMultipleValuesMarker isDefault:YES];
[self _setPlaceholder:@"No Selection" forMarker:CPNoSelectionMarker isDefault:YES];
[self _setPlaceholder:@"Not Applicable" forMarker:CPNotApplicableMarker isDefault:YES];
[self _setPlaceholder:@"" forMarker:CPNullMarker isDefault:YES];
}
- (void)setPlaceholderValue:(id)aValue withMarker:(CPString)aMarker forBinding:(CPString)aBinding
@@ -1664,11 +1659,6 @@ var CPTextFieldIsEditableKey = "CPTextFieldIsEditableKey",
@implementation _CPTextFieldPatternValueBinder : CPValueWithPatternBinding
- (void)_updatePlaceholdersWithOptions:(CPDictionary)options forBinding:(CPBinder)aBinding
{
[_CPTextFieldValueBinder _updatePlaceholdersWithOptions:options forBinding:self];
}
- (void)setPlaceholderValue:(id)aValue withMarker:(CPString)aMarker forBinding:(CPString)aBinding
{
[_source setPlaceholderString:aValue];
+12 -7
View File
@@ -330,6 +330,8 @@ CPTokenFieldDeleteButtonType = 1;
// As long as we are the first responder we need to monitor the key status of our window.
[self _setObserveWindowKeyNotifications:YES];
[self scrollRectToVisible:[self bounds]];
if ([[self window] isKeyWindow])
[self _becomeFirstKeyResponder];
@@ -371,16 +373,19 @@ CPTokenFieldDeleteButtonType = 1;
element.style.width = CGRectGetWidth(contentRect) + "px";
element.style.height = [font defaultLineHeightForFont] + "px";
[_tokenScrollView documentView]._DOMElement.appendChild(element);
window.setTimeout(function()
{
element.focus();
CPTokenFieldInputOwner = self;
}, 0.0);
[_tokenScrollView documentView]._DOMElement.appendChild(element);
//post CPControlTextDidBeginEditingNotification
[self textDidBeginEditing:[CPNotification notificationWithName:CPControlTextDidBeginEditingNotification object:self userInfo:nil]];
//post CPControlTextDidBeginEditingNotification
[self textDidBeginEditing:[CPNotification notificationWithName:CPControlTextDidBeginEditingNotification object:self userInfo:nil]];
window.setTimeout(function()
{
element.focus();
CPTokenFieldInputOwner = self;
}, 0.0);
}, 0.0);
[[[self window] platformWindow] _propagateCurrentDOMEvent:YES];
+7
View File
@@ -1576,6 +1576,7 @@ var CPViewFlags = { },
- (void)rightMouseDown:(CPEvent)anEvent
{
var menu = [self menuForEvent:anEvent];
if (menu)
[CPMenu popUpContextMenu:menu withEvent:anEvent forView:self];
else if ([[self nextResponder] isKindOfClass:CPView])
@@ -2786,6 +2787,12 @@ setBoundsOrigin:
[self viewDidChangeTheme];
}
- (void)_setThemeIncludingDescendants:(CPTheme)aTheme
{
[self setTheme:aTheme];
[[self subviews] makeObjectsPerformSelector:@selector(_setThemeIncludingDescendants:) withObject:aTheme];
}
- (CPTheme)theme
{
return _theme;
+41 -9
View File
@@ -241,8 +241,7 @@ CPWebViewAppKitScrollMaxPollCount = 3;
if (_effectiveScrollMode !== CPWebViewScrollAppKit)
return;
var win = null;
try { win = [self DOMWindow]; } catch (e) {}
var win = [self DOMWindow];
if (win && win.addEventListener)
{
@@ -278,8 +277,7 @@ CPWebViewAppKitScrollMaxPollCount = 3;
[_frameView setFrameSize:CGSizeMake(CGRectGetMaxX(visibleRect), CGRectGetMaxY(visibleRect))];
// try to get the document size so we can correctly set the frame
var win = null;
try { win = [self DOMWindow]; } catch (e) {}
var win = [self DOMWindow];
if (win && win.document && win.document.body)
{
@@ -580,6 +578,7 @@ CPWebViewAppKitScrollMaxPollCount = 3;
{
if (_mainFrameURL)
[_backwardStack addObject:_mainFrameURL];
_mainFrameURL = URLString;
[_forwardStack removeAllObjects];
@@ -597,6 +596,7 @@ CPWebViewAppKitScrollMaxPollCount = 3;
{
if (_mainFrameURL)
[_forwardStack addObject:_mainFrameURL];
_mainFrameURL = [_backwardStack lastObject];
[_backwardStack removeLastObject];
@@ -604,6 +604,7 @@ CPWebViewAppKitScrollMaxPollCount = 3;
return YES;
}
return NO;
}
@@ -618,6 +619,7 @@ CPWebViewAppKitScrollMaxPollCount = 3;
{
if (_mainFrameURL)
[_backwardStack addObject:_mainFrameURL];
_mainFrameURL = [_forwardStack lastObject];
[_forwardStack removeLastObject];
@@ -625,6 +627,7 @@ CPWebViewAppKitScrollMaxPollCount = 3;
return YES;
}
return NO;
}
@@ -672,7 +675,14 @@ CPWebViewAppKitScrollMaxPollCount = 3;
*/
- (DOMWindow)DOMWindow
{
return (_iframe.contentDocument && _iframe.contentDocument.defaultView) || _iframe.contentWindow;
try
{
return (_iframe.contentDocument && _iframe.contentDocument.defaultView) || _iframe.contentWindow;
}
catch (e)
{
return nil;
}
}
/*!
@@ -683,6 +693,7 @@ CPWebViewAppKitScrollMaxPollCount = 3;
- (CPWebScriptObject)windowScriptObject
{
var win = [self DOMWindow];
if (!_wso || win != [_wso window])
{
if (win)
@@ -690,6 +701,7 @@ CPWebViewAppKitScrollMaxPollCount = 3;
else
_wso = nil;
}
return _wso;
}
@@ -727,6 +739,7 @@ CPWebViewAppKitScrollMaxPollCount = 3;
- (DOMCSSStyleDeclaration)computedStyleForElement:(DOMElement)element pseudoElement:(CPString)pseudoElement
{
var win = [[self windowScriptObject] window];
if (win)
{
// FIXME: IE version?
@@ -759,6 +772,7 @@ CPWebViewAppKitScrollMaxPollCount = 3;
{
if (drawsBackground == _drawsBackground)
return;
_drawsBackground = drawsBackground;
[self _applyBackgroundColor];
@@ -864,38 +878,47 @@ CPWebViewAppKitScrollMaxPollCount = 3;
{
return _downloadDelegate;
}
- (void)setDownloadDelegate:(id)anObject
{
_downloadDelegate = anObject;
}
- (id)frameLoadDelegate
{
return _frameLoadDelegate;
}
- (void)setFrameLoadDelegate:(id)anObject
{
_frameLoadDelegate = anObject;
}
- (id)policyDelegate
{
return _policyDelegate;
}
- (void)setPolicyDelegate:(id)anObject
{
_policyDelegate = anObject;
}
- (id)resourceLoadDelegate
{
return _resourceLoadDelegate;
}
- (void)setResourceLoadDelegate:(id)anObject
{
_resourceLoadDelegate = anObject;
}
- (id)UIDelegate
{
return _UIDelegate;
}
- (void)setUIDelegate:(id)anObject
{
_UIDelegate = anObject;
@@ -922,6 +945,7 @@ CPWebViewAppKitScrollMaxPollCount = 3;
{
_window = aWindow;
}
return self;
}
@@ -936,9 +960,12 @@ CPWebViewAppKitScrollMaxPollCount = 3;
// Would using "with" be better here?
if (typeof _window[methodName] == "function")
{
try {
try
{
return _window[methodName].apply(args);
} catch (e) {
}
catch (e)
{
}
}
return undefined;
@@ -952,11 +979,15 @@ CPWebViewAppKitScrollMaxPollCount = 3;
*/
- (id)evaluateWebScript:(CPString)script
{
try {
try
{
return _window.eval(script);
} catch (e) {
}
catch (e)
{
// FIX ME: if we fail inside here, shouldn't we return an exception?
}
return undefined;
}
@@ -1031,6 +1062,7 @@ CPWebViewAppKitScrollMaxPollCount = 3;
- (BOOL)_passesSameOriginPolicy
{
var documentURL = [CPURL URLWithString:window.location.href];
if ([documentURL isFileURL] && CPFeatureIsCompatible(CPSOPDisabledFromFileURLs))
return YES;
+4 -4
View File
@@ -93,9 +93,9 @@ var CPWindowActionMessageKeys = [
Sent from the notification center when the window has been resized.
@param notification contains information about the resize event
@delegate -(CPUndoManager)windowWillReturnUndoManager:(CPWindow)window;
@delegate -(CPUndoManager)windowWillReturnUndoManager:(CPWindow)aWindow;
Called to obtain the undo manager for a window
@param window the window for which to return the undo manager
@param aWindow the window for which to return the undo manager
@return the window's undo manager
@delegate -(void)windowDidBecomeMain:(CPNotification)notification;
@@ -113,9 +113,9 @@ var CPWindowActionMessageKeys = [
resigned key window status.
@param notification contains information about the event
@delegate -(BOOL)windowShouldClose:(id)window;
@delegate -(BOOL)windowShouldClose:(id)aWindow;
Called when the user tries to close the window.
@param window the window to close
@param aWindow the window to close
@return \c YES allows the window to close. \c NO
vetoes the close operation and leaves the window open.
+9 -5
View File
@@ -36,6 +36,7 @@ var CALayerGeometryBoundsMask = 1,
CALayerGeometryAnchorPointMask = 4,
CALayerGeometryAffineTransformMask = 8,
CALayerGeometryParentSublayerTransformMask = 16;
var USE_BUFFER = NO;
var CALayerFrameOriginUpdateMask = 1,
@@ -349,7 +350,7 @@ var CALayerRegisteredRunLoopUpdates = nil;
*/
- (void)setFrame:(CGRect)aFrame
{
alert("FIXME IMPLEMENT");
// FIXME: implement this
}
/*!
@@ -474,6 +475,7 @@ var CALayerRegisteredRunLoopUpdates = nil;
CGContextSaveGState(_context);
CGContextConcatCTM(_context, transform);//_transformFromView);
if (USE_BUFFER)
{
// CGContextDrawImage(_context, _bounds, _contents.context);
@@ -481,6 +483,7 @@ var CALayerRegisteredRunLoopUpdates = nil;
}
else
[self drawInContext:_context];
CGContextRestoreGState(_context);
}
@@ -536,7 +539,7 @@ var CALayerRegisteredRunLoopUpdates = nil;
@param aContext the context to draw the layer into
*/
- (void)drawInContext:(CGContext)aContext
{ //if (!window.loop || window.nodisplay) CPLog.error("htiasd");
{
if (_backgroundColor)
{
CGContextSetFillColor(aContext, _backgroundColor);
@@ -659,6 +662,7 @@ if (_DOMContentsElement && aLayer._zPosition > _DOMContentsElement.style.zIndex)
{
[self insertSublayer:aLayer atIndex:_sublayers.length];
return;
ADJUST_CONTENTS_ZINDEX(aLayer);
[_sublayers addObject:aLayer];
@@ -746,6 +750,7 @@ if (_DOMContentsElement && aLayer._zPosition > _DOMContentsElement.style.zIndex)
- (void)insertSublayer:(CALayer)aLayer above:(CALayer)aSublayer
{
var index = aSublayer ? [_sublayers indexOfObjectIdenticalTo:aSublayer] : _sublayers.length;
if (index == CPNotFound)
[CPException raise:"CALayerNotFoundException" reason:"aSublayer is not a sublayer of this layer"];
@@ -762,10 +767,9 @@ if (_DOMContentsElement && aLayer._zPosition > _DOMContentsElement.style.zIndex)
if (aSublayer == aLayer)
return;
// FIXME: EXCEPTION
if (aSublayer._superlayer != self)
{
alert("EXCEPTION");
CPLog.warn("Attempt to replace a sublayer (%s) which is not in the sublayers of the receiver (%s).", [aSublayer description], [self description]);
return;
}
@@ -798,6 +802,7 @@ if (_DOMContentsElement && aLayer._zPosition > _DOMContentsElement.style.zIndex)
layer._runLoopUpdateMask = 0;
}
window.loop = false;
CALayerRegisteredRunLoopUpdates = nil;
}
@@ -928,7 +933,6 @@ if (_DOMContentsElement && aLayer._zPosition > _DOMContentsElement.style.zIndex)
return nil;
var point = CGPointApplyAffineTransform(aPoint, _transformToLayer);
//alert(point.x + " " + point.y);
if (!_CGRectContainsPoint(_bounds, point))
return nil;
+26 -11
View File
@@ -136,13 +136,26 @@ function CGColorSpaceCreateWithName(aName)
switch (aName)
{
case kCGColorSpaceGenericGray: return _CGNamedColorSpaces[aName] = _CGColorSpaceCreateWithModel(kCGColorSpaceModelMonochrome, 1, NULL);
case kCGColorSpaceGenericRGB: return _CGNamedColorSpaces[aName] = _CGColorSpaceCreateWithModel(kCGColorSpaceModelRGB, 3, NULL);
case kCGColorSpaceGenericCMYK: return _CGNamedColorSpaces[aName] = _CGColorSpaceCreateWithModel(kCGColorSpaceModelCMYK, 4, NULL);
case kCGColorSpaceGenericRGBLinear: return _CGNamedColorSpaces[aName] = _CGColorSpaceCreateWithModel(kCGColorSpaceModelRGB, 3, NULL);
case kCGColorSpaceGenericRGBHDR: return _CGNamedColorSpaces[aName] = _CGColorSpaceCreateWithModel(kCGColorSpaceModelRGB, 3, NULL);
case kCGColorSpaceAdobeRGB1998: return _CGNamedColorSpaces[aName] = _CGColorSpaceCreateWithModel(kCGColorSpaceModelRGB, 3, NULL);
case kCGColorSpaceSRGB: return _CGNamedColorSpaces[aName] = _CGColorSpaceCreateWithModel(kCGColorSpaceModelRGB, 3, NULL);
case kCGColorSpaceGenericGray:
return _CGNamedColorSpaces[aName] = _CGColorSpaceCreateWithModel(kCGColorSpaceModelMonochrome, 1, NULL);
case kCGColorSpaceGenericRGB:
return _CGNamedColorSpaces[aName] = _CGColorSpaceCreateWithModel(kCGColorSpaceModelRGB, 3, NULL);
case kCGColorSpaceGenericCMYK:
return _CGNamedColorSpaces[aName] = _CGColorSpaceCreateWithModel(kCGColorSpaceModelCMYK, 4, NULL);
case kCGColorSpaceGenericRGBLinear:
return _CGNamedColorSpaces[aName] = _CGColorSpaceCreateWithModel(kCGColorSpaceModelRGB, 3, NULL);
case kCGColorSpaceGenericRGBHDR:
return _CGNamedColorSpaces[aName] = _CGColorSpaceCreateWithModel(kCGColorSpaceModelRGB, 3, NULL);
case kCGColorSpaceAdobeRGB1998:
return _CGNamedColorSpaces[aName] = _CGColorSpaceCreateWithModel(kCGColorSpaceModelRGB, 3, NULL);
case kCGColorSpaceSRGB:
return _CGNamedColorSpaces[aName] = _CGColorSpaceCreateWithModel(kCGColorSpaceModelRGB, 3, NULL);
}
return NULL;
@@ -228,13 +241,15 @@ function CGColorSpaceStandardizeComponents(aColorSpace, components)
case kCGColorSpaceModelMonochrome:
case kCGColorSpaceModelRGB:
case kCGColorSpaceModelCMYK:
case kCGColorSpaceModelDeviceN: while (count--)
STANDARDIZE(components, count, 0, 1, 255);
break;
case kCGColorSpaceModelDeviceN:
while (count--)
STANDARDIZE(components, count, 0, 1, 255);
break;
// We don't currently support these color spaces.
case kCGColorSpaceModelIndexed:
case kCGColorSpaceModelLab:
case kCGColorSpaceModelPattern: break;
case kCGColorSpaceModelPattern:
break;
}
}
+17
View File
@@ -548,6 +548,23 @@ function CGContextFillPath(aContext)
CGContextClosePath(aContext);
}
/*!
Strokes a rectangle with the given dimensions and the given stroke width
@param aContext the CGContext to draw into
@param aRect the CGRect indicating the bounds of the rect to be drawn
@param aWidth the width with which to stroke the rect
@return void
*/
function CGContextStrokeRectWithWidth(aContext, aRect, aWidth)
{
CGContextSaveGState(aContext);
CGContextSetLineWidth(aContext, aWidth);
CGContextStrokeRect(aContext, aRect);
CGContextRestoreGState(aContext);
}
var KAPPA = 4.0 * ((SQRT2 - 1.0) / 3.0);
/*!
+28 -13
View File
@@ -95,6 +95,21 @@ function CGContextAddCurveToPoint(aContext, cp1x, cp1y, cp2x, cp2y, x, y)
_CGContextAddCurveToPointCanvas(aContext, cp1x, cp1y, cp2x, cp2y, x, y);
}
function CGContextAddLines(aContext, points, count)
{
// implementation mirrors that of CGPathAddLines()
if (count === null || count === undefined)
count = points.length;
if (count < 1)
return;
_CGContextMoveToPointCanvas(aContext, points[0].x, points[0].y);
for (var i = 1; i < count; ++i)
_CGContextAddLineToPointCanvas(aContext, points[i].x, points[i].y);
}
function CGContextAddLineToPoint(aContext, x, y)
{
_CGContextAddLineToPointCanvas(aContext, x, y);
@@ -106,7 +121,6 @@ function CGContextAddPath(aContext, aPath)
return;
var elements = aPath.elements,
i = 0,
count = aPath.count;
@@ -140,14 +154,17 @@ function CGContextAddRect(aContext, aRect)
_CGContextAddRectCanvas(aContext, aRect);
}
function CGContextAddQuadCurveToPoint(aContext, cpx, cpy, x, y)
{
_CGContextAddQuadCurveToPointCanvas(aContext, cpx, cpy, x, y);
}
function CGContextAddRects(aContext, rects, count)
{
var i = 0;
if (count === null || count === undefined)
count = rects.length;
if (count === NULL)
var count = rects.length;
for (; i < count; ++i)
for (var i = 0; i < count; ++i)
{
var rect = rects[i];
_CGContextAddRectCanvas(aContext, rect);
@@ -192,12 +209,10 @@ function CGContextFillRect(aContext, aRect)
function CGContextFillRects(aContext, rects, count)
{
var i = 0;
if (count === null || count === undefined)
count = rects.length;
if (count === NULL)
var count = rects.length;
for (; i < count; ++i)
for (var i = 0; i < count; ++i)
{
var rect = rects[i];
_CGContextFillRectCanvas(aContext, rect);
@@ -225,8 +240,8 @@ function CGContextClipToRect(aContext, aRect)
function CGContextClipToRects(aContext, rects, count)
{
if (count === NULL)
var count = rects.length;
if (count === null || count === undefined)
count = rects.length;
_CGContextBeginPathCanvas(aContext);
CGContextAddRects(aContext, rects, count);
+36 -31
View File
@@ -113,7 +113,7 @@ function CGPathAddArc(aPath, aTransform, x, y, aRadius, aStartAngle, anEndAngle,
}
aPath.current = _CGPointMake(x + aRadius * COS(anEndAngle), y + aRadius * SIN(anEndAngle));
aPath.elements[aPath.count++] = { type:kCGPathElementAddArc, x:x, y:y, radius:aRadius, startAngle:aStartAngle, endAngle:anEndAngle };
aPath.elements[aPath.count++] = { type:kCGPathElementAddArc, x:x, y:y, radius:aRadius, startAngle:aStartAngle, endAngle:anEndAngle, clockwise:isClockwise };
}
function CGPathAddArcToPoint(aPath, aTransform, x1, y1, x2, y2, aRadius)
@@ -150,17 +150,15 @@ function CGPathAddCurveToPoint(aPath, aTransform, cp1x, cp1y, cp2x, cp2y, x, y)
function CGPathAddLines(aPath, aTransform, points, count)
{
var i = 1;
if (count === null || count === undefined)
count = points.length;
if (count === NULL)
var count = points.length;
if (!aPath || count < 2)
if (!aPath || count < 1)
return;
CGPathMoveToPoint(aPath, aTransform, points[0].x, points[0].y);
for (; i < count; ++i)
for (var i = 1; i < count; ++i)
CGPathAddLineToPoint(aPath, aTransform, points[i].x, points[i].y);
}
@@ -183,36 +181,43 @@ function CGPathAddPath(aPath, aTransform, anotherPath)
switch (element.type)
{
case kCGPathElementAddLineToPoint: CGPathAddLineToPoint(aPath, aTransform, element.x, element.y);
break;
case kCGPathElementAddLineToPoint:
CGPathAddLineToPoint(aPath, aTransform, element.x, element.y);
break;
case kCGPathElementAddCurveToPoint: CGPathAddCurveToPoint(aPath, aTransform,
element.cp1x, element.cp1y,
element.cp2x, element.cp2y,
element.x, element.y);
break;
case kCGPathElementAddCurveToPoint:
CGPathAddCurveToPoint(aPath, aTransform,
element.cp1x, element.cp1y,
element.cp2x, element.cp2y,
element.x, element.y);
break;
case kCGPathElementAddArc: CGPathAddArc(aPath, aTransform, element.x, element.y,
element.radius, element.startAngle,
element.endAngle, element.isClockwise);
break;
case kCGPathElementAddArc:
CGPathAddArc(aPath, aTransform, element.x, element.y,
element.radius, element.startAngle,
element.endAngle, element.clockwise);
break;
case kCGPathElementAddArcToPoint: CGPathAddArcToPoint(aPath, aTransform,
element.p1x, element.p1y,
element.p2x, element.p2y,
element.radius);
break;
case kCGPathElementAddArcToPoint:
CGPathAddArcToPoint(aPath, aTransform,
element.p1x, element.p1y,
element.p2x, element.p2y,
element.radius);
break;
case kCGPathElementAddQuadCurveToPoint: CGPathAddQuadCurveToPoint(aPath, aTransform,
element.cpx, element.cpy,
element.x, element.y);
break;
case kCGPathElementAddQuadCurveToPoint:
CGPathAddQuadCurveToPoint(aPath, aTransform,
element.cpx, element.cpy,
element.x, element.y);
break;
case kCGPathElementMoveToPoint: CGPathMoveToPoint(aPath, aTransform, element.x, element.y);
break;
case kCGPathElementMoveToPoint:
CGPathMoveToPoint(aPath, aTransform, element.x, element.y);
break;
case kCGPathElementCloseSubpath: CGPathCloseSubpath(aPath);
break;
case kCGPathElementCloseSubpath:
CGPathCloseSubpath(aPath);
break;
}
}
}
+5 -2
View File
@@ -270,9 +270,12 @@ var PrimaryPlatformWindow = NULL;
_title = aTitle;
#if PLATFORM(DOM)
if (_DOMWindow && _DOMWindow.document
&& (aWindow === [CPApp mainWindow] || [aWindow platformWindow] !== [CPPlatformWindow primaryPlatformWindow]))
if (_DOMWindow &&
_DOMWindow.document &&
([aWindow isFullPlatformWindow]))
{
_DOMWindow.document.title = _title;
}
#endif
}
+4 -6
View File
@@ -133,15 +133,12 @@
// List of all open native windows
var PlatformWindows = [CPSet set];
// Define up here so compressor knows about em.
// Define up here so compressor knows about them.
var CPDOMEventGetClickCount,
CPDOMEventStop,
StopDOMEventPropagation,
StopContextMenuDOMEventPropagation;
//right now we hard code q, w, r and t as keys to propogate
//these aren't normal keycodes, they are with modifier key codes
//might be mac only, we should investigate futher later.
var KeyCodesToPrevent = {},
CharacterKeysToPrevent = {},
KeyCodesToAllow = {},
@@ -556,7 +553,7 @@ var resizeTimer = nil;
[PlatformWindows addObject:self];
// FIXME: cpSetFrame?
_DOMWindow.document.write("<!DOCTYPE html><html lang='en'><head></head><body style='background-color:transparent;'></body></html>");
_DOMWindow.document.write('<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"></head><body style="background-color:transparent;"></body></html>');
_DOMWindow.document.close();
if (self != [CPPlatformWindow primaryPlatformWindow])
@@ -1267,6 +1264,7 @@ var resizeTimer = nil;
[_CPToolTip invalidateCurrentToolTipIfNeeded];
var button = aDOMEvent.button;
_mouseDownIsRightClick = button == 2 || (CPBrowserIsOperatingSystem(CPMacOperatingSystem) && button == 0 && modifierFlags & CPControlKeyMask);
if (sourceElement.tagName === "INPUT" && sourceElement != _DOMFocusElement)
@@ -1653,7 +1651,7 @@ var resizeTimer = nil;
+ (void)preventCharacterKeysFromPropagating:(CPArray)characters
{
for (var i = characters.length; i > 0; i--)
CharacterKeysToPrevent[""+characters[i-1].toLowerCase()] = YES;
CharacterKeysToPrevent["" + characters[i - 1].toLowerCase()] = YES;
}
/*!

Before

Width:  |  Height:  |  Size: 140 B

After

Width:  |  Height:  |  Size: 140 B

Before

Width:  |  Height:  |  Size: 140 B

After

Width:  |  Height:  |  Size: 140 B

+1 -2
View File
@@ -2588,10 +2588,9 @@ var themedButtonValues = nil,
themeValues =
[
[@"submenu-indicator-color", [CPColor grayColor]],
[@"menu-item-selection-color", [CPColor colorWithHexString:@"5C85D8"]],
[@"menu-item-text-shadow-color", [CPColor colorWithCalibratedRed:26.0 / 255.0 green: 73.0 / 255.0 blue:109.0 / 255.0 alpha:1.0]],
[@"horizontal-margin", 8.0],
[@"horizontal-margin", 12.0],
[@"submenu-indicator-margin", 3.0],
[@"vertical-margin", 4.0]
];
Binary file not shown.

Before

Width:  |  Height:  |  Size: 75 B

After

Width:  |  Height:  |  Size: 78 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 108 B

After

Width:  |  Height:  |  Size: 140 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 115 B

After

Width:  |  Height:  |  Size: 133 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 B

After

Width:  |  Height:  |  Size: 70 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 B

After

Width:  |  Height:  |  Size: 77 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 B

After

Width:  |  Height:  |  Size: 77 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 77 B

After

Width:  |  Height:  |  Size: 80 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 112 B

After

Width:  |  Height:  |  Size: 133 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 112 B

After

Width:  |  Height:  |  Size: 145 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 641 B

After

Width:  |  Height:  |  Size: 1.3 KiB

+4 -5
View File
@@ -556,7 +556,7 @@ var themedButtonValues = nil,
[@"text-color", [CPColor colorWithCalibratedWhite:125.0 / 255.0 alpha:1.0], CPThemeStateTableDataView | CPThemeStateGroupRow],
[@"text-color", [CPColor colorWithCalibratedWhite:1.0 alpha:1.0], CPThemeStateTableDataView | CPThemeStateGroupRow | CPThemeStateSelectedTableDataView],
[@"text-shadow-color", [CPColor whiteColor], CPThemeStateTableDataView | CPThemeStateGroupRow],
[@"text-shadow-offset", CGSizeMake(0,1), CPThemeStateTableDataView | CPThemeStateGroupRow],
[@"text-shadow-offset", CGSizeMake(0, 1), CPThemeStateTableDataView | CPThemeStateGroupRow],
[@"text-shadow-color", [CPColor colorWithCalibratedWhite:0.0 alpha:0.6], CPThemeStateTableDataView | CPThemeStateGroupRow | CPThemeStateSelectedTableDataView],
[@"font", [CPFont boldSystemFontOfSize:12.0], CPThemeStateTableDataView | CPThemeStateGroupRow]
];
@@ -1383,7 +1383,7 @@ var themedButtonValues = nil,
suppressionButtonXOffset = 2.0,
suppressionButtonYOffset = 10.0,
suppressionButtonFont = [CPFont systemFontOfSize:CPFontCurrentSystemSize],
warningIcon = PatternImage("alert-warning.png", 53.0, 46.0);
warningIcon = PatternImage("alert-warning.png", 48.0, 43.0);
// Global
themedAlertValues =
@@ -2028,10 +2028,9 @@ var themedButtonValues = nil,
themeValues =
[
[@"submenu-indicator-color", [CPColor grayColor]],
[@"menu-item-selection-color", [CPColor colorWithHexString:@"5C85D8"]],
[@"menu-item-text-shadow-color", [CPColor colorWithCalibratedRed:26.0 / 255.0 green: 73.0 / 255.0 blue:109.0 / 255.0 alpha:1.0]],
[@"horizontal-margin", 8.0],
[@"horizontal-margin", 12.0],
[@"submenu-indicator-margin", 3.0],
[@"vertical-margin", 4.0]
];
@@ -2230,7 +2229,7 @@ var themedButtonValues = nil,
[@"text-color", [CPColor colorWithCalibratedWhite:1.0 alpha:0.6], CPThemeStateDisabled],
[@"text-shadow-color", [CPColor blackColor]],
[@"text-shadow-color", [CPColor blackColor], CPThemeStateDisabled],
[@"text-shadow-offset", CGSizeMake(-1.0, -1.0)]
[@"text-shadow-offset", CGSizeMake(0, 1.0)]
];
if (themeValues)
+3
View File
@@ -111,6 +111,9 @@ var CPURLConnectionDelegate = nil;
request.send([aRequest HTTPBody]);
if (!request.success())
return nil;
return [CPData dataWithRawString:request.responseText()];
}
catch (anException)
-84
View File
@@ -47,8 +47,6 @@ GLOBAL(objj_ivar) = function(/*String*/ aName, /*String*/ aType)
this.type = aType;
}
DISPLAY_NAME(objj_ivar);
GLOBAL(objj_method) = function(/*String*/ aName, /*IMP*/ anImplementation, /*String*/ types)
{
this.name = aName;
@@ -56,8 +54,6 @@ GLOBAL(objj_method) = function(/*String*/ aName, /*IMP*/ anImplementation, /*Str
this.types = types;
}
DISPLAY_NAME(objj_method);
GLOBAL(objj_class) = function(displayName)
{
this.isa = NULL;
@@ -89,16 +85,12 @@ GLOBAL(objj_class) = function(displayName)
this._UID = -1;
}
DISPLAY_NAME(objj_class);
GLOBAL(objj_object) = function()
{
this.isa = NULL;
this._UID = -1;
}
DISPLAY_NAME(objj_object);
// Working with Classes
GLOBAL(class_getName) = function(/*Class*/ aClass)
@@ -109,8 +101,6 @@ GLOBAL(class_getName) = function(/*Class*/ aClass)
return aClass.name;
}
DISPLAY_NAME(class_getName);
GLOBAL(class_isMetaClass) = function(/*Class*/ aClass)
{
if (!aClass)
@@ -119,8 +109,6 @@ GLOBAL(class_isMetaClass) = function(/*Class*/ aClass)
return ISMETA(aClass);
}
DISPLAY_NAME(class_isMetaClass);
GLOBAL(class_getSuperclass) = function(/*Class*/ aClass)
{
if (aClass == Nil)
@@ -129,8 +117,6 @@ GLOBAL(class_getSuperclass) = function(/*Class*/ aClass)
return aClass.super_class;
}
DISPLAY_NAME(class_getSuperclass)
GLOBAL(class_setSuperclass) = function(/*Class*/ aClass, /*Class*/ aSuperClass)
{
// Set up the actual class hierarchy.
@@ -138,8 +124,6 @@ GLOBAL(class_setSuperclass) = function(/*Class*/ aClass, /*Class*/ aSuperClass)
aClass.isa.super_class = aSuperClass.isa;
}
DISPLAY_NAME(class_setSuperclass);
GLOBAL(class_addIvar) = function(/*Class*/ aClass, /*String*/ aName, /*String*/ aType)
{
var thePrototype = aClass.allocator.prototype;
@@ -158,8 +142,6 @@ GLOBAL(class_addIvar) = function(/*Class*/ aClass, /*String*/ aName, /*String*/
return YES;
}
DISPLAY_NAME(class_addIvar);
GLOBAL(class_addIvars) = function(/*Class*/ aClass, /*Array*/ivars)
{
var index = 0,
@@ -182,15 +164,11 @@ GLOBAL(class_addIvars) = function(/*Class*/ aClass, /*Array*/ivars)
}
}
DISPLAY_NAME(class_addIvars);
GLOBAL(class_copyIvarList) = function(/*Class*/ aClass)
{
return aClass.ivar_list.slice(0);
}
DISPLAY_NAME(class_copyIvarList);
//#define class_copyIvarList(aClass) (aClass.ivar_list.slice(0))
#define METHOD_DISPLAY_NAME(aClass, aMethod) (ISMETA(aClass) ? '+' : '-') + " [" + class_getName(aClass) + ' ' + method_getName(aMethod) + ']'
@@ -216,8 +194,6 @@ GLOBAL(class_addMethod) = function(/*Class*/ aClass, /*SEL*/ aName, /*IMP*/ anIm
return YES;
}
DISPLAY_NAME(class_addMethod);
GLOBAL(class_addMethods) = function(/*Class*/ aClass, /*Array*/ methods)
{
var index = 0,
@@ -245,8 +221,6 @@ GLOBAL(class_addMethods) = function(/*Class*/ aClass, /*Array*/ methods)
class_addMethods(GETMETA(aClass), methods);
}
DISPLAY_NAME(class_addMethods);
GLOBAL(class_getInstanceMethod) = function(/*Class*/ aClass, /*SEL*/ aSelector)
{
if (!aClass || !aSelector)
@@ -257,8 +231,6 @@ GLOBAL(class_getInstanceMethod) = function(/*Class*/ aClass, /*SEL*/ aSelector)
return method ? method : NULL;
}
DISPLAY_NAME(class_getInstanceMethod);
GLOBAL(class_getInstanceVariable) = function(/*Class*/ aClass, /*String*/ aName)
{
if (!aClass || !aName)
@@ -270,8 +242,6 @@ GLOBAL(class_getInstanceVariable) = function(/*Class*/ aClass, /*String*/ aName)
return variable;
}
DISPLAY_NAME(class_getInstanceVariable);
GLOBAL(class_getClassMethod) = function(/*Class*/ aClass, /*SEL*/ aSelector)
{
if (!aClass || !aSelector)
@@ -282,36 +252,26 @@ GLOBAL(class_getClassMethod) = function(/*Class*/ aClass, /*SEL*/ aSelector)
return method ? method : NULL;
}
DISPLAY_NAME(class_getClassMethod);
GLOBAL(class_respondsToSelector) = function(/*Class*/ aClass, /*SEL*/ aSelector)
{
return class_getClassMethod(aClass, aSelector) != NULL;
}
DISPLAY_NAME(class_respondsToSelector);
GLOBAL(class_copyMethodList) = function(/*Class*/ aClass)
{
return aClass.method_list.slice(0);
}
DISPLAY_NAME(class_copyMethodList);
GLOBAL(class_getVersion) = function(/*Class*/ aClass)
{
return aClass.version;
}
DISPLAY_NAME(class_getVersion);
GLOBAL(class_setVersion) = function(/*Class*/ aClass, /*Integer*/ aVersion)
{
aClass.version = parseInt(aVersion, 10);
}
DISPLAY_NAME(class_setVersion);
GLOBAL(class_replaceMethod) = function(/*Class*/ aClass, /*SEL*/ aSelector, /*IMP*/ aMethodImplementation)
{
if (!aClass || !aSelector)
@@ -328,8 +288,6 @@ GLOBAL(class_replaceMethod) = function(/*Class*/ aClass, /*SEL*/ aSelector, /*IM
return method_imp;
}
DISPLAY_NAME(class_replaceMethod);
var _class_initialize = function(/*Class*/ aClass)
{
var meta = GETMETA(aClass);
@@ -422,8 +380,6 @@ GLOBAL(class_getMethodImplementation) = function(/*Class*/ aClass, /*SEL*/ aSele
return implementation;
}
DISPLAY_NAME(class_getMethodImplementation);
// Adding Classes
var REGISTERED_CLASSES = { };
@@ -470,8 +426,6 @@ GLOBAL(objj_allocateClassPair) = function(/*Class*/ superclass, /*String*/ aName
return classObject;
}
DISPLAY_NAME(objj_allocateClassPair);
var CONTEXT_BUNDLE = nil;
GLOBAL(objj_registerClassPair) = function(/*Class*/ aClass)
@@ -482,8 +436,6 @@ GLOBAL(objj_registerClassPair) = function(/*Class*/ aClass)
addClassToBundle(aClass, CONTEXT_BUNDLE);
}
DISPLAY_NAME(objj_registerClassPair);
GLOBAL(objj_resetRegisterClasses) = function()
{
for (var key in REGISTERED_CLASSES)
@@ -494,8 +446,6 @@ GLOBAL(objj_resetRegisterClasses) = function()
resetBundle();
}
DISPLAY_NAME(objj_resetRegisterClasses);
// Instantiating Classes
GLOBAL(class_createInstance) = function(/*Class*/ aClass)
@@ -511,8 +461,6 @@ GLOBAL(class_createInstance) = function(/*Class*/ aClass)
return object;
}
DISPLAY_NAME(class_createInstance);
// Opera 9.5.1 has a bug where prototypes "inheret" members from instances when "with" is used.
// Given that the Opera team is so fond of bug-testing instead of version-testing, we'll go
// ahead and do that.
@@ -570,8 +518,6 @@ GLOBAL(object_getClassName) = function(/*id*/ anObject)
return theClass ? class_getName(theClass) : "";
}
DISPLAY_NAME(object_getClassName);
//objc_getClassList
GLOBAL(objj_lookUpClass) = function(/*String*/ aName)
{
@@ -580,8 +526,6 @@ GLOBAL(objj_lookUpClass) = function(/*String*/ aName)
return theClass ? theClass : Nil;
}
DISPLAY_NAME(objj_lookUpClass);
GLOBAL(objj_getClass) = function(/*String*/ aName)
{
var theClass = REGISTERED_CLASSES[aName];
@@ -603,8 +547,6 @@ GLOBAL(objj_getClass) = function(/*String*/ aName)
return theClass ? theClass : Nil;
}
DISPLAY_NAME(objj_getClass);
//objc_getRequiredClass
GLOBAL(objj_getMetaClass) = function(/*String*/ aName)
{
@@ -613,8 +555,6 @@ GLOBAL(objj_getMetaClass) = function(/*String*/ aName)
return GETMETA(theClass);
}
DISPLAY_NAME(objj_getMetaClass);
// Working with Instance Variables
GLOBAL(ivar_getName) = function(anIvar)
@@ -622,15 +562,11 @@ GLOBAL(ivar_getName) = function(anIvar)
return anIvar.name;
}
DISPLAY_NAME(ivar_getName);
GLOBAL(ivar_getTypeEncoding) = function(anIvar)
{
return anIvar.type;
}
DISPLAY_NAME(ivar_getTypeEncoding);
// Sending Messages
#ifdef MAXIMUM_RECURSION_CHECKS
@@ -669,8 +605,6 @@ GLOBAL(objj_msgSend) = function(/*id*/ aReceiver, /*SEL*/ aSelector)
#endif
}
DISPLAY_NAME(objj_msgSend);
GLOBAL(objj_msgSendSuper) = function(/*id*/ aSuper, /*SEL*/ aSelector)
{
var super_class = aSuper.super_class;
@@ -682,8 +616,6 @@ GLOBAL(objj_msgSendSuper) = function(/*id*/ aSuper, /*SEL*/ aSelector)
return implementation.apply(aSuper.receiver, arguments);
}
DISPLAY_NAME(objj_msgSendSuper);
// Working with Methods
GLOBAL(method_getName) = function(/*Method*/ aMethod)
@@ -691,15 +623,11 @@ GLOBAL(method_getName) = function(/*Method*/ aMethod)
return aMethod.name;
}
DISPLAY_NAME(method_getName);
GLOBAL(method_getImplementation) = function(/*Method*/ aMethod)
{
return aMethod.method_imp;
}
DISPLAY_NAME(method_getImplementation);
GLOBAL(method_setImplementation) = function(/*Method*/ aMethod, /*IMP*/ anImplementation)
{
var oldImplementation = aMethod.method_imp;
@@ -709,8 +637,6 @@ GLOBAL(method_setImplementation) = function(/*Method*/ aMethod, /*IMP*/ anImplem
return oldImplementation;
}
DISPLAY_NAME(method_setImplementation);
GLOBAL(method_exchangeImplementations) = function(/*Method*/ lhs, /*Method*/ rhs)
{
var lhs_imp = method_getImplementation(lhs),
@@ -720,8 +646,6 @@ GLOBAL(method_exchangeImplementations) = function(/*Method*/ lhs, /*Method*/ rhs
method_setImplementation(rhs, lhs_imp);
}
DISPLAY_NAME(method_exchangeImplementations);
// Working with Selectors
GLOBAL(sel_getName) = function(aSelector)
@@ -729,29 +653,21 @@ GLOBAL(sel_getName) = function(aSelector)
return aSelector ? aSelector : "<null selector>";
}
DISPLAY_NAME(sel_getName);
GLOBAL(sel_getUid) = function(/*String*/ aName)
{
return aName;
}
DISPLAY_NAME(sel_getUid);
GLOBAL(sel_isEqual) = function(/*SEL*/ lhs, /*SEL*/ rhs)
{
return lhs === rhs;
}
DISPLAY_NAME(sel_isEqual);
GLOBAL(sel_registerName) = function(/*String*/ aName)
{
return aName;
}
DISPLAY_NAME(sel_registerName);
objj_class.prototype.toString = objj_object.prototype.toString = function()
{
var isa = this.isa;
+1 -1
View File
@@ -237,7 +237,7 @@
[arrayController setSelectionIndex:0];
var options = [CPDictionary dictionaryWithJSObject:{CPMultipleValuesPlaceholderBindingOption:@"Multiple Values"}];
var options = [CPDictionary dictionaryWithObject:@"Multiple Values" forKey:CPMultipleValuesPlaceholderBindingOption];
[textField bind:@"value" toObject:arrayController withKeyPath:@"selection.cheese" options:options];
[self assert:@"yellow" equals:[textField stringValue] message:@"text field string value should be 'yellow'"];
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,18 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10">
<data>
<int key="IBDocument.SystemTarget">1060</int>
<string key="IBDocument.SystemVersion">10H574</string>
<string key="IBDocument.InterfaceBuilderVersion">823</string>
<string key="IBDocument.AppKitVersion">1038.35</string>
<string key="IBDocument.HIToolboxVersion">461.00</string>
<int key="IBDocument.SystemTarget">1080</int>
<string key="IBDocument.SystemVersion">12C3012</string>
<string key="IBDocument.InterfaceBuilderVersion">3084</string>
<string key="IBDocument.AppKitVersion">1187.34</string>
<string key="IBDocument.HIToolboxVersion">625.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="NS.object.0">823</string>
<string key="NS.object.0">3084</string>
</object>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<object class="NSArray" key="IBDocument.IntegratedClassDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
<integer value="2"/>
<string>NSArrayController</string>
<string>NSButton</string>
<string>NSButtonCell</string>
<string>NSCustomObject</string>
<string>NSScrollView</string>
<string>NSScroller</string>
<string>NSTableColumn</string>
<string>NSTableHeaderView</string>
<string>NSTableView</string>
<string>NSTextField</string>
<string>NSTextFieldCell</string>
<string>NSView</string>
<string>NSWindowTemplate</string>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -41,7 +53,7 @@
<string key="NSWindowTitle">02_WithBindings</string>
<string key="NSWindowClass">NSWindow</string>
<nil key="NSViewClass"/>
<string key="NSWindowContentMaxSize">{3.40282e+38, 3.40282e+38}</string>
<nil key="NSUserInterfaceItemIdentifier"/>
<object class="NSView" key="NSWindowView" id="1006">
<reference key="NSNextResponder"/>
<int key="NSvFlags">256</int>
@@ -52,9 +64,11 @@
<int key="NSvFlags">268</int>
<string key="NSFrame">{{17, 286}, {112, 17}}</string>
<reference key="NSSuperview" ref="1006"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="976105992"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="1066024517">
<int key="NSCellFlags">68288064</int>
<int key="NSCellFlags">68157504</int>
<int key="NSCellFlags2">272630784</int>
<string key="NSContents">Collection Name:</string>
<object class="NSFont" key="NSSupport" id="483003960">
@@ -69,7 +83,7 @@
<string key="NSColorName">controlColor</string>
<object class="NSColor" key="NSColor" id="476124297">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MC42NjY2NjY2ODY1AA</bytes>
<bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
</object>
</object>
<object class="NSColor" key="NSTextColor" id="938743873">
@@ -82,6 +96,7 @@
</object>
</object>
</object>
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
</object>
<object class="NSScrollView" id="233793610">
<reference key="NSNextResponder" ref="1006"/>
@@ -96,31 +111,36 @@
<object class="NSTableView" id="555316680">
<reference key="NSNextResponder" ref="23831815"/>
<int key="NSvFlags">256</int>
<string key="NSFrameSize">{477, 117}</string>
<string key="NSFrameSize">{492, 132}</string>
<reference key="NSSuperview" ref="23831815"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="678583863"/>
<bool key="NSEnabled">YES</bool>
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
<bool key="NSControlAllowsExpansionToolTips">YES</bool>
<object class="NSTableHeaderView" key="NSHeaderView" id="184435735">
<reference key="NSNextResponder" ref="100317685"/>
<int key="NSvFlags">256</int>
<string key="NSFrameSize">{477, 17}</string>
<string key="NSFrameSize">{492, 17}</string>
<reference key="NSSuperview" ref="100317685"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="23831815"/>
<reference key="NSTableView" ref="555316680"/>
</object>
<object class="_NSCornerView" key="NSCornerView" id="327213673">
<reference key="NSNextResponder" ref="233793610"/>
<object class="_NSCornerView" key="NSCornerView">
<nil key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<string key="NSFrame">{{478, 0}, {16, 17}}</string>
<reference key="NSSuperview" ref="233793610"/>
</object>
<object class="NSMutableArray" key="NSTableColumns">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSTableColumn" id="99307196">
<string key="NSIdentifier">title</string>
<double key="NSWidth">473.55758666992188</double>
<double key="NSWidth">489.05758666992188</double>
<double key="NSMinWidth">31.557619094848633</double>
<double key="NSMaxWidth">1000</double>
<object class="NSTableHeaderCell" key="NSHeaderCell">
<int key="NSCellFlags">75628096</int>
<int key="NSCellFlags">75497536</int>
<int key="NSCellFlags2">2048</int>
<string key="NSContents">Title</string>
<object class="NSFont" key="NSSupport">
@@ -140,7 +160,7 @@
</object>
</object>
<object class="NSTextFieldCell" key="NSDataCell" id="952124200">
<int key="NSCellFlags">337772096</int>
<int key="NSCellFlags">337641536</int>
<int key="NSCellFlags2">2048</int>
<reference key="NSSupport" ref="483003960"/>
<reference key="NSControlView" ref="555316680"/>
@@ -182,10 +202,12 @@
<int key="NSDraggingSourceMaskForNonLocal">0</int>
<bool key="NSAllowsTypeSelect">YES</bool>
<int key="NSTableViewDraggingDestinationStyle">0</int>
<int key="NSTableViewGroupRowStyle">1</int>
</object>
</object>
<string key="NSFrame">{{1, 17}, {477, 117}}</string>
<string key="NSFrame">{{1, 17}, {492, 132}}</string>
<reference key="NSSuperview" ref="233793610"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="555316680"/>
<reference key="NSDocView" ref="555316680"/>
<reference key="NSBGColor" ref="376379790"/>
@@ -194,8 +216,11 @@
<object class="NSScroller" id="961036685">
<reference key="NSNextResponder" ref="233793610"/>
<int key="NSvFlags">256</int>
<string key="NSFrame">{{478, 17}, {15, 117}}</string>
<string key="NSFrame">{{477, 17}, {16, 132}}</string>
<reference key="NSSuperview" ref="233793610"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="739944512"/>
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
<reference key="NSTarget" ref="233793610"/>
<string key="NSAction">_doScroller:</string>
<double key="NSPercent">0.61578947305679321</double>
@@ -203,8 +228,11 @@
<object class="NSScroller" id="678583863">
<reference key="NSNextResponder" ref="233793610"/>
<int key="NSvFlags">256</int>
<string key="NSFrame">{{1, 134}, {477, 15}}</string>
<string key="NSFrame">{{1, 133}, {492, 16}}</string>
<reference key="NSSuperview" ref="233793610"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="961036685"/>
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
<int key="NSsFlags">1</int>
<reference key="NSTarget" ref="233793610"/>
<string key="NSAction">_doScroller:</string>
@@ -217,39 +245,44 @@
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="184435735"/>
</object>
<string key="NSFrame">{{1, 0}, {477, 17}}</string>
<string key="NSFrame">{{1, 0}, {492, 17}}</string>
<reference key="NSSuperview" ref="233793610"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="184435735"/>
<reference key="NSDocView" ref="184435735"/>
<reference key="NSBGColor" ref="376379790"/>
<int key="NScvFlags">4</int>
</object>
<reference ref="327213673"/>
</object>
<string key="NSFrame">{{20, 126}, {494, 150}}</string>
<reference key="NSSuperview" ref="1006"/>
<reference key="NSNextKeyView" ref="23831815"/>
<int key="NSsFlags">50</int>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="100317685"/>
<int key="NSsFlags">133170</int>
<reference key="NSVScroller" ref="961036685"/>
<reference key="NSHScroller" ref="678583863"/>
<reference key="NSContentView" ref="23831815"/>
<reference key="NSHeaderClipView" ref="100317685"/>
<reference key="NSCornerView" ref="327213673"/>
<bytes key="NSScrollAmts">QSAAAEEgAABBmAAAQZgAAA</bytes>
<double key="NSMinMagnification">0.25</double>
<double key="NSMaxMagnification">4</double>
<double key="NSMagnification">1</double>
</object>
<object class="NSButton" id="987622507">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">289</int>
<string key="NSFrame">{{430, 78}, {90, 32}}</string>
<reference key="NSSuperview" ref="1006"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="619245751"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="659937669">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags">67108864</int>
<int key="NSCellFlags2">134217728</int>
<string key="NSContents">Remove</string>
<reference key="NSSupport" ref="483003960"/>
<reference key="NSControlView" ref="987622507"/>
<int key="NSButtonFlags">-2038284033</int>
<int key="NSButtonFlags">-2038284288</int>
<int key="NSButtonFlags2">1</int>
<reference key="NSAlternateImage" ref="483003960"/>
<string key="NSAlternateContents"/>
@@ -259,15 +292,18 @@
<int key="NSPeriodicDelay">200</int>
<int key="NSPeriodicInterval">25</int>
</object>
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
</object>
<object class="NSTextField" id="976105992">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">266</int>
<string key="NSFrame">{{134, 284}, {380, 22}}</string>
<reference key="NSSuperview" ref="1006"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="233793610"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="383943727">
<int key="NSCellFlags">-1804468671</int>
<int key="NSCellFlags">-1804599231</int>
<int key="NSCellFlags2">272630784</int>
<string key="NSContents"/>
<reference key="NSSupport" ref="483003960"/>
@@ -286,20 +322,23 @@
<reference key="NSColor" ref="767807509"/>
</object>
</object>
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
</object>
<object class="NSButton" id="739944512">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">289</int>
<string key="NSFrame">{{340, 78}, {90, 32}}</string>
<reference key="NSSuperview" ref="1006"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="987622507"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="160486875">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags">67108864</int>
<int key="NSCellFlags2">134217728</int>
<string key="NSContents">Add</string>
<reference key="NSSupport" ref="483003960"/>
<reference key="NSControlView" ref="739944512"/>
<int key="NSButtonFlags">-2038284033</int>
<int key="NSButtonFlags">-2038284288</int>
<int key="NSButtonFlags2">1</int>
<reference key="NSAlternateImage" ref="483003960"/>
<string key="NSAlternateContents"/>
@@ -309,15 +348,18 @@
<int key="NSPeriodicDelay">200</int>
<int key="NSPeriodicInterval">25</int>
</object>
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
</object>
<object class="NSTextField" id="912895224">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">290</int>
<string key="NSFrame">{{61, 56}, {453, 22}}</string>
<reference key="NSSuperview" ref="1006"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="936366909"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="114633688">
<int key="NSCellFlags">-1804468671</int>
<int key="NSCellFlags">-1804599231</int>
<int key="NSCellFlags2">272630784</int>
<string key="NSContents"/>
<reference key="NSSupport" ref="483003960"/>
@@ -326,15 +368,18 @@
<reference key="NSBackgroundColor" ref="605201911"/>
<reference key="NSTextColor" ref="1004495797"/>
</object>
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
</object>
<object class="NSTextField" id="619245751">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">292</int>
<string key="NSFrame">{{17, 58}, {38, 17}}</string>
<reference key="NSSuperview" ref="1006"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="912895224"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="617734339">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags">67108864</int>
<int key="NSCellFlags2">71303168</int>
<string key="NSContents">Title:</string>
<reference key="NSSupport" ref="483003960"/>
@@ -342,15 +387,18 @@
<reference key="NSBackgroundColor" ref="198905146"/>
<reference key="NSTextColor" ref="938743873"/>
</object>
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
</object>
<object class="NSTextField" id="384957067">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">290</int>
<string key="NSFrame">{{61, 24}, {453, 22}}</string>
<reference key="NSSuperview" ref="1006"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="184317691">
<int key="NSCellFlags">-1804468671</int>
<int key="NSCellFlags">-1804599231</int>
<int key="NSCellFlags2">272630784</int>
<string key="NSContents"/>
<reference key="NSSupport" ref="483003960"/>
@@ -359,15 +407,18 @@
<reference key="NSBackgroundColor" ref="605201911"/>
<reference key="NSTextColor" ref="1004495797"/>
</object>
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
</object>
<object class="NSTextField" id="936366909">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">292</int>
<string key="NSFrame">{{17, 26}, {38, 17}}</string>
<reference key="NSSuperview" ref="1006"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="384957067"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="214948376">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags">67108864</int>
<int key="NSCellFlags2">71303168</int>
<string key="NSContents">URL:</string>
<reference key="NSSupport" ref="483003960"/>
@@ -375,13 +426,17 @@
<reference key="NSBackgroundColor" ref="198905146"/>
<reference key="NSTextColor" ref="938743873"/>
</object>
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
</object>
</object>
<string key="NSFrameSize">{534, 323}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="528437844"/>
</object>
<string key="NSScreenRect">{{0, 0}, {1680, 1028}}</string>
<string key="NSMaxSize">{3.40282e+38, 3.40282e+38}</string>
<string key="NSScreenRect">{{0, 0}, {1440, 878}}</string>
<string key="NSMaxSize">{10000000000000, 10000000000000}</string>
<bool key="NSWindowIsRestorable">YES</bool>
</object>
<object class="NSArrayController" id="672964204">
<object class="NSMutableArray" key="NSDeclaredKeys">
@@ -434,6 +489,30 @@
</object>
<int key="connectionID">34</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">addButton</string>
<reference key="source" ref="1001"/>
<reference key="destination" ref="739944512"/>
</object>
<int key="connectionID">59</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">removeButton</string>
<reference key="source" ref="1001"/>
<reference key="destination" ref="987622507"/>
</object>
<int key="connectionID">60</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">arrayController</string>
<reference key="source" ref="1001"/>
<reference key="destination" ref="672964204"/>
</object>
<int key="connectionID">61</int>
</object>
<object class="IBConnectionRecord">
<object class="IBBindingConnection" key="connection">
<string key="label">value: name</string>
@@ -450,6 +529,71 @@
</object>
<int key="connectionID">40</int>
</object>
<object class="IBConnectionRecord">
<object class="IBBindingConnection" key="connection">
<string key="label">value: selection.title</string>
<reference key="source" ref="912895224"/>
<reference key="destination" ref="672964204"/>
<object class="NSNibBindingConnector" key="connector">
<reference key="NSSource" ref="912895224"/>
<reference key="NSDestination" ref="672964204"/>
<string key="NSLabel">value: selection.title</string>
<string key="NSBinding">value</string>
<string key="NSKeyPath">selection.title</string>
<object class="NSDictionary" key="NSOptions">
<string key="NS.key.0">NSNoSelectionPlaceholder</string>
<string key="NS.object.0">No Selection</string>
</object>
<int key="NSNibBindingConnectorVersion">2</int>
</object>
</object>
<int key="connectionID">65</int>
</object>
<object class="IBConnectionRecord">
<object class="IBBindingConnection" key="connection">
<string key="label">value: selection.URL</string>
<reference key="source" ref="384957067"/>
<reference key="destination" ref="672964204"/>
<object class="NSNibBindingConnector" key="connector">
<reference key="NSSource" ref="384957067"/>
<reference key="NSDestination" ref="672964204"/>
<string key="NSLabel">value: selection.URL</string>
<string key="NSBinding">value</string>
<string key="NSKeyPath">selection.URL</string>
<object class="NSDictionary" key="NSOptions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>NSNoSelectionPlaceholder</string>
<string>NSValueTransformerName</string>
</object>
<object class="NSArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>No Selection</string>
<string>StringToURLTransformer</string>
</object>
</object>
<int key="NSNibBindingConnectorVersion">2</int>
</object>
</object>
<int key="connectionID">66</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">dataSource</string>
<reference key="source" ref="555316680"/>
<reference key="destination" ref="672964204"/>
</object>
<int key="connectionID">54</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">delegate</string>
<reference key="source" ref="555316680"/>
<reference key="destination" ref="672964204"/>
</object>
<int key="connectionID">55</int>
</object>
<object class="IBConnectionRecord">
<object class="IBBindingConnection" key="connection">
<string key="label">value: arrangedObjects.title</string>
@@ -482,38 +626,6 @@
</object>
<int key="connectionID">46</int>
</object>
<object class="IBConnectionRecord">
<object class="IBBindingConnection" key="connection">
<string key="label">value: selection.title</string>
<reference key="source" ref="912895224"/>
<reference key="destination" ref="672964204"/>
<object class="NSNibBindingConnector" key="connector">
<reference key="NSSource" ref="912895224"/>
<reference key="NSDestination" ref="672964204"/>
<string key="NSLabel">value: selection.title</string>
<string key="NSBinding">value</string>
<string key="NSKeyPath">selection.title</string>
<int key="NSNibBindingConnectorVersion">2</int>
</object>
</object>
<int key="connectionID">48</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">dataSource</string>
<reference key="source" ref="555316680"/>
<reference key="destination" ref="672964204"/>
</object>
<int key="connectionID">54</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">delegate</string>
<reference key="source" ref="555316680"/>
<reference key="destination" ref="672964204"/>
</object>
<int key="connectionID">55</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">tableView</string>
@@ -538,50 +650,6 @@
</object>
<int key="connectionID">58</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">addButton</string>
<reference key="source" ref="1001"/>
<reference key="destination" ref="739944512"/>
</object>
<int key="connectionID">59</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">removeButton</string>
<reference key="source" ref="1001"/>
<reference key="destination" ref="987622507"/>
</object>
<int key="connectionID">60</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">arrayController</string>
<reference key="source" ref="1001"/>
<reference key="destination" ref="672964204"/>
</object>
<int key="connectionID">61</int>
</object>
<object class="IBConnectionRecord">
<object class="IBBindingConnection" key="connection">
<string key="label">value: selection.URL</string>
<reference key="source" ref="384957067"/>
<reference key="destination" ref="672964204"/>
<object class="NSNibBindingConnector" key="connector">
<reference key="NSSource" ref="384957067"/>
<reference key="NSDestination" ref="672964204"/>
<string key="NSLabel">value: selection.URL</string>
<string key="NSBinding">value</string>
<string key="NSKeyPath">selection.URL</string>
<object class="NSDictionary" key="NSOptions">
<string key="NS.key.0">NSValueTransformerName</string>
<string key="NS.object.0">StringToURLTransformer</string>
</object>
<int key="NSNibBindingConnectorVersion">2</int>
</object>
</object>
<int key="connectionID">64</int>
</object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
@@ -812,22 +880,15 @@
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>-1.IBPluginDependency</string>
<string>-2.IBPluginDependency</string>
<string>-3.IBPluginDependency</string>
<string>1.IBEditorWindowLastContentRect</string>
<string>1.IBPluginDependency</string>
<string>1.IBWindowTemplateEditedContentRect</string>
<string>1.NSWindowTemplate.visibleAtLaunch</string>
<string>1.WindowOrigin</string>
<string>1.editorWindowContentRectSynchronizationRect</string>
<string>10.IBPluginDependency</string>
<string>10.IBViewBoundsToFrameTransform</string>
<string>10.ImportedFromIB2</string>
<string>11.IBPluginDependency</string>
<string>11.IBViewBoundsToFrameTransform</string>
<string>11.ImportedFromIB2</string>
<string>12.IBPluginDependency</string>
<string>12.IBViewBoundsToFrameTransform</string>
<string>12.ImportedFromIB2</string>
<string>13.IBPluginDependency</string>
<string>14.IBPluginDependency</string>
<string>15.IBPluginDependency</string>
@@ -843,9 +904,7 @@
<string>22.IBPluginDependency</string>
<string>22.IBShouldRemoveOnLegacySave</string>
<string>23.IBPluginDependency</string>
<string>23.ImportedFromIB2</string>
<string>24.IBPluginDependency</string>
<string>24.ImportedFromIB2</string>
<string>25.IBPluginDependency</string>
<string>25.IBShouldRemoveOnLegacySave</string>
<string>3.IBPluginDependency</string>
@@ -853,45 +912,22 @@
<string>41.CustomClassName</string>
<string>41.IBPluginDependency</string>
<string>5.IBPluginDependency</string>
<string>5.IBViewBoundsToFrameTransform</string>
<string>5.ImportedFromIB2</string>
<string>6.IBPluginDependency</string>
<string>6.IBViewBoundsToFrameTransform</string>
<string>6.ImportedFromIB2</string>
<string>7.IBPluginDependency</string>
<string>7.IBViewBoundsToFrameTransform</string>
<string>7.ImportedFromIB2</string>
<string>8.IBPluginDependency</string>
<string>8.IBViewBoundsToFrameTransform</string>
<string>8.ImportedFromIB2</string>
<string>9.IBPluginDependency</string>
<string>9.IBViewBoundsToFrameTransform</string>
<string>9.ImportedFromIB2</string>
</object>
<object class="NSMutableArray" key="dict.values">
<object class="NSArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>{{0, 164}, {534, 323}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>{{0, 164}, {534, 323}}</string>
<integer value="1"/>
<string>{196, 240}</string>
<string>{{357, 418}, {480, 270}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<object class="NSAffineTransform">
<bytes key="NSTransformStruct">P4AAAL+AAABBkAAAwpIAAA</bytes>
</object>
<integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<object class="NSAffineTransform">
<bytes key="NSTransformStruct">P4AAAL+AAABCjAAAwiAAAA</bytes>
</object>
<integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<object class="NSAffineTransform">
<bytes key="NSTransformStruct">P4AAAL+AAABBkAAAwiQAAA</bytes>
</object>
<integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -907,9 +943,7 @@
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -917,49 +951,25 @@
<string>MyArrayController</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<object class="NSAffineTransform">
<bytes key="NSTransformStruct">P4AAAL+AAABBqAAAw4kAAA</bytes>
</object>
<integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<object class="NSAffineTransform">
<bytes key="NSTransformStruct">P4AAAL+AAABD1wAAwtgAAA</bytes>
</object>
<integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<object class="NSAffineTransform">
<bytes key="NSTransformStruct">P4AAAL+AAABDDAAAw5YAAA</bytes>
</object>
<integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<object class="NSAffineTransform">
<bytes key="NSTransformStruct">P4AAAL+AAABDqgAAwtgAAA</bytes>
</object>
<integer value="1"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<object class="NSAffineTransform">
<bytes key="NSTransformStruct">P4AAAL+AAABCjAAAwpAAAA</bytes>
</object>
<integer value="1"/>
</object>
</object>
<object class="NSMutableDictionary" key="unlocalizedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<reference key="dict.values" ref="0"/>
</object>
<nil key="activeLocalization"/>
<object class="NSMutableDictionary" key="localizations">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<reference key="dict.values" ref="0"/>
</object>
<nil key="sourceID"/>
<int key="maxID">64</int>
<int key="maxID">66</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
@@ -976,7 +986,7 @@
<string>selectedBookmarkTitleFieldChanged:</string>
<string>selectedBookmarkURLFieldChanged:</string>
</object>
<object class="NSMutableArray" key="dict.values">
<object class="NSArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>id</string>
<string>id</string>
@@ -995,7 +1005,7 @@
<string>selectedBookmarkTitleFieldChanged:</string>
<string>selectedBookmarkURLFieldChanged:</string>
</object>
<object class="NSMutableArray" key="dict.values">
<object class="NSArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBActionInfo">
<string key="name">addBookmark:</string>
@@ -1031,7 +1041,7 @@
<string>selectedBookmarkURLField</string>
<string>tableView</string>
</object>
<object class="NSMutableArray" key="dict.values">
<object class="NSArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>NSButton</string>
<string>MyArrayController</string>
@@ -1054,7 +1064,7 @@
<string>selectedBookmarkURLField</string>
<string>tableView</string>
</object>
<object class="NSMutableArray" key="dict.values">
<object class="NSArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBToOneOutletInfo">
<string key="name">addButton</string>
@@ -1087,8 +1097,8 @@
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBUserSource</string>
<string key="minorKey"/>
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">./Classes/MyDocument.h</string>
</object>
</object>
</object>
@@ -1100,7 +1110,6 @@
<integer value="3000" key="NS.object.0"/>
</object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<nil key="IBDocument.LastKnownRelativeProjectPath"/>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
</data>
</archive>
+19 -2
View File
@@ -1,4 +1,3 @@
@import <Foundation/CPURLResponse.j>
@implementation CPURLConnectionTest : OJTestCase
{
@@ -19,4 +18,22 @@
[self assert:7 equals:[[parsed allKeys] count]];
}
@end
- (void)testSynchronousRequestSuccess
{
var req = [CPURLRequest requestWithURL:@"Tests/Foundation/CPURLConnectionTest.j"],
data = [CPURLConnection sendSynchronousRequest:req returningResponse:nil];
[self assert:CPData equals:[data class]];
[self assertNotNull:data];
[self assertFalse:([data rawString] == @"")];
}
- (void)testSynchronousRequestNotFound
{
var req = [CPURLRequest requestWithURL:@"NotFound"],
data = [CPURLConnection sendSynchronousRequest:req returningResponse:nil];
[self assertNull:data];
}
@end
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -3,12 +3,12 @@
<data>
<int key="IBDocument.SystemTarget">1080</int>
<string key="IBDocument.SystemVersion">12C60</string>
<string key="IBDocument.InterfaceBuilderVersion">2844</string>
<string key="IBDocument.InterfaceBuilderVersion">3084</string>
<string key="IBDocument.AppKitVersion">1187.34</string>
<string key="IBDocument.HIToolboxVersion">625.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="NS.object.0">2844</string>
<string key="NS.object.0">3084</string>
</object>
<array key="IBDocument.IntegratedClassDependencies">
<string>NSButton</string>
@@ -44,7 +44,7 @@
<object class="NSWindowTemplate" id="1056085528">
<int key="NSWindowStyleMask">15</int>
<int key="NSWindowBacking">2</int>
<string key="NSWindowRect">{{71, 767}, {468, 425}}</string>
<string key="NSWindowRect">{{71, 767}, {468, 455}}</string>
<int key="NSWTFlags">1946157056</int>
<string key="NSWindowTitle">Window</string>
<string key="NSWindowClass">NSWindow</string>
@@ -57,7 +57,7 @@
<object class="NSSlider" id="626349312">
<reference key="NSNextResponder" ref="161598483"/>
<int key="NSvFlags">301</int>
<string key="NSFrame">{{59, 52}, {96, 21}}</string>
<string key="NSFrame">{{59, 53}, {96, 21}}</string>
<reference key="NSSuperview" ref="161598483"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="225469319"/>
@@ -86,7 +86,7 @@
<object class="NSTextField" id="225469319">
<reference key="NSNextResponder" ref="161598483"/>
<int key="NSvFlags">301</int>
<string key="NSFrame">{{166, 51}, {96, 22}}</string>
<string key="NSFrame">{{166, 52}, {96, 22}}</string>
<reference key="NSSuperview" ref="161598483"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="393836098"/>
@@ -127,7 +127,7 @@
<object class="NSButton" id="917693159">
<reference key="NSNextResponder" ref="161598483"/>
<int key="NSvFlags">289</int>
<string key="NSFrame">{{381, 12}, {80, 32}}</string>
<string key="NSFrame">{{381, 13}, {80, 32}}</string>
<reference key="NSSuperview" ref="161598483"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
@@ -152,7 +152,7 @@
<object class="NSButton" id="503115995">
<reference key="NSNextResponder" ref="161598483"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{14, 345}, {150, 32}}</string>
<string key="NSFrame">{{14, 375}, {150, 32}}</string>
<reference key="NSSuperview" ref="161598483"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="368830815"/>
@@ -177,7 +177,7 @@
<object class="NSButton" id="368830815">
<reference key="NSNextResponder" ref="161598483"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{14, 313}, {150, 32}}</string>
<string key="NSFrame">{{14, 343}, {150, 32}}</string>
<reference key="NSSuperview" ref="161598483"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="223206700"/>
@@ -202,7 +202,7 @@
<object class="NSButton" id="666980504">
<reference key="NSNextResponder" ref="161598483"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{14, 377}, {150, 32}}</string>
<string key="NSFrame">{{14, 407}, {150, 32}}</string>
<reference key="NSSuperview" ref="161598483"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="503115995"/>
@@ -227,10 +227,10 @@
<object class="NSButton" id="223206700">
<reference key="NSNextResponder" ref="161598483"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{14, 281}, {150, 32}}</string>
<string key="NSFrame">{{14, 311}, {150, 32}}</string>
<reference key="NSSuperview" ref="161598483"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="531109111"/>
<reference key="NSNextKeyView" ref="968632972"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="202127501">
@@ -252,10 +252,10 @@
<object class="NSButton" id="968632972">
<reference key="NSNextResponder" ref="161598483"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{14, 249}, {150, 32}}</string>
<string key="NSFrame">{{14, 279}, {150, 32}}</string>
<reference key="NSSuperview" ref="161598483"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="816373959"/>
<reference key="NSNextKeyView" ref="531109111"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="895163260">
@@ -277,7 +277,7 @@
<object class="NSButton" id="821769865">
<reference key="NSNextResponder" ref="161598483"/>
<int key="NSvFlags">289</int>
<string key="NSFrame">{{234, 12}, {147, 32}}</string>
<string key="NSFrame">{{234, 13}, {147, 32}}</string>
<reference key="NSSuperview" ref="161598483"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="917693159"/>
@@ -302,7 +302,7 @@
<object class="NSButton" id="244990043">
<reference key="NSNextResponder" ref="161598483"/>
<int key="NSvFlags">289</int>
<string key="NSFrame">{{14, 12}, {122, 32}}</string>
<string key="NSFrame">{{14, 13}, {122, 32}}</string>
<reference key="NSSuperview" ref="161598483"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="821769865"/>
@@ -327,7 +327,7 @@
<object class="NSButton" id="133258452">
<reference key="NSNextResponder" ref="161598483"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{18, 186}, {329, 18}}</string>
<string key="NSFrame">{{18, 187}, {329, 18}}</string>
<reference key="NSSuperview" ref="161598483"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="772963208"/>
@@ -359,7 +359,7 @@
<object class="NSButton" id="1070361803">
<reference key="NSNextResponder" ref="161598483"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{18, 130}, {329, 18}}</string>
<string key="NSFrame">{{18, 131}, {329, 18}}</string>
<reference key="NSSuperview" ref="161598483"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="945251289"/>
@@ -386,7 +386,7 @@
<object class="NSButton" id="945251289">
<reference key="NSNextResponder" ref="161598483"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{18, 110}, {329, 18}}</string>
<string key="NSFrame">{{18, 111}, {329, 18}}</string>
<reference key="NSSuperview" ref="161598483"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="671904505"/>
@@ -413,7 +413,7 @@
<object class="NSButton" id="671904505">
<reference key="NSNextResponder" ref="161598483"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{18, 90}, {329, 18}}</string>
<string key="NSFrame">{{18, 91}, {329, 18}}</string>
<reference key="NSSuperview" ref="161598483"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="626349312"/>
@@ -440,7 +440,7 @@
<object class="NSButton" id="816373959">
<reference key="NSNextResponder" ref="161598483"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{193, 268}, {174, 18}}</string>
<string key="NSFrame">{{193, 278}, {174, 18}}</string>
<reference key="NSSuperview" ref="161598483"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="893839534"/>
@@ -467,7 +467,7 @@
<object class="NSButton" id="893839534">
<reference key="NSNextResponder" ref="161598483"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{193, 248}, {174, 18}}</string>
<string key="NSFrame">{{193, 258}, {174, 18}}</string>
<reference key="NSSuperview" ref="161598483"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="583986702"/>
@@ -494,14 +494,14 @@
<object class="NSMatrix" id="531109111">
<reference key="NSNextResponder" ref="161598483"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{194, 292}, {261, 113}}</string>
<string key="NSFrame">{{193, 299}, {261, 136}}</string>
<reference key="NSSuperview" ref="161598483"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="968632972"/>
<reference key="NSNextKeyView" ref="816373959"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<bool key="NSEnabled">YES</bool>
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
<int key="NSNumRows">5</int>
<int key="NSNumRows">6</int>
<int key="NSNumCols">1</int>
<array class="NSMutableArray" key="NSCells">
<object class="NSButtonCell" id="552182731">
@@ -615,6 +615,19 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<int key="NSPeriodicDelay">400</int>
<int key="NSPeriodicInterval">75</int>
</object>
<object class="NSButtonCell" id="500370685">
<int key="NSCellFlags">67108864</int>
<int key="NSCellFlags2">0</int>
<string key="NSContents">CIB HUD Window</string>
<reference key="NSSupport" ref="394344788"/>
<reference key="NSControlView" ref="531109111"/>
<int key="NSTag">-1</int>
<int key="NSButtonFlags">1211912448</int>
<int key="NSButtonFlags2">0</int>
<reference key="NSAlternateImage" ref="680600750"/>
<int key="NSPeriodicDelay">400</int>
<int key="NSPeriodicInterval">75</int>
</object>
</array>
<string key="NSCellSize">{261, 21}</string>
<string key="NSIntercellSpacing">{4, 2}</string>
@@ -686,7 +699,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<object class="NSButton" id="583986702">
<reference key="NSNextResponder" ref="161598483"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{192, 228}, {210, 18}}</string>
<string key="NSFrame">{{192, 238}, {210, 18}}</string>
<reference key="NSSuperview" ref="161598483"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="132928531"/>
@@ -713,7 +726,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<object class="NSButton" id="132928531">
<reference key="NSNextResponder" ref="161598483"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{192, 208}, {180, 18}}</string>
<string key="NSFrame">{{192, 218}, {180, 18}}</string>
<reference key="NSSuperview" ref="161598483"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="133258452"/>
@@ -740,7 +753,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<object class="NSTextField" id="772963208">
<reference key="NSNextResponder" ref="161598483"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{30, 154}, {368, 26}}</string>
<string key="NSFrame">{{30, 155}, {368, 26}}</string>
<reference key="NSSuperview" ref="161598483"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="1070361803"/>
@@ -774,7 +787,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<set class="NSMutableSet" key="NSDragTypes">
<string>NSStringPboardType</string>
</set>
<string key="NSFrame">{{275, 51}, {96, 22}}</string>
<string key="NSFrame">{{275, 52}, {96, 22}}</string>
<reference key="NSSuperview" ref="161598483"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="244990043"/>
@@ -798,7 +811,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<int key="NSTokenFieldVersion">2</int>
</object>
</array>
<string key="NSFrameSize">{468, 425}</string>
<string key="NSFrameSize">{468, 455}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="666980504"/>
@@ -1048,7 +1061,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<reference ref="968632972"/>
<reference ref="816373959"/>
<reference ref="893839534"/>
<reference ref="531109111"/>
<reference ref="583986702"/>
<reference ref="132928531"/>
<reference ref="133258452"/>
@@ -1062,6 +1074,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<reference ref="225469319"/>
<reference ref="393836098"/>
<reference ref="626349312"/>
<reference ref="531109111"/>
</array>
<reference key="parent" ref="1056085528"/>
</object>
@@ -1218,14 +1231,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<reference ref="569365394"/>
<reference ref="755250605"/>
<reference ref="830766462"/>
<reference ref="500370685"/>
</array>
<reference key="parent" ref="161598483"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">170</int>
<reference key="object" ref="510263560"/>
<reference key="parent" ref="531109111"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">171</int>
<reference key="object" ref="552182731"/>
@@ -1381,6 +1390,16 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<reference key="object" ref="437001198"/>
<reference key="parent" ref="393836098"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">227</int>
<reference key="object" ref="500370685"/>
<reference key="parent" ref="531109111"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">170</int>
<reference key="object" ref="510263560"/>
<reference key="parent" ref="531109111"/>
</object>
</array>
</object>
<dictionary class="NSMutableDictionary" key="flattenedProperties">
@@ -1431,6 +1450,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<string key="221.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="224.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="225.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="227.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="23.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="25.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="28.IBPluginDependency">com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -1447,7 +1467,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<nil key="activeLocalization"/>
<dictionary class="NSMutableDictionary" key="localizations"/>
<nil key="sourceID"/>
<int key="maxID">226</int>
<int key="maxID">228</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
@@ -1,25 +1,27 @@
@implementation SheetWindowController : CPWindowController
{
@outlet CPButton _closeButton;
@outlet CPButton _sheetWindowHackCheckbox;
@outlet CPButton _altCloseButton;
@outlet CPButton _otherCloseButton;
@outlet CPButton _orderOutAfterCheckbox;
@outlet CPRadioGroup _windowTypeMatrix;
@outlet CPButton _titledMaskButton;
@outlet CPButton _closableMaskButton;
@outlet CPButton _miniaturizableMaskButton;
@outlet CPButton _resizableMaskButton;
@outlet CPButton _shadeWindowView;
@outlet CPButton _shadeContentView;
@outlet CPButton _shadeParentWindow;
@outlet CPButton _closeButton;
@outlet CPButton _sheetWindowHackCheckbox;
@outlet CPButton _altCloseButton;
@outlet CPButton _otherCloseButton;
@outlet CPButton _orderOutAfterCheckbox;
@outlet CPRadioGroup _windowTypeMatrix;
@outlet CPButton _titledMaskButton;
@outlet CPButton _closableMaskButton;
@outlet CPButton _miniaturizableMaskButton;
@outlet CPButton _resizableMaskButton;
@outlet CPButton _shadeWindowView;
@outlet CPButton _shadeContentView;
@outlet CPButton _shadeParentWindow;
CPModalSession _modalSession;
CPWindow _parentWindow;
CPWindow _sheet;
int _returnCode;
CPColor _savedColor;
CPModalSession _modalSession;
CPWindow _parentWindow;
CPWindow _sheet;
int _returnCode;
CPColor _savedColor;
BOOL _hud;
}
- (void)initWithWindowCibName:(CPString)cibName
@@ -60,6 +62,19 @@
[_altCloseButton setAction:@selector(unsetAction:)];
[_otherCloseButton setTarget:self];
[_otherCloseButton setAction:@selector(unsetAction:)];
if (_hud)
{
var theWindow = [self window],
contentView = [theWindow contentView],
hudWindow = [[CPWindow alloc] initWithContentRect:[contentView bounds] styleMask:[theWindow styleMask] | CPHUDBackgroundWindowMask];
[theWindow orderOut:nil];
[hudWindow setFrame:[theWindow frame]];
[hudWindow setContentView:contentView];
[hudWindow orderFront:nil];
[self setWindow:hudWindow];
[contentView _setThemeIncludingDescendants:[CPTheme defaultHudTheme]];
}
}
- (void)unsetAction:(id)sender
@@ -100,12 +115,17 @@
[_otherCloseButton setTarget:self];
[_otherCloseButton setAction:unsetAction];
[[aWindow contentView] addSubview:_otherCloseButton positioned:CPWindowAbove relativeTo:nil];
if ([aWindow styleMask] & CPHUDBackgroundWindowMask)
[[_closeButton, _altCloseButton, _otherCloseButton] makeObjectsPerformSelector:@selector(setTheme:) withObject:[CPTheme defaultHudTheme]];
}
- (SheetWindowController)initWithStyleMask:(int)styleMask debug:(int)debug
- (SheetWindowController)initWithStyleMask:(int)styleMask debug:(int)debug hud:(BOOL)shouldBeHud
{
CPLog.debug("[%@ %@] mask=%d radioGroup=%@", [self class], _cmd, styleMask, _windowTypeMatrix);
_hud = shouldBeHud;
if (styleMask < 0)
return [self initWithWindowCibName:@"Window"];
@@ -162,7 +182,7 @@
if ([_resizableMaskButton state])
styleMask |= CPResizableWindowMask;
if (type == 1)
if (type == 1 || type == -1)
styleMask = -1;
var debug = 0;
@@ -172,7 +192,9 @@
if ([_shadeContentView state])
debug |= 2;
return [[SheetWindowController alloc] initWithStyleMask:styleMask debug:debug];
var hud = type === -1;
return [[SheetWindowController alloc] initWithStyleMask:styleMask debug:debug hud:hud];
}
- (SheetWindowController)allocWithPanel:(CPPanel)panel
@@ -0,0 +1,84 @@
/*
* AppController.j
* NewApplication
*
* Created by You on November 16, 2011.
* Copyright 2011, Your Company All rights reserved.
*/
@import <Foundation/CPObject.j>
@implementation DiamondView : CPView
{
}
- (void)drawRect:(CGRect)aRect
{
[super drawRect:aRect];
var points = [CPArray array];
var minX = CGRectGetMinX(aRect);
var midX = CGRectGetMidX(aRect);
var maxX = CGRectGetMaxX(aRect);
var minY = CGRectGetMinY(aRect);
var midY = CGRectGetMidY(aRect);
var maxY = CGRectGetMaxY(aRect);
var quarterX = minX + (maxX - minX)/4;
[points addObject:CGPointMake(midX, minY)];
[points addObject:CGPointMake(maxX, midY)];
[points addObject:CGPointMake(midX, maxY)];
[points addObject:CGPointMake(minX, midY)];
[points addObject:CGPointMake(midX, minY)];
[self lockFocus];
var context = [[CPGraphicsContext currentContext] graphicsPort];
CGContextSetLineWidth(context, 2);
CGContextSetStrokeColor(context, [CPColor blueColor]);
// test CGContextAddLines
CGContextAddLines(context, points, NULL);
// test CGContextAddQuadCurveToPoint
CGContextAddQuadCurveToPoint(context, quarterX, midY, midX, maxY);
CGContextStrokePath(context);
// test CGContextStrokeRectWithWidth
var innerRect = CGRectInset(aRect, CGRectGetWidth(aRect)/2 - 10, CGRectGetHeight(aRect)/2 - 10);
CGContextStrokeRectWithWidth(context, innerRect, 4);
[self unlockFocus];
}
@end
@implementation AppController : CPObject
{
}
- (void)applicationDidFinishLaunching:(CPNotification)aNotification
{
var theWindow = [[CPWindow alloc] initWithContentRect:CGRectMakeZero() styleMask:CPBorderlessBridgeWindowMask],
contentView = [theWindow contentView];
var label = [[CPTextField alloc] initWithFrame:CGRectMakeZero()];
[label setStringValue:@"Hello World!"];
[label setFont:[CPFont boldSystemFontOfSize:24.0]];
[label sizeToFit];
[label setAutoresizingMask:CPViewMinXMargin | CPViewMaxXMargin | CPViewMinYMargin | CPViewMaxYMargin];
[label setCenter:[contentView center]];
[contentView addSubview:label];
[contentView addSubview:[[DiamondView alloc] initWithFrame:CGRectMake(100, 100, 200, 200)]];
[theWindow orderFront:self];
// Uncomment the following line to turn on the standard menu bar.
//[CPMenu setMenuBarVisible:YES];
}
@end
+12
View File
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CPApplicationDelegateClass</key>
<string>AppController</string>
<key>CPBundleName</key>
<string>cgcanvascontext</string>
<key>CPPrincipalClass</key>
<string>CPApplication</string>
</dict>
</plist>
+93
View File
@@ -0,0 +1,93 @@
/*
* Jakefile
* cgcanvascontext
*
* Created by You on February 19, 2013.
* Copyright 2013, Your Company All rights reserved.
*/
var ENV = require("system").env,
FILE = require("file"),
JAKE = require("jake"),
task = JAKE.task,
FileList = JAKE.FileList,
app = require("cappuccino/jake").app,
configuration = ENV["CONFIG"] || ENV["CONFIGURATION"] || ENV["c"] || "Debug",
OS = require("os");
app ("cgcanvascontext", function(task)
{
task.setBuildIntermediatesPath(FILE.join("Build", "cgcanvascontext.build", configuration));
task.setBuildPath(FILE.join("Build", configuration));
task.setProductName("cgcanvascontext");
task.setIdentifier("com.yourcompany.cgcanvascontext");
task.setVersion("1.0");
task.setAuthor("Your Company");
task.setEmail("feedback @nospam@ yourcompany.com");
task.setSummary("cgcanvascontext");
task.setSources((new FileList("**/*.j")).exclude(FILE.join("Build", "**")));
task.setResources(new FileList("Resources/**"));
task.setIndexFilePath("index.html");
task.setInfoPlistPath("Info.plist");
if (configuration === "Debug")
task.setCompilerFlags("-DDEBUG -g");
else
task.setCompilerFlags("-O");
});
task ("default", ["cgcanvascontext"], function()
{
printResults(configuration);
});
task ("build", ["default"]);
task ("debug", function()
{
ENV["CONFIGURATION"] = "Debug";
JAKE.subjake(["."], "build", ENV);
});
task ("release", function()
{
ENV["CONFIGURATION"] = "Release";
JAKE.subjake(["."], "build", ENV);
});
task ("run", ["debug"], function()
{
OS.system(["open", FILE.join("Build", "Debug", "cgcanvascontext", "index.html")]);
});
task ("run-release", ["release"], function()
{
OS.system(["open", FILE.join("Build", "Release", "cgcanvascontext", "index.html")]);
});
task ("deploy", ["release"], function()
{
FILE.mkdirs(FILE.join("Build", "Deployment", "cgcanvascontext"));
OS.system(["press", "-f", FILE.join("Build", "Release", "cgcanvascontext"), FILE.join("Build", "Deployment", "cgcanvascontext")]);
printResults("Deployment")
});
task ("desktop", ["release"], function()
{
FILE.mkdirs(FILE.join("Build", "Desktop", "cgcanvascontext"));
require("cappuccino/nativehost").buildNativeHost(FILE.join("Build", "Release", "cgcanvascontext"), FILE.join("Build", "Desktop", "cgcanvascontext", "cgcanvascontext.app"));
printResults("Desktop")
});
task ("run-desktop", ["desktop"], function()
{
OS.system([FILE.join("Build", "Desktop", "cgcanvascontext", "cgcanvascontext.app", "Contents", "MacOS", "NativeHost"), "-i"]);
});
function printResults(configuration)
{
print("----------------------------");
print(configuration+" app built at path: "+FILE.join("Build", configuration, "cgcanvascontext"));
print("----------------------------");
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

@@ -0,0 +1,107 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<!--
index-debug.html
cgcanvascontext
Created by You on February 19, 2013.
Copyright 2013, Your Company All rights reserved.
-->
<head>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7, chrome=1" />
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<link rel="apple-touch-icon" href="Resources/icon.png" />
<link rel="apple-touch-startup-image" href="Resources/default.png" />
<title>cgcanvascontext</title>
<script type="text/javascript">
OBJJ_MAIN_FILE = "main.j";
OBJJ_INCLUDE_PATHS = ["Frameworks/Debug", "Frameworks", "SomethingElse"];
</script>
<script src="Frameworks/Debug/Objective-J/Objective-J.js" type="text/javascript" charset="UTF-8"></script>
<script type="text/javascript">
objj_msgSend_reset();
// DEBUG OPTIONS:
// Uncomment to enable printing of backtraces on exceptions:
//objj_msgSend_decorate(objj_backtrace_decorator);
// Uncomment to supress exceptions that take place inside a message
//objj_msgSend_decorate(objj_supress_exceptions_decorator)
// Uncomment to enable runtime type checking:
//objj_msgSend_decorate(objj_typecheck_decorator);
// Uncomment (along with both above) to print backtraces on type check errors:
//objj_typecheck_prints_backtrace = true;
// Uncomment to disable the default logger (CPLogConsole if window.console exists, CPLogPopup otherwise):
//CPLogUnregister(CPLogDefault);
// Uncomment to enable a specific logger:
//CPLogRegister(CPLogConsole);
//CPLogRegister(CPLogPopup);
// Tag view DOM elements with a "data-cappuccino-view" attribute that contains
// the class name of the view that created them. Comment this or set to false to disable.
appkit_tag_dom_elements = true;
</script>
<style type="text/css">
body{margin:0; padding:0;}
#container {position: absolute; top:50%; left:50%;}
#content {width:800px; text-align:center; margin-left: -400px; height:50px; margin-top:-25px; line-height: 50px;}
#content {font-family: "Helvetica", "Arial", sans-serif; font-size: 18px; color: black; text-shadow: 0px 1px 0px white; }
#loadgraphic {margin-right: 0.2em; margin-bottom:-2px;}
</style>
<!--[if lt IE 7]>
<STYLE type="text/css">
#container { position: relative; top: 50%; }
#content { position: relative;}
</STYLE>
<![endif]-->
</head>
<body style="">
<div id="cappuccino-body">
<div id="loadingcontainer" style="background-color: #eeeeee; overflow:hidden; width:100%; height:100%; position: absolute; top: 0; left: 0;">
<script type="text/javascript">
document.write("<div id='container'><p id='content'>" +
"<img id='loadgraphic' width='16' height='16' src='Resources/spinner.gif' /> " +
"Loading cgcanvascontext...</p></div>");
</script>
<noscript>
<div id="container">
<div style="width: 440px; padding: 10px 25px 20px 25px; font-family: sans-serif; background-color: #ffffff; position: relative; left: -245px; top: -120px; text-align: center; -moz-border-radius: 20px; -webkit-border-radius: 20px; color: #555555">
<p style="line-height: 1.4em;">JavaScript is required for this site to work correctly but is either disabled or not supported by your browser.</p>
<p style="font-size:120%; padding:10px;"><a href="http://cappuccino-project.org/noscript">Show me how to enable JavaScript</a></p>
<p style="font-size:80%;">You may want to upgrade to a newer browser while you're at it:</p>
<ul style="margin:0;padding:0; text-align: center; font-size:80%;" >
<li style="display: inline;"><a href="http://www.apple.com/safari/download/">Safari</a></li>
<li style="display: inline;"><a href="http://www.mozilla.com/en-US/firefox/">Firefox</a></li>
<li style="display: inline;"><a href="http://www.google.com/chrome/">Chrome</a></li>
<li style="display: inline;"><a href="http://www.opera.com/download/">Opera</a></li>
<li style="display: inline;"><a href="http://www.microsoft.com/windows/downloads/ie/getitnow.mspx">Internet Explorer</a></li>
</ul>
</div>
</div>
</noscript>
</div>
</div>
</body>
</html>
+78
View File
@@ -0,0 +1,78 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<!--
index.html
cgcanvascontext
Created by You on February 19, 2013.
Copyright 2013, Your Company All rights reserved.
-->
<head>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7, chrome=1" />
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<link rel="apple-touch-icon" href="Resources/icon.png" />
<link rel="apple-touch-startup-image" href="Resources/default.png" />
<title>cgcanvascontext</title>
<script type="text/javascript">
OBJJ_MAIN_FILE = "main.j";
</script>
<script type="text/javascript" src="Frameworks/Objective-J/Objective-J.js" charset="UTF-8"></script>
<style type="text/css">
body{margin:0; padding:0;}
#container {position: absolute; top:50%; left:50%;}
#content {width:800px; text-align:center; margin-left: -400px; height:50px; margin-top:-25px; line-height: 50px;}
#content {font-family: "Helvetica", "Arial", sans-serif; font-size: 18px; color: black; text-shadow: 0px 1px 0px white; }
#loadgraphic {margin-right: 0.2em; margin-bottom:-2px;}
</style>
<!--[if lt IE 7]>
<STYLE type="text/css">
#container { position: relative; top: 50%; }
#content { position: relative;}
</STYLE>
<![endif]-->
</head>
<body style="">
<div id="cappuccino-body">
<div id="loadingcontainer" style="background-color: #eeeeee; overflow:hidden; width:100%; height:100%; position: absolute; top: 0; left: 0;">
<script type="text/javascript">
document.write("<div id='container'><p id='content'>" +
"<img id='loadgraphic' width='16' height='16' src='Resources/spinner.gif' /> " +
"Loading cgcanvascontext...</p></div>");
</script>
<noscript>
<div id="container">
<div style="width: 440px; padding: 10px 25px 20px 25px; font-family: sans-serif; background-color: #ffffff; position: relative; left: -245px; top: -120px; text-align: center; -moz-border-radius: 20px; -webkit-border-radius: 20px; color: #555555">
<p style="line-height: 1.4em;">JavaScript is required for this site to work correctly but is either disabled or not supported by your browser.</p>
<p style="font-size:120%; padding:10px;"><a href="http://cappuccino-project.org/noscript">Show me how to enable JavaScript</a></p>
<p style="font-size:80%;">You may want to upgrade to a newer browser while you're at it:</p>
<ul style="margin:0;padding:0; text-align: center; font-size:80%;" >
<li style="display: inline;"><a href="http://www.apple.com/safari/download/">Safari</a></li>
<li style="display: inline;"><a href="http://www.mozilla.com/en-US/firefox/">Firefox</a></li>
<li style="display: inline;"><a href="http://www.google.com/chrome/">Chrome</a></li>
<li style="display: inline;"><a href="http://www.opera.com/download/">Opera</a></li>
<li style="display: inline;"><a href="http://www.microsoft.com/windows/downloads/ie/getitnow.mspx">Internet Explorer</a></li>
</ul>
</div>
</div>
</noscript>
</div>
</div>
</body>
</html>
+18
View File
@@ -0,0 +1,18 @@
/*
* AppController.j
* cgcanvascontext
*
* Created by You on February 19, 2013.
* Copyright 2013, Your Company All rights reserved.
*/
@import <Foundation/Foundation.j>
@import <AppKit/AppKit.j>
@import "AppController.j"
function main(args, namedArgs)
{
CPApplicationMain(args, namedArgs);
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -137,7 +137,10 @@ CPLogRegister(CPLogConsole);
proposedIndex = proposedIndexRef();
if (aCollectionView !== draggingSource)
{
[[CPCursor dragCopyCursor] set];
return CPDragOperationCopy;
}
else if (proposedIndex == dragIndex || proposedIndex == dragIndex + 1)
return CPDragOperationNone;
@@ -161,6 +164,8 @@ CPLogRegister(CPLogConsole);
[aCollectionView reloadContent];
[tableView reloadData];
[CPCursor pop];
return YES;
}
File diff suppressed because one or more lines are too long
@@ -57,7 +57,7 @@
<object class="NSWindowTemplate" id="972006081">
<int key="NSWindowStyleMask">9</int>
<int key="NSWindowBacking">2</int>
<string key="NSWindowRect">{{618, 471}, {959, 583}}</string>
<string key="NSWindowRect">{{618, 234}, {959, 583}}</string>
<int key="NSWTFlags">1949827072</int>
<string key="NSWindowTitle">Window</string>
<string key="NSWindowClass">NSWindow</string>
@@ -879,7 +879,7 @@
</object>
<object class="NSScrollView" id="252338113">
<reference key="NSNextResponder" ref="439893737"/>
<int key="NSvFlags">268</int>
<int key="NSvFlags">306</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSClipView" id="200232934">
@@ -903,6 +903,8 @@
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="791752420"/>
</object>
<bool key="NSSelectable">YES</bool>
<bool key="NSAllowsMultipleSelection">YES</bool>
<int key="NSDraggingSourceMaskForLocal">-1</int>
<int key="NSDraggingSourceMaskForNonLocal">0</int>
</object>
@@ -935,7 +937,6 @@
<string key="NSFrame">{{1, 144}, {233, 15}}</string>
<reference key="NSSuperview" ref="252338113"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
<string key="NSReuseIdentifierKey">_NS:91</string>
<int key="NSsFlags">1</int>
<reference key="NSTarget" ref="252338113"/>
@@ -989,7 +990,7 @@
<object class="_NSManagedProxy" key="_NSManagedProxy"/>
</object>
<object class="NSCustomView" id="748828714">
<reference key="NSNextResponder"/>
<nil key="NSNextResponder"/>
<int key="NSvFlags">319</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
@@ -998,7 +999,6 @@
<int key="NSvFlags">271</int>
<string key="NSFrame">{{35, 57}, {78, 17}}</string>
<reference key="NSSuperview" ref="748828714"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="26255097"/>
<string key="NSReuseIdentifierKey">_NS:1535</string>
<bool key="NSEnabled">YES</bool>
@@ -1018,8 +1018,6 @@
<int key="NSvFlags">319</int>
<string key="NSFrame">{{43, 23}, {62, 33}}</string>
<reference key="NSSuperview" ref="748828714"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
<string key="NSReuseIdentifierKey">_NS:1535</string>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="672395192">
@@ -1040,8 +1038,6 @@
</object>
</object>
<string key="NSFrameSize">{149, 81}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="983992782"/>
<string key="NSClassName">ColorView</string>
</object>
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,36 @@
/*
* AppController.j
* CPDictionaryControllerTest
*
* Created by Blair Duncan on February 17, 2013.
* Copyright 2013, SGL Studio, BBDO Toronto All rights reserved.
*/
@import <Foundation/CPObject.j>
@import <AppKit/CPDictionaryController.j>
@implementation AppController : CPObject
{
CPDictionaryController dictionaryController @accessors;
CPTableView tableView @accessors;
}
- (void)applicationDidFinishLaunching:(CPNotification)aNotification
{
// This is called when the application is done loading.
}
- (void)awakeFromCib
{
var dictionary = [CPDictionary dictionaryWithObjectsAndKeys:
@"867-5309", @"Phone Number", // Phone Number is in the Excluded List in the Xib
@"Blair", @"First Name",
@"Duncan", @"Last Name",
@"Toronto", @"City"];
[dictionaryController setContentDictionary:dictionary];
[tableView reloadData];
}
@end
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Main cib file base name</key>
<string>MainMenu.cib</string>
<key>CPBundleName</key>
<string>CPDictionaryControllerTest</string>
</dict>
</plist>
@@ -0,0 +1,94 @@
/*
* Jakefile
* CPDictionaryControllerTest
*
* Created by Blair Duncan on February 17, 2013.
* Copyright 2013, SGL Studio, BBDO Toronto All rights reserved.
*/
var ENV = require("system").env,
FILE = require("file"),
JAKE = require("jake"),
task = JAKE.task,
FileList = JAKE.FileList,
app = require("cappuccino/jake").app,
configuration = ENV["CONFIG"] || ENV["CONFIGURATION"] || ENV["c"] || "Debug",
OS = require("os");
app ("CPDictionaryControllerTest", function(task)
{
task.setBuildIntermediatesPath(FILE.join("Build", "CPDictionaryControllerTest.build", configuration));
task.setBuildPath(FILE.join("Build", configuration));
task.setProductName("CPDictionaryControllerTest");
task.setIdentifier("com.yourcompany.CPDictionaryControllerTest");
task.setVersion("1.0");
task.setAuthor("SGL Studio, BBDO Toronto");
task.setEmail("Blair.Duncan@BBDO.com");
task.setSummary("CPDictionaryControllerTest");
task.setSources((new FileList("**/*.j")).exclude(FILE.join("Build", "**")));
task.setResources(new FileList("Resources/**"));
task.setIndexFilePath("index.html");
task.setInfoPlistPath("Info.plist");
task.setNib2CibFlags("-R Resources/");
if (configuration === "Debug")
task.setCompilerFlags("-DDEBUG -g");
else
task.setCompilerFlags("-O");
});
task ("default", ["CPDictionaryControllerTest"], function()
{
printResults(configuration);
});
task ("build", ["default"]);
task ("debug", function()
{
ENV["CONFIGURATION"] = "Debug";
JAKE.subjake(["."], "build", ENV);
});
task ("release", function()
{
ENV["CONFIGURATION"] = "Release";
JAKE.subjake(["."], "build", ENV);
});
task ("run", ["debug"], function()
{
OS.system(["open", FILE.join("Build", "Debug", "CPDictionaryControllerTest", "index.html")]);
});
task ("run-release", ["release"], function()
{
OS.system(["open", FILE.join("Build", "Release", "CPDictionaryControllerTest", "index.html")]);
});
task ("deploy", ["release"], function()
{
FILE.mkdirs(FILE.join("Build", "Deployment", "CPDictionaryControllerTest"));
OS.system(["press", "-f", FILE.join("Build", "Release", "CPDictionaryControllerTest"), FILE.join("Build", "Deployment", "CPDictionaryControllerTest")]);
printResults("Deployment")
});
task ("desktop", ["release"], function()
{
FILE.mkdirs(FILE.join("Build", "Desktop", "CPDictionaryControllerTest"));
require("cappuccino/nativehost").buildNativeHost(FILE.join("Build", "Release", "CPDictionaryControllerTest"), FILE.join("Build", "Desktop", "CPDictionaryControllerTest", "CPDictionaryControllerTest.app"));
printResults("Desktop")
});
task ("run-desktop", ["desktop"], function()
{
OS.system([FILE.join("Build", "Desktop", "CPDictionaryControllerTest", "CPDictionaryControllerTest.app", "Contents", "MacOS", "NativeHost"), "-i"]);
});
function printResults(configuration)
{
print("----------------------------");
print(configuration+" app built at path: "+FILE.join("Build", configuration, "CPDictionaryControllerTest"));
print("----------------------------");
}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,792 @@
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10">
<data>
<int key="IBDocument.SystemTarget">1060</int>
<string key="IBDocument.SystemVersion">10K549</string>
<string key="IBDocument.InterfaceBuilderVersion">788</string>
<string key="IBDocument.AppKitVersion">1038.36</string>
<string key="IBDocument.HIToolboxVersion">461.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string key="NS.object.0">788</string>
</object>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
</object>
<object class="NSMutableDictionary" key="IBDocument.Metadata">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys" id="0">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSCustomObject" id="1001">
<string key="NSClassName">NSApplication</string>
</object>
<object class="NSCustomObject" id="1003">
<string key="NSClassName">FirstResponder</string>
</object>
<object class="NSCustomObject" id="1004">
<string key="NSClassName">NSApplication</string>
</object>
<object class="NSCustomObject" id="793752084">
<string key="NSClassName">AppController</string>
</object>
<object class="NSWindowTemplate" id="1005">
<int key="NSWindowStyleMask">15</int>
<int key="NSWindowBacking">2</int>
<string key="NSWindowRect">{{240, 442}, {480, 270}}</string>
<int key="NSWTFlags">544735232</int>
<string key="NSWindowTitle">Window</string>
<string key="NSWindowClass">NSWindow</string>
<nil key="NSViewClass"/>
<string key="NSWindowContentMaxSize">{1.79769e+308, 1.79769e+308}</string>
<object class="NSView" key="NSWindowView" id="1006">
<nil key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSScrollView" id="31411179">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">268</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSClipView" id="544211696">
<reference key="NSNextResponder" ref="31411179"/>
<int key="NSvFlags">2304</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSTableView" id="144610870">
<reference key="NSNextResponder" ref="544211696"/>
<int key="NSvFlags">256</int>
<string key="NSFrameSize">{349, 184}</string>
<reference key="NSSuperview" ref="544211696"/>
<bool key="NSEnabled">YES</bool>
<object class="NSTableHeaderView" key="NSHeaderView" id="687245611">
<reference key="NSNextResponder" ref="142602557"/>
<int key="NSvFlags">256</int>
<string key="NSFrameSize">{349, 17}</string>
<reference key="NSSuperview" ref="142602557"/>
<reference key="NSTableView" ref="144610870"/>
</object>
<object class="_NSCornerView" key="NSCornerView" id="1006235186">
<reference key="NSNextResponder" ref="31411179"/>
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{224, 0}, {16, 17}}</string>
<reference key="NSSuperview" ref="31411179"/>
</object>
<object class="NSMutableArray" key="NSTableColumns">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSTableColumn" id="816645870">
<string key="NSIdentifier">key</string>
<double key="NSWidth">101</double>
<double key="NSMinWidth">40</double>
<double key="NSMaxWidth">1000</double>
<object class="NSTableHeaderCell" key="NSHeaderCell">
<int key="NSCellFlags">75628096</int>
<int key="NSCellFlags2">2048</int>
<string key="NSContents">Key</string>
<object class="NSFont" key="NSSupport" id="26">
<string key="NSName">LucidaGrande</string>
<double key="NSSize">11</double>
<int key="NSfFlags">3100</int>
</object>
<object class="NSColor" key="NSBackgroundColor" id="85162266">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MC4zMzMzMzI5ODU2AA</bytes>
</object>
<object class="NSColor" key="NSTextColor" id="981977741">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">headerTextColor</string>
<object class="NSColor" key="NSColor" id="296291476">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MAA</bytes>
</object>
</object>
</object>
<object class="NSTextFieldCell" key="NSDataCell" id="133618047">
<int key="NSCellFlags">337772096</int>
<int key="NSCellFlags2">2048</int>
<string key="NSContents">Text Cell</string>
<object class="NSFont" key="NSSupport" id="392541906">
<string key="NSName">LucidaGrande</string>
<double key="NSSize">13</double>
<int key="NSfFlags">1044</int>
</object>
<reference key="NSControlView" ref="144610870"/>
<object class="NSColor" key="NSBackgroundColor" id="292314166">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">controlBackgroundColor</string>
<object class="NSColor" key="NSColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
</object>
</object>
<object class="NSColor" key="NSTextColor" id="776808609">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">controlTextColor</string>
<reference key="NSColor" ref="296291476"/>
</object>
</object>
<int key="NSResizingMask">3</int>
<bool key="NSIsResizeable">YES</bool>
<bool key="NSIsEditable">YES</bool>
<reference key="NSTableView" ref="144610870"/>
<object class="NSSortDescriptor" key="NSSortDescriptorPrototype">
<string key="NSKey">key</string>
<bool key="NSAscending">YES</bool>
<string key="NSSelector">compare:</string>
</object>
</object>
<object class="NSTableColumn" id="539390751">
<string key="NSIdentifier">value</string>
<double key="NSWidth">242</double>
<double key="NSMinWidth">40</double>
<double key="NSMaxWidth">1000</double>
<object class="NSTableHeaderCell" key="NSHeaderCell">
<int key="NSCellFlags">75628096</int>
<int key="NSCellFlags2">2048</int>
<string key="NSContents">Value</string>
<reference key="NSSupport" ref="26"/>
<reference key="NSBackgroundColor" ref="85162266"/>
<reference key="NSTextColor" ref="981977741"/>
</object>
<object class="NSTextFieldCell" key="NSDataCell" id="317425755">
<int key="NSCellFlags">337772096</int>
<int key="NSCellFlags2">2048</int>
<string key="NSContents">Text Cell</string>
<reference key="NSSupport" ref="392541906"/>
<reference key="NSControlView" ref="144610870"/>
<reference key="NSBackgroundColor" ref="292314166"/>
<reference key="NSTextColor" ref="776808609"/>
</object>
<int key="NSResizingMask">3</int>
<bool key="NSIsResizeable">YES</bool>
<bool key="NSIsEditable">YES</bool>
<reference key="NSTableView" ref="144610870"/>
<object class="NSSortDescriptor" key="NSSortDescriptorPrototype">
<string key="NSKey">value</string>
<bool key="NSAscending">YES</bool>
<string key="NSSelector">compare:</string>
</object>
</object>
</object>
<double key="NSIntercellSpacingWidth">3</double>
<double key="NSIntercellSpacingHeight">2</double>
<object class="NSColor" key="NSBackgroundColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MQA</bytes>
</object>
<object class="NSColor" key="NSGridColor">
<int key="NSColorSpace">6</int>
<string key="NSCatalogName">System</string>
<string key="NSColorName">gridColor</string>
<object class="NSColor" key="NSColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MC41AA</bytes>
</object>
</object>
<double key="NSRowHeight">17</double>
<int key="NSTvFlags">-692060160</int>
<reference key="NSDelegate"/>
<reference key="NSDataSource"/>
<int key="NSColumnAutoresizingStyle">4</int>
<int key="NSDraggingSourceMaskForLocal">15</int>
<int key="NSDraggingSourceMaskForNonLocal">0</int>
<bool key="NSAllowsTypeSelect">YES</bool>
<int key="NSTableViewDraggingDestinationStyle">0</int>
</object>
</object>
<string key="NSFrame">{{1, 17}, {349, 184}}</string>
<reference key="NSSuperview" ref="31411179"/>
<reference key="NSNextKeyView" ref="144610870"/>
<reference key="NSDocView" ref="144610870"/>
<reference key="NSBGColor" ref="292314166"/>
<int key="NScvFlags">4</int>
</object>
<object class="NSScroller" id="447884618">
<reference key="NSNextResponder" ref="31411179"/>
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{224, 17}, {15, 102}}</string>
<reference key="NSSuperview" ref="31411179"/>
<reference key="NSTarget" ref="31411179"/>
<string key="NSAction">_doScroller:</string>
<double key="NSCurValue">37</double>
<double key="NSPercent">0.1947367936372757</double>
</object>
<object class="NSScroller" id="391203022">
<reference key="NSNextResponder" ref="31411179"/>
<int key="NSvFlags">-2147483392</int>
<string key="NSFrame">{{1, 119}, {223, 15}}</string>
<reference key="NSSuperview" ref="31411179"/>
<int key="NSsFlags">1</int>
<reference key="NSTarget" ref="31411179"/>
<string key="NSAction">_doScroller:</string>
<double key="NSPercent">0.57142859697341919</double>
</object>
<object class="NSClipView" id="142602557">
<reference key="NSNextResponder" ref="31411179"/>
<int key="NSvFlags">2304</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="687245611"/>
</object>
<string key="NSFrame">{{1, 0}, {349, 17}}</string>
<reference key="NSSuperview" ref="31411179"/>
<reference key="NSNextKeyView" ref="687245611"/>
<reference key="NSDocView" ref="687245611"/>
<reference key="NSBGColor" ref="292314166"/>
<int key="NScvFlags">4</int>
</object>
<reference ref="1006235186"/>
</object>
<string key="NSFrame">{{56, 48}, {351, 202}}</string>
<reference key="NSSuperview" ref="1006"/>
<reference key="NSNextKeyView" ref="544211696"/>
<int key="NSsFlags">562</int>
<reference key="NSVScroller" ref="447884618"/>
<reference key="NSHScroller" ref="391203022"/>
<reference key="NSContentView" ref="544211696"/>
<reference key="NSHeaderClipView" ref="142602557"/>
<reference key="NSCornerView" ref="1006235186"/>
<bytes key="NSScrollAmts">QSAAAEEgAABBmAAAQZgAAA</bytes>
</object>
<object class="NSButton" id="1027504291">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{50, 12}, {96, 32}}</string>
<reference key="NSSuperview" ref="1006"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="580768836">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">134217728</int>
<string key="NSContents">Add</string>
<reference key="NSSupport" ref="392541906"/>
<reference key="NSControlView" ref="1027504291"/>
<int key="NSButtonFlags">-2038284033</int>
<int key="NSButtonFlags2">129</int>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent"/>
<int key="NSPeriodicDelay">200</int>
<int key="NSPeriodicInterval">25</int>
</object>
</object>
<object class="NSButton" id="275684078">
<reference key="NSNextResponder" ref="1006"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{146, 12}, {96, 32}}</string>
<reference key="NSSuperview" ref="1006"/>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="278100624">
<int key="NSCellFlags">67239424</int>
<int key="NSCellFlags2">134217728</int>
<string key="NSContents">Remove</string>
<reference key="NSSupport" ref="392541906"/>
<reference key="NSControlView" ref="275684078"/>
<int key="NSButtonFlags">-2038284033</int>
<int key="NSButtonFlags2">129</int>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent"/>
<int key="NSPeriodicDelay">200</int>
<int key="NSPeriodicInterval">25</int>
</object>
</object>
</object>
<string key="NSFrameSize">{480, 270}</string>
</object>
<string key="NSScreenRect">{{0, 0}, {1440, 878}}</string>
<string key="NSMaxSize">{1.79769e+308, 1.79769e+308}</string>
</object>
<object class="NSDictionaryController" id="812841958">
<object class="NSMutableArray" key="NSDeclaredKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>key</string>
<string>value</string>
</object>
<bool key="NSEditable">YES</bool>
<bool key="NSAutomaticallyPreparesContent">YES</bool>
<bool key="NSAvoidsEmptySelection">YES</bool>
<bool key="NSPreservesSelection">YES</bool>
<bool key="NSSelectsInsertedObjects">YES</bool>
<bool key="NSFilterRestrictsInsertion">YES</bool>
<object class="NSArray" key="NSSortDescriptors">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSSortDescriptor">
<string key="NSKey">key</string>
<bool key="NSAscending">YES</bool>
<string key="NSSelector">compare:</string>
</object>
</object>
<bool key="NSClearsFilterPredicateOnInsertion">YES</bool>
<string key="NSInitialKey">key</string>
<string key="NSInitialValue">value</string>
<object class="NSArray" key="NSIncludedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>Nick Name</string>
<string>Address</string>
<string>City</string>
<string>Province</string>
<string>Postal</string>
<string>Favorite Movie</string>
</object>
<object class="NSArray" key="NSExcludedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>Phone Number</string>
</object>
</object>
</object>
<object class="IBObjectContainer" key="IBDocument.Objects">
<object class="NSMutableArray" key="connectionRecords">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">delegate</string>
<reference key="source" ref="1001"/>
<reference key="destination" ref="793752084"/>
</object>
<int key="connectionID">15</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">dictionaryController</string>
<reference key="source" ref="793752084"/>
<reference key="destination" ref="812841958"/>
</object>
<int key="connectionID">16</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">add:</string>
<reference key="source" ref="812841958"/>
<reference key="destination" ref="1027504291"/>
</object>
<int key="connectionID">21</int>
</object>
<object class="IBConnectionRecord">
<object class="IBBindingConnection" key="connection">
<string key="label">enabled: canRemove</string>
<reference key="source" ref="275684078"/>
<reference key="destination" ref="812841958"/>
<object class="NSNibBindingConnector" key="connector">
<reference key="NSSource" ref="275684078"/>
<reference key="NSDestination" ref="812841958"/>
<string key="NSLabel">enabled: canRemove</string>
<string key="NSBinding">enabled</string>
<string key="NSKeyPath">canRemove</string>
<int key="NSNibBindingConnectorVersion">2</int>
</object>
</object>
<int key="connectionID">33</int>
</object>
<object class="IBConnectionRecord">
<object class="IBBindingConnection" key="connection">
<string key="label">enabled: canAdd</string>
<reference key="source" ref="1027504291"/>
<reference key="destination" ref="812841958"/>
<object class="NSNibBindingConnector" key="connector">
<reference key="NSSource" ref="1027504291"/>
<reference key="NSDestination" ref="812841958"/>
<string key="NSLabel">enabled: canAdd</string>
<string key="NSBinding">enabled</string>
<string key="NSKeyPath">canAdd</string>
<int key="NSNibBindingConnectorVersion">2</int>
</object>
</object>
<int key="connectionID">35</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">remove:</string>
<reference key="source" ref="812841958"/>
<reference key="destination" ref="275684078"/>
</object>
<int key="connectionID">36</int>
</object>
<object class="IBConnectionRecord">
<object class="IBBindingConnection" key="connection">
<string key="label">selectionIndexes: selectionIndexes</string>
<reference key="source" ref="144610870"/>
<reference key="destination" ref="812841958"/>
<object class="NSNibBindingConnector" key="connector">
<reference key="NSSource" ref="144610870"/>
<reference key="NSDestination" ref="812841958"/>
<string key="NSLabel">selectionIndexes: selectionIndexes</string>
<string key="NSBinding">selectionIndexes</string>
<string key="NSKeyPath">selectionIndexes</string>
<int key="NSNibBindingConnectorVersion">2</int>
</object>
</object>
<int key="connectionID">68</int>
</object>
<object class="IBConnectionRecord">
<object class="IBBindingConnection" key="connection">
<string key="label">sortDescriptors: sortDescriptors</string>
<reference key="source" ref="144610870"/>
<reference key="destination" ref="812841958"/>
<object class="NSNibBindingConnector" key="connector">
<reference key="NSSource" ref="144610870"/>
<reference key="NSDestination" ref="812841958"/>
<string key="NSLabel">sortDescriptors: sortDescriptors</string>
<string key="NSBinding">sortDescriptors</string>
<string key="NSKeyPath">sortDescriptors</string>
<int key="NSNibBindingConnectorVersion">2</int>
</object>
</object>
<int key="connectionID">69</int>
</object>
<object class="IBConnectionRecord">
<object class="IBBindingConnection" key="connection">
<string key="label">value: arrangedObjects.key</string>
<reference key="source" ref="816645870"/>
<reference key="destination" ref="812841958"/>
<object class="NSNibBindingConnector" key="connector">
<reference key="NSSource" ref="816645870"/>
<reference key="NSDestination" ref="812841958"/>
<string key="NSLabel">value: arrangedObjects.key</string>
<string key="NSBinding">value</string>
<string key="NSKeyPath">arrangedObjects.key</string>
<object class="NSDictionary" key="NSOptions">
<string key="NS.key.0">NSCreatesSortDescriptor</string>
<boolean value="NO" key="NS.object.0"/>
</object>
<int key="NSNibBindingConnectorVersion">2</int>
</object>
</object>
<int key="connectionID">75</int>
</object>
<object class="IBConnectionRecord">
<object class="IBBindingConnection" key="connection">
<string key="label">value: arrangedObjects.value</string>
<reference key="source" ref="539390751"/>
<reference key="destination" ref="812841958"/>
<object class="NSNibBindingConnector" key="connector">
<reference key="NSSource" ref="539390751"/>
<reference key="NSDestination" ref="812841958"/>
<string key="NSLabel">value: arrangedObjects.value</string>
<string key="NSBinding">value</string>
<string key="NSKeyPath">arrangedObjects.value</string>
<object class="NSDictionary" key="NSOptions">
<string key="NS.key.0">NSCreatesSortDescriptor</string>
<boolean value="NO" key="NS.object.0"/>
</object>
<int key="NSNibBindingConnectorVersion">2</int>
</object>
</object>
<int key="connectionID">76</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">tableView</string>
<reference key="source" ref="793752084"/>
<reference key="destination" ref="144610870"/>
</object>
<int key="connectionID">79</int>
</object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBObjectRecord">
<int key="objectID">0</int>
<reference key="object" ref="0"/>
<reference key="children" ref="1000"/>
<nil key="parent"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">-2</int>
<reference key="object" ref="1001"/>
<reference key="parent" ref="0"/>
<string key="objectName">File's Owner</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-1</int>
<reference key="object" ref="1003"/>
<reference key="parent" ref="0"/>
<string key="objectName">First Responder</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-3</int>
<reference key="object" ref="1004"/>
<reference key="parent" ref="0"/>
<string key="objectName">Application</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">1</int>
<reference key="object" ref="1005"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="1006"/>
</object>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">2</int>
<reference key="object" ref="1006"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="31411179"/>
<reference ref="1027504291"/>
<reference ref="275684078"/>
</object>
<reference key="parent" ref="1005"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">3</int>
<reference key="object" ref="812841958"/>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">4</int>
<reference key="object" ref="31411179"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="447884618"/>
<reference ref="391203022"/>
<reference ref="144610870"/>
<reference ref="687245611"/>
</object>
<reference key="parent" ref="1006"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">5</int>
<reference key="object" ref="447884618"/>
<reference key="parent" ref="31411179"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">6</int>
<reference key="object" ref="391203022"/>
<reference key="parent" ref="31411179"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">7</int>
<reference key="object" ref="144610870"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="816645870"/>
<reference ref="539390751"/>
</object>
<reference key="parent" ref="31411179"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">8</int>
<reference key="object" ref="687245611"/>
<reference key="parent" ref="31411179"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">9</int>
<reference key="object" ref="816645870"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="133618047"/>
</object>
<reference key="parent" ref="144610870"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">10</int>
<reference key="object" ref="539390751"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="317425755"/>
</object>
<reference key="parent" ref="144610870"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">11</int>
<reference key="object" ref="317425755"/>
<reference key="parent" ref="539390751"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">12</int>
<reference key="object" ref="133618047"/>
<reference key="parent" ref="816645870"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">14</int>
<reference key="object" ref="793752084"/>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">19</int>
<reference key="object" ref="1027504291"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="580768836"/>
</object>
<reference key="parent" ref="1006"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">20</int>
<reference key="object" ref="580768836"/>
<reference key="parent" ref="1027504291"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">29</int>
<reference key="object" ref="275684078"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="278100624"/>
</object>
<reference key="parent" ref="1006"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">30</int>
<reference key="object" ref="278100624"/>
<reference key="parent" ref="275684078"/>
</object>
</object>
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>-1.IBPluginDependency</string>
<string>-2.IBPluginDependency</string>
<string>-3.IBPluginDependency</string>
<string>1.IBEditorWindowLastContentRect</string>
<string>1.IBPluginDependency</string>
<string>1.IBWindowTemplateEditedContentRect</string>
<string>1.NSWindowTemplate.visibleAtLaunch</string>
<string>1.WindowOrigin</string>
<string>1.editorWindowContentRectSynchronizationRect</string>
<string>10.IBPluginDependency</string>
<string>11.IBPluginDependency</string>
<string>12.IBPluginDependency</string>
<string>14.IBPluginDependency</string>
<string>19.IBPluginDependency</string>
<string>2.IBPluginDependency</string>
<string>20.IBPluginDependency</string>
<string>29.IBPluginDependency</string>
<string>3.IBPluginDependency</string>
<string>30.IBPluginDependency</string>
<string>4.IBPluginDependency</string>
<string>5.IBPluginDependency</string>
<string>6.IBPluginDependency</string>
<string>7.IBPluginDependency</string>
<string>8.IBPluginDependency</string>
<string>9.IBPluginDependency</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>{{289, 442}, {480, 270}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>{{289, 442}, {480, 270}}</string>
<integer value="1"/>
<string>{196, 240}</string>
<string>{{357, 418}, {480, 270}}</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
</object>
</object>
<object class="NSMutableDictionary" key="unlocalizedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<nil key="activeLocalization"/>
<object class="NSMutableDictionary" key="localizations">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<nil key="sourceID"/>
<int key="maxID">80</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
<string key="className">AppController</string>
<string key="superclassName">NSObject</string>
<object class="NSMutableDictionary" key="actions">
<string key="NS.key.0">updateOrReloadContent:</string>
<string key="NS.object.0">id</string>
</object>
<object class="NSMutableDictionary" key="actionInfosByName">
<string key="NS.key.0">updateOrReloadContent:</string>
<object class="IBActionInfo" key="NS.object.0">
<string key="name">updateOrReloadContent:</string>
<string key="candidateClassName">id</string>
</object>
</object>
<object class="NSMutableDictionary" key="outlets">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>dictionaryController</string>
<string>tableView</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>NSDictionaryController</string>
<string>NSTableView</string>
</object>
</object>
<object class="NSMutableDictionary" key="toOneOutletInfosByName">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>dictionaryController</string>
<string>tableView</string>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBToOneOutletInfo">
<string key="name">dictionaryController</string>
<string key="candidateClassName">NSDictionaryController</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">tableView</string>
<string key="candidateClassName">NSTableView</string>
</object>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBUserSource</string>
<string key="minorKey"/>
</object>
</object>
</object>
</object>
<int key="IBDocument.localizationMode">0</int>
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string>
<integer value="3000" key="NS.object.0"/>
</object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<nil key="IBDocument.LastKnownRelativeProjectPath"/>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
</data>
</archive>
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

@@ -0,0 +1,107 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<!--
index-debug.html
CPDictionaryControllerTest
Created by Blair Duncan on February 17, 2013.
Copyright 2013, SGL Studio, BBDO Toronto All rights reserved.
-->
<head>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7, chrome=1" />
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<link rel="apple-touch-icon" href="Resources/icon.png" />
<link rel="apple-touch-startup-image" href="Resources/default.png" />
<title>CPDictionaryControllerTest</title>
<script type="text/javascript">
OBJJ_MAIN_FILE = "main.j";
OBJJ_INCLUDE_PATHS = ["Frameworks/Debug", "Frameworks"];
</script>
<script type="text/javascript" src="Frameworks/Debug/Objective-J/Objective-J.js" charset="UTF-8"></script>
<script type="text/javascript">
objj_msgSend_reset();
// DEBUG OPTIONS:
// Uncomment to enable printing of backtraces on exceptions:
//objj_msgSend_decorate(objj_backtrace_decorator);
// Uncomment to supress exceptions that take place inside a message
//objj_msgSend_decorate(objj_supress_exceptions_decorator)
// Uncomment to enable runtime type checking:
//objj_msgSend_decorate(objj_typecheck_decorator);
// Uncomment (along with both above) to print backtraces on type check errors:
//objj_typecheck_prints_backtrace = true;
// Uncomment to disable the default logger (CPLogConsole if window.console exists, CPLogPopup otherwise):
//CPLogUnregister(CPLogDefault);
// Uncomment to enable a specific logger:
//CPLogRegister(CPLogConsole);
//CPLogRegister(CPLogPopup);
// Tag view DOM elements with a "data-cappuccino-view" attribute that contains
// the class name of the view that created them. Comment this or set to false to disable.
appkit_tag_dom_elements = true;
</script>
<style type="text/css">
body{margin:0; padding:0;}
#container {position: absolute; top:50%; left:50%;}
#content {width:800px; text-align:center; margin-left: -400px; height:50px; margin-top:-25px; line-height: 50px;}
#content {font-family: "Helvetica", "Arial", sans-serif; font-size: 18px; color: black; text-shadow: 0px 1px 0px white; }
#loadgraphic {margin-right: 0.2em; margin-bottom:-2px;}
</style>
<!--[if lt IE 7]>
<STYLE type="text/css">
#container { position: relative; top: 50%; }
#content { position: relative;}
</STYLE>
<![endif]-->
</head>
<body style="">
<div id="cappuccino-body">
<div id="loadingcontainer" style="background-color: #eeeeee; overflow:hidden; width:100%; height:100%; position: absolute; top: 0; left: 0;">
<script type="text/javascript">
document.write("<div id='container'><p id='content'>" +
"<img id='loadgraphic' width='16' height='16' src='Resources/spinner.gif' /> " +
"Loading CPDictionaryControllerTest...</p></div>");
</script>
<noscript>
<div id="container">
<div style="width: 440px; padding: 10px 25px 20px 25px; font-family: sans-serif; background-color: #ffffff; position: relative; left: -245px; top: -120px; text-align: center; -moz-border-radius: 20px; -webkit-border-radius: 20px; color: #555555">
<p style="line-height: 1.4em;">JavaScript is required for this site to work correctly but is either disabled or not supported by your browser.</p>
<p style="font-size:120%; padding:10px;"><a href="http://cappuccino-project.org/noscript">Show me how to enable JavaScript</a></p>
<p style="font-size:80%;">You may want to upgrade to a newer browser while you're at it:</p>
<ul style="margin:0;padding:0; text-align: center; font-size:80%;" >
<li style="display: inline;"><a href="http://www.apple.com/safari/download/">Safari</a></li>
<li style="display: inline;"><a href="http://www.mozilla.com/en-US/firefox/">Firefox</a></li>
<li style="display: inline;"><a href="http://www.google.com/chrome/">Chrome</a></li>
<li style="display: inline;"><a href="http://www.opera.com/download/">Opera</a></li>
<li style="display: inline;"><a href="http://www.microsoft.com/windows/downloads/ie/getitnow.mspx">Internet Explorer</a></li>
</ul>
</div>
</div>
</noscript>
</div>
</div>
</body>
</html>
@@ -0,0 +1,77 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<!--
index.html
CPDictionaryControllerTest
Created by Blair Duncan on February 17, 2013.
Copyright 2013, SGL Studio, BBDO Toronto All rights reserved.
-->
<head>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7, chrome=1" />
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<link rel="apple-touch-icon" href="Resources/icon.png" />
<link rel="apple-touch-startup-image" href="Resources/default.png" />
<title>CPDictionaryControllerTest</title>
<script type="text/javascript">
OBJJ_MAIN_FILE = "main.j";
</script>
<script type="text/javascript" src="Frameworks/Objective-J/Objective-J.js" charset="UTF-8"></script>
<style type="text/css">
body{margin:0; padding:0;}
#container {position: absolute; top:50%; left:50%;}
#content {width:800px; text-align:center; margin-left: -400px; height:50px; margin-top:-25px; line-height: 50px;}
#content {font-family: "Helvetica", "Arial", sans-serif; font-size: 18px; color: black; text-shadow: 0px 1px 0px white; }
#loadgraphic {margin-right: 0.2em; margin-bottom:-2px;}
</style>
<!--[if lt IE 7]>
<STYLE type="text/css">
#container { position: relative; top: 50%; }
#content { position: relative;}
</STYLE>
<![endif]-->
</head>
<body style="">
<div id="cappuccino-body">
<div id="loadingcontainer" style="background-color: #eeeeee; overflow:hidden; width:100%; height:100%; position: absolute; top: 0; left: 0;">
<script type="text/javascript">
document.write("<div id='container'><p id='content'>" +
"<img id='loadgraphic' width='16' height='16' src='Resources/spinner.gif' /> " +
"Loading CPDictionaryControllerTest...</p></div>");
</script>
<noscript>
<div id="container">
<div style="width: 440px; padding: 10px 25px 20px 25px; font-family: sans-serif; background-color: #ffffff; position: relative; left: -245px; top: -120px; text-align: center; -moz-border-radius: 20px; -webkit-border-radius: 20px; color: #555555">
<p style="line-height: 1.4em;">JavaScript is required for this site to work correctly but is either disabled or not supported by your browser.</p>
<p style="font-size:120%; padding:10px;"><a href="http://cappuccino-project.org/noscript">Show me how to enable JavaScript</a></p>
<p style="font-size:80%;">You may want to upgrade to a newer browser while you're at it:</p>
<ul style="margin:0;padding:0; text-align: center; font-size:80%;" >
<li style="display: inline;"><a href="http://www.apple.com/safari/download/">Safari</a></li>
<li style="display: inline;"><a href="http://www.mozilla.com/en-US/firefox/">Firefox</a></li>
<li style="display: inline;"><a href="http://www.google.com/chrome/">Chrome</a></li>
<li style="display: inline;"><a href="http://www.opera.com/download/">Opera</a></li>
<li style="display: inline;"><a href="http://www.microsoft.com/windows/downloads/ie/getitnow.mspx">Internet Explorer</a></li>
</ul>
</div>
</div>
</noscript>
</div>
</div>
</body>
</html>
@@ -0,0 +1,18 @@
/*
* AppController.j
* CPDictionaryControllerTest
*
* Created by Blair Duncan on February 17, 2013.
* Copyright 2013, SGL Studio, BBDO Toronto All rights reserved.
*/
@import <Foundation/Foundation.j>
@import <AppKit/AppKit.j>
@import "AppController.j"
function main(args, namedArgs)
{
CPApplicationMain(args, namedArgs);
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,42 @@
/*
* AppController.j
* CPFlashviewTest
*
* Created by Blair Duncan on April 23, 2012.
* Copyright 2012, SGL Studio, BBDO Toronto All rights reserved.
*/
@import <Foundation/CPObject.j>
@implementation AppController : CPObject
{
}
- (void)applicationDidFinishLaunching:(CPNotification)aNotification
{
var theWindow = [[CPWindow alloc] initWithContentRect:CGRectMakeZero() styleMask:CPBorderlessBridgeWindowMask],
contentView = [theWindow contentView],
flashView;
flashView = [[CPFlashView alloc] initWithFrame:CGRectMake(0,0,320,240)],
[flashView setFlashMovie:[CPFlashMovie flashMovieWithFile:@"http://flashjournalism.com/examples/airplane.swf"]];
// note:
// if both flashParams and flashVars are used flashParams must be setup first
var flashParameters = [CPDictionary dictionary];
[flashVars setObject:@"SampleParam" forKey:"SampleParamKey"];
[flashView setParameters:flashParameters];
var flashVars = [CPDictionary dictionary];
[flashVars setObject:@"SampleVar" forKey:"SampleVarKey"];
[flashView setFlashVars:flashVars];
[flashView setCenter:[contentView center]];
[contentView addSubview:flashView];
[theWindow orderFront:self];
}
@end
+12
View File
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CPApplicationDelegateClass</key>
<string>AppController</string>
<key>CPBundleName</key>
<string>CPFlashviewTest</string>
<key>CPPrincipalClass</key>
<string>CPApplication</string>
</dict>
</plist>
+93
View File
@@ -0,0 +1,93 @@
/*
* Jakefile
* CPFlashviewTest
*
* Created by Blair Duncan on April 23, 2012.
* Copyright 2012, SGL Studio, BBDO Toronto All rights reserved.
*/
var ENV = require("system").env,
FILE = require("file"),
JAKE = require("jake"),
task = JAKE.task,
FileList = JAKE.FileList,
app = require("cappuccino/jake").app,
configuration = ENV["CONFIG"] || ENV["CONFIGURATION"] || ENV["c"] || "Debug",
OS = require("os");
app ("CPFlashviewTest", function(task)
{
task.setBuildIntermediatesPath(FILE.join("Build", "CPFlashviewTest.build", configuration));
task.setBuildPath(FILE.join("Build", configuration));
task.setProductName("CPFlashviewTest");
task.setIdentifier("com.yourcompany.CPFlashviewTest");
task.setVersion("1.0");
task.setAuthor("SGL Studio, BBDO Toronto");
task.setEmail("Blair.Duncan@BBDO.com");
task.setSummary("CPFlashviewTest");
task.setSources((new FileList("**/*.j")).exclude(FILE.join("Build", "**")));
task.setResources(new FileList("Resources/**"));
task.setIndexFilePath("index.html");
task.setInfoPlistPath("Info.plist");
if (configuration === "Debug")
task.setCompilerFlags("-DDEBUG -g");
else
task.setCompilerFlags("-O");
});
task ("default", ["CPFlashviewTest"], function()
{
printResults(configuration);
});
task ("build", ["default"]);
task ("debug", function()
{
ENV["CONFIGURATION"] = "Debug";
JAKE.subjake(["."], "build", ENV);
});
task ("release", function()
{
ENV["CONFIGURATION"] = "Release";
JAKE.subjake(["."], "build", ENV);
});
task ("run", ["debug"], function()
{
OS.system(["open", FILE.join("Build", "Debug", "CPFlashviewTest", "index.html")]);
});
task ("run-release", ["release"], function()
{
OS.system(["open", FILE.join("Build", "Release", "CPFlashviewTest", "index.html")]);
});
task ("deploy", ["release"], function()
{
FILE.mkdirs(FILE.join("Build", "Deployment", "CPFlashviewTest"));
OS.system(["press", "-f", FILE.join("Build", "Release", "CPFlashviewTest"), FILE.join("Build", "Deployment", "CPFlashviewTest")]);
printResults("Deployment")
});
task ("desktop", ["release"], function()
{
FILE.mkdirs(FILE.join("Build", "Desktop", "CPFlashviewTest"));
require("cappuccino/nativehost").buildNativeHost(FILE.join("Build", "Release", "CPFlashviewTest"), FILE.join("Build", "Desktop", "CPFlashviewTest", "CPFlashviewTest.app"));
printResults("Desktop")
});
task ("run-desktop", ["desktop"], function()
{
OS.system([FILE.join("Build", "Desktop", "CPFlashviewTest", "CPFlashviewTest.app", "Contents", "MacOS", "NativeHost"), "-i"]);
});
function printResults(configuration)
{
print("----------------------------");
print(configuration+" app built at path: "+FILE.join("Build", configuration, "CPFlashviewTest"));
print("----------------------------");
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

@@ -0,0 +1,107 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<!--
index-debug.html
CPFlashviewTest
Created by Blair Duncan on April 23, 2012.
Copyright 2012, SGL Studio, BBDO Toronto All rights reserved.
-->
<head>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7, chrome=1" />
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<link rel="apple-touch-icon" href="Resources/icon.png" />
<link rel="apple-touch-startup-image" href="Resources/default.png" />
<title>CPFlashviewTest</title>
<script type="text/javascript">
OBJJ_MAIN_FILE = "main.j";
OBJJ_INCLUDE_PATHS = ["Frameworks/Debug", "Frameworks", "SomethingElse"];
</script>
<script src="Frameworks/Debug/Objective-J/Objective-J.js" type="text/javascript" charset="UTF-8"></script>
<script type="text/javascript">
objj_msgSend_reset();
// DEBUG OPTIONS:
// Uncomment to enable printing of backtraces on exceptions:
//objj_msgSend_decorate(objj_backtrace_decorator);
// Uncomment to supress exceptions that take place inside a message
//objj_msgSend_decorate(objj_supress_exceptions_decorator)
// Uncomment to enable runtime type checking:
//objj_msgSend_decorate(objj_typecheck_decorator);
// Uncomment (along with both above) to print backtraces on type check errors:
//objj_typecheck_prints_backtrace = true;
// Uncomment to disable the default logger (CPLogConsole if window.console exists, CPLogPopup otherwise):
//CPLogUnregister(CPLogDefault);
// Uncomment to enable a specific logger:
//CPLogRegister(CPLogConsole);
//CPLogRegister(CPLogPopup);
// Tag view DOM elements with a "data-cappuccino-view" attribute that contains
// the class name of the view that created them. Comment this or set to false to disable.
appkit_tag_dom_elements = true;
</script>
<style type="text/css">
body{margin:0; padding:0;}
#container {position: absolute; top:50%; left:50%;}
#content {width:800px; text-align:center; margin-left: -400px; height:50px; margin-top:-25px; line-height: 50px;}
#content {font-family: "Helvetica", "Arial", sans-serif; font-size: 18px; color: black; text-shadow: 0px 1px 0px white; }
#loadgraphic {margin-right: 0.2em; margin-bottom:-2px;}
</style>
<!--[if lt IE 7]>
<STYLE type="text/css">
#container { position: relative; top: 50%; }
#content { position: relative;}
</STYLE>
<![endif]-->
</head>
<body style="">
<div id="cappuccino-body">
<div id="loadingcontainer" style="background-color: #eeeeee; overflow:hidden; width:100%; height:100%; position: absolute; top: 0; left: 0;">
<script type="text/javascript">
document.write("<div id='container'><p id='content'>" +
"<img id='loadgraphic' width='16' height='16' src='Resources/spinner.gif' /> " +
"Loading CPFlashviewTest...</p></div>");
</script>
<noscript>
<div id="container">
<div style="width: 440px; padding: 10px 25px 20px 25px; font-family: sans-serif; background-color: #ffffff; position: relative; left: -245px; top: -120px; text-align: center; -moz-border-radius: 20px; -webkit-border-radius: 20px; color: #555555">
<p style="line-height: 1.4em;">JavaScript is required for this site to work correctly but is either disabled or not supported by your browser.</p>
<p style="font-size:120%; padding:10px;"><a href="http://cappuccino.org/noscript">Show me how to enable JavaScript</a></p>
<p style="font-size:80%;">You may want to upgrade to a newer browser while you're at it:</p>
<ul style="margin:0;padding:0; text-align: center; font-size:80%;" >
<li style="display: inline;"><a href="http://www.apple.com/safari/download/">Safari</a></li>
<li style="display: inline;"><a href="http://www.mozilla.com/en-US/firefox/">Firefox</a></li>
<li style="display: inline;"><a href="http://www.google.com/chrome/">Chrome</a></li>
<li style="display: inline;"><a href="http://www.opera.com/download/">Opera</a></li>
<li style="display: inline;"><a href="http://www.microsoft.com/windows/downloads/ie/getitnow.mspx">Internet Explorer</a></li>
</ul>
</div>
</div>
</noscript>
</div>
</div>
</body>
</html>
+78
View File
@@ -0,0 +1,78 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<!--
index.html
CPFlashviewTest
Created by Blair Duncan on April 23, 2012.
Copyright 2012, SGL Studio, BBDO Toronto All rights reserved.
-->
<head>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7, chrome=1" />
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<link rel="apple-touch-icon" href="Resources/icon.png" />
<link rel="apple-touch-startup-image" href="Resources/default.png" />
<title>CPFlashviewTest</title>
<script type="text/javascript">
OBJJ_MAIN_FILE = "main.j";
</script>
<script type="text/javascript" src="Frameworks/Objective-J/Objective-J.js" charset="UTF-8"></script>
<style type="text/css">
body{margin:0; padding:0;}
#container {position: absolute; top:50%; left:50%;}
#content {width:800px; text-align:center; margin-left: -400px; height:50px; margin-top:-25px; line-height: 50px;}
#content {font-family: "Helvetica", "Arial", sans-serif; font-size: 18px; color: black; text-shadow: 0px 1px 0px white; }
#loadgraphic {margin-right: 0.2em; margin-bottom:-2px;}
</style>
<!--[if lt IE 7]>
<STYLE type="text/css">
#container { position: relative; top: 50%; }
#content { position: relative;}
</STYLE>
<![endif]-->
</head>
<body style="">
<div id="cappuccino-body">
<div id="loadingcontainer" style="background-color: #eeeeee; overflow:hidden; width:100%; height:100%; position: absolute; top: 0; left: 0;">
<script type="text/javascript">
document.write("<div id='container'><p id='content'>" +
"<img id='loadgraphic' width='16' height='16' src='Resources/spinner.gif' /> " +
"Loading CPFlashviewTest...</p></div>");
</script>
<noscript>
<div id="container">
<div style="width: 440px; padding: 10px 25px 20px 25px; font-family: sans-serif; background-color: #ffffff; position: relative; left: -245px; top: -120px; text-align: center; -moz-border-radius: 20px; -webkit-border-radius: 20px; color: #555555">
<p style="line-height: 1.4em;">JavaScript is required for this site to work correctly but is either disabled or not supported by your browser.</p>
<p style="font-size:120%; padding:10px;"><a href="http://cappuccino.org/noscript">Show me how to enable JavaScript</a></p>
<p style="font-size:80%;">You may want to upgrade to a newer browser while you're at it:</p>
<ul style="margin:0;padding:0; text-align: center; font-size:80%;" >
<li style="display: inline;"><a href="http://www.apple.com/safari/download/">Safari</a></li>
<li style="display: inline;"><a href="http://www.mozilla.com/en-US/firefox/">Firefox</a></li>
<li style="display: inline;"><a href="http://www.google.com/chrome/">Chrome</a></li>
<li style="display: inline;"><a href="http://www.opera.com/download/">Opera</a></li>
<li style="display: inline;"><a href="http://www.microsoft.com/windows/downloads/ie/getitnow.mspx">Internet Explorer</a></li>
</ul>
</div>
</div>
</noscript>
</div>
</div>
</body>
</html>
+18
View File
@@ -0,0 +1,18 @@
/*
* AppController.j
* CPFlashviewTest
*
* Created by Blair Duncan on April 23, 2012.
* Copyright 2012, SGL Studio, BBDO Toronto All rights reserved.
*/
@import <Foundation/Foundation.j>
@import <AppKit/AppKit.j>
@import "AppController.j"
function main(args, namedArgs)
{
CPApplicationMain(args, namedArgs);
}

Some files were not shown because too many files have changed in this diff Show More