Merge branch 'refs/heads/master' into slevenbits

This commit is contained in:
Alexander Ljungberg
2013-02-19 23:16:56 +00:00
63 changed files with 2559 additions and 260 deletions
+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));
+164
View File
@@ -0,0 +1,164 @@
/*
* 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];
[_contentDictionary setObject:_initialValue forKey:newKey];
var keyValuePairProtocol = [_CPDictionaryControllerKeyValuePair new];
keyValuePairProtocol._key = newKey;
keyValuePairProtocol._dictionary = _contentDictionary;
keyValuePairProtocol._controller = self;
return keyValuePairProtocol;
}
- (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])
{
var keyValuePairProtocol = [_CPDictionaryControllerKeyValuePair new];
keyValuePairProtocol._key = obj;
keyValuePairProtocol._dictionary = _contentDictionary;
keyValuePairProtocol._controller = self;
[array addObject:keyValuePairProtocol];
}
}
[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];
+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 receiver’s 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];
}
}
//
+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];
}
+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]];
}
/*!
+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
+16 -1
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.
@@ -2880,7 +2882,8 @@ 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];
}
}
@@ -2922,6 +2925,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];
}
@@ -4348,6 +4352,7 @@ Your delegate can implement this method to avoid subclassing the tableview to ad
_retargetedDropRow = nil;
_draggedRowIndexes = [CPIndexSet indexSet];
[_dropOperationFeedbackView removeFromSuperview];
[self _enqueueDraggingViews];
}
/*
@@ -4536,6 +4541,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
*/
+13
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,6 +1634,16 @@ var CPTextFieldIsEditableKey = "CPTextFieldIsEditableKey",
@implementation _CPTextFieldValueBinder : CPBinder
- (void)_updatePlaceholdersWithOptions:(CPDictionary)options forBinding:(CPBinder)aBinding
{
[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
{
[_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];
+32 -25
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)
@@ -183,36 +183,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;
}
}
}

Before

Width:  |  Height:  |  Size: 140 B

After

Width:  |  Height:  |  Size: 140 B

Before

Width:  |  Height:  |  Size: 140 B

After

Width:  |  Height:  |  Size: 140 B

+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;
+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
@@ -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>
@@ -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);
}
@@ -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);
}
@@ -0,0 +1,65 @@
/*
* AppController.j
* CPURLConnectionSynchronousTest
*
* Created by You on July 28, 2012.
* Copyright 2012, Your Company All rights reserved.
*/
@import <Foundation/CPObject.j>
@implementation AppController : CPObject
{
BOOL _success;
}
- (void)applicationDidFinishLaunching:(CPNotification)aNotification
{
_success = YES;
[self testSynchronousRequestSuccess];
[self testSynchronousRequestNotFound];
if (_success)
write("</br>All Tests Passed In Test Suite", "green");
else
write("</br>One Or More Test Failed", "red");
}
- (void)testSynchronousRequestSuccess
{
write(_cmd , "black");
var req = [CPURLRequest requestWithURL:@"Info.plist"],
data = [CPURLConnection sendSynchronousRequest:req returningResponse:nil];
[self assertTrue:(CPData == [data class])];
[self assertTrue:([data rawString] != @"")];
}
- (void)testSynchronousRequestNotFound
{
write(_cmd , "black");
var req = [CPURLRequest requestWithURL:@"NotFound"],
data = [CPURLConnection sendSynchronousRequest:req returningResponse:nil];
[self assertTrue:(data === nil)];
}
- (void)assertTrue:(BOOL)result
{
if (!result)
{
write("Test Failed", "red");
_success = NO;
}
}
@end
function write(text, color)
{
document.write("<span style=\"color:"+color+"\">"+text+"</span></br>");
}
@@ -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>CPURLConnectionSynchronousTest</string>
<key>CPPrincipalClass</key>
<string>CPApplication</string>
</dict>
</plist>
@@ -0,0 +1,93 @@
/*
* Jakefile
* CPURLConnectionSynchronousTest
*
* Created by You on July 28, 2012.
* Copyright 2012, 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 ("CPURLConnectionSynchronousTest", function(task)
{
task.setBuildIntermediatesPath(FILE.join("Build", "CPURLConnectionSynchronousTest.build", configuration));
task.setBuildPath(FILE.join("Build", configuration));
task.setProductName("CPURLConnectionSynchronousTest");
task.setIdentifier("com.yourcompany.CPURLConnectionSynchronousTest");
task.setVersion("1.0");
task.setAuthor("Your Company");
task.setEmail("feedback @nospam@ yourcompany.com");
task.setSummary("CPURLConnectionSynchronousTest");
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", ["CPURLConnectionSynchronousTest"], 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", "CPURLConnectionSynchronousTest", "index.html")]);
});
task ("run-release", ["release"], function()
{
OS.system(["open", FILE.join("Build", "Release", "CPURLConnectionSynchronousTest", "index.html")]);
});
task ("deploy", ["release"], function()
{
FILE.mkdirs(FILE.join("Build", "Deployment", "CPURLConnectionSynchronousTest"));
OS.system(["press", "-f", FILE.join("Build", "Release", "CPURLConnectionSynchronousTest"), FILE.join("Build", "Deployment", "CPURLConnectionSynchronousTest")]);
printResults("Deployment")
});
task ("desktop", ["release"], function()
{
FILE.mkdirs(FILE.join("Build", "Desktop", "CPURLConnectionSynchronousTest"));
require("cappuccino/nativehost").buildNativeHost(FILE.join("Build", "Release", "CPURLConnectionSynchronousTest"), FILE.join("Build", "Desktop", "CPURLConnectionSynchronousTest", "CPURLConnectionSynchronousTest.app"));
printResults("Desktop")
});
task ("run-desktop", ["desktop"], function()
{
OS.system([FILE.join("Build", "Desktop", "CPURLConnectionSynchronousTest", "CPURLConnectionSynchronousTest.app", "Contents", "MacOS", "NativeHost"), "-i"]);
});
function printResults(configuration)
{
print("----------------------------");
print(configuration+" app built at path: "+FILE.join("Build", configuration, "CPURLConnectionSynchronousTest"));
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
CPURLConnectionSynchronousTest
Created by You on July 28, 2012.
Copyright 2012, 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>CPURLConnectionSynchronousTest</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 CPURLConnectionSynchronousTest...</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>
@@ -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
CPURLConnectionSynchronousTest
Created by You on July 28, 2012.
Copyright 2012, 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>CPURLConnectionSynchronousTest</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 CPURLConnectionSynchronousTest...</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>
@@ -0,0 +1,18 @@
/*
* AppController.j
* CPURLConnectionSynchronousTest
*
* Created by You on July 28, 2012.
* Copyright 2012, Your Company All rights reserved.
*/
@import <Foundation/Foundation.j>
@import <AppKit/AppKit.j>
@import "AppController.j"
function main(args, namedArgs)
{
CPApplicationMain(args, namedArgs);
}
@@ -67,6 +67,24 @@
informativeTextWithFormat:nil] runModal];
}
- (void)sayHello
{
[[CPAlert alertWithMessageText:@"Hello!"
defaultButton:@"OK"
alternateButton:nil
otherButton:nil
informativeTextWithFormat:nil] runModal];
}
- (void)showHelp
{
[[CPAlert alertWithMessageText:@"So you want some help?"
defaultButton:@"Help!"
alternateButton:nil
otherButton:nil
informativeTextWithFormat:nil] runModal];
}
- (void)setNow
{
var now = [CPDate date];
File diff suppressed because one or more lines are too long
@@ -1131,7 +1131,7 @@
<object class="NSWindowTemplate" id="972006081">
<int key="NSWindowStyleMask">7</int>
<int key="NSWindowBacking">2</int>
<string key="NSWindowRect">{{41, 292}, {741, 504}}</string>
<string key="NSWindowRect">{{49, 268}, {741, 535}}</string>
<int key="NSWTFlags">1948778496</int>
<string key="NSWindowTitle">Bindings Funhouse</string>
<string key="NSWindowClass">NSWindow</string>
@@ -1145,7 +1145,7 @@
<object class="NSSlider" id="4783315">
<reference key="NSNextResponder" ref="439893737"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{25, 434}, {96, 21}}</string>
<string key="NSFrame">{{25, 465}, {96, 21}}</string>
<reference key="NSSuperview" ref="439893737"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="133934244"/>
@@ -1171,7 +1171,7 @@
<object class="NSSlider" id="352731792">
<reference key="NSNextResponder" ref="439893737"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{25, 465}, {96, 21}}</string>
<string key="NSFrame">{{25, 496}, {96, 21}}</string>
<reference key="NSSuperview" ref="439893737"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="551130432"/>
@@ -1197,7 +1197,7 @@
<object class="NSTextField" id="551130432">
<reference key="NSNextResponder" ref="439893737"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{129, 467}, {85, 17}}</string>
<string key="NSFrame">{{129, 498}, {85, 17}}</string>
<reference key="NSSuperview" ref="439893737"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="4783315"/>
@@ -1238,7 +1238,7 @@
<object class="NSTextField" id="133934244">
<reference key="NSNextResponder" ref="439893737"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{129, 436}, {85, 17}}</string>
<string key="NSFrame">{{129, 467}, {85, 17}}</string>
<reference key="NSSuperview" ref="439893737"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="114894881"/>
@@ -1259,7 +1259,7 @@
<object class="NSButton" id="536410149">
<reference key="NSNextResponder" ref="439893737"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{21, 344}, {90, 32}}</string>
<string key="NSFrame">{{21, 375}, {90, 32}}</string>
<reference key="NSSuperview" ref="439893737"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="1044937435"/>
@@ -1284,7 +1284,7 @@
<object class="NSTextField" id="1044937435">
<reference key="NSNextResponder" ref="439893737"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{122, 357}, {181, 14}}</string>
<string key="NSFrame">{{122, 388}, {181, 14}}</string>
<reference key="NSSuperview" ref="439893737"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="41878821"/>
@@ -1309,7 +1309,7 @@
<object class="NSTextField" id="332508083">
<reference key="NSNextResponder" ref="439893737"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{380, 110}, {204, 14}}</string>
<string key="NSFrame">{{380, 106}, {204, 14}}</string>
<reference key="NSSuperview" ref="439893737"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="614075774"/>
@@ -1330,7 +1330,7 @@
<object class="NSTextField" id="578432011">
<reference key="NSNextResponder" ref="439893737"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{380, 30}, {204, 14}}</string>
<string key="NSFrame">{{380, 26}, {204, 14}}</string>
<reference key="NSSuperview" ref="439893737"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
@@ -1351,7 +1351,7 @@
<object class="NSTextField" id="614075774">
<reference key="NSNextResponder" ref="439893737"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{380, 92}, {205, 14}}</string>
<string key="NSFrame">{{380, 88}, {205, 14}}</string>
<reference key="NSSuperview" ref="439893737"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="631249643"/>
@@ -1372,7 +1372,7 @@
<object class="NSButton" id="432628294">
<reference key="NSNextResponder" ref="439893737"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{21, 311}, {90, 32}}</string>
<string key="NSFrame">{{21, 342}, {90, 32}}</string>
<reference key="NSSuperview" ref="439893737"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="789200137"/>
@@ -1397,7 +1397,7 @@
<object class="NSTextField" id="789200137">
<reference key="NSNextResponder" ref="439893737"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{122, 324}, {183, 14}}</string>
<string key="NSFrame">{{122, 355}, {183, 14}}</string>
<reference key="NSSuperview" ref="439893737"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="828088439"/>
@@ -1418,7 +1418,7 @@
<object class="NSTextField" id="69938902">
<reference key="NSNextResponder" ref="439893737"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{122, 291}, {236, 14}}</string>
<string key="NSFrame">{{122, 322}, {236, 14}}</string>
<reference key="NSSuperview" ref="439893737"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="798557834"/>
@@ -1439,7 +1439,7 @@
<object class="NSTextField" id="714393797">
<reference key="NSNextResponder" ref="439893737"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{478, 183}, {230, 42}}</string>
<string key="NSFrame">{{478, 179}, {230, 42}}</string>
<reference key="NSSuperview" ref="439893737"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="940944672"/>
@@ -1461,7 +1461,7 @@ IGNvbG9yIGNoYW5nZSBjaGVja2VkA</string>
<object class="NSTextField" id="631249643">
<reference key="NSNextResponder" ref="439893737"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{36, 52}, {221, 34}}</string>
<string key="NSFrame">{{36, 43}, {221, 34}}</string>
<reference key="NSSuperview" ref="439893737"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="681004576"/>
@@ -1483,7 +1483,7 @@ cjIgPT0gMA</string>
<object class="NSTextField" id="114894881">
<reference key="NSNextResponder" ref="439893737"/>
<int key="NSvFlags">266</int>
<string key="NSFrame">{{24, 403}, {346, 17}}</string>
<string key="NSFrame">{{24, 434}, {346, 17}}</string>
<reference key="NSSuperview" ref="439893737"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="536410149"/>
@@ -1504,7 +1504,7 @@ cjIgPT0gMA</string>
<object class="NSButton" id="500631469">
<reference key="NSNextResponder" ref="439893737"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{21, 278}, {90, 32}}</string>
<string key="NSFrame">{{21, 309}, {90, 32}}</string>
<reference key="NSSuperview" ref="439893737"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="69938902"/>
@@ -1526,15 +1526,40 @@ cjIgPT0gMA</string>
</object>
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
</object>
<object class="NSButton" id="439651256">
<object class="NSButton" id="639407082">
<reference key="NSNextResponder" ref="439893737"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{27, 237}, {330, 34}}</string>
<string key="NSFrame">{{21, 213}, {132, 32}}</string>
<reference key="NSSuperview" ref="439893737"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="658171732"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="877645627">
<int key="NSCellFlags">67108864</int>
<int key="NSCellFlags2">134217728</int>
<string key="NSContents">Action no args</string>
<reference key="NSSupport" ref="441663663"/>
<string key="NSCellIdentifier">_NS:9</string>
<reference key="NSControlView" ref="639407082"/>
<int key="NSButtonFlags">-2038284288</int>
<int key="NSButtonFlags2">129</int>
<string key="NSAlternateContents"/>
<string key="NSKeyEquivalent"/>
<int key="NSPeriodicDelay">200</int>
<int key="NSPeriodicInterval">25</int>
</object>
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
</object>
<object class="NSButton" id="439651256">
<reference key="NSNextResponder" ref="439893737"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{27, 268}, {330, 34}}</string>
<reference key="NSSuperview" ref="439893737"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="681633572"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<bool key="NSEnabled">YES</bool>
<object class="NSButtonCell" key="NSCell" id="10422218">
<int key="NSCellFlags">-2080374784</int>
<int key="NSCellFlags2">268435456</int>
@@ -1597,7 +1622,7 @@ cjIgPT0gMA</string>
<string key="NSReuseIdentifierKey">_NS:11</string>
</object>
</object>
<string key="NSFrame">{{26, 108}, {259, 101}}</string>
<string key="NSFrame">{{26, 99}, {259, 101}}</string>
<reference key="NSSuperview" ref="439893737"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="756478285"/>
@@ -1815,7 +1840,7 @@ cjIgPT0gMA</string>
<int key="NScvFlags">4</int>
</object>
</object>
<string key="NSFrame">{{370, 352}, {351, 132}}</string>
<string key="NSFrame">{{370, 383}, {351, 132}}</string>
<reference key="NSSuperview" ref="439893737"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="379125359"/>
@@ -1840,7 +1865,7 @@ cjIgPT0gMA</string>
<string>NSColor pasteboard type</string>
</object>
</object>
<string key="NSFrame">{{376, 202}, {89, 23}}</string>
<string key="NSFrame">{{376, 198}, {89, 23}}</string>
<reference key="NSSuperview" ref="439893737"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="714393797"/>
@@ -1856,7 +1881,7 @@ cjIgPT0gMA</string>
<object class="NSTextField" id="828088439">
<reference key="NSNextResponder" ref="439893737"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{374, 327}, {345, 17}}</string>
<string key="NSFrame">{{374, 358}, {345, 17}}</string>
<reference key="NSSuperview" ref="439893737"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="500631469"/>
@@ -1877,10 +1902,10 @@ cjIgPT0gMA</string>
<object class="NSTextField" id="798557834">
<reference key="NSNextResponder" ref="439893737"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{373, 302}, {345, 17}}</string>
<string key="NSFrame">{{373, 333}, {345, 17}}</string>
<reference key="NSSuperview" ref="439893737"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="681633572"/>
<reference key="NSNextKeyView" ref="3579291"/>
<string key="NSReuseIdentifierKey">_NS:1535</string>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="481103667">
@@ -1895,15 +1920,36 @@ cjIgPT0gMA</string>
</object>
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
</object>
<object class="NSTextField" id="681633572">
<object class="NSTextField" id="3579291">
<reference key="NSNextResponder" ref="439893737"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{373, 277}, {345, 17}}</string>
<string key="NSFrame">{{373, 308}, {345, 17}}</string>
<reference key="NSSuperview" ref="439893737"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="439651256"/>
<string key="NSReuseIdentifierKey">_NS:1535</string>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="350888133">
<int key="NSCellFlags">68157504</int>
<int key="NSCellFlags2">272630784</int>
<string key="NSContents">firstname</string>
<reference key="NSSupport" ref="441663663"/>
<string key="NSCellIdentifier">_NS:1535</string>
<reference key="NSControlView" ref="3579291"/>
<reference key="NSBackgroundColor" ref="115569530"/>
<reference key="NSTextColor" ref="926854656"/>
</object>
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
</object>
<object class="NSTextField" id="681633572">
<reference key="NSNextResponder" ref="439893737"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{373, 283}, {345, 17}}</string>
<reference key="NSSuperview" ref="439893737"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="639407082"/>
<string key="NSReuseIdentifierKey">_NS:1535</string>
<bool key="NSEnabled">YES</bool>
<object class="NSTextFieldCell" key="NSCell" id="802100270">
<int key="NSCellFlags">68157504</int>
<int key="NSCellFlags2">272630784</int>
@@ -1919,7 +1965,7 @@ cjIgPT0gMA</string>
<object class="NSButton" id="658171732">
<reference key="NSNextResponder" ref="439893737"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{375, 238}, {142, 18}}</string>
<string key="NSFrame">{{375, 234}, {142, 18}}</string>
<reference key="NSSuperview" ref="439893737"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="24124202"/>
@@ -1946,7 +1992,7 @@ cjIgPT0gMA</string>
<object class="NSButton" id="505292570">
<reference key="NSNextResponder" ref="439893737"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{530, 138}, {75, 18}}</string>
<string key="NSFrame">{{530, 134}, {75, 18}}</string>
<reference key="NSSuperview" ref="439893737"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="332508083"/>
@@ -1973,7 +2019,7 @@ cjIgPT0gMA</string>
<object class="NSPopUpButton" id="940944672">
<reference key="NSNextResponder" ref="439893737"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{373, 133}, {128, 26}}</string>
<string key="NSFrame">{{373, 129}, {128, 26}}</string>
<reference key="NSSuperview" ref="439893737"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="505292570"/>
@@ -2044,7 +2090,7 @@ cjIgPT0gMA</string>
<object class="NSTextField" id="681004576">
<reference key="NSNextResponder" ref="439893737"/>
<int key="NSvFlags">268</int>
<string key="NSFrame">{{376, 52}, {227, 22}}</string>
<string key="NSFrame">{{376, 48}, {227, 22}}</string>
<reference key="NSSuperview" ref="439893737"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="578432011"/>
@@ -2069,7 +2115,7 @@ cjIgPT0gMA</string>
<bool key="NSAllowsLogicalLayoutDirection">NO</bool>
</object>
</object>
<string key="NSFrameSize">{741, 504}</string>
<string key="NSFrameSize">{741, 535}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="352731792"/>
@@ -2105,10 +2151,10 @@ cjIgPT0gMA</string>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">orderFrontStandardAboutPanel:</string>
<reference key="source" ref="1021"/>
<reference key="source" ref="1050"/>
<reference key="destination" ref="238522557"/>
</object>
<int key="connectionID">142</int>
<int key="connectionID">1087</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
@@ -2318,14 +2364,6 @@ cjIgPT0gMA</string>
</object>
<int key="connectionID">357</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">showHelp:</string>
<reference key="source" ref="1014"/>
<reference key="destination" ref="238773614"/>
</object>
<int key="connectionID">360</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label">saveDocument:</string>
@@ -2640,6 +2678,46 @@ cjIgPT0gMA</string>
</object>
<int key="connectionID">773</int>
</object>
<object class="IBConnectionRecord">
<object class="IBBindingConnection" key="connection">
<string key="label">target: self</string>
<reference key="source" ref="238522557"/>
<reference key="destination" ref="635946545"/>
<object class="NSNibBindingConnector" key="connector">
<reference key="NSSource" ref="238522557"/>
<reference key="NSDestination" ref="635946545"/>
<string key="NSLabel">target: self</string>
<string key="NSBinding">target</string>
<string key="NSKeyPath">self</string>
<object class="NSDictionary" key="NSOptions">
<string key="NS.key.0">NSSelectorName</string>
<string key="NS.object.0">showHelp</string>
</object>
<int key="NSNibBindingConnectorVersion">2</int>
</object>
</object>
<int key="connectionID">1089</int>
</object>
<object class="IBConnectionRecord">
<object class="IBBindingConnection" key="connection">
<string key="label">target: self</string>
<reference key="source" ref="238773614"/>
<reference key="destination" ref="635946545"/>
<object class="NSNibBindingConnector" key="connector">
<reference key="NSSource" ref="238773614"/>
<reference key="NSDestination" ref="635946545"/>
<string key="NSLabel">target: self</string>
<string key="NSBinding">target</string>
<string key="NSKeyPath">self</string>
<object class="NSDictionary" key="NSOptions">
<string key="NS.key.0">NSSelectorName</string>
<string key="NS.object.0">showHelp</string>
</object>
<int key="NSNibBindingConnectorVersion">2</int>
</object>
</object>
<int key="connectionID">1084</int>
</object>
<object class="IBConnectionRecord">
<object class="IBBindingConnection" key="connection">
<string key="label">displayPatternTitle1: currentTime</string>
@@ -3646,6 +3724,42 @@ cjIgPT0gMA</string>
</object>
<int key="connectionID">1042</int>
</object>
<object class="IBConnectionRecord">
<object class="IBBindingConnection" key="connection">
<string key="label">value: selection.firstname.capitalizedString</string>
<reference key="source" ref="3579291"/>
<reference key="destination" ref="210412584"/>
<object class="NSNibBindingConnector" key="connector">
<reference key="NSSource" ref="3579291"/>
<reference key="NSDestination" ref="210412584"/>
<string key="NSLabel">value: selection.firstname.capitalizedString</string>
<string key="NSBinding">value</string>
<string key="NSKeyPath">selection.firstname.capitalizedString</string>
<int key="NSNibBindingConnectorVersion">2</int>
</object>
</object>
<int key="connectionID">1061</int>
</object>
<object class="IBConnectionRecord">
<object class="IBBindingConnection" key="connection">
<string key="label">target: self</string>
<reference key="source" ref="639407082"/>
<reference key="destination" ref="635946545"/>
<object class="NSNibBindingConnector" key="connector">
<reference key="NSSource" ref="639407082"/>
<reference key="NSDestination" ref="635946545"/>
<string key="NSLabel">target: self</string>
<string key="NSBinding">target</string>
<string key="NSKeyPath">self</string>
<object class="NSDictionary" key="NSOptions">
<string key="NS.key.0">NSSelectorName</string>
<string key="NS.object.0">sayHello</string>
</object>
<int key="NSNibBindingConnectorVersion">2</int>
</object>
</object>
<int key="connectionID">1073</int>
</object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
@@ -4243,9 +4357,11 @@ cjIgPT0gMA</string>
<reference ref="505292570"/>
<reference ref="681004576"/>
<reference ref="578432011"/>
<reference ref="681633572"/>
<reference ref="41538496"/>
<reference ref="714393797"/>
<reference ref="3579291"/>
<reference ref="681633572"/>
<reference ref="639407082"/>
</object>
<reference key="parent" ref="972006081"/>
</object>
@@ -5026,6 +5142,34 @@ cjIgPT0gMA</string>
<reference key="object" ref="802100270"/>
<reference key="parent" ref="681633572"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">1052</int>
<reference key="object" ref="3579291"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="350888133"/>
</object>
<reference key="parent" ref="439893737"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">1053</int>
<reference key="object" ref="350888133"/>
<reference key="parent" ref="3579291"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">1062</int>
<reference key="object" ref="639407082"/>
<object class="NSMutableArray" key="children">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="877645627"/>
</object>
<reference key="parent" ref="439893737"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">1063</int>
<reference key="object" ref="877645627"/>
<reference key="parent" ref="639407082"/>
</object>
</object>
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
@@ -5036,7 +5180,11 @@ cjIgPT0gMA</string>
<string>-2.IBPluginDependency</string>
<string>-3.IBPluginDependency</string>
<string>103.IBPluginDependency</string>
<string>1052.IBPluginDependency</string>
<string>1053.IBPluginDependency</string>
<string>106.IBPluginDependency</string>
<string>1062.IBPluginDependency</string>
<string>1063.IBPluginDependency</string>
<string>111.IBPluginDependency</string>
<string>112.IBPluginDependency</string>
<string>124.IBPluginDependency</string>
@@ -5295,6 +5443,10 @@ cjIgPT0gMA</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>
<boolean value="NO"/>
<boolean value="NO"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
@@ -5443,7 +5595,7 @@ cjIgPT0gMA</string>
<reference key="dict.values" ref="0"/>
</object>
<nil key="sourceID"/>
<int key="maxID">1051</int>
<int key="maxID">1089</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
@@ -1,7 +1,5 @@
<!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">
<!DOCTYPE html>
<html lang="en">
<!--
index-debug.html
__project.name__
@@ -10,15 +8,22 @@
Copyright __project.year__, __organization.name__ All rights reserved.
-->
<head>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7, chrome=1" />
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<!--[if lte IE 8]>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7, chrome=1">
<![endif]-->
<!--[if gte IE 9]>
<meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1">
<![endif]-->
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<link rel="apple-touch-icon" href="Resources/icon.png" />
<link rel="apple-touch-startup-image" href="Resources/default.png" />
<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>__project.name__</title>
@@ -1,7 +1,5 @@
<!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">
<!DOCTYPE html>
<html lang="en">
<!--
index.html
__project.name__
@@ -10,15 +8,22 @@
Copyright __project.year__, __organization.name__ All rights reserved.
-->
<head>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7, chrome=1" />
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<!--[if lte IE 8]>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7, chrome=1">
<![endif]-->
<!--[if gte IE 9]>
<meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1">
<![endif]-->
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<link rel="apple-touch-icon" href="Resources/icon.png" />
<link rel="apple-touch-startup-image" href="Resources/default.png" />
<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>__project.name__</title>
@@ -1,7 +1,5 @@
<!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">
<!DOCTYPE html>
<html lang="en">
<!--
index-debug.html
__project.name__
@@ -10,15 +8,22 @@
Copyright __project.year__, __organization.name__ All rights reserved.
-->
<head>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7, chrome=1" />
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<!--[if lte IE 8]>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7, chrome=1">
<![endif]-->
<!--[if gte IE 9]>
<meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1">
<![endif]-->
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<link rel="apple-touch-icon" href="Resources/icon.png" />
<link rel="apple-touch-startup-image" href="Resources/default.png" />
<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>__project.name__</title>
@@ -1,7 +1,5 @@
<!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">
<!DOCTYPE html>
<html lang="en">
<!--
index.html
__project.name__
@@ -10,15 +8,22 @@
Copyright __project.year__, __organization.name__ All rights reserved.
-->
<head>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7, chrome=1" />
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<!--[if lte IE 8]>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7, chrome=1">
<![endif]-->
<!--[if gte IE 9]>
<meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1">
<![endif]-->
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<link rel="apple-touch-icon" href="Resources/icon.png" />
<link rel="apple-touch-startup-image" href="Resources/default.png" />
<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>__project.name__</title>
@@ -1,7 +1,5 @@
<!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">
<!DOCTYPE html>
<html lang="en">
<!--
index-debug.html
__project.name__
@@ -10,15 +8,22 @@
Copyright __project.year__, __organization.name__. All rights reserved.
-->
<head>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7, chrome=1" />
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<!--[if lte IE 8]>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7, chrome=1">
<![endif]-->
<!--[if gte IE 9]>
<meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1">
<![endif]-->
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<link rel="apple-touch-icon" href="Resources/icon.png" />
<link rel="apple-touch-startup-image" href="Resources/default.png" />
<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>__project.name__</title>
@@ -1,7 +1,5 @@
<!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">
<!DOCTYPE html>
<html lang="en">
<!--
index.html
__project.name__
@@ -10,15 +8,22 @@
Copyright __project.year__, __organization.name__. All rights reserved.
-->
<head>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7, chrome=1" />
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<!--[if lte IE 8]>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7, chrome=1">
<![endif]-->
<!--[if gte IE 9]>
<meta http-equiv="X-UA-Compatible" content="IE=edge, chrome=1">
<![endif]-->
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<link rel="apple-touch-icon" href="Resources/icon.png" />
<link rel="apple-touch-startup-image" href="Resources/default.png" />
<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>__project.name__</title>
+3 -1
View File
@@ -16,7 +16,9 @@ task ("build", function()
else
args = "-sdk macosx " + args;
if (OS.system("xcodebuild " + args))
var xcodebuild = env.CAPP_BUILD ? "xcodebuild " : "CAPP_BUILD=../../Build xcodebuild ";
if (OS.system(xcodebuild + args))
OS.exit(1);
}
else
+1
View File
@@ -36,6 +36,7 @@
@import "NSCustomObject.j"
@import "NSCustomResource.j"
@import "NSCustomView.j"
@import "NSDictionaryController.j"
@import "NSEvent.j"
@import "NSFont.j"
@import "NSIBObjectData.j"
+56
View File
@@ -0,0 +1,56 @@
/*
* NSDictionaryController.j
* nib2cib
*
* Created by Blair Duncan on February 17, 2013.
* 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 <AppKit/CPDictionaryController.j>
@implementation CPDictionaryController (NSCoding)
- (id)NS_initWithCoder:(CPCoder)aCoder
{
self = [super NS_initWithCoder:aCoder];
if (self)
{
_includedKeys = [aCoder decodeObjectForKey:@"NSIncludedKeys"];
_excludedKeys = [aCoder decodeObjectForKey:@"NSExcludedKeys"];
}
return self;
}
@end
@implementation NSDictionaryController : CPDictionaryController
{
}
- (id)initWithCoder:(CPCoder)aCoder
{
return [self NS_initWithCoder:aCoder];
}
- (Class)classForKeyedArchiver
{
return [CPDictionaryController class];
}
@end