diff --git a/AppKit/CPApplication.j b/AppKit/CPApplication.j index 8743ecee4..3ebdc7828 100644 --- a/AppKit/CPApplication.j +++ b/AppKit/CPApplication.j @@ -86,6 +86,7 @@ CPRunContinuesResponse = -1002; CPArray _eventListeners; CPEvent _currentEvent; + CPWindow _lastMouseMoveWindow; CPArray _windows; CPWindow _keyWindow; @@ -583,12 +584,14 @@ CPRunContinuesResponse = -1002; _currentEvent = anEvent; CPEventModifierFlags = [anEvent modifierFlags]; + var theWindow = [anEvent window]; + #if PLATFORM(DOM) - var willPropagate = [[[anEvent window] platformWindow] _willPropagateCurrentDOMEvent]; + var willPropagate = [[theWindow platformWindow] _willPropagateCurrentDOMEvent]; // temporarily pretend we won't propagate the event. we'll restore the saved value later // we do this outside the if so that changes user code might make in _handleKeyEquiv. are preserved - [[[anEvent window] platformWindow] _propagateCurrentDOMEvent:NO]; + [[theWindow platformWindow] _propagateCurrentDOMEvent:NO]; #endif // Check if this is a candidate for key equivalent... @@ -600,7 +603,7 @@ CPRunContinuesResponse = -1002; // Unconditionally propagate on these keys to solve browser copy paste bugs if ((characters == "c" || characters == "x" || characters == "v") && (modifierFlags & CPPlatformActionKeyMask)) - [[[anEvent window] platformWindow] _propagateCurrentDOMEvent:YES]; + [[theWindow platformWindow] _propagateCurrentDOMEvent:YES]; #endif return; @@ -608,7 +611,7 @@ CPRunContinuesResponse = -1002; #if PLATFORM(DOM) // if we make it this far, then restore the original willPropagate value - [[[anEvent window] platformWindow] _propagateCurrentDOMEvent:willPropagate]; + [[theWindow platformWindow] _propagateCurrentDOMEvent:willPropagate]; #endif if (_eventListeners.length) @@ -619,7 +622,16 @@ CPRunContinuesResponse = -1002; return; } - [[anEvent window] sendEvent:anEvent]; + if ([anEvent type] == CPMouseMoved) + { + if (theWindow !== _lastMouseMoveWindow) + [_lastMouseMoveWindow _mouseExitedResizeRect]; + + _lastMouseMoveWindow = theWindow; + } + + if (theWindow) + [theWindow sendEvent:anEvent]; } /*! diff --git a/AppKit/CPCursor.j b/AppKit/CPCursor.j index fd5c89eb5..9ab1aa2dc 100755 --- a/AppKit/CPCursor.j +++ b/AppKit/CPCursor.j @@ -25,7 +25,8 @@ Cursor support by browser: var currentCursor = nil, cursorStack = [], - cursors = {}; + cursors = {}, + ieCursorMap = {}; @implementation CPCursor : CPObject { @@ -36,6 +37,20 @@ var currentCursor = nil, BOOL _isSetOnMouseExited @accessors(readwrite, getter=isSetOnMouseExited, setter=setOnMouseExited:); } ++ (void)initialize +{ + if (self !== CPCursor) + return; + + // IE < 9 does not support some CSS cursors, we map them to supported ones + ieCursorMap = { + "ew-resize": "e-resize", + "ns-resize": "n-resize", + "nesw-resize": "ne-resize", + "nwse-resize": "nw-resize" + }; +} + - (id)initWithCSSString:(CPString)aString { if (self = [super init]) @@ -44,23 +59,30 @@ var currentCursor = nil, return self; } -// hotspot is supported in CSS3 (but not IE). -- (id)initWithImage:(CPImage)image hotSpot:(CPPoint)hotSpot +/*! + Init a cursor with the given image and hotspot. + hotspot is supported in CSS3 (but not IE). +*/ +- (id)initWithImage:(CPImage)image hotSpot:(CGPoint)hotSpot { _hotSpot = hotSpot; _image = image; return [self initWithCSSString:"url(" + [_image filename] + ")" + hotSpot.x + " " + hotSpot.y + ", auto"]; } -// foregroundColor and backgroundColor are ignored in Cocoa as well. See http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Classes/NSCursor_Class/Reference/Reference.html -- (id)initWithImage:(CPImage)image foregroundColorHint:(CPColor)foregroundColor backgroundColorHint:(CPColor)backgroundColor hotSpot:(CPPoint)aHotSpot +/*! + Init a cursor with the given image and hotspot. This is provided + for compliance with Cocoa. Note that foregroundColor and backgroundColor are ignored + (as they are in Cocoa). See http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/ApplicationKit/Classes/NSCursor_Class/Reference/Reference.html +*/ +- (id)initWithImage:(CPImage)image foregroundColorHint:(CPColor)foregroundColor backgroundColorHint:(CPColor)backgroundColor hotSpot:(CGPoint)aHotSpot { return [self initWithImage:image hotSpot:hotSpot]; } + (void)hide { - [self _setCursorCSS:"none"]; // Not supported in IE + [self _setCursorCSS:@"none"]; // Not supported in IE < 9 } + (void)unhide @@ -121,6 +143,7 @@ var currentCursor = nil, { #if PLATFORM(DOM) var platformWindows = [[CPPlatformWindow visiblePlatformWindows] allObjects]; + for (var i = 0, count = [platformWindows count]; i < count; i++) platformWindows[i]._DOMBodyElement.style.cursor = aString; #endif @@ -130,22 +153,34 @@ var currentCursor = nil, + (CPCursor)_systemCursorWithName:(CPString)cursorName cssString:(CPString)aString hasImage:(BOOL)doesHaveImage { var cursor = cursors[cursorName]; - if (typeof cursor === 'undefined') + + if (typeof cursor === "undefined") { var cssString; + if (doesHaveImage) - cssString = @"url(" + [[CPBundle bundleForClass:self] resourcePath] + @"/CPCursor/" + cursorName + ".cur), " + aString; + cssString = [CPString stringWithFormat:@"url(%@/CPCursor/%@.cur), %@", [[CPBundle bundleForClass:self] resourcePath], cursorName, aString]; else - cssString = aString + { + // IE <= 8 does not support some cursors, map them to supported cursors + var ieLessThan9 = CPBrowserIsEngine(CPInternetExplorerBrowserEngine) && !CPFeatureIsCompatible(CPHTMLCanvasFeature); + + if (ieLessThan9) + cssString = ieCursorMap[aString] || aString; + else + cssString = aString; + } + cursor = [[CPCursor alloc] initWithCSSString:cssString]; cursors[cursorName] = cursor; } + return cursor; } + (CPCursor)arrowCursor { - return [CPCursor _systemCursorWithName:CPStringFromSelector(_cmd) cssString:"default" hasImage:NO]; + return [CPCursor _systemCursorWithName:CPStringFromSelector(_cmd) cssString:@"default" hasImage:NO]; } + (CPCursor)crosshairCursor @@ -163,6 +198,36 @@ var currentCursor = nil, return [CPCursor _systemCursorWithName:CPStringFromSelector(_cmd) cssString:@"pointer" hasImage:NO]; } ++ (CPCursor)resizeNorthwestCursor +{ + return [CPCursor _systemCursorWithName:CPStringFromSelector(_cmd) cssString:@"nw-resize" hasImage:NO]; +} + ++ (CPCursor)resizeNorthwestSoutheastCursor +{ + return [CPCursor _systemCursorWithName:CPStringFromSelector(_cmd) cssString:@"nwse-resize" hasImage:NO]; +} + ++ (CPCursor)resizeNortheastCursor +{ + return [CPCursor _systemCursorWithName:CPStringFromSelector(_cmd) cssString:@"ne-resize" hasImage:NO]; +} + ++ (CPCursor)resizeNortheastSouthwestCursor +{ + return [CPCursor _systemCursorWithName:CPStringFromSelector(_cmd) cssString:@"nesw-resize" hasImage:NO]; +} + ++ (CPCursor)resizeSouthwestCursor +{ + return [CPCursor _systemCursorWithName:CPStringFromSelector(_cmd) cssString:@"sw-resize" hasImage:NO]; +} + ++ (CPCursor)resizeSoutheastCursor +{ + return [CPCursor _systemCursorWithName:CPStringFromSelector(_cmd) cssString:@"se-resize" hasImage:NO]; +} + + (CPCursor)resizeDownCursor { return [CPCursor _systemCursorWithName:CPStringFromSelector(_cmd) cssString:@"s-resize" hasImage:NO]; @@ -188,11 +253,21 @@ var currentCursor = nil, return [CPCursor _systemCursorWithName:CPStringFromSelector(_cmd) cssString:@"col-resize" hasImage:NO]; } ++ (CPCursor)resizeEastWestCursor +{ + return [CPCursor _systemCursorWithName:CPStringFromSelector(_cmd) cssString:@"ew-resize" hasImage:NO]; +} + + (CPCursor)resizeUpDownCursor { return [CPCursor _systemCursorWithName:CPStringFromSelector(_cmd) cssString:@"row-resize" hasImage:NO]; } ++ (CPCursor)resizeNorthSouthCursor +{ + return [CPCursor _systemCursorWithName:CPStringFromSelector(_cmd) cssString:@"ns-resize" hasImage:NO]; +} + + (CPCursor)operationNotAllowedCursor { return [CPCursor _systemCursorWithName:CPStringFromSelector(_cmd) cssString:@"not-allowed" hasImage:NO]; diff --git a/AppKit/CPWindow/CPWindow.j b/AppKit/CPWindow/CPWindow.j index bcc0eb0b4..00735c508 100644 --- a/AppKit/CPWindow/CPWindow.j +++ b/AppKit/CPWindow/CPWindow.j @@ -186,6 +186,11 @@ CPWindowShadowStyleStandard = 0; CPWindowShadowStyleMenu = 1; CPWindowShadowStylePanel = 2; +CPWindowResizeStyleModern = 0; +CPWindowResizeStyleLegacy = 1; +CPWindowResizeStyle = CPWindowResizeStyleModern; +CPWindowResizeSlop = 3; + var SHADOW_MARGIN_LEFT = 20.0, SHADOW_MARGIN_RIGHT = 19.0, SHADOW_MARGIN_TOP = 10.0, @@ -197,7 +202,8 @@ var SHADOW_MARGIN_LEFT = 20.0, var CPWindowSaveImage = nil, CPWindowSavingImage = nil, - CPWindowResizeTime = 0.2; + CPWindowResizeTime = 0.2, + CPWindowResizeStyleGlobalChangeNotification = @"CPWindowResizeStyleGlobalChangeNotification"; /* Keys for which action messages will be sent by default when unhandled, e.g. complete:. @@ -477,6 +483,11 @@ CPTexturedBackgroundWindowMask _keyViewLoopIsDirty = YES; [self setShowsResizeIndicator:_styleMask & CPResizableWindowMask]; + + [[CPNotificationCenter defaultCenter] addObserver:self + selector:@selector(_didReceiveResizeStyleChange:) + name:CPWindowResizeStyleGlobalChangeNotification + object:nil]; } return self; @@ -996,6 +1007,33 @@ CPTexturedBackgroundWindowMask return _isVisible; } +/*! + Globally sets whether windows resize following the legacy style (using a resize thumb + in the bottom right corner), or the modern style (no resize thumb, resizing + can be done on all edges). +*/ ++ (void)setGlobalResizeStyle:(int)aStyle +{ + if (CPWindowResizeStyle === aStyle) + return; + + CPWindowResizeStyle = aStyle; + [[CPNotificationCenter defaultCenter] postNotificationName:CPWindowResizeStyleGlobalChangeNotification object:nil]; +} + +- (void)_didReceiveResizeStyleChange:(CPNotification)aNotification +{ + [_windowView setShowsResizeIndicator:_styleMask & CPResizableWindowMask]; +} + +/*! + Returns the global window resizing style. +*/ ++ (int)globalResizeStyle +{ + return CPWindowResizeStyle; +} + /*! Returns \c YES if the window's resize indicator is showing. \c NO otherwise. */ @@ -1500,6 +1538,11 @@ CPTexturedBackgroundWindowMask _ignoresMouseEvents = shouldIgnoreMouseEvents; } +- (void)_mouseExitedResizeRect +{ + [[CPCursor arrowCursor] set]; +} + // Managing Titles /*! @@ -1642,6 +1685,7 @@ CPTexturedBackgroundWindowMask // CPLeftMouseDown is needed for window moving and resizing to work. // CPMouseMoved is needed for rollover effects on title bar buttons. var sheet = [self attachedSheet]; + if (sheet) { switch (type) @@ -1663,162 +1707,175 @@ CPTexturedBackgroundWindowMask switch (type) { - case CPFlagsChanged: return [[self firstResponder] flagsChanged:anEvent]; + case CPFlagsChanged: + return [[self firstResponder] flagsChanged:anEvent]; - case CPKeyUp: return [[self firstResponder] keyUp:anEvent]; + case CPKeyUp: + return [[self firstResponder] keyUp:anEvent]; - case CPKeyDown: if ([anEvent charactersIgnoringModifiers] === CPTabCharacter) - { - if ([anEvent modifierFlags] & CPShiftKeyMask) - [self selectPreviousKeyView:self]; - else - [self selectNextKeyView:self]; + case CPKeyDown: + if ([anEvent charactersIgnoringModifiers] === CPTabCharacter) + { + if ([anEvent modifierFlags] & CPShiftKeyMask) + [self selectPreviousKeyView:self]; + else + [self selectNextKeyView:self]; #if PLATFORM(DOM) - // Make sure the browser doesn't try to do its own tab handling. - // This is important or the browser might blur the shared text field or token field input field, - // even that we just moved it to a new first responder. - [[[anEvent window] platformWindow] _propagateCurrentDOMEvent:NO] + // Make sure the browser doesn't try to do its own tab handling. + // This is important or the browser might blur the shared text field or token field input field, + // even that we just moved it to a new first responder. + [[[anEvent window] platformWindow] _propagateCurrentDOMEvent:NO] #endif - return; - } - else if ([anEvent charactersIgnoringModifiers] === CPBackTabCharacter) - { - var didTabBack = [self selectPreviousKeyView:self]; - if (didTabBack) - { + return; + } + else if ([anEvent charactersIgnoringModifiers] === CPBackTabCharacter) + { + var didTabBack = [self selectPreviousKeyView:self]; + + if (didTabBack) + { #if PLATFORM(DOM) - // Make sure the browser doesn't try to do its own tab handling. - // This is important or the browser might blur the shared text field or token field input field, - // even that we just moved it to a new first responder. - [[[anEvent window] platformWindow] _propagateCurrentDOMEvent:NO] + // Make sure the browser doesn't try to do its own tab handling. + // This is important or the browser might blur the shared text field or token field input field, + // even that we just moved it to a new first responder. + [[[anEvent window] platformWindow] _propagateCurrentDOMEvent:NO] #endif - } + } - return didTabBack; - } + return didTabBack; + } - [[self firstResponder] keyDown:anEvent]; + [[self firstResponder] keyDown:anEvent]; - // Trigger the default button if needed - // FIXME: Is this only applicable in a sheet? See isse: #722. - if (![self disableKeyEquivalentForDefaultButton]) - { - var defaultButton = [self defaultButton], - keyEquivalent = [defaultButton keyEquivalent], - modifierMask = [defaultButton keyEquivalentModifierMask]; + // Trigger the default button if needed + // FIXME: Is this only applicable in a sheet? See isse: #722. + if (![self disableKeyEquivalentForDefaultButton]) + { + var defaultButton = [self defaultButton], + keyEquivalent = [defaultButton keyEquivalent], + modifierMask = [defaultButton keyEquivalentModifierMask]; - if ([anEvent _triggersKeyEquivalent:keyEquivalent withModifierMask:modifierMask]) - [[self defaultButton] performClick:self]; - } + if ([anEvent _triggersKeyEquivalent:keyEquivalent withModifierMask:modifierMask]) + [[self defaultButton] performClick:self]; + } - return; + return; - case CPScrollWheel: return [[_windowView hitTest:point] scrollWheel:anEvent]; + case CPScrollWheel: + return [[_windowView hitTest:point] scrollWheel:anEvent]; case CPLeftMouseUp: - case CPRightMouseUp: var hitTestedView = _leftMouseDownView, - selector = type == CPRightMouseUp ? @selector(rightMouseUp:) : @selector(mouseUp:); + case CPRightMouseUp: + var hitTestedView = _leftMouseDownView, + selector = type == CPRightMouseUp ? @selector(rightMouseUp:) : @selector(mouseUp:); - if (!hitTestedView) - hitTestedView = [_windowView hitTest:point]; + if (!hitTestedView) + hitTestedView = [_windowView hitTest:point]; - [hitTestedView performSelector:selector withObject:anEvent]; + [hitTestedView performSelector:selector withObject:anEvent]; - _leftMouseDownView = nil; + _leftMouseDownView = nil; + + return; - return; case CPLeftMouseDown: - case CPRightMouseDown: _leftMouseDownView = [_windowView hitTest:point]; + case CPRightMouseDown: + _leftMouseDownView = [_windowView hitTest:point] || _windowView; - if (_leftMouseDownView != _firstResponder && [_leftMouseDownView acceptsFirstResponder]) - [self makeFirstResponder:_leftMouseDownView]; + if (_leftMouseDownView != _firstResponder && [_leftMouseDownView acceptsFirstResponder]) + [self makeFirstResponder:_leftMouseDownView]; - [CPApp activateIgnoringOtherApps:YES]; + [CPApp activateIgnoringOtherApps:YES]; - var theWindow = [anEvent window], - selector = type == CPRightMouseDown ? @selector(rightMouseDown:) : @selector(mouseDown:); + var theWindow = [anEvent window], + selector = type == CPRightMouseDown ? @selector(rightMouseDown:) : @selector(mouseDown:); - if ([theWindow isKeyWindow] || [theWindow becomesKeyOnlyIfNeeded] && ![_leftMouseDownView needsPanelToBecomeKey]) - return [_leftMouseDownView performSelector:selector withObject:anEvent]; - else - { - // FIXME: delayed ordering? - [self makeKeyAndOrderFront:self]; + if ([theWindow isKeyWindow] || [theWindow becomesKeyOnlyIfNeeded] && ![_leftMouseDownView needsPanelToBecomeKey]) + return [_leftMouseDownView performSelector:selector withObject:anEvent]; + else + { + // FIXME: delayed ordering? + [self makeKeyAndOrderFront:self]; - if ([_leftMouseDownView acceptsFirstMouse:anEvent]) - return [_leftMouseDownView performSelector:selector withObject:anEvent]; - } - break; + if ([_leftMouseDownView acceptsFirstMouse:anEvent]) + return [_leftMouseDownView performSelector:selector withObject:anEvent]; + } + break; case CPLeftMouseDragged: - case CPRightMouseDragged: if (!_leftMouseDownView) - return [[_windowView hitTest:point] mouseDragged:anEvent]; + case CPRightMouseDragged: + if (!_leftMouseDownView) + return [[_windowView hitTest:point] mouseDragged:anEvent]; - var selector; - if (type == CPRightMouseDragged) - { - selector = @selector(rightMouseDragged:) - if (![_leftMouseDownView respondsToSelector:selector]) - selector = nil; - } + var selector; - if (!selector) - selector = @selector(mouseDragged:) + if (type == CPRightMouseDragged) + { + selector = @selector(rightMouseDragged:) + if (![_leftMouseDownView respondsToSelector:selector]) + selector = nil; + } - return [_leftMouseDownView performSelector:selector withObject:anEvent]; + if (!selector) + selector = @selector(mouseDragged:) - case CPMouseMoved: if (!_acceptsMouseMovedEvents) - return; + return [_leftMouseDownView performSelector:selector withObject:anEvent]; - if (!_mouseEnteredStack) - _mouseEnteredStack = []; + case CPMouseMoved: + [_windowView setCursorForLocation:point resizing:NO]; - var hitTestView = [_windowView hitTest:point]; + if (!_acceptsMouseMovedEvents) + return; - if ([_mouseEnteredStack count] && [_mouseEnteredStack lastObject] === hitTestView) - return [hitTestView mouseMoved:anEvent]; + if (!_mouseEnteredStack) + _mouseEnteredStack = []; - var view = hitTestView, - mouseEnteredStack = []; + var hitTestView = [_windowView hitTest:point]; - while (view) - { - mouseEnteredStack.unshift(view); + if ([_mouseEnteredStack count] && [_mouseEnteredStack lastObject] === hitTestView) + return [hitTestView mouseMoved:anEvent]; - view = [view superview]; - } + var view = hitTestView, + mouseEnteredStack = []; - var deviation = MIN(_mouseEnteredStack.length, mouseEnteredStack.length); + while (view) + { + mouseEnteredStack.unshift(view); - while (deviation--) - if (_mouseEnteredStack[deviation] === mouseEnteredStack[deviation]) - break; + view = [view superview]; + } - var index = deviation + 1, - count = _mouseEnteredStack.length; + var deviation = MIN(_mouseEnteredStack.length, mouseEnteredStack.length); - if (index < count) - { - var event = [CPEvent mouseEventWithType:CPMouseExited location:point modifierFlags:[anEvent modifierFlags] timestamp:[anEvent timestamp] windowNumber:_windowNumber context:nil eventNumber:-1 clickCount:1 pressure:0]; + while (deviation--) + if (_mouseEnteredStack[deviation] === mouseEnteredStack[deviation]) + break; - for (; index < count; ++index) - [_mouseEnteredStack[index] mouseExited:event]; - } + var index = deviation + 1, + count = _mouseEnteredStack.length; - index = deviation + 1; - count = mouseEnteredStack.length; + if (index < count) + { + var event = [CPEvent mouseEventWithType:CPMouseExited location:point modifierFlags:[anEvent modifierFlags] timestamp:[anEvent timestamp] windowNumber:_windowNumber context:nil eventNumber:-1 clickCount:1 pressure:0]; - if (index < count) - { - var event = [CPEvent mouseEventWithType:CPMouseEntered location:point modifierFlags:[anEvent modifierFlags] timestamp:[anEvent timestamp] windowNumber:_windowNumber context:nil eventNumber:-1 clickCount:1 pressure:0]; + for (; index < count; ++index) + [_mouseEnteredStack[index] mouseExited:event]; + } - for (; index < count; ++index) - [mouseEnteredStack[index] mouseEntered:event]; - } + index = deviation + 1; + count = mouseEnteredStack.length; - _mouseEnteredStack = mouseEnteredStack; + if (index < count) + { + var event = [CPEvent mouseEventWithType:CPMouseEntered location:point modifierFlags:[anEvent modifierFlags] timestamp:[anEvent timestamp] windowNumber:_windowNumber context:nil eventNumber:-1 clickCount:1 pressure:0]; - [hitTestView mouseMoved:anEvent]; + for (; index < count; ++index) + [mouseEnteredStack[index] mouseEntered:event]; + } + + _mouseEnteredStack = mouseEnteredStack; + + [hitTestView mouseMoved:anEvent]; } } @@ -2165,6 +2222,7 @@ CPTexturedBackgroundWindowMask return; var documents = [_windowController documents]; + if ([documents count]) { var index = [documents indexOfObject:[_windowController document]]; @@ -3237,6 +3295,15 @@ var keyViewComparator = function(lhs, rhs, context) return CGRectContainsPoint(_frame, aPoint); } +- (BOOL)_isValidMousePoint:(CGPoint)aPoint +{ + // If we are using the new resizing mode, mouse events are valid + // outside the window's frame for non-full platform windows. + var mouseFrame = (!_isFullPlatformWindow && (_styleMask & CPResizableWindowMask) && (CPWindowResizeStyle === CPWindowResizeStyleModern)) ? _CGRectInset(_frame, -CPWindowResizeSlop, -CPWindowResizeSlop) : _frame; + + return CGRectContainsPoint(mouseFrame, aPoint); +} + @end @implementation CPWindow (Deprecated) diff --git a/AppKit/CPWindow/_CPStandardWindowView.j b/AppKit/CPWindow/_CPStandardWindowView.j index 3b4b13908..d07f6fe54 100644 --- a/AppKit/CPWindow/_CPStandardWindowView.j +++ b/AppKit/CPWindow/_CPStandardWindowView.j @@ -334,13 +334,13 @@ var STANDARD_GRADIENT_HEIGHT = 41.0; [self _updateCloseButton]; } -- (void)mouseDown:(CPEvent)anEvent +- (BOOL)couldBeMoveEvent:(CPEvent)anEvent { if (![_headView isHidden]) if (CGRectContainsPoint([_headView frame], [self convertPoint:[anEvent locationInWindow] fromView:nil])) - return [self trackMoveWithEvent:anEvent]; + return YES; - [super mouseDown:anEvent]; + return [super couldBeMoveEvent:anEvent]; } - (void)_enableSheet:(BOOL)enable diff --git a/AppKit/CPWindow/_CPWindowView.j b/AppKit/CPWindow/_CPWindowView.j index 207a3456e..71d2fe6a3 100644 --- a/AppKit/CPWindow/_CPWindowView.j +++ b/AppKit/CPWindow/_CPWindowView.j @@ -24,7 +24,18 @@ @import "CPView.j" -var _CPWindowViewResizeIndicatorImage = nil; +var _CPWindowViewResizeIndicatorImage = nil, + _CPWindowViewCornerResizeRectWidth = 10, + + _CPWindowViewResizeRegionNone = -1, + _CPWindowViewResizeRegionTopLeft = 0, + _CPWindowViewResizeRegionTop = 1, + _CPWindowViewResizeRegionTopRight = 2, + _CPWindowViewResizeRegionRight = 3, + _CPWindowViewResizeRegionBottomRight = 4, + _CPWindowViewResizeRegionBottom = 5, + _CPWindowViewResizeRegionBottomLeft = 6, + _CPWindowViewResizeRegionLeft = 7; @implementation _CPWindowView : CPView { @@ -38,6 +49,7 @@ var _CPWindowViewResizeIndicatorImage = nil; // BOOL _isAnimatingToolbar; CGRect _resizeFrame; + int _resizeRegion; CGPoint _mouseDraggedPoint; CGRect _cachedScreenFrame; @@ -50,17 +62,17 @@ var _CPWindowViewResizeIndicatorImage = nil; if (self !== [_CPWindowView class]) return; - _CPWindowViewResizeIndicatorImage = [[CPImage alloc] initWithContentsOfFile:[[CPBundle bundleForClass:[CPWindow class]] pathForResource:@"_CPWindowView/_CPWindowViewResizeIndicator.png"] size:CGSizeMake(12.0, 12.0)]; + _CPWindowViewResizeIndicatorImage = [[CPImage alloc] initWithContentsOfFile:[[CPBundle bundleForClass:[CPWindow class]] pathForResource:@"_CPWindowView/_CPWindowViewResizeIndicator.png"] size:_CGSizeMake(12.0, 12.0)]; } + (CGRect)contentRectForFrameRect:(CGRect)aFrameRect { - return CGRectMakeCopy(aFrameRect); + return _CGRectMakeCopy(aFrameRect); } + (CGRect)frameRectForContentRect:(CGRect)aContentRect { - return CGRectMakeCopy(aContentRect); + return _CGRectMakeCopy(aContentRect); } + (CPString)defaultThemeClass @@ -81,7 +93,7 @@ var _CPWindowViewResizeIndicatorImage = nil; if ([theToolbar isVisible]) { - var toolbarHeight = CGRectGetHeight([[theToolbar _toolbarView] frame]); + var toolbarHeight = _CGRectGetHeight([[theToolbar _toolbarView] frame]); contentRect.origin.y += toolbarHeight; contentRect.size.height -= toolbarHeight; @@ -97,7 +109,7 @@ var _CPWindowViewResizeIndicatorImage = nil; if ([theToolbar isVisible]) { - var toolbarHeight = CGRectGetHeight([[theToolbar _toolbarView] frame]); + var toolbarHeight = _CGRectGetHeight([[theToolbar _toolbarView] frame]); frameRect.origin.y -= toolbarHeight; frameRect.size.height += toolbarHeight; @@ -113,8 +125,8 @@ var _CPWindowViewResizeIndicatorImage = nil; if (self) { _styleMask = aStyleMask; - _resizeIndicatorOffset = CGSizeMakeZero(); - _toolbarOffset = CGSizeMakeZero(); + _resizeIndicatorOffset = _CGSizeMakeZero(); + _toolbarOffset = _CGSizeMakeZero(); } return self; @@ -135,48 +147,310 @@ var _CPWindowViewResizeIndicatorImage = nil; - (void)mouseDown:(CPEvent)anEvent { - var theWindow = [self window]; + var theWindow = [self window], + couldResize = _styleMask & CPResizableWindowMask; - if ((_styleMask & CPResizableWindowMask) && _resizeIndicator) + couldResize = couldResize && ( + (CPWindowResizeStyle === CPWindowResizeStyleModern) || + ((CPWindowResizeStyle === CPWindowResizeStyleLegacy) && _resizeIndicator)); + + if (couldResize) { - // FIXME: This should be better - var frame = [_resizeIndicator frame]; + var theWindow = [self window], + windowFrame = [theWindow frame], + shouldResize = NO; - if (CGRectContainsPoint(frame, [self convertPoint:[anEvent locationInWindow] fromView:nil])) + if (CPWindowResizeStyle === CPWindowResizeStyleModern) + { + var globalPoint = [theWindow convertBaseToGlobal:[anEvent locationInWindow]]; + + _resizeRegion = [self resizeRegionForPoint:globalPoint]; + shouldResize = _resizeRegion !== _CPWindowViewResizeRegionNone; + } + else + { + // Extend the resize frame to the edge of the window frame + var resizeFrame = [_resizeIndicator frame]; + resizeFrame.size.width = _CGRectGetWidth(windowFrame) - _CGRectGetMinX(resizeFrame); + resizeFrame.size.height = _CGRectGetHeight(windowFrame) - _CGRectGetMinY(resizeFrame); + + var localPoint = [self convertPoint:[anEvent locationInWindow] fromView:nil]; + shouldResize = CGRectContainsPoint(resizeFrame, localPoint); + + // When in legacy mode, the only possible resize region is lower right + _resizeRegion = shouldResize ? _CPWindowViewResizeRegionBottomRight : _CPWindowViewResizeRegionNone; + } + + if (shouldResize) return [self trackResizeWithEvent:anEvent]; } - if ([theWindow isMovable] && [theWindow isMovableByWindowBackground]) + if ([self couldBeMoveEvent:anEvent]) [self trackMoveWithEvent:anEvent]; else [super mouseDown:anEvent]; } +- (BOOL)couldBeMoveEvent:(CPEvent)anEvent +{ + var theWindow = [self window]; + + return [theWindow isMovable] && [theWindow isMovableByWindowBackground]; +} + +/* + aPoint should be in global coordinates +*/ +- (int)resizeRegionForPoint:(CGPoint)aPoint +{ + /* + There are 8 possible resize rects, 1 for each side and 1 for each corner. + The four corner rects are the same size, and the top/bottom and left/right + rects are the same size. So to save calculations, we can just create + 3 rects and move them around to do hit testing. Start with the corners + and then do left/right and top/bottom. + */ + var frame = [[self window] frame], + rect = _CGRectMake(frame.origin.x - CPWindowResizeSlop, + frame.origin.y - CPWindowResizeSlop, + _CPWindowViewCornerResizeRectWidth + CPWindowResizeSlop, + _CPWindowViewCornerResizeRectWidth + CPWindowResizeSlop); + + if (_CGRectContainsPoint(rect, aPoint)) + return _CPWindowViewResizeRegionTopLeft; + + rect.origin.x = _CGRectGetMaxX(frame) - _CPWindowViewCornerResizeRectWidth; + + if (_CGRectContainsPoint(rect, aPoint)) + return _CPWindowViewResizeRegionTopRight; + + rect.origin.y = _CGRectGetMaxY(frame) - _CPWindowViewCornerResizeRectWidth; + + if (_CGRectContainsPoint(rect, aPoint)) + return _CPWindowViewResizeRegionBottomRight; + + rect.origin.x = frame.origin.x - CPWindowResizeSlop; + + if (_CGRectContainsPoint(rect, aPoint)) + return _CPWindowViewResizeRegionBottomLeft; + + rect = _CGRectMake(rect.origin.x, + frame.origin.y + _CPWindowViewCornerResizeRectWidth, + CPWindowResizeSlop * 2, + _CGRectGetHeight(frame) - (_CPWindowViewCornerResizeRectWidth * 2)); + + if (_CGRectContainsPoint(rect, aPoint)) + return _CPWindowViewResizeRegionLeft; + + rect.origin.x = _CGRectGetMaxX(frame) - CPWindowResizeSlop; + + if (_CGRectContainsPoint(rect, aPoint)) + return _CPWindowViewResizeRegionRight; + + rect = _CGRectMake(frame.origin.x + _CPWindowViewCornerResizeRectWidth, + frame.origin.y - CPWindowResizeSlop, + _CGRectGetWidth(frame) - (_CPWindowViewCornerResizeRectWidth * 2), + CPWindowResizeSlop * 2); + + if (_CGRectContainsPoint(rect, aPoint)) + return _CPWindowViewResizeRegionTop; + + rect.origin.y = _CGRectGetMaxY(frame) - CPWindowResizeSlop; + + if (_CGRectContainsPoint(rect, aPoint)) + return _CPWindowViewResizeRegionBottom; + + return _CPWindowViewResizeRegionNone; +} + +/* + aPoint is in window coordinates +*/ +- (void)setCursorForLocation:(CGPoint)aPoint resizing:(BOOL)isResizing +{ + var theWindow = [self window]; + + if ([theWindow isFullPlatformWindow] || + !(_styleMask & CPResizableWindowMask) || + (CPWindowResizeStyle !== CPWindowResizeStyleModern)) + return; + + var globalPoint = [theWindow convertBaseToGlobal:aPoint], + resizeRegion = isResizing ? _resizeRegion : [self resizeRegionForPoint:globalPoint], + minSize = nil, + maxSize = nil, + frameSize; + + if (resizeRegion !== _CPWindowViewResizeRegionNone) + { + minSize = [theWindow minSize]; + maxSize = [theWindow maxSize]; + frameSize = [theWindow frame].size; + } + + switch (resizeRegion) + { + case _CPWindowViewResizeRegionTopLeft: + if (minSize && _CGSizeEqualToSize(frameSize, minSize)) + [[CPCursor resizeNorthwestCursor] set]; + else if (maxSize && _CGSizeEqualToSize(frameSize, maxSize)) + [[CPCursor resizeSoutheastCursor] set]; + else + [[CPCursor resizeNorthwestSoutheastCursor] set]; + break; + + case _CPWindowViewResizeRegionTop: + if (minSize && (frameSize.height === minSize.height)) + [[CPCursor resizeUpCursor] set]; + else if (maxSize && (frameSize.height === maxSize.height)) + [[CPCursor resizeDownCursor] set]; + else if ([CPMenu menuBarVisible] && (_CGRectGetMinY([theWindow frame]) <= [CPMenu menuBarHeight])) + [[CPCursor resizeDownCursor] set]; + else + [[CPCursor resizeNorthSouthCursor] set]; + break; + + case _CPWindowViewResizeRegionTopRight: + if (minSize && _CGSizeEqualToSize(frameSize, minSize)) + [[CPCursor resizeNortheastCursor] set]; + else if (maxSize && _CGSizeEqualToSize(frameSize, maxSize)) + [[CPCursor resizeSouthwestCursor] set]; + else + [[CPCursor resizeNortheastSouthwestCursor] set]; + break; + + case _CPWindowViewResizeRegionRight: + if (minSize && (frameSize.width === minSize.width)) + [[CPCursor resizeRightCursor] set]; + else if (maxSize && (frameSize.width === maxSize.width)) + [[CPCursor resizeLeftCursor] set]; + else + [[CPCursor resizeEastWestCursor] set]; + break; + + case _CPWindowViewResizeRegionBottomRight: + if (minSize && _CGSizeEqualToSize(frameSize, minSize)) + [[CPCursor resizeSoutheastCursor] set]; + else if (maxSize && _CGSizeEqualToSize(frameSize, maxSize)) + [[CPCursor resizeNorthwestCursor] set]; + else + [[CPCursor resizeNorthwestSoutheastCursor] set]; + break; + + case _CPWindowViewResizeRegionBottom: + if (minSize && (frameSize.height === minSize.height)) + [[CPCursor resizeDownCursor] set]; + else if (maxSize && (frameSize.height === maxSize.height)) + [[CPCursor resizeUpCursor] set]; + else + [[CPCursor resizeNorthSouthCursor] set]; + break; + + case _CPWindowViewResizeRegionBottomLeft: + if (minSize && _CGSizeEqualToSize(frameSize, minSize)) + [[CPCursor resizeSouthwestCursor] set]; + else if (maxSize && _CGSizeEqualToSize(frameSize, maxSize)) + [[CPCursor resizeNortheastCursor] set]; + else + [[CPCursor resizeNortheastSouthwestCursor] set]; + break; + + case _CPWindowViewResizeRegionLeft: + if (minSize && (frameSize.width === minSize.width)) + [[CPCursor resizeLeftCursor] set]; + else if (maxSize && (frameSize.width === maxSize.width)) + [[CPCursor resizeRightCursor] set]; + else + [[CPCursor resizeEastWestCursor] set]; + break; + + default: + [[CPCursor arrowCursor] set]; + } +} + - (void)trackResizeWithEvent:(CPEvent)anEvent { - var location = [anEvent locationInWindow], - type = [anEvent type]; + var type = [anEvent type]; if (type === CPLeftMouseUp) return; - var theWindow = [self window]; + var location = [anEvent locationInWindow], + theWindow = [self window], + globalLocation = [theWindow convertBaseToGlobal:location], + frame = [theWindow frame]; if (type === CPLeftMouseDown) { - var frame = [theWindow frame]; - - _resizeFrame = CGRectMake(location.x, location.y, CGRectGetWidth(frame), CGRectGetHeight(frame)); + _mouseDraggedPoint = _CGPointMakeCopy(globalLocation); + _resizeFrame = _CGRectMakeCopy(frame); } else if (type === CPLeftMouseDragged) { - var newSize = CGSizeMake(CGRectGetWidth(_resizeFrame) + location.x - CGRectGetMinX(_resizeFrame), CGRectGetHeight(_resizeFrame) + location.y - CGRectGetMinY(_resizeFrame)); + var diffX = globalLocation.x - _mouseDraggedPoint.x, + diffY = globalLocation.y - _mouseDraggedPoint.y, + newX = _CGRectGetMinX(_resizeFrame), + newY = _CGRectGetMinY(_resizeFrame), + newWidth = _CGRectGetWidth(_resizeFrame), + newHeight = _CGRectGetHeight(_resizeFrame), + platformFrame = [[theWindow platformWindow] usableContentFrame], + minSize = [theWindow minSize], + maxSize = [theWindow maxSize]; - if (theWindow._isSheet && theWindow._parentView && (theWindow._frame.size.width !== newSize.width)) + // Calculate x and width first + switch (_resizeRegion) + { + case _CPWindowViewResizeRegionTopLeft: + case _CPWindowViewResizeRegionLeft: + case _CPWindowViewResizeRegionBottomLeft: + if (minSize && diffX > 0) + diffX = MIN(newWidth - minSize.width, diffX); + else if (maxSize && diffX < 0) + diffX = MAX(newWidth - maxSize.width, diffX); + + newX += diffX, + newWidth -= diffX; + break; + + case _CPWindowViewResizeRegionTopRight: + case _CPWindowViewResizeRegionRight: + case _CPWindowViewResizeRegionBottomRight: + newWidth += diffX; + break; + } + + // Now calculate y and height + switch (_resizeRegion) + { + case _CPWindowViewResizeRegionTopLeft: + case _CPWindowViewResizeRegionTop: + case _CPWindowViewResizeRegionTopRight: + if (minSize && diffY > 0) + diffY = MIN(newHeight - minSize.height, diffY); + else if (maxSize && diffY < 0) + diffY = MAX(newHeight - maxSize.height, diffY); + + newY += diffY, + newHeight -= diffY; + break; + + case _CPWindowViewResizeRegionBottomLeft: + case _CPWindowViewResizeRegionBottom: + case _CPWindowViewResizeRegionBottomRight: + newHeight += diffY; + break; + } + + if (theWindow._isSheet && theWindow._parentView && (frame.size.width !== newWidth)) [theWindow._parentView _setAttachedSheetFrameOrigin]; - [theWindow setFrameSize:newSize]; + // Constrain resize to fit within the platform window. + var newFrame = CGRectIntersection(_CGRectMake(newX, newY, newWidth, newHeight), platformFrame); + + [theWindow setFrame:newFrame]; + [self setCursorForLocation:location resizing:YES]; } [CPApp setTarget:self selector:@selector(trackResizeWithEvent:) forNextEventMatchingMask:CPLeftMouseDraggedMask | CPLeftMouseUpMask untilDate:nil inMode:nil dequeue:YES]; @@ -198,10 +472,10 @@ var _CPWindowViewResizeIndicatorImage = nil; if ([CPMenu menuBarVisible]) minPointY = [[CPApp mainMenu] menuBarHeight]; - var restrictedPoint = CGPointMake(0, 0); + var restrictedPoint = _CGPointMake(0, 0); - restrictedPoint.x = MIN(MAX(aPoint.x, -_frame.size.width + 4.0), CGRectGetMaxX(visibleFrame) - 4.0); - restrictedPoint.y = MIN(MAX(aPoint.y, minPointY), CGRectGetMaxY(visibleFrame) - 8.0); + restrictedPoint.x = MIN(MAX(aPoint.x, -_frame.size.width + 4.0), _CGRectGetMaxX(visibleFrame) - 4.0); + restrictedPoint.y = MIN(MAX(aPoint.y, minPointY), _CGRectGetMaxY(visibleFrame) - 8.0); return restrictedPoint; } @@ -228,8 +502,8 @@ var _CPWindowViewResizeIndicatorImage = nil; var theWindow = [self window], frame = [theWindow frame], location = [theWindow convertBaseToGlobal:[anEvent locationInWindow]], - origin = [self _pointWithinScreenFrame:CGPointMake(_CGRectGetMinX(frame) + (location.x - _mouseDraggedPoint.x), - _CGRectGetMinY(frame) + (location.y - _mouseDraggedPoint.y))]; + origin = [self _pointWithinScreenFrame:_CGPointMake(_CGRectGetMinX(frame) + (location.x - _mouseDraggedPoint.x), + _CGRectGetMinY(frame) + (location.y - _mouseDraggedPoint.y))]; [theWindow setFrameOrigin:origin]; _mouseDraggedPoint = [self _pointWithinScreenFrame:location]; @@ -251,12 +525,12 @@ var _CPWindowViewResizeIndicatorImage = nil; - (void)setShowsResizeIndicator:(BOOL)shouldShowResizeIndicator { - if (shouldShowResizeIndicator) + if (shouldShowResizeIndicator && CPWindowResizeStyle === CPWindowResizeStyleLegacy) { var size = [_CPWindowViewResizeIndicatorImage size], boundsSize = [self frame].size; - _resizeIndicator = [[CPImageView alloc] initWithFrame:CGRectMake(boundsSize.width - size.width - _resizeIndicatorOffset.width, boundsSize.height - size.height - _resizeIndicatorOffset.height, size.width, size.height)]; + _resizeIndicator = [[CPImageView alloc] initWithFrame:_CGRectMake(boundsSize.width - size.width - _resizeIndicatorOffset.width, boundsSize.height - size.height - _resizeIndicatorOffset.height, size.width, size.height)]; [_resizeIndicator setImage:_CPWindowViewResizeIndicatorImage]; [_resizeIndicator setAutoresizingMask:CPViewMinXMargin | CPViewMinYMargin]; @@ -278,7 +552,7 @@ var _CPWindowViewResizeIndicatorImage = nil; - (void)setResizeIndicatorOffset:(CGSize)anOffset { - if (CGSizeEqualToSize(_resizeIndicatorOffset, anOffset)) + if (_CGSizeEqualToSize(_resizeIndicatorOffset, anOffset)) return; _resizeIndicatorOffset = anOffset; @@ -289,7 +563,7 @@ var _CPWindowViewResizeIndicatorImage = nil; var size = [_resizeIndicator frame].size, boundsSize = [self frame].size; - [_resizeIndicator setFrameOrigin:CGPointMake(boundsSize.width - size.width - anOffset.width, boundsSize.height - size.height - anOffset.height)]; + [_resizeIndicator setFrameOrigin:_CGPointMake(boundsSize.width - size.width - anOffset.width, boundsSize.height - size.height - anOffset.height)]; } - (CGSize)resizeIndicatorOffset @@ -325,7 +599,7 @@ var _CPWindowViewResizeIndicatorImage = nil; if (!_toolbarView || [_toolbarView isHidden]) return [self toolbarOffset].height; - return CGRectGetMaxY([_toolbarView frame]); + return _CGRectGetMaxY([_toolbarView frame]); } - (_CPToolbarView)toolbarView @@ -337,14 +611,14 @@ var _CPWindowViewResizeIndicatorImage = nil; { var theWindow = [self window], bounds = [self bounds], - width = CGRectGetWidth(bounds); + width = _CGRectGetWidth(bounds); if ([[theWindow toolbar] isVisible]) { var toolbarView = [self toolbarView], toolbarOffset = [self toolbarOffset]; - [toolbarView setFrame:CGRectMake(toolbarOffset.width, toolbarOffset.height, width, CGRectGetHeight([toolbarView frame]))]; + [toolbarView setFrame:_CGRectMake(toolbarOffset.width, toolbarOffset.height, width, _CGRectGetHeight([toolbarView frame]))]; } if ([self showsResizeIndicator]) @@ -352,7 +626,7 @@ var _CPWindowViewResizeIndicatorImage = nil; var size = [_resizeIndicator frame].size, boundsSize = [self bounds].size; - [_resizeIndicator setFrameOrigin:CGPointMake(boundsSize.width - size.width - _resizeIndicatorOffset.width, boundsSize.height - size.height - _resizeIndicatorOffset.height)]; + [_resizeIndicator setFrameOrigin:_CGPointMake(boundsSize.width - size.width - _resizeIndicatorOffset.width, boundsSize.height - size.height - _resizeIndicatorOffset.height)]; } } diff --git a/AppKit/Platform/DOM/CPPlatformWindow+DOM.j b/AppKit/Platform/DOM/CPPlatformWindow+DOM.j index 77494eb2c..dff0fb70f 100644 --- a/AppKit/Platform/DOM/CPPlatformWindow+DOM.j +++ b/AppKit/Platform/DOM/CPPlatformWindow+DOM.j @@ -1177,7 +1177,6 @@ var resizeTimer = nil; { var type = _overriddenEventType || aDOMEvent.type; - // IE's event order is down, up, up, dblclick, so we have create these events artificially. if (type === @"dblclick") { @@ -1208,7 +1207,7 @@ var resizeTimer = nil; windowNumber = [_mouseDownWindow windowNumber]; else { - var theWindow = [self hitTest:location]; + var theWindow = [self _mouseHitTest:location]; if ((aDOMEvent.type === CPDOMEventMouseDown) && theWindow) _mouseDownWindow = theWindow; @@ -1308,6 +1307,7 @@ var resizeTimer = nil; // if there are any tracking event listeners then show the event guard so we don't lose events to iframes // TODO Actually check for tracking event listeners, not just any listener but _CPRunModalLoop. var hasTrackingEventListener = NO; + for (var i = 0; i < CPApp._eventListeners.length; i++) { if (CPApp._eventListeners[i]._callback !== _CPRunModalLoop) @@ -1316,6 +1316,7 @@ var resizeTimer = nil; break; } } + _lastMouseEventLocation = location; _DOMEventGuard.style.display = hasTrackingEventListener ? "" : "none"; @@ -1486,7 +1487,17 @@ var resizeTimer = nil; return StopContextMenuDOMEventPropagation; } +- (CPWindow)_mouseHitTest:(CPPoint)location +{ + return [self _hitTest:location withTest:@selector(_isValidMousePoint:)] +} + - (CPWindow)hitTest:(CPPoint)location +{ + return [self _hitTest:location withTest:@selector(containsPoint:)] +} + +- (CPWindow)_hitTest:(CPPoint)location withTest:(SEL)aTest { if (self._only) return self._only; @@ -1505,7 +1516,7 @@ var resizeTimer = nil; { var candidateWindow = windows[windowCount]; - if (!candidateWindow._ignoresMouseEvents && [candidateWindow containsPoint:location]) + if (!candidateWindow._ignoresMouseEvents && [candidateWindow performSelector:aTest withObject:location]) theWindow = candidateWindow; } } diff --git a/Tests/Manual/CPToolbarTest/AppController.j b/Tests/Manual/CPToolbarTest/AppController.j index 538a74ecf..67c6be620 100644 --- a/Tests/Manual/CPToolbarTest/AppController.j +++ b/Tests/Manual/CPToolbarTest/AppController.j @@ -40,7 +40,7 @@ if (!hasIcon && hasTallItem) continue; - var theWindow = [[CPWindow alloc] initWithContentRect:CGRectMake(x, y, 400, 20) styleMask:CPTitledWindowMask], + var theWindow = [[CPWindow alloc] initWithContentRect:CGRectMake(x, y, 400, 20) styleMask:CPTitledWindowMask | CPResizableWindowMask], contentView = [theWindow contentView]; [theWindow setTitle:"Toolbar (LBL: " + hasLabel + " ICN: " + hasIcon + " SMALL: " + isSmall + " TALLITEM: " + hasTallItem + ")"]; diff --git a/Tests/Manual/CPWindowResizeStyle/AppController.j b/Tests/Manual/CPWindowResizeStyle/AppController.j new file mode 100644 index 000000000..b90e915a3 --- /dev/null +++ b/Tests/Manual/CPWindowResizeStyle/AppController.j @@ -0,0 +1,31 @@ +/* + * AppController.j + * resize + * + * Created by You on December 24, 2012. + * Copyright 2012, Your Company All rights reserved. + */ + +@import + + +@implementation AppController : CPObject +{ + @outlet CPWindow theWindow; +} + +- (void)applicationDidFinishLaunching:(CPNotification)aNotification +{ +} + +- (void)awakeFromCib +{ + [theWindow setFullPlatformWindow:YES]; +} + +- (@action)resizeStyleDidChange:(id)sender +{ + [CPWindow setGlobalResizeStyle:[[sender selectedRadio] tag]]; +} + +@end diff --git a/Tests/Manual/CPWindowResizeStyle/Info.plist b/Tests/Manual/CPWindowResizeStyle/Info.plist new file mode 100644 index 000000000..f603c0e49 --- /dev/null +++ b/Tests/Manual/CPWindowResizeStyle/Info.plist @@ -0,0 +1,10 @@ + + + + + Main cib file base name + MainMenu.cib + CPBundleName + resize + + diff --git a/Tests/Manual/CPWindowResizeStyle/Jakefile b/Tests/Manual/CPWindowResizeStyle/Jakefile new file mode 100644 index 000000000..d6db79e43 --- /dev/null +++ b/Tests/Manual/CPWindowResizeStyle/Jakefile @@ -0,0 +1,94 @@ +/* + * Jakefile + * resize + * + * Created by You on December 24, 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 ("resize", function(task) +{ + task.setBuildIntermediatesPath(FILE.join("Build", "resize.build", configuration)); + task.setBuildPath(FILE.join("Build", configuration)); + + task.setProductName("resize"); + task.setIdentifier("com.yourcompany.resize"); + task.setVersion("1.0"); + task.setAuthor("Your Company"); + task.setEmail("feedback @nospam@ yourcompany.com"); + task.setSummary("resize"); + 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", ["resize"], 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", "resize", "index.html")]); +}); + +task ("run-release", ["release"], function() +{ + OS.system(["open", FILE.join("Build", "Release", "resize", "index.html")]); +}); + +task ("deploy", ["release"], function() +{ + FILE.mkdirs(FILE.join("Build", "Deployment", "resize")); + OS.system(["press", "-f", FILE.join("Build", "Release", "resize"), FILE.join("Build", "Deployment", "resize")]); + printResults("Deployment") +}); + +task ("desktop", ["release"], function() +{ + FILE.mkdirs(FILE.join("Build", "Desktop", "resize")); + require("cappuccino/nativehost").buildNativeHost(FILE.join("Build", "Release", "resize"), FILE.join("Build", "Desktop", "resize", "resize.app")); + printResults("Desktop") +}); + +task ("run-desktop", ["desktop"], function() +{ + OS.system([FILE.join("Build", "Desktop", "resize", "resize.app", "Contents", "MacOS", "NativeHost"), "-i"]); +}); + +function printResults(configuration) +{ + print("----------------------------"); + print(configuration+" app built at path: "+FILE.join("Build", configuration, "resize")); + print("----------------------------"); +} diff --git a/Tests/Manual/CPWindowResizeStyle/Resources/MainMenu.cib b/Tests/Manual/CPWindowResizeStyle/Resources/MainMenu.cib new file mode 100644 index 000000000..9da403c14 --- /dev/null +++ b/Tests/Manual/CPWindowResizeStyle/Resources/MainMenu.cib @@ -0,0 +1 @@ +280NPLIST;1.0;D;K;4;$topD;K;18;CPCibObjectDataKeyD;K;6;CP$UIDd;1;2E;E;K;8;$objectsA;S;5;$nullD;K;10;$classnameS;16;_CPCibObjectDataK;8;$classesA;S;16;_CPCibObjectDataS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;1E;K;28;_CPCibObjectDataNamesKeysKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibObjectDataNamesValuesKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibObjectDataClassesKeysKeyD;K;6;CP$UIDd;1;0E;K;32;_CPCibObjectDataClassesValuesKeyD;K;6;CP$UIDd;1;0E;K;30;_CPCibObjectDataConnectionsKeyD;K;6;CP$UIDd;1;4E;K;28;_CPCibObjectDataFrameworkKeyD;K;6;CP$UIDd;1;0E;K;26;_CPCibObjectDataNextOidKeyD;K;6;CP$UIDd;1;5E;K;30;_CPCibObjectDataObjectsKeysKeyD;K;6;CP$UIDd;1;6E;K;32;_CPCibObjectDataObjectsValuesKeyD;K;6;CP$UIDd;1;7E;K;26;_CPCibObjectDataOidKeysKeyD;K;6;CP$UIDd;1;8E;K;28;_CPCibObjectDataOidValuesKeyD;K;6;CP$UIDd;1;9E;K;28;_CPCibObjectDataFileOwnerKeyD;K;6;CP$UIDd;2;11E;K;33;_CPCibObjectDataVisibleWindowsKeyD;K;6;CP$UIDd;2;13E;E;D;K;10;$classnameS;7;CPArrayK;8;$classesA;S;7;CPArrayS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;15E;D;K;6;CP$UIDd;2;16E;D;K;6;CP$UIDd;2;18E;D;K;6;CP$UIDd;2;19E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;33E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;51E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;58E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;65E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;70E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;84E;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;95E;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;98E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;105E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;111E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;114E;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;123E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;3;136E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;142E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;147E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;155E;D;K;6;CP$UIDd;3;156E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;24E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;29E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;31E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;11E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;38E;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;57E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;64E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;69E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;50E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;83E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;94E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;87E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;104E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;108E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;109E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;113E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;119E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;3;102E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;3;134E;D;K;6;CP$UIDd;3;135E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;3;138E;D;K;6;CP$UIDd;2;35E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;152E;D;K;6;CP$UIDd;3;152E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;D;K;10;$classnameS;18;_CPCibCustomObjectK;8;$classesA;S;18;_CPCibCustomObjectS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;157E;E;D;K;10;$classnameS;5;CPSetK;8;$classesA;S;5;CPSetS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;12E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;3;158E;E;D;K;10;$classnameS;20;CPCibOutletConnectorK;8;$classesA;S;20;CPCibOutletConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;11E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;33E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;159E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;33E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;22E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;160E;E;D;K;10;$classnameS;21;CPCibControlConnectorK;8;$classesA;S;21;CPCibControlConnectorS;14;CPCibConnectorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;162E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;33E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;163E;E;D;K;6;$classD;K;6;CP$UIDd;2;17E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;3;164E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;33E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;3;163E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;157E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;165E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;166E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;3;167E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;168E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;3;169E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;170E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;171E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;24E;E;D;K;10;$classnameS;6;CPViewK;8;$classesA;S;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;172E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;173E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;173E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;174E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;175E;E;D;K;10;$classnameS;11;CPTextFieldK;8;$classesA;S;11;CPTextFieldS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;25E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;24E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;172E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;176E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;177E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;24E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;178E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;179E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;175E;K;6;$afontD;K;6;CP$UIDd;3;181E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;182E;K;11;$aalignmentD;K;6;CP$UIDd;3;183E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;3;184E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;185E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;186E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;3;187E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;3;187E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;3;187E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;189E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;3;182E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;3;183E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;165E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;166E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;3;190E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;191E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;3;169E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;170E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;192E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;28E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;172E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;193E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;193E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;194E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;28E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;172E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;195E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;196E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;197E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;178E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;30;_CPCibWindowTemplateMinSizeKeyD;K;6;CP$UIDd;3;198E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;3;199E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;3;166E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;3;190E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;3;200E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;3;169E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;3;170E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;3;201E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;31E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;172E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;193E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;193E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;202E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;23E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;31E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;172E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;195E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;196E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;203E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;31E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;178E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;1;0E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;175E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;204E;E;D;K;10;$classnameS;6;CPMenuK;8;$classesA;S;6;CPMenuS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;205E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;206E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;207E;E;D;K;10;$classnameS;10;CPMenuItemK;8;$classesA;S;10;CPMenuItemS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;208E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;209E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;38E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;35E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;208E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;210E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;211E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;209E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;40E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;38E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;211E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;212E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;213E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;40E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;214E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;215E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;216E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;40E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;217E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;215E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;218E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;40E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;184E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;219E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;187E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;40E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;220E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;40E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;221E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;223E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;40E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;224E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;40E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;225E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;226E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;40E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;227E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;228E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;209E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;50E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;38E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;228E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;229E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;230E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;231E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;50E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;214E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;232E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;233E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;50E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;217E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;232E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;184E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;219E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;187E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;50E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;234E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;50E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;235E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;184E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;219E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;187E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;50E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;236E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;209E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;57E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;50E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;236E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;237E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;238E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;57E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;239E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;57E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;240E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;57E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;241E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;57E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;242E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;57E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;243E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;209E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;64E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;50E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;243E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;244E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;245E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;64E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;246E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;64E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;242E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;64E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;247E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;209E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;69E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;50E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;247E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;248E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;249E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;69E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;250E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;69E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;246E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;69E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;242E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;69E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;184E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;219E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;187E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;50E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;251E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;183E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;50E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;252E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;253E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;254E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;50E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;255E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;184E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;219E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;187E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;50E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;256E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;50E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;257E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;258E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;259E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;50E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;260E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;261E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;182E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;50E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;262E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;263E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;50E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;264E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;265E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;209E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;83E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;35E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;265E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;266E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;267E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;83E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;268E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;83E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;264E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;232E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;269E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;209E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;87E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;35E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;269E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;270E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;184E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;219E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;187E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;87E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;271E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;87E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;184E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;219E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;187E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;87E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;272E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;87E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;273E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;274E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;87E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;275E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;276E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;277E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;209E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;2;94E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;87E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;277E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;278E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;279E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;280E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;94E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;281E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;87E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;282E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;283E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;87E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;284E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;285E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;87E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;286E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;287E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;87E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;288E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;276E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;289E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;87E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;290E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;291E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;209E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;102E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;35E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;291E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;292E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;293E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;209E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;104E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;293E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;294E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;295E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;254E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;104E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;296E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;276E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;297E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;182E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;104E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;298E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;299E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;259E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;104E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;300E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;301E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;209E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;109E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;301E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;302E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;303E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;109E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;304E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;109E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;305E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;209E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;113E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;305E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;306E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;307E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;113E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;308E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;113E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;309E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;310E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;113E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;311E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;312E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;113E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;313E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;209E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;119E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;313E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;314E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;315E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;259E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;300E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;316E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;182E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;298E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;317E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;318E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;319E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;320E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;321E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;322E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;16;CPMenuItemTagKeyD;K;6;CP$UIDd;3;254E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;119E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;296E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;276E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;323E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;324E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;276E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;184E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;219E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;187E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;325E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;217E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;326E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;214E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;327E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;328E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;184E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;219E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;187E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;329E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;330E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;331E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;332E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;333E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;102E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;334E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;209E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;135E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;35E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;334E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;335E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;336E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;135E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;337E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;338E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;209E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;138E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;35E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;338E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;339E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;340E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;341E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;138E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;342E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;232E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;184E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;219E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;187E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;138E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;343E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;209E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;142E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;138E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;343E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;344E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;345E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;184E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;219E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;187E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;138E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;184E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;219E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;187E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;138E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;346E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;138E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;347E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;184E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;219E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;187E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;138E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;348E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;138E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;349E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;350E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;138E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;351E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;138E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;342E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;352E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;138E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;171E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;3;209E;K;20;CPMenuItemSubmenuKeyD;K;6;CP$UIDd;3;152E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;2;35E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;34E;K;14;CPMenuTitleKeyD;K;6;CP$UIDd;3;171E;K;13;CPMenuNameKeyD;K;6;CP$UIDd;3;353E;K;14;CPMenuItemsKeyD;K;6;CP$UIDd;3;354E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;355E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;152E;K;26;CPMenuItemKeyEquivalentKeyD;K;6;CP$UIDd;3;356E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;357E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;152E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;358E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;152E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;D;K;6;$classD;K;6;CP$UIDd;2;36E;K;24;CPMenuItemIsSeparatorKeyD;K;6;CP$UIDd;3;184E;K;18;CPMenuItemTitleKeyD;K;6;CP$UIDd;3;219E;K;19;CPMenuItemTargetKeyD;K;6;CP$UIDd;1;0E;K;19;CPMenuItemActionKeyD;K;6;CP$UIDd;1;0E;K;22;CPMenuItemIsEnabledKeyD;K;6;CP$UIDd;3;187E;K;17;CPMenuItemMenuKeyD;K;6;CP$UIDd;3;152E;K;38;CPMenuItemKeyEquivalentModifierMaskKeyD;K;6;CP$UIDd;3;222E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;27E;D;K;6;CP$UIDd;2;30E;E;E;S;8;delegateS;9;theWindowD;K;10;$classnameS;12;CPRadioGroupK;8;$classesA;S;12;CPRadioGroupS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;161E;K;21;CPRadioGroupRadiosKeyD;K;6;CP$UIDd;3;359E;K;28;CPRadioGroupSelectedRadioKeyD;K;6;CP$UIDd;3;361E;E;S;21;resizeStyleDidChange:D;K;6;$classD;K;6;CP$UIDd;3;161E;K;21;CPRadioGroupRadiosKeyD;K;6;CP$UIDd;3;362E;K;28;CPRadioGroupSelectedRadioKeyD;K;6;CP$UIDd;3;363E;E;S;32;{10000000000000, 10000000000000}S;8;CPWindowd;9;611845120S;24;{{131, 449}, {480, 270}}S;21;{{0, 0}, {1440, 878}}d;2;15S;6;Windowd;1;0S;20;{{0, 0}, {480, 270}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;26E;E;E;S;6;normalS;22;{{211, 127}, {52, 17}}S;18;{{0, 0}, {52, 17}}d;2;45S;9;textfieldD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;180E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;364E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;365E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;3;187E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;3;187E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;3;184E;E;d;1;2d;1;4T;S;8;Platformd;4;3072F;D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;188E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;366E;E;d;10;1946158080S;24;{{122, 116}, {322, 211}}S;15;No Min/Max SizeS;20;{{0, 0}, {322, 211}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;29E;E;E;S;21;{{80, 87}, {163, 38}}S;19;{{0, 0}, {163, 38}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;363E;D;K;6;CP$UIDd;3;367E;E;E;S;10;{200, 172}S;10;{400, 322}S;24;{{152, 166}, {322, 211}}S;12;Min/Max SizeD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;32E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;361E;D;K;6;CP$UIDd;3;368E;E;E;S;13;AppControllerS;9;AMainMenuS;11;_CPMainMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;137E;D;K;6;CP$UIDd;2;86E;D;K;6;CP$UIDd;3;101E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;82E;D;K;6;CP$UIDd;3;151E;D;K;6;CP$UIDd;3;134E;E;E;S;6;FormatS;14;submenuAction:D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;49E;D;K;6;CP$UIDd;2;39E;E;E;S;4;TextD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;44E;D;K;6;CP$UIDd;2;43E;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;41E;E;E;S;11;Paste RulerS;1;vd;7;1310720S;10;Copy RulerS;1;cS;10;Show RulerS;0;S;11;Align RightS;1;}d;7;1048576S;7;JustifyS;6;CenterS;1;|S;10;Align LeftS;1;{S;4;FontS;11;_CPFontMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;81E;D;K;6;CP$UIDd;2;80E;D;K;6;CP$UIDd;2;79E;D;K;6;CP$UIDd;2;78E;D;K;6;CP$UIDd;2;77E;D;K;6;CP$UIDd;2;76E;D;K;6;CP$UIDd;2;75E;D;K;6;CP$UIDd;2;74E;D;K;6;CP$UIDd;2;68E;D;K;6;CP$UIDd;2;63E;D;K;6;CP$UIDd;2;56E;D;K;6;CP$UIDd;2;55E;D;K;6;CP$UIDd;2;54E;D;K;6;CP$UIDd;2;53E;D;K;6;CP$UIDd;2;52E;D;K;6;CP$UIDd;2;51E;E;E;S;11;Paste Styled;7;1572864S;10;Copy StyleS;11;Show ColorsS;1;CS;8;BaselineD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;62E;D;K;6;CP$UIDd;2;61E;D;K;6;CP$UIDd;2;60E;D;K;6;CP$UIDd;2;59E;D;K;6;CP$UIDd;2;58E;E;E;S;5;LowerS;5;RaiseS;9;SubscriptS;11;SuperscriptS;11;Use DefaultS;8;LigatureD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;67E;D;K;6;CP$UIDd;2;66E;D;K;6;CP$UIDd;2;65E;E;E;S;7;Use AllS;8;Use NoneS;4;KernD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;73E;D;K;6;CP$UIDd;2;72E;D;K;6;CP$UIDd;2;71E;D;K;6;CP$UIDd;2;70E;E;E;S;6;LoosenS;7;TightenS;7;SmallerS;1;-S;6;Biggerd;1;3S;1;+S;9;UnderlineS;1;uS;6;Italicd;1;1S;1;iS;4;BoldS;1;bS;10;Show FontsS;1;tS;4;ViewD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;85E;D;K;6;CP$UIDd;2;84E;E;E;S;18;Customize Toolbar…S;12;Show ToolbarS;4;FileD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;96E;D;K;6;CP$UIDd;2;97E;D;K;6;CP$UIDd;2;93E;D;K;6;CP$UIDd;2;90E;D;K;6;CP$UIDd;2;91E;D;K;6;CP$UIDd;3;100E;D;K;6;CP$UIDd;2;99E;D;K;6;CP$UIDd;2;89E;D;K;6;CP$UIDd;2;88E;D;K;6;CP$UIDd;2;92E;D;K;6;CP$UIDd;2;98E;E;E;S;15;Revert to SavedS;5;CloseS;1;wS;13;Page Setup...S;1;Pd;7;1179648S;11;Open RecentS;22;_CPRecentDocumentsMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;95E;E;E;S;10;Clear MenuS;3;NewS;1;nS;5;Open…S;1;oS;6;Print…S;1;pS;8;Save As…S;1;SS;4;SaveS;1;sS;4;EditD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;131E;D;K;6;CP$UIDd;3;125E;D;K;6;CP$UIDd;3;126E;D;K;6;CP$UIDd;3;129E;D;K;6;CP$UIDd;3;127E;D;K;6;CP$UIDd;3;128E;D;K;6;CP$UIDd;3;133E;D;K;6;CP$UIDd;3;132E;D;K;6;CP$UIDd;3;130E;D;K;6;CP$UIDd;3;118E;D;K;6;CP$UIDd;3;112E;D;K;6;CP$UIDd;3;103E;D;K;6;CP$UIDd;3;108E;E;E;S;13;SubstitutionsD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;107E;D;K;6;CP$UIDd;3;106E;D;K;6;CP$UIDd;3;105E;E;E;S;11;Smart LinksS;1;GS;12;Smart QuotesS;1;gS;16;Smart Copy/PasteS;1;fS;6;SpeechD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;110E;D;K;6;CP$UIDd;3;111E;E;E;S;14;Start SpeakingS;13;Stop SpeakingS;20;Spelling and GrammarD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;115E;D;K;6;CP$UIDd;3;116E;D;K;6;CP$UIDd;3;117E;D;K;6;CP$UIDd;3;114E;E;E;S;27;Check Grammar With SpellingS;14;Show Spelling…S;1;:S;14;Check SpellingS;1;;S;27;Check Spelling While TypingS;4;FindD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;120E;D;K;6;CP$UIDd;3;121E;D;K;6;CP$UIDd;3;124E;D;K;6;CP$UIDd;3;122E;D;K;6;CP$UIDd;3;123E;E;E;S;5;Find…S;9;Find NextS;22;Use Selection for Findd;1;7S;1;eS;17;Jump to SelectionS;1;jS;13;Find PreviousS;4;RedoS;1;ZS;4;CopyS;5;PasteS;3;CutS;1;xS;4;UndoS;1;zS;10;Select AllS;1;aS;6;DeleteS;4;HelpD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;136E;E;E;S;19;NewApplication HelpS;1;?S;14;NewApplicationS;18;_CPApplicationMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;150E;D;K;6;CP$UIDd;3;143E;D;K;6;CP$UIDd;3;145E;D;K;6;CP$UIDd;3;144E;D;K;6;CP$UIDd;3;141E;D;K;6;CP$UIDd;3;146E;D;K;6;CP$UIDd;3;149E;D;K;6;CP$UIDd;3;139E;D;K;6;CP$UIDd;3;148E;D;K;6;CP$UIDd;3;140E;D;K;6;CP$UIDd;3;147E;E;E;S;11;Hide OthersS;1;hS;8;ServicesS;15;_CPServicesMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;12;Preferences…S;1;,S;19;Quit NewApplicationS;1;qS;8;Show AllS;19;Hide NewApplicationS;20;About NewApplicationS;14;_CPWindowsMenuD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;153E;D;K;6;CP$UIDd;3;154E;D;K;6;CP$UIDd;3;156E;D;K;6;CP$UIDd;3;155E;E;E;S;8;MinimizeS;1;mS;4;ZoomS;18;Bring All to FrontD;K;6;$classD;K;6;CP$UIDd;2;12E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;3;369E;E;D;K;10;$classnameS;7;CPRadioK;8;$classesA;S;7;CPRadioS;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;360E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;32E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;172E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;370E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;370E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;32E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;371E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;372E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;373E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;374E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;182E;K;16;$aimage-positionD;K;6;CP$UIDd;3;182E;K;6;$afontD;K;6;CP$UIDd;3;181E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;172E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;182E;K;11;$aalignmentD;K;6;CP$UIDd;3;172E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;259E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;183E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;375E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;259E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;259E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;184E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;182E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;172E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;376E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;377E;K;20;CPRadioRadioGroupKeyD;K;6;CP$UIDd;3;162E;E;D;K;6;$classD;K;6;CP$UIDd;2;12E;K;15;CPSetObjectsKeyD;K;6;CP$UIDd;3;378E;E;D;K;6;$classD;K;6;CP$UIDd;3;360E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;172E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;370E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;370E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;371E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;372E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;373E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;374E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;182E;K;16;$aimage-positionD;K;6;CP$UIDd;3;182E;K;6;$afontD;K;6;CP$UIDd;3;181E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;172E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;182E;K;11;$aalignmentD;K;6;CP$UIDd;3;172E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;259E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;183E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;375E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;259E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;259E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;184E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;182E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;172E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;376E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;377E;K;20;CPRadioRadioGroupKeyD;K;6;CP$UIDd;3;164E;E;S;28;_CPFontSystemFacePlaceholderd;2;-1D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;379E;D;K;6;CP$UIDd;3;379E;D;K;6;CP$UIDd;3;379E;D;K;6;CP$UIDd;3;259E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;360E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;29E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;259E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;380E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;370E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;29E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;371E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;372E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;373E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;381E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;182E;K;16;$aimage-positionD;K;6;CP$UIDd;3;182E;K;6;$afontD;K;6;CP$UIDd;3;181E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;172E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;182E;K;11;$aalignmentD;K;6;CP$UIDd;3;172E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;172E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;183E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;382E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;259E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;259E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;184E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;182E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;172E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;376E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;377E;K;20;CPRadioRadioGroupKeyD;K;6;CP$UIDd;3;164E;E;D;K;6;$classD;K;6;CP$UIDd;3;360E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;32E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;3;259E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;380E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;370E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;32E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;371E;K;21;CPViewBackgroundColorD;K;6;CP$UIDd;3;372E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;373E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;381E;K;15;$aimage-scalingD;K;6;CP$UIDd;3;182E;K;16;$aimage-positionD;K;6;CP$UIDd;3;182E;K;6;$afontD;K;6;CP$UIDd;3;181E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;172E;K;20;$avertical-alignmentD;K;6;CP$UIDd;3;182E;K;11;$aalignmentD;K;6;CP$UIDd;3;172E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;172E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;183E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;382E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;3;187E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;259E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;3;259E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;3;184E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;3;182E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;3;172E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;3;376E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;3;377E;K;20;CPRadioRadioGroupKeyD;K;6;CP$UIDd;3;162E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;361E;D;K;6;CP$UIDd;3;368E;E;E;S;19;{{0, 0}, {163, 18}}d;2;18D;K;6;$classD;K;6;CP$UIDd;3;188E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;383E;E;S;5;radioS;17;selected+borderedS;19;Modern resize stylef;3;0.5f;4;0.05D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;363E;D;K;6;CP$UIDd;3;367E;E;E;f;18;0.6862745098039216S;20;{{0, 20}, {163, 18}}S;8;borderedS;19;Legacy resize styleD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;172E;D;K;6;CP$UIDd;3;172E;E;E;E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Tests/Manual/CPWindowResizeStyle/Resources/MainMenu.xib b/Tests/Manual/CPWindowResizeStyle/Resources/MainMenu.xib new file mode 100644 index 000000000..584caf253 --- /dev/null +++ b/Tests/Manual/CPWindowResizeStyle/Resources/MainMenu.xib @@ -0,0 +1,2950 @@ + + + + 1050 + 12C3012 + 2844 + 1187.34 + 625.00 + + com.apple.InterfaceBuilder.CocoaPlugin + 2844 + + + YES + NSButtonCell + NSCustomObject + NSMatrix + NSMenu + NSMenuItem + NSTextField + NSTextFieldCell + NSView + NSWindowTemplate + + + YES + com.apple.InterfaceBuilder.CocoaPlugin + + + PluginDependencyRecalculationVersion + + + + YES + + NSApplication + + + FirstResponder + + + NSApplication + + + 15 + 2 + {{131, 159}, {480, 270}} + 611845120 + Window + NSWindow + + + + + 256 + + YES + + + 301 + {{211, 127}, {58, 17}} + + + _NS:1535 + YES + + 68157504 + 272630784 + Platform + + LucidaGrande + 13 + 1044 + + _NS:1535 + + + 6 + System + controlColor + + 3 + MC42NjY2NjY2NjY3AA + + + + 6 + System + controlTextColor + + 3 + MAA + + + + NO + + + {480, 270} + + + + _NS:20 + + {{0, 0}, {1440, 878}} + {10000000000000, 10000000000000} + YES + + + 15 + 2 + {{122, 551}, {322, 211}} + 1946158080 + No Min/Max Size + NSWindow + + + + + 256 + + YES + + + 301 + {{80, 86}, {163, 38}} + + + _NS:9 + YES + NO + 2 + 1 + + YES + + -2080374784 + 0 + Modern resize style + + + 1211912448 + 0 + + NSRadioButton + + + + 200 + 25 + + + 67108864 + 0 + Legacy resize style + + + 1 + 1211912448 + 0 + + 549453824 + {18, 18} + + YES + + YES + + + + TU0AKgAABRgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAADwRERGLJycnySsrK/A1NTXw +IyMjyRwcHIsJCQk8AAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFRUVdVBQUOCoqKj/ +29vb//n5+f/6+vr/2tra/6qqqv9UVFTgHx8fdQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUZGRl5 +dXV198PDw//8/Pz////////////////////////////U1NT/fHx89yUlJXkAAAAFAAAAAAAAAAAAAAAA +AAAAAxEREUZqamrmtbW1/+3t7f/+/v7//v7+//7+/v/9/f3//f39//39/f/39/f/xMTE/3d3d+YZGRlG +AAAAAwAAAAAAAAAAAAAACkJCQqGtra3/xsbG/+vr6//y8vL/9fX1//X19f/z8/P/9fX1//Ly8v/u7u7/ +0tLS/6+vr/9KSkqhAAAACgAAAAAAAAAAAAAAF3h4eN2/v7//z8/P/93d3f/q6ur/7+/v/+/v7//w8PD/ +7e3t/+3t7f/i4uL/zs7O/8XFxf98fHzdAAAAFwAAAAAAAAADAAAAJKSkpPjOzs7/2dnZ/+Dg4P/i4uL/ +5eXl/+bm5v/n5+f/5eXl/+Li4v/e3t7/2tra/9DQ0P+srKz4AAAAJAAAAAMAAAADAAAALrCwsPrW1tb/ +3t7e/+Tk5P/p6en/6+vr/+zs7P/p6en/6+vr/+fn5//k5OT/4ODg/9nZ2f+zs7P6AAAALgAAAAMAAAAD +AAAALp2dnezg4OD/5eXl/+rq6v/u7u7/8PDw//Dw8P/x8fH/8PDw/+7u7v/q6ur/5ubm/+Hh4f+ZmZns +AAAALgAAAAMAAAADAAAAJG5ubs/l5eX/6enp/+/v7//y8vL/9vb2//r6+v/5+fn/9/f3//b29v/x8fH/ +6+vr/+Tk5P9ra2vPAAAAJAAAAAMAAAAAAAAAFy4uLpPCwsL67Ozs//Pz8//5+fn//v7+//7+/v/+/v7/ +/v7+//v7+//19fX/8PDw/8LCwvosLCyTAAAAFwAAAAAAAAAAAAAACgAAAENfX1/S5OTk/vn5+f/+/v7/ +///////////////////////////8/Pz/5ubm/l9fX9IAAABDAAAACgAAAAAAAAAAAAAAAwAAABcAAABl +YmJi3NLS0v3////////////////////////////////V1dX9ZGRk3AAAAGUAAAAXAAAAAwAAAAAAAAAA +AAAAAAAAAAUAAAAfAAAAZTMzM8KAgIDwv7+//O3t7f/t7e3/v7+//ICAgPAzMzPCAAAAZQAAAB8AAAAF +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAFwAAAEMAAAB3AAAAnwAAALMAAACzAAAAnwAAAHcAAABD +AAAAFwAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAoAAAAXAAAAJAAAAC4AAAAu +AAAAJAAAABcAAAAKAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQEAAAMAAAABABIAAAEB +AAMAAAABABIAAAECAAMAAAAEAAAFugEDAAMAAAABAAEAAAEGAAMAAAABAAIAAAERAAQAAAABAAAACAES +AAMAAAABAAEAAAEVAAMAAAABAAQAAAEWAAMAAAABABIAAAEXAAQAAAABAAAFEAEcAAMAAAABAAEAAAFS +AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA + + + + + + 3 + MCAwAA + + + + 400 + 75 + + + {163, 18} + {4, 2} + 1151868928 + NSActionCell + + 67108864 + 0 + Radio + + 1211912448 + 0 + + 549453824 + {18, 18} + + YES + + YES + + + + TU0AKgAABRgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAADwRERGLJycnySsrK/A1NTXw +IyMjyRwcHIsJCQk8AAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFRUVdVBQUOCoqKj/ +29vb//n5+f/6+vr/2tra/6qqqv9UVFTgHx8fdQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUZGRl5 +dXV198PDw//8/Pz////////////////////////////U1NT/fHx89yUlJXkAAAAFAAAAAAAAAAAAAAAA +AAAAAxEREUZqamrmtbW1/+3t7f/+/v7//v7+//7+/v/9/f3//f39//39/f/39/f/xMTE/3d3d+YZGRlG +AAAAAwAAAAAAAAAAAAAACkJCQqGtra3/xsbG/+vr6//y8vL/9fX1//X19f/z8/P/9fX1//Ly8v/u7u7/ +0tLS/6+vr/9KSkqhAAAACgAAAAAAAAAAAAAAF3h4eN2/v7//z8/P/93d3f/q6ur/7+/v/+/v7//w8PD/ +7e3t/+3t7f/i4uL/zs7O/8XFxf98fHzdAAAAFwAAAAAAAAADAAAAJKSkpPjOzs7/2dnZ/+Dg4P/i4uL/ +5eXl/+bm5v/n5+f/5eXl/+Li4v/e3t7/2tra/9DQ0P+srKz4AAAAJAAAAAMAAAADAAAALrCwsPrW1tb/ +3t7e/+Tk5P/p6en/6+vr/+zs7P/p6en/6+vr/+fn5//k5OT/4ODg/9nZ2f+zs7P6AAAALgAAAAMAAAAD +AAAALp2dnezg4OD/5eXl/+rq6v/u7u7/8PDw//Dw8P/x8fH/8PDw/+7u7v/q6ur/5ubm/+Hh4f+ZmZns +AAAALgAAAAMAAAADAAAAJG5ubs/l5eX/6enp/+/v7//y8vL/9vb2//r6+v/5+fn/9/f3//b29v/x8fH/ +6+vr/+Tk5P9ra2vPAAAAJAAAAAMAAAAAAAAAFy4uLpPCwsL67Ozs//Pz8//5+fn//v7+//7+/v/+/v7/ +/v7+//v7+//19fX/8PDw/8LCwvosLCyTAAAAFwAAAAAAAAAAAAAACgAAAENfX1/S5OTk/vn5+f/+/v7/ +///////////////////////////8/Pz/5ubm/l9fX9IAAABDAAAACgAAAAAAAAAAAAAAAwAAABcAAABl +YmJi3NLS0v3////////////////////////////////V1dX9ZGRk3AAAAGUAAAAXAAAAAwAAAAAAAAAA +AAAAAAAAAAUAAAAfAAAAZTMzM8KAgIDwv7+//O3t7f/t7e3/v7+//ICAgPAzMzPCAAAAZQAAAB8AAAAF +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAFwAAAEMAAAB3AAAAnwAAALMAAACzAAAAnwAAAHcAAABD +AAAAFwAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAoAAAAXAAAAJAAAAC4AAAAu +AAAAJAAAABcAAAAKAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQEAAAMAAAABABIAAAEB +AAMAAAABABIAAAECAAMAAAAEAAAFugEDAAMAAAABAAEAAAEGAAMAAAABAAIAAAERAAQAAAABAAAACAES +AAMAAAABAAEAAAEVAAMAAAABAAQAAAEWAAMAAAABABIAAAEXAAQAAAABAAAFEAEcAAMAAAABAAEAAAFS +AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA + + + + + + + + 400 + 75 + + + + + 3 + MQA + + + YES + + + {322, 211} + + + + + {{0, 0}, {1440, 878}} + {10000000000000, 10000000000000} + YES + + + 15 + 2 + {{152, 501}, {322, 211}} + 1946158080 + Min/Max Size + NSWindow + + + {400, 300} + {200, 150} + + + 256 + + YES + + + 301 + {{80, 86}, {163, 38}} + + + _NS:9 + YES + NO + 2 + 1 + + YES + + -2080374784 + 0 + Modern resize style + + + 1211912448 + 0 + + + + 200 + 25 + + + 67108864 + 0 + Legacy resize style + + + 1 + 1211912448 + 0 + + 549453824 + {18, 18} + + YES + + YES + + + + TU0AKgAABRgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAADwRERGLJycnySsrK/A1NTXw +IyMjyRwcHIsJCQk8AAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFRUVdVBQUOCoqKj/ +29vb//n5+f/6+vr/2tra/6qqqv9UVFTgHx8fdQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUZGRl5 +dXV198PDw//8/Pz////////////////////////////U1NT/fHx89yUlJXkAAAAFAAAAAAAAAAAAAAAA +AAAAAxEREUZqamrmtbW1/+3t7f/+/v7//v7+//7+/v/9/f3//f39//39/f/39/f/xMTE/3d3d+YZGRlG +AAAAAwAAAAAAAAAAAAAACkJCQqGtra3/xsbG/+vr6//y8vL/9fX1//X19f/z8/P/9fX1//Ly8v/u7u7/ +0tLS/6+vr/9KSkqhAAAACgAAAAAAAAAAAAAAF3h4eN2/v7//z8/P/93d3f/q6ur/7+/v/+/v7//w8PD/ +7e3t/+3t7f/i4uL/zs7O/8XFxf98fHzdAAAAFwAAAAAAAAADAAAAJKSkpPjOzs7/2dnZ/+Dg4P/i4uL/ +5eXl/+bm5v/n5+f/5eXl/+Li4v/e3t7/2tra/9DQ0P+srKz4AAAAJAAAAAMAAAADAAAALrCwsPrW1tb/ +3t7e/+Tk5P/p6en/6+vr/+zs7P/p6en/6+vr/+fn5//k5OT/4ODg/9nZ2f+zs7P6AAAALgAAAAMAAAAD +AAAALp2dnezg4OD/5eXl/+rq6v/u7u7/8PDw//Dw8P/x8fH/8PDw/+7u7v/q6ur/5ubm/+Hh4f+ZmZns +AAAALgAAAAMAAAADAAAAJG5ubs/l5eX/6enp/+/v7//y8vL/9vb2//r6+v/5+fn/9/f3//b29v/x8fH/ +6+vr/+Tk5P9ra2vPAAAAJAAAAAMAAAAAAAAAFy4uLpPCwsL67Ozs//Pz8//5+fn//v7+//7+/v/+/v7/ +/v7+//v7+//19fX/8PDw/8LCwvosLCyTAAAAFwAAAAAAAAAAAAAACgAAAENfX1/S5OTk/vn5+f/+/v7/ +///////////////////////////8/Pz/5ubm/l9fX9IAAABDAAAACgAAAAAAAAAAAAAAAwAAABcAAABl +YmJi3NLS0v3////////////////////////////////V1dX9ZGRk3AAAAGUAAAAXAAAAAwAAAAAAAAAA +AAAAAAAAAAUAAAAfAAAAZTMzM8KAgIDwv7+//O3t7f/t7e3/v7+//ICAgPAzMzPCAAAAZQAAAB8AAAAF +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAFwAAAEMAAAB3AAAAnwAAALMAAACzAAAAnwAAAHcAAABD +AAAAFwAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAoAAAAXAAAAJAAAAC4AAAAu +AAAAJAAAABcAAAAKAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQEAAAMAAAABABIAAAEB +AAMAAAABABIAAAECAAMAAAAEAAAFugEDAAMAAAABAAEAAAEGAAMAAAABAAIAAAERAAQAAAABAAAACAES +AAMAAAABAAEAAAEVAAMAAAABAAQAAAEWAAMAAAABABIAAAEXAAQAAAABAAAFEAEcAAMAAAABAAEAAAFS +AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA + + + + + + + + 400 + 75 + + + {163, 18} + {4, 2} + 1151868928 + NSActionCell + + 67108864 + 0 + Radio + + 1211912448 + 0 + + 549453824 + {18, 18} + + YES + + YES + + + + TU0AKgAABRgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAADwRERGLJycnySsrK/A1NTXw +IyMjyRwcHIsJCQk8AAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFRUVdVBQUOCoqKj/ +29vb//n5+f/6+vr/2tra/6qqqv9UVFTgHx8fdQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUZGRl5 +dXV198PDw//8/Pz////////////////////////////U1NT/fHx89yUlJXkAAAAFAAAAAAAAAAAAAAAA +AAAAAxEREUZqamrmtbW1/+3t7f/+/v7//v7+//7+/v/9/f3//f39//39/f/39/f/xMTE/3d3d+YZGRlG +AAAAAwAAAAAAAAAAAAAACkJCQqGtra3/xsbG/+vr6//y8vL/9fX1//X19f/z8/P/9fX1//Ly8v/u7u7/ +0tLS/6+vr/9KSkqhAAAACgAAAAAAAAAAAAAAF3h4eN2/v7//z8/P/93d3f/q6ur/7+/v/+/v7//w8PD/ +7e3t/+3t7f/i4uL/zs7O/8XFxf98fHzdAAAAFwAAAAAAAAADAAAAJKSkpPjOzs7/2dnZ/+Dg4P/i4uL/ +5eXl/+bm5v/n5+f/5eXl/+Li4v/e3t7/2tra/9DQ0P+srKz4AAAAJAAAAAMAAAADAAAALrCwsPrW1tb/ +3t7e/+Tk5P/p6en/6+vr/+zs7P/p6en/6+vr/+fn5//k5OT/4ODg/9nZ2f+zs7P6AAAALgAAAAMAAAAD +AAAALp2dnezg4OD/5eXl/+rq6v/u7u7/8PDw//Dw8P/x8fH/8PDw/+7u7v/q6ur/5ubm/+Hh4f+ZmZns +AAAALgAAAAMAAAADAAAAJG5ubs/l5eX/6enp/+/v7//y8vL/9vb2//r6+v/5+fn/9/f3//b29v/x8fH/ +6+vr/+Tk5P9ra2vPAAAAJAAAAAMAAAAAAAAAFy4uLpPCwsL67Ozs//Pz8//5+fn//v7+//7+/v/+/v7/ +/v7+//v7+//19fX/8PDw/8LCwvosLCyTAAAAFwAAAAAAAAAAAAAACgAAAENfX1/S5OTk/vn5+f/+/v7/ +///////////////////////////8/Pz/5ubm/l9fX9IAAABDAAAACgAAAAAAAAAAAAAAAwAAABcAAABl +YmJi3NLS0v3////////////////////////////////V1dX9ZGRk3AAAAGUAAAAXAAAAAwAAAAAAAAAA +AAAAAAAAAAUAAAAfAAAAZTMzM8KAgIDwv7+//O3t7f/t7e3/v7+//ICAgPAzMzPCAAAAZQAAAB8AAAAF +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAFwAAAEMAAAB3AAAAnwAAALMAAACzAAAAnwAAAHcAAABD +AAAAFwAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAoAAAAXAAAAJAAAAC4AAAAu +AAAAJAAAABcAAAAKAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQEAAAMAAAABABIAAAEB +AAMAAAABABIAAAECAAMAAAAEAAAFugEDAAMAAAABAAEAAAEGAAMAAAABAAIAAAERAAQAAAABAAAACAES +AAMAAAABAAEAAAEVAAMAAAABAAQAAAEWAAMAAAABABIAAAEXAAQAAAABAAAFEAEcAAMAAAABAAEAAAFS +AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA + + + + + + + + 400 + 75 + + + + + + YES + + + {322, 211} + + + + + {{0, 0}, {1440, 878}} + {200, 172} + {400, 322} + YES + + + AppController + + + AMainMenu + + YES + + + NewApplication + + 1048576 + 2147483647 + + NSImage + NSMenuCheckmark + + + NSImage + NSMenuMixedState + + submenuAction: + + NewApplication + + YES + + + About NewApplication + + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Preferences… + , + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Services + + 1048576 + 2147483647 + + + submenuAction: + + Services + + YES + + _NSServicesMenu + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Hide NewApplication + h + 1048576 + 2147483647 + + + + + + Hide Others + h + 1572864 + 2147483647 + + + + + + Show All + + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Quit NewApplication + q + 1048576 + 2147483647 + + + + + _NSAppleMenu + + + + + File + + 1048576 + 2147483647 + + + submenuAction: + + File + + YES + + + New + n + 1048576 + 2147483647 + + + + + + Open… + o + 1048576 + 2147483647 + + + + + + Open Recent + + 1048576 + 2147483647 + + + submenuAction: + + Open Recent + + YES + + + Clear Menu + + 1048576 + 2147483647 + + + + + _NSRecentDocumentsMenu + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Close + w + 1048576 + 2147483647 + + + + + + Save + s + 1048576 + 2147483647 + + + + + + Save As… + S + 1179648 + 2147483647 + + + + + + Revert to Saved + + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Page Setup... + P + 1179648 + 2147483647 + + + + + + + Print… + p + 1048576 + 2147483647 + + + + + + + + + Edit + + 1048576 + 2147483647 + + + submenuAction: + + Edit + + YES + + + Undo + z + 1048576 + 2147483647 + + + + + + Redo + Z + 1179648 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Cut + x + 1048576 + 2147483647 + + + + + + Copy + c + 1048576 + 2147483647 + + + + + + Paste + v + 1048576 + 2147483647 + + + + + + Delete + + 1048576 + 2147483647 + + + + + + Select All + a + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Find + + 1048576 + 2147483647 + + + submenuAction: + + Find + + YES + + + Find… + f + 1048576 + 2147483647 + + + 1 + + + + Find Next + g + 1048576 + 2147483647 + + + 2 + + + + Find Previous + G + 1179648 + 2147483647 + + + 3 + + + + Use Selection for Find + e + 1048576 + 2147483647 + + + 7 + + + + Jump to Selection + j + 1048576 + 2147483647 + + + + + + + + + Spelling and Grammar + + 1048576 + 2147483647 + + + submenuAction: + + Spelling and Grammar + + YES + + + Show Spelling… + : + 1048576 + 2147483647 + + + + + + Check Spelling + ; + 1048576 + 2147483647 + + + + + + Check Spelling While Typing + + 1048576 + 2147483647 + + + + + + Check Grammar With Spelling + + 1048576 + 2147483647 + + + + + + + + + Substitutions + + 1048576 + 2147483647 + + + submenuAction: + + Substitutions + + YES + + + Smart Copy/Paste + f + 1048576 + 2147483647 + + + 1 + + + + Smart Quotes + g + 1048576 + 2147483647 + + + 2 + + + + Smart Links + G + 1179648 + 2147483647 + + + 3 + + + + + + + Speech + + 1048576 + 2147483647 + + + submenuAction: + + Speech + + YES + + + Start Speaking + + 1048576 + 2147483647 + + + + + + Stop Speaking + + 1048576 + 2147483647 + + + + + + + + + + + + Format + + 2147483647 + + + submenuAction: + + Format + + YES + + + Font + + 2147483647 + + + submenuAction: + + Font + + YES + + + Show Fonts + t + 1048576 + 2147483647 + + + + + + Bold + b + 1048576 + 2147483647 + + + 2 + + + + Italic + i + 1048576 + 2147483647 + + + 1 + + + + Underline + u + 1048576 + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Bigger + + + 1048576 + 2147483647 + + + 3 + + + + Smaller + - + 1048576 + 2147483647 + + + 4 + + + + YES + YES + + + 2147483647 + + + + + + Kern + + 2147483647 + + + submenuAction: + + Kern + + YES + + + Use Default + + 2147483647 + + + + + + Use None + + 2147483647 + + + + + + Tighten + + 2147483647 + + + + + + Loosen + + 2147483647 + + + + + + + + + Ligature + + 2147483647 + + + submenuAction: + + Ligature + + YES + + + Use Default + + 2147483647 + + + + + + Use None + + 2147483647 + + + + + + Use All + + 2147483647 + + + + + + + + + Baseline + + 2147483647 + + + submenuAction: + + Baseline + + YES + + + Use Default + + 2147483647 + + + + + + Superscript + + 2147483647 + + + + + + Subscript + + 2147483647 + + + + + + Raise + + 2147483647 + + + + + + Lower + + 2147483647 + + + + + + + + + YES + YES + + + 2147483647 + + + + + + Show Colors + C + 1048576 + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Copy Style + c + 1572864 + 2147483647 + + + + + + Paste Style + v + 1572864 + 2147483647 + + + + + _NSFontMenu + + + + + Text + + 2147483647 + + + submenuAction: + + Text + + YES + + + Align Left + { + 1048576 + 2147483647 + + + + + + Center + | + 1048576 + 2147483647 + + + + + + Justify + + 2147483647 + + + + + + Align Right + } + 1048576 + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Show Ruler + + 2147483647 + + + + + + Copy Ruler + c + 1310720 + 2147483647 + + + + + + Paste Ruler + v + 1310720 + 2147483647 + + + + + + + + + + + + View + + 1048576 + 2147483647 + + + submenuAction: + + View + + YES + + + Show Toolbar + t + 1572864 + 2147483647 + + + + + + Customize Toolbar… + + 1048576 + 2147483647 + + + + + + + + + Window + + 1048576 + 2147483647 + + + submenuAction: + + Window + + YES + + + Minimize + m + 1048576 + 2147483647 + + + + + + Zoom + + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Bring All to Front + + 1048576 + 2147483647 + + + + + _NSWindowsMenu + + + + + Help + + 1048576 + 2147483647 + + + submenuAction: + + Help + + YES + + + NewApplication Help + ? + 1048576 + 2147483647 + + + + + + + + _NSMainMenu + + + + + YES + + + delegate + + + + 451 + + + + resizeStyleDidChange: + + + + 470 + + + + resizeStyleDidChange: + + + + 477 + + + + theWindow + + + + 610 + + + + + YES + + 0 + + YES + + + + + + -2 + + + File's Owner + + + -1 + + + First Responder + + + -3 + + + Application + + + 371 + + + YES + + + + + + 372 + + + YES + + + + + + 450 + + + + + 460 + + + YES + + + + + + + + 461 + + + + + 462 + + + + + 463 + + + + + 471 + + + YES + + + + + + 472 + + + YES + + + + + + 473 + + + YES + + + + + + + + 474 + + + + + 475 + + + + + 476 + + + + + 478 + + + YES + + + + + + 479 + + + YES + + + + + + 482 + + + YES + + + + + + 483 + + + + + 489 + + + YES + + + + + + + + + + MainMenu + + + 490 + + + YES + + + + + + 491 + + + YES + + + + + + 492 + + + YES + + + + + + 493 + + + YES + + + + + + 494 + + + YES + + + + 1 + + + 495 + + + YES + + + + + + 496 + + + YES + + + + + + 497 + + + YES + + + + + + + + + 498 + + + + + 499 + + + + + 500 + + + + + 501 + + + + + 502 + + + YES + + + + + + + + + + + + + + + + 503 + + + + + 504 + + + + + 505 + + + YES + + + + + + 506 + + + + + 507 + + + + + 508 + + + 121 + + + 509 + + + + + 510 + + + 1111 + + + 511 + + + + + 512 + + + + + 513 + + + + + 514 + + + + + 515 + + + YES + + + + 2 + + + 516 + + + + + 517 + + + YES + + + + + + + + + + + + + + + + + + 518 + + + YES + + + + + + 519 + + + YES + + + + + + 520 + + + YES + + + + + + 521 + + + YES + + + + + + 522 + + + + + 523 + + + + + 524 + + + + + 525 + + + + + 526 + + + + + 527 + + + + + 528 + + + + + 529 + + + + + 530 + + + + + 531 + + + YES + + + + + + + + + + 532 + + + + + 533 + + + + + 534 + + + + + 535 + + + + + 536 + + + + + 537 + + + YES + + + + + + + + + 538 + + + + + 539 + + + + + 540 + + + + + 541 + + + + + 542 + + + YES + + + + + + + 543 + + + + + 544 + + + + + 545 + + + YES + + + + + + + + 546 + + + + + 547 + + + + + 548 + + + + + 549 + + + YES + + + + + + + + + + + + + + + + 550 + + + 2 + + + 551 + + + 10 + + + 552 + + + 7 + + + 553 + + + 1 + + + 554 + + + 5 + + + 555 + + + YES + + + + + + 556 + + + 9 + + + 557 + + + + + 558 + + + 6 + + + 559 + + + 8 + + + 560 + + + 3 + + + 561 + + + YES + + + + + + 562 + + + + + 563 + + + YES + + + + + + + 564 + + + + + 565 + + + + + 566 + + + YES + + + + + + + 567 + + + YES + + + + + + 568 + + + YES + + + + + + 569 + + + YES + + + + + + + + + + + + + + + + + + + + + 570 + + + + + 571 + + + + + 572 + + + + + 573 + + + + + 574 + + + + + 575 + + + YES + + + + + + 576 + + + YES + + + + + + 577 + + + YES + + + + + + 578 + + + + + 579 + + + + + 580 + + + + + 581 + + + + + 582 + + + + + 583 + + + + + 584 + + + + + 585 + + + + + 586 + + + YES + + + + + + + + + 587 + + + + + 588 + + + + + 589 + + + + + 590 + + + + + 591 + + + YES + + + + + + + + 592 + + + + + 593 + + + + + 594 + + + + + 595 + + + YES + + + + + + + + + + 596 + + + + + 597 + + + + + 598 + + + + + 599 + + + + + 600 + + + + + 601 + + + YES + + + + + + + + + + + + + 602 + + + + + 603 + + + + + 604 + + + + + 605 + + + + + 606 + + + + + 607 + + + + + 608 + + + + + 609 + + + + + + + YES + + YES + -1.IBPluginDependency + -2.IBPluginDependency + -3.IBPluginDependency + 371.IBPluginDependency + 371.IBWindowTemplateEditedContentRect + 371.NSWindowTemplate.visibleAtLaunch + 372.IBPluginDependency + 450.IBPluginDependency + 460.IBPluginDependency + 461.IBPluginDependency + 462.IBPluginDependency + 463.IBPluginDependency + 471.IBPluginDependency + 471.IBWindowTemplateEditedContentRect + 471.NSWindowTemplate.visibleAtLaunch + 472.IBPluginDependency + 473.IBPluginDependency + 474.IBPluginDependency + 475.IBPluginDependency + 476.IBPluginDependency + 478.IBPluginDependency + 478.NSWindowTemplate.visibleAtLaunch + 479.IBPluginDependency + 482.IBPluginDependency + 483.IBPluginDependency + 489.IBPluginDependency + 490.IBPluginDependency + 491.IBPluginDependency + 492.IBPluginDependency + 493.IBPluginDependency + 494.IBPluginDependency + 495.IBPluginDependency + 496.IBPluginDependency + 497.IBPluginDependency + 498.IBPluginDependency + 499.IBPluginDependency + 500.IBPluginDependency + 501.IBPluginDependency + 502.IBPluginDependency + 503.IBPluginDependency + 504.IBPluginDependency + 505.IBPluginDependency + 506.IBPluginDependency + 507.IBPluginDependency + 508.IBPluginDependency + 509.IBPluginDependency + 510.IBPluginDependency + 511.IBPluginDependency + 512.IBPluginDependency + 513.IBPluginDependency + 514.IBPluginDependency + 515.IBPluginDependency + 516.IBPluginDependency + 517.IBPluginDependency + 518.IBPluginDependency + 519.IBPluginDependency + 520.IBPluginDependency + 521.IBPluginDependency + 522.IBPluginDependency + 523.IBPluginDependency + 524.IBPluginDependency + 525.IBPluginDependency + 526.IBPluginDependency + 527.IBPluginDependency + 528.IBPluginDependency + 529.IBPluginDependency + 530.IBPluginDependency + 531.IBPluginDependency + 532.IBPluginDependency + 533.IBPluginDependency + 534.IBPluginDependency + 535.IBPluginDependency + 536.IBPluginDependency + 537.IBPluginDependency + 538.IBPluginDependency + 539.IBPluginDependency + 540.IBPluginDependency + 541.IBPluginDependency + 542.IBPluginDependency + 543.IBPluginDependency + 544.IBPluginDependency + 545.IBPluginDependency + 546.IBPluginDependency + 547.IBPluginDependency + 548.IBPluginDependency + 549.IBPluginDependency + 550.IBPluginDependency + 551.IBPluginDependency + 552.IBPluginDependency + 553.IBPluginDependency + 554.IBPluginDependency + 555.IBPluginDependency + 556.IBPluginDependency + 557.IBPluginDependency + 558.IBPluginDependency + 559.IBPluginDependency + 560.IBPluginDependency + 561.IBPluginDependency + 562.IBPluginDependency + 563.IBPluginDependency + 564.IBPluginDependency + 565.IBPluginDependency + 566.IBPluginDependency + 567.IBPluginDependency + 568.IBPluginDependency + 569.IBPluginDependency + 570.IBPluginDependency + 571.IBPluginDependency + 572.IBPluginDependency + 573.IBPluginDependency + 574.IBPluginDependency + 575.IBPluginDependency + 576.IBPluginDependency + 577.IBPluginDependency + 578.IBPluginDependency + 579.IBPluginDependency + 580.IBPluginDependency + 581.IBPluginDependency + 582.IBPluginDependency + 583.IBPluginDependency + 584.IBPluginDependency + 585.IBPluginDependency + 586.IBPluginDependency + 587.IBPluginDependency + 588.IBPluginDependency + 589.IBPluginDependency + 590.IBPluginDependency + 591.IBPluginDependency + 592.IBPluginDependency + 593.IBPluginDependency + 594.IBPluginDependency + 595.IBPluginDependency + 596.IBPluginDependency + 597.IBPluginDependency + 598.IBPluginDependency + 599.IBPluginDependency + 600.IBPluginDependency + 601.IBPluginDependency + 602.IBPluginDependency + 603.IBPluginDependency + 604.IBPluginDependency + 605.IBPluginDependency + 606.IBPluginDependency + 607.IBPluginDependency + 608.IBPluginDependency + 609.IBPluginDependency + + + YES + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{303, 221}, {480, 360}} + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{303, 221}, {480, 360}} + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + + + YES + + + + + + YES + + + + + 610 + + + + YES + + AppController + NSObject + + resizeStyleDidChange: + id + + + resizeStyleDidChange: + + resizeStyleDidChange: + id + + + + theWindow + NSWindow + + + theWindow + + theWindow + NSWindow + + + + IBProjectSource + ./Classes/AppController.h + + + + + 0 + IBCocoaFramework + + com.apple.InterfaceBuilder.CocoaPlugin.macosx + + + + com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3 + + + YES + 3 + + YES + + YES + NSMenuCheckmark + NSMenuMixedState + + + YES + {11, 11} + {10, 3} + + + + diff --git a/Tests/Manual/CPWindowResizeStyle/Resources/spinner.gif b/Tests/Manual/CPWindowResizeStyle/Resources/spinner.gif new file mode 100644 index 000000000..77b36416b Binary files /dev/null and b/Tests/Manual/CPWindowResizeStyle/Resources/spinner.gif differ diff --git a/Tests/Manual/CPWindowResizeStyle/index-debug.html b/Tests/Manual/CPWindowResizeStyle/index-debug.html new file mode 100644 index 000000000..514cce3db --- /dev/null +++ b/Tests/Manual/CPWindowResizeStyle/index-debug.html @@ -0,0 +1,107 @@ + + + + + + + + + + + + + + + CPWindowResizeStyle + + + + + + + + + + + + + + +
+
+ + + +
+
+ + + diff --git a/Tests/Manual/CPWindowResizeStyle/index.html b/Tests/Manual/CPWindowResizeStyle/index.html new file mode 100644 index 000000000..4ac50e53a --- /dev/null +++ b/Tests/Manual/CPWindowResizeStyle/index.html @@ -0,0 +1,77 @@ + + + + + + + + + + + + + + + CPWindowResizeStyle + + + + + + + + + + + + +
+
+ + + +
+
+ + + diff --git a/Tests/Manual/CPWindowResizeStyle/main.j b/Tests/Manual/CPWindowResizeStyle/main.j new file mode 100644 index 000000000..ae5b22b20 --- /dev/null +++ b/Tests/Manual/CPWindowResizeStyle/main.j @@ -0,0 +1,18 @@ +/* + * AppController.j + * resize + * + * Created by You on December 24, 2012. + * Copyright 2012, Your Company All rights reserved. + */ + +@import +@import + +@import "AppController.j" + + +function main(args, namedArgs) +{ + CPApplicationMain(args, namedArgs); +}