From 3435d0ac20f6dfe42077efb8307cd9194837f677 Mon Sep 17 00:00:00 2001 From: daboe01 Date: Fri, 26 Dec 2025 10:22:10 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20cappucci?= =?UTF-8?q?no/cappuccino@1da107c404584531b52d41bfff2ff37abb23c524=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AppKit/Browser.environment/AppKit.sj | 499 +++++++++++ .../AppKit/CommonJS.environment/AppKit.sj | 499 +++++++++++ Resources/CPStackViewTest/AppController.j | 207 +++++ Resources/CPStackViewTest/Info.plist | 10 + Resources/CPStackViewTest/Jakefile | 94 ++ .../CPStackViewTest/Resources/MainMenu.cib | 1 + .../CPStackViewTest/Resources/MainMenu.xib | 809 ++++++++++++++++++ .../CPStackViewTest/Resources/spinner.gif | Bin 0 -> 1434 bytes Resources/CPStackViewTest/index-debug.html | 204 +++++ Resources/CPStackViewTest/index.html | 167 ++++ Resources/CPStackViewTest/main.j | 18 + Resources/recipes.txt | 285 +++--- 12 files changed, 2651 insertions(+), 142 deletions(-) create mode 100644 Resources/CPStackViewTest/AppController.j create mode 100644 Resources/CPStackViewTest/Info.plist create mode 100644 Resources/CPStackViewTest/Jakefile create mode 100644 Resources/CPStackViewTest/Resources/MainMenu.cib create mode 100644 Resources/CPStackViewTest/Resources/MainMenu.xib create mode 100644 Resources/CPStackViewTest/Resources/spinner.gif create mode 100644 Resources/CPStackViewTest/index-debug.html create mode 100644 Resources/CPStackViewTest/index.html create mode 100644 Resources/CPStackViewTest/main.j diff --git a/Frameworks/AppKit/Browser.environment/AppKit.sj b/Frameworks/AppKit/Browser.environment/AppKit.sj index acbf48271..1d86ceb05 100644 --- a/Frameworks/AppKit/Browser.environment/AppKit.sj +++ b/Frameworks/AppKit/Browser.environment/AppKit.sj @@ -31863,6 +31863,505 @@ class_addMethods(meta_class, [new objj_method(sel_getUid("splitViewItemWithViewC ,["instancetype","CPViewController"])]); } +p;13;CPStackView.jt;32509;@STATIC;1.0;i;8;CPView.jt;32477;objj_executeFile("CPView.j", YES);{var the_typedef = objj_allocateTypeDef("CPStackViewGravity"); +objj_registerTypeDef(the_typedef); +}CPStackViewGravityTop = 1; +CPStackViewGravityLeading = 1; +CPStackViewGravityCenter = 2; +CPStackViewGravityBottom = 3; +CPStackViewGravityTrailing = 3; +{var the_typedef = objj_allocateTypeDef("CPStackViewDistribution"); +objj_registerTypeDef(the_typedef); +}CPStackViewDistributionGravityAreas = 0; +CPStackViewDistributionFill = 1; +CPStackViewDistributionFillEqually = 2; +CPStackViewDistributionFillProportionally = 3; +CPStackViewDistributionEqualSpacing = 4; +CPStackViewDistributionEqualCentering = 5; +{var the_typedef = objj_allocateTypeDef("CPStackViewVisibilityPriority"); +objj_registerTypeDef(the_typedef); +}CPStackViewVisibilityPriorityMustHold = 1000.0; +CPStackViewVisibilityPriorityNotVisible = 0.0; +var CPStackViewSpacingUseDefault = 3.40282347e+38; + +{var the_class = objj_allocateClassPair(CPView, "CPStackView"), +meta_class = the_class.isa;class_addIvars(the_class, [new objj_ivar("_orientation", "CPUserInterfaceLayoutOrientation"), new objj_ivar("_alignment", "CPLayoutAttribute"), new objj_ivar("_spacing", "float"), new objj_ivar("_edgeInsets", "CPEdgeInsets"), new objj_ivar("_detachesHiddenViews", "BOOL"), new objj_ivar("_viewsLeading", "CPMutableArray"), new objj_ivar("_viewsCenter", "CPMutableArray"), new objj_ivar("_viewsTrailing", "CPMutableArray"), new objj_ivar("_arrangedSubviews", "CPMutableArray"), new objj_ivar("_customSpacings", "CPMapTable"), new objj_ivar("_visibilityPriorities", "CPMapTable")]);objj_registerClassPair(the_class); +class_addMethods(the_class, [new objj_method(sel_getUid("initWithFrame:"), function $CPStackView__initWithFrame_(self, _cmd, aFrame) +{ + if (self = (objj_getClass("CPStackView").super_class.method_dtable["initWithFrame:"] || _objj_forward)(self, "initWithFrame:", aFrame)) + { + self._orientation = CPUserInterfaceLayoutOrientationHorizontal; + self._alignment = CPLayoutAttributeCenterY; + self._spacing = 8.0; + self._edgeInsets = CPEdgeInsetsMake(0, 0, 0, 0); + self._detachesHiddenViews = YES; + self._viewsLeading = ((___r1 = (CPMutableArray.isa.method_msgSend["alloc"] || _objj_forward)(CPMutableArray, "alloc")), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["init"] || _objj_forward)(___r1, "init")); + self._viewsCenter = ((___r1 = (CPMutableArray.isa.method_msgSend["alloc"] || _objj_forward)(CPMutableArray, "alloc")), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["init"] || _objj_forward)(___r1, "init")); + self._viewsTrailing = ((___r1 = (CPMutableArray.isa.method_msgSend["alloc"] || _objj_forward)(CPMutableArray, "alloc")), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["init"] || _objj_forward)(___r1, "init")); + self._arrangedSubviews = ((___r1 = (CPMutableArray.isa.method_msgSend["alloc"] || _objj_forward)(CPMutableArray, "alloc")), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["init"] || _objj_forward)(___r1, "init")); + self._customSpacings = ((___r1 = (CPMapTable == null ? CPMapTable : (CPMapTable.isa.method_msgSend["alloc"] || _objj_forward)(CPMapTable, "alloc"))), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["init"] || _objj_forward)(___r1, "init")); + self._visibilityPriorities = ((___r1 = (CPMapTable == null ? CPMapTable : (CPMapTable.isa.method_msgSend["alloc"] || _objj_forward)(CPMapTable, "alloc"))), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["init"] || _objj_forward)(___r1, "init")); + } + return self; + var ___r1; +} + +,["id","CGRect"]), new objj_method(sel_getUid("orientation"), function $CPStackView__orientation(self, _cmd) +{ + return self._orientation; +} + +,["CPUserInterfaceLayoutOrientation"]), new objj_method(sel_getUid("setOrientation:"), function $CPStackView__setOrientation_(self, _cmd, anOrientation) +{ + if (self._orientation === anOrientation) + return; + self._orientation = anOrientation; + if (self._orientation === CPUserInterfaceLayoutOrientationVertical) + { + if (self._alignment === CPLayoutAttributeCenterY) + self._alignment = CPLayoutAttributeCenterX; + } + else + { + if (self._alignment === CPLayoutAttributeCenterX) + self._alignment = CPLayoutAttributeCenterY; + } + (self.isa.method_msgSend["setNeedsLayout:"] || _objj_forward)(self, "setNeedsLayout:", YES); +} + +,["void","CPUserInterfaceLayoutOrientation"]), new objj_method(sel_getUid("alignment"), function $CPStackView__alignment(self, _cmd) +{ + return self._alignment; +} + +,["CPLayoutAttribute"]), new objj_method(sel_getUid("setAlignment:"), function $CPStackView__setAlignment_(self, _cmd, anAlignment) +{ + if (self._alignment === anAlignment) + return; + self._alignment = anAlignment; + (self.isa.method_msgSend["setNeedsLayout:"] || _objj_forward)(self, "setNeedsLayout:", YES); +} + +,["void","CPLayoutAttribute"]), new objj_method(sel_getUid("spacing"), function $CPStackView__spacing(self, _cmd) +{ + return self._spacing; +} + +,["float"]), new objj_method(sel_getUid("setSpacing:"), function $CPStackView__setSpacing_(self, _cmd, aSpacing) +{ + if (self._spacing === aSpacing) + return; + self._spacing = aSpacing; + (self.isa.method_msgSend["setNeedsLayout:"] || _objj_forward)(self, "setNeedsLayout:", YES); +} + +,["void","float"]), new objj_method(sel_getUid("edgeInsets"), function $CPStackView__edgeInsets(self, _cmd) +{ + return self._edgeInsets; +} + +,["CPEdgeInsets"]), new objj_method(sel_getUid("setEdgeInsets:"), function $CPStackView__setEdgeInsets_(self, _cmd, insets) +{ + if (CPEdgeInsetsEqualToEdgeInsets(self._edgeInsets, insets)) + return; + self._edgeInsets = insets; + (self.isa.method_msgSend["setNeedsLayout:"] || _objj_forward)(self, "setNeedsLayout:", YES); +} + +,["void","CPEdgeInsets"]), new objj_method(sel_getUid("detachesHiddenViews"), function $CPStackView__detachesHiddenViews(self, _cmd) +{ + return self._detachesHiddenViews; +} + +,["BOOL"]), new objj_method(sel_getUid("setDetachesHiddenViews:"), function $CPStackView__setDetachesHiddenViews_(self, _cmd, shouldDetach) +{ + if (self._detachesHiddenViews === shouldDetach) + return; + self._detachesHiddenViews = shouldDetach; + (self.isa.method_msgSend["setNeedsLayout:"] || _objj_forward)(self, "setNeedsLayout:", YES); +} + +,["void","BOOL"]), new objj_method(sel_getUid("_containerForGravity:"), function $CPStackView___containerForGravity_(self, _cmd, gravity) +{ + if (gravity === CPStackViewGravityCenter) + return self._viewsCenter; + else if (gravity === CPStackViewGravityTrailing) + return self._viewsTrailing; + return self._viewsLeading; +} + +,["CPArray","CPStackViewGravity"]), new objj_method(sel_getUid("addView:inGravity:"), function $CPStackView__addView_inGravity_(self, _cmd, aView, gravity) +{ + var container = (self.isa.method_msgSend["_containerForGravity:"] || _objj_forward)(self, "_containerForGravity:", gravity); + if (((___r1 = self._arrangedSubviews), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["containsObject:"] || _objj_forward)(___r1, "containsObject:", aView))) + (self.isa.method_msgSend["removeView:"] || _objj_forward)(self, "removeView:", aView); + (container == null ? container : (container.isa.method_msgSend["addObject:"] || _objj_forward)(container, "addObject:", aView)); + ((___r1 = self._arrangedSubviews), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["addObject:"] || _objj_forward)(___r1, "addObject:", aView)); + if ((aView == null ? aView : (aView.isa.method_msgSend["superview"] || _objj_forward)(aView, "superview")) !== self) + (self.isa.method_msgSend["addSubview:"] || _objj_forward)(self, "addSubview:", aView); + (self.isa.method_msgSend["setNeedsLayout:"] || _objj_forward)(self, "setNeedsLayout:", YES); + var ___r1; +} + +,["void","CPView","CPStackViewGravity"]), new objj_method(sel_getUid("insertView:atIndex:inGravity:"), function $CPStackView__insertView_atIndex_inGravity_(self, _cmd, aView, index, gravity) +{ + var container = (self.isa.method_msgSend["_containerForGravity:"] || _objj_forward)(self, "_containerForGravity:", gravity); + if (((___r1 = self._arrangedSubviews), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["containsObject:"] || _objj_forward)(___r1, "containsObject:", aView))) + (self.isa.method_msgSend["removeView:"] || _objj_forward)(self, "removeView:", aView); + if (index >= (container == null ? container : (container.isa.method_msgSend["count"] || _objj_forward)(container, "count"))) + (container == null ? container : (container.isa.method_msgSend["addObject:"] || _objj_forward)(container, "addObject:", aView)); + else + (container == null ? container : (container.isa.method_msgSend["insertObject:atIndex:"] || _objj_forward)(container, "insertObject:atIndex:", aView, index)); + ((___r1 = self._arrangedSubviews), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["addObject:"] || _objj_forward)(___r1, "addObject:", aView)); + if ((aView == null ? aView : (aView.isa.method_msgSend["superview"] || _objj_forward)(aView, "superview")) !== self) + (self.isa.method_msgSend["addSubview:"] || _objj_forward)(self, "addSubview:", aView); + (self.isa.method_msgSend["setNeedsLayout:"] || _objj_forward)(self, "setNeedsLayout:", YES); + var ___r1; +} + +,["void","CPView","CPInteger","CPStackViewGravity"]), new objj_method(sel_getUid("setViews:inGravity:"), function $CPStackView__setViews_inGravity_(self, _cmd, views, gravity) +{ + var container = (self.isa.method_msgSend["_containerForGravity:"] || _objj_forward)(self, "_containerForGravity:", gravity); + for (var i = 0; i < (container == null ? container : (container.isa.method_msgSend["count"] || _objj_forward)(container, "count")); i++) + { + var oldView = container[i]; + (oldView == null ? oldView : (oldView.isa.method_msgSend["removeFromSuperview"] || _objj_forward)(oldView, "removeFromSuperview")); + ((___r1 = self._arrangedSubviews), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["removeObject:"] || _objj_forward)(___r1, "removeObject:", oldView)); + } + (container == null ? container : (container.isa.method_msgSend["removeAllObjects"] || _objj_forward)(container, "removeAllObjects")); + for (var i = 0; i < (views == null ? views : (views.isa.method_msgSend["count"] || _objj_forward)(views, "count")); i++) + { + var newView = views[i]; + (container == null ? container : (container.isa.method_msgSend["addObject:"] || _objj_forward)(container, "addObject:", newView)); + ((___r1 = self._arrangedSubviews), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["addObject:"] || _objj_forward)(___r1, "addObject:", newView)); + (self.isa.method_msgSend["addSubview:"] || _objj_forward)(self, "addSubview:", newView); + } + (self.isa.method_msgSend["setNeedsLayout:"] || _objj_forward)(self, "setNeedsLayout:", YES); + var ___r1; +} + +,["void","CPArray","CPStackViewGravity"]), new objj_method(sel_getUid("removeView:"), function $CPStackView__removeView_(self, _cmd, aView) +{ + if (!((___r1 = self._arrangedSubviews), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["containsObject:"] || _objj_forward)(___r1, "containsObject:", aView))) + return; + ((___r1 = self._viewsLeading), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["removeObject:"] || _objj_forward)(___r1, "removeObject:", aView)); + ((___r1 = self._viewsCenter), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["removeObject:"] || _objj_forward)(___r1, "removeObject:", aView)); + ((___r1 = self._viewsTrailing), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["removeObject:"] || _objj_forward)(___r1, "removeObject:", aView)); + ((___r1 = self._arrangedSubviews), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["removeObject:"] || _objj_forward)(___r1, "removeObject:", aView)); + (aView == null ? aView : (aView.isa.method_msgSend["removeFromSuperview"] || _objj_forward)(aView, "removeFromSuperview")); + (self.isa.method_msgSend["setNeedsLayout:"] || _objj_forward)(self, "setNeedsLayout:", YES); + var ___r1; +} + +,["void","CPView"]), new objj_method(sel_getUid("viewsInGravity:"), function $CPStackView__viewsInGravity_(self, _cmd, gravity) +{ + return ((___r1 = (self.isa.method_msgSend["_containerForGravity:"] || _objj_forward)(self, "_containerForGravity:", gravity)), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["copy"] || _objj_forward)(___r1, "copy")); + var ___r1; +} + +,["CPArray","CPStackViewGravity"]), new objj_method(sel_getUid("arrangedSubviews"), function $CPStackView__arrangedSubviews(self, _cmd) +{ + return ((___r1 = self._arrangedSubviews), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["copy"] || _objj_forward)(___r1, "copy")); + var ___r1; +} + +,["CPArray"]), new objj_method(sel_getUid("addArrangedSubview:"), function $CPStackView__addArrangedSubview_(self, _cmd, view) +{ + (self.isa.method_msgSend["addView:inGravity:"] || _objj_forward)(self, "addView:inGravity:", view, CPStackViewGravityLeading); +} + +,["void","CPView"]), new objj_method(sel_getUid("removeArrangedSubview:"), function $CPStackView__removeArrangedSubview_(self, _cmd, view) +{ + (self.isa.method_msgSend["removeView:"] || _objj_forward)(self, "removeView:", view); +} + +,["void","CPView"]), new objj_method(sel_getUid("customSpacingAfterView:"), function $CPStackView__customSpacingAfterView_(self, _cmd, aView) +{ + var val = ((___r1 = self._customSpacings), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["objectForKey:"] || _objj_forward)(___r1, "objectForKey:", aView)); + if (val) + return (val == null ? val : (val.isa.method_msgSend["floatValue"] || _objj_forward)(val, "floatValue")); + return CPStackViewSpacingUseDefault; + var ___r1; +} + +,["float","CPView"]), new objj_method(sel_getUid("setCustomSpacing:afterView:"), function $CPStackView__setCustomSpacing_afterView_(self, _cmd, spacing, aView) +{ + if (spacing === CPStackViewSpacingUseDefault) + ((___r1 = self._customSpacings), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["removeObjectForKey:"] || _objj_forward)(___r1, "removeObjectForKey:", aView)); + else + ((___r1 = self._customSpacings), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["setObject:forKey:"] || _objj_forward)(___r1, "setObject:forKey:", spacing, aView)); + (self.isa.method_msgSend["setNeedsLayout:"] || _objj_forward)(self, "setNeedsLayout:", YES); + var ___r1; +} + +,["void","float","CPView"]), new objj_method(sel_getUid("_spacingAfterView:"), function $CPStackView___spacingAfterView_(self, _cmd, aView) +{ + var custom = (self.isa.method_msgSend["customSpacingAfterView:"] || _objj_forward)(self, "customSpacingAfterView:", aView); + if (custom !== CPStackViewSpacingUseDefault) + return custom; + return self._spacing; +} + +,["float","CPView"]), new objj_method(sel_getUid("setVisibilityPriority:forView:"), function $CPStackView__setVisibilityPriority_forView_(self, _cmd, priority, aView) +{ + ((___r1 = self._visibilityPriorities), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["setObject:forKey:"] || _objj_forward)(___r1, "setObject:forKey:", priority, aView)); + if (priority === CPStackViewVisibilityPriorityNotVisible) + { + (aView == null ? aView : (aView.isa.method_msgSend["setHidden:"] || _objj_forward)(aView, "setHidden:", YES)); + } + else if (priority === CPStackViewVisibilityPriorityMustHold) + { + (aView == null ? aView : (aView.isa.method_msgSend["setHidden:"] || _objj_forward)(aView, "setHidden:", NO)); + } + (self.isa.method_msgSend["setNeedsLayout:"] || _objj_forward)(self, "setNeedsLayout:", YES); + var ___r1; +} + +,["void","float","CPView"]), new objj_method(sel_getUid("visibilityPriorityForView:"), function $CPStackView__visibilityPriorityForView_(self, _cmd, aView) +{ + var val = ((___r1 = self._visibilityPriorities), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["objectForKey:"] || _objj_forward)(___r1, "objectForKey:", aView)); + if (val) + return (val == null ? val : (val.isa.method_msgSend["floatValue"] || _objj_forward)(val, "floatValue")); + return CPStackViewVisibilityPriorityMustHold; + var ___r1; +} + +,["float","CPView"]), new objj_method(sel_getUid("resizeSubviewsWithOldSize:"), function $CPStackView__resizeSubviewsWithOldSize_(self, _cmd, oldSize) +{ + (self.isa.method_msgSend["layoutSubviews"] || _objj_forward)(self, "layoutSubviews"); +} + +,["void","CGSize"]), new objj_method(sel_getUid("layoutSubviews"), function $CPStackView__layoutSubviews(self, _cmd) +{ + if (self._orientation === CPUserInterfaceLayoutOrientationVertical) + (self.isa.method_msgSend["_layoutVertical"] || _objj_forward)(self, "_layoutVertical"); + else + (self.isa.method_msgSend["_layoutHorizontal"] || _objj_forward)(self, "_layoutHorizontal"); +} + +,["void"]), new objj_method(sel_getUid("_layoutHorizontal"), function $CPStackView___layoutHorizontal(self, _cmd) +{ + var bounds = (self.isa.method_msgSend["bounds"] || _objj_forward)(self, "bounds"), + availWidth = CGRectGetWidth(bounds) - self._edgeInsets.left - self._edgeInsets.right, + availHeight = CGRectGetHeight(bounds) - self._edgeInsets.top - self._edgeInsets.bottom, + currentX = self._edgeInsets.left; + currentX = (self.isa.method_msgSend["_layoutViews:startOffset:availableOrthogonalSize:direction:"] || _objj_forward)(self, "_layoutViews:startOffset:availableOrthogonalSize:direction:", self._viewsLeading, currentX, availHeight, 1); + var startRight = CGRectGetWidth(bounds) - self._edgeInsets.right; + (self.isa.method_msgSend["_layoutViews:startOffset:availableOrthogonalSize:direction:"] || _objj_forward)(self, "_layoutViews:startOffset:availableOrthogonalSize:direction:", self._viewsTrailing, startRight, availHeight, -1); + if (((___r1 = self._viewsCenter), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["count"] || _objj_forward)(___r1, "count")) > 0) + { + var centerStackWidth = 0.0; + for (var i = 0; i < ((___r1 = self._viewsCenter), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["count"] || _objj_forward)(___r1, "count")); i++) + { + var view = self._viewsCenter[i]; + if (self._detachesHiddenViews && (view == null ? view : (view.isa.method_msgSend["isHidden"] || _objj_forward)(view, "isHidden"))) + continue; + centerStackWidth += CGRectGetWidth((view == null ? view : (view.isa.method_msgSend["frame"] || _objj_forward)(view, "frame"))); + if (i < ((___r1 = self._viewsCenter), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["count"] || _objj_forward)(___r1, "count")) - 1) + centerStackWidth += (self.isa.method_msgSend["_spacingAfterView:"] || _objj_forward)(self, "_spacingAfterView:", view); + } + var centerStart = CGRectGetWidth(bounds) / 2.0 - centerStackWidth / 2.0; + if (centerStart < currentX) + centerStart = currentX; + (self.isa.method_msgSend["_layoutViews:startOffset:availableOrthogonalSize:direction:"] || _objj_forward)(self, "_layoutViews:startOffset:availableOrthogonalSize:direction:", self._viewsCenter, centerStart, availHeight, 1); + } + var ___r1; +} + +,["void"]), new objj_method(sel_getUid("_layoutVertical"), function $CPStackView___layoutVertical(self, _cmd) +{ + var bounds = (self.isa.method_msgSend["bounds"] || _objj_forward)(self, "bounds"), + availWidth = CGRectGetWidth(bounds) - self._edgeInsets.left - self._edgeInsets.right, + availHeight = CGRectGetHeight(bounds) - self._edgeInsets.top - self._edgeInsets.bottom, + currentY = self._edgeInsets.top; + currentY = (self.isa.method_msgSend["_layoutViews:startOffset:availableOrthogonalSize:direction:"] || _objj_forward)(self, "_layoutViews:startOffset:availableOrthogonalSize:direction:", self._viewsLeading, currentY, availWidth, 1); + var startBottom = CGRectGetHeight(bounds) - self._edgeInsets.bottom; + (self.isa.method_msgSend["_layoutViews:startOffset:availableOrthogonalSize:direction:"] || _objj_forward)(self, "_layoutViews:startOffset:availableOrthogonalSize:direction:", self._viewsTrailing, startBottom, availWidth, -1); + if (((___r1 = self._viewsCenter), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["count"] || _objj_forward)(___r1, "count")) > 0) + { + var centerStackHeight = 0.0; + for (var i = 0; i < ((___r1 = self._viewsCenter), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["count"] || _objj_forward)(___r1, "count")); i++) + { + var view = self._viewsCenter[i]; + if (self._detachesHiddenViews && (view == null ? view : (view.isa.method_msgSend["isHidden"] || _objj_forward)(view, "isHidden"))) + continue; + centerStackHeight += CGRectGetHeight((view == null ? view : (view.isa.method_msgSend["frame"] || _objj_forward)(view, "frame"))); + if (i < ((___r1 = self._viewsCenter), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["count"] || _objj_forward)(___r1, "count")) - 1) + centerStackHeight += (self.isa.method_msgSend["_spacingAfterView:"] || _objj_forward)(self, "_spacingAfterView:", view); + } + var centerStart = CGRectGetHeight(bounds) / 2.0 - centerStackHeight / 2.0; + if (centerStart < currentY) + centerStart = currentY; + (self.isa.method_msgSend["_layoutViews:startOffset:availableOrthogonalSize:direction:"] || _objj_forward)(self, "_layoutViews:startOffset:availableOrthogonalSize:direction:", self._viewsCenter, centerStart, availWidth, 1); + } + var ___r1; +} + +,["void"]), new objj_method(sel_getUid("_layoutViews:startOffset:availableOrthogonalSize:direction:"), function $CPStackView___layoutViews_startOffset_availableOrthogonalSize_direction_(self, _cmd, views, offset, orthoSize, dir) +{ + var cursor = offset; + var isVert = self._orientation === CPUserInterfaceLayoutOrientationVertical; + var count = (views == null ? views : (views.isa.method_msgSend["count"] || _objj_forward)(views, "count")); + if (count === 0) + return cursor; + var i = dir === 1 ? 0 : count - 1; + var limit = dir === 1 ? count : -1; + var step = dir === 1 ? 1 : -1; + for (; i !== limit; i += step) + { + var view = views[i]; + if (self._detachesHiddenViews && (view == null ? view : (view.isa.method_msgSend["isHidden"] || _objj_forward)(view, "isHidden"))) + continue; + var viewFrame = (view == null ? view : (view.isa.method_msgSend["frame"] || _objj_forward)(view, "frame")); + var viewSizePrimary = isVert ? CGRectGetHeight(viewFrame) : CGRectGetWidth(viewFrame); + var orthoPos = 0.0; + var viewOrthoSize = isVert ? CGRectGetWidth(viewFrame) : CGRectGetHeight(viewFrame); + if (isVert) + { + if (self._alignment === CPLayoutAttributeWidth || self._alignment === CPLayoutAttributeLeading || self._alignment === CPLayoutAttributeTrailing) + { + if (self._alignment === CPLayoutAttributeWidth || self._alignment === CPLayoutAttributeLeft || self._alignment === CPLayoutAttributeLeading) + { + if (self._alignment === CPLayoutAttributeWidth) + viewOrthoSize = orthoSize; + orthoPos = self._edgeInsets.left; + } + else if (self._alignment === CPLayoutAttributeRight || self._alignment === CPLayoutAttributeTrailing) + { + orthoPos = self._edgeInsets.left + (orthoSize - viewOrthoSize); + } + else + { + orthoPos = self._edgeInsets.left + (orthoSize - viewOrthoSize) / 2.0; + } + } + else + { + orthoPos = self._edgeInsets.left + (orthoSize - viewOrthoSize) / 2.0; + } + } + else + { + if (self._alignment === CPLayoutAttributeHeight || self._alignment === CPLayoutAttributeTop || self._alignment === CPLayoutAttributeBottom) + { + if (self._alignment === CPLayoutAttributeHeight) + { + viewOrthoSize = orthoSize; + orthoPos = self._edgeInsets.top; + } + else if (self._alignment === CPLayoutAttributeTop) + { + orthoPos = self._edgeInsets.top; + } + else if (self._alignment === CPLayoutAttributeBottom) + { + orthoPos = self._edgeInsets.top + (orthoSize - viewOrthoSize); + } + else + { + orthoPos = self._edgeInsets.top + (orthoSize - viewOrthoSize) / 2.0; + } + } + else + { + orthoPos = self._edgeInsets.top + (orthoSize - viewOrthoSize) / 2.0; + } + } + var originX = 0.0, + originY = 0.0; + var sizeW = 0.0, + sizeH = 0.0; + if (isVert) + { + sizeH = viewSizePrimary; + sizeW = viewOrthoSize; + originX = orthoPos; + if (dir === 1) + { + originY = cursor; + cursor += sizeH + (self.isa.method_msgSend["_spacingAfterView:"] || _objj_forward)(self, "_spacingAfterView:", view); + } + else + { + cursor -= sizeH; + originY = cursor; + cursor -= (self.isa.method_msgSend["_spacingAfterView:"] || _objj_forward)(self, "_spacingAfterView:", view); + } + } + else + { + sizeW = viewSizePrimary; + sizeH = viewOrthoSize; + originY = orthoPos; + if (dir === 1) + { + originX = cursor; + cursor += sizeW + (self.isa.method_msgSend["_spacingAfterView:"] || _objj_forward)(self, "_spacingAfterView:", view); + } + else + { + cursor -= sizeW; + originX = cursor; + cursor -= (self.isa.method_msgSend["_spacingAfterView:"] || _objj_forward)(self, "_spacingAfterView:", view); + } + } + (view == null ? view : (view.isa.method_msgSend["setFrame:"] || _objj_forward)(view, "setFrame:", CGRectMake(originX, originY, sizeW, sizeH))); + } + return cursor; +} + +,["float","CPArray","float","float","int"]), new objj_method(sel_getUid("initWithCoder:"), function $CPStackView__initWithCoder_(self, _cmd, aCoder) +{ + self = (objj_getClass("CPStackView").super_class.method_dtable["initWithCoder:"] || _objj_forward)(self, "initWithCoder:", aCoder); + if (self) + { + self._orientation = (aCoder == null ? aCoder : (aCoder.isa.method_msgSend["decodeIntForKey:"] || _objj_forward)(aCoder, "decodeIntForKey:", "CPStackViewOrientation")); + self._alignment = (aCoder == null ? aCoder : (aCoder.isa.method_msgSend["decodeIntForKey:"] || _objj_forward)(aCoder, "decodeIntForKey:", "CPStackViewAlignment")); + self._spacing = (aCoder == null ? aCoder : (aCoder.isa.method_msgSend["decodeFloatForKey:"] || _objj_forward)(aCoder, "decodeFloatForKey:", "CPStackViewSpacing")); + self._edgeInsets = (aCoder == null ? aCoder : (aCoder.isa.method_msgSend["decodeObjectForKey:"] || _objj_forward)(aCoder, "decodeObjectForKey:", "CPStackViewEdgeInsets")); + if (!self._edgeInsets) + self._edgeInsets = CPEdgeInsetsMake(0, 0, 0, 0); + self._detachesHiddenViews = (aCoder == null ? aCoder : (aCoder.isa.method_msgSend["decodeBoolForKey:"] || _objj_forward)(aCoder, "decodeBoolForKey:", "CPStackViewDetachesHiddenViews")); + self._viewsLeading = (aCoder == null ? aCoder : (aCoder.isa.method_msgSend["decodeObjectForKey:"] || _objj_forward)(aCoder, "decodeObjectForKey:", "CPStackViewViewsLeading")) || []; + self._viewsCenter = (aCoder == null ? aCoder : (aCoder.isa.method_msgSend["decodeObjectForKey:"] || _objj_forward)(aCoder, "decodeObjectForKey:", "CPStackViewViewsCenter")) || []; + self._viewsTrailing = (aCoder == null ? aCoder : (aCoder.isa.method_msgSend["decodeObjectForKey:"] || _objj_forward)(aCoder, "decodeObjectForKey:", "CPStackViewViewsTrailing")) || []; + self._arrangedSubviews = ((___r1 = (CPMutableArray.isa.method_msgSend["alloc"] || _objj_forward)(CPMutableArray, "alloc")), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["init"] || _objj_forward)(___r1, "init")); + ((___r1 = self._arrangedSubviews), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["addObjectsFromArray:"] || _objj_forward)(___r1, "addObjectsFromArray:", self._viewsLeading)); + ((___r1 = self._arrangedSubviews), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["addObjectsFromArray:"] || _objj_forward)(___r1, "addObjectsFromArray:", self._viewsCenter)); + ((___r1 = self._arrangedSubviews), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["addObjectsFromArray:"] || _objj_forward)(___r1, "addObjectsFromArray:", self._viewsTrailing)); + self._customSpacings = (aCoder == null ? aCoder : (aCoder.isa.method_msgSend["decodeObjectForKey:"] || _objj_forward)(aCoder, "decodeObjectForKey:", "CPStackViewCustomSpacings")) || ((___r1 = (CPMapTable == null ? CPMapTable : (CPMapTable.isa.method_msgSend["alloc"] || _objj_forward)(CPMapTable, "alloc"))), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["init"] || _objj_forward)(___r1, "init")); + self._visibilityPriorities = ((___r1 = (CPMapTable == null ? CPMapTable : (CPMapTable.isa.method_msgSend["alloc"] || _objj_forward)(CPMapTable, "alloc"))), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["init"] || _objj_forward)(___r1, "init")); + } + return self; + var ___r1; +} + +,["id","CPCoder"]), new objj_method(sel_getUid("encodeWithCoder:"), function $CPStackView__encodeWithCoder_(self, _cmd, aCoder) +{ + (objj_getClass("CPStackView").super_class.method_dtable["encodeWithCoder:"] || _objj_forward)(self, "encodeWithCoder:", aCoder); + (aCoder == null ? aCoder : (aCoder.isa.method_msgSend["encodeInt:forKey:"] || _objj_forward)(aCoder, "encodeInt:forKey:", self._orientation, "CPStackViewOrientation")); + (aCoder == null ? aCoder : (aCoder.isa.method_msgSend["encodeInt:forKey:"] || _objj_forward)(aCoder, "encodeInt:forKey:", self._alignment, "CPStackViewAlignment")); + (aCoder == null ? aCoder : (aCoder.isa.method_msgSend["encodeFloat:forKey:"] || _objj_forward)(aCoder, "encodeFloat:forKey:", self._spacing, "CPStackViewSpacing")); + (aCoder == null ? aCoder : (aCoder.isa.method_msgSend["encodeObject:forKey:"] || _objj_forward)(aCoder, "encodeObject:forKey:", self._edgeInsets, "CPStackViewEdgeInsets")); + (aCoder == null ? aCoder : (aCoder.isa.method_msgSend["encodeBool:forKey:"] || _objj_forward)(aCoder, "encodeBool:forKey:", self._detachesHiddenViews, "CPStackViewDetachesHiddenViews")); + (aCoder == null ? aCoder : (aCoder.isa.method_msgSend["encodeObject:forKey:"] || _objj_forward)(aCoder, "encodeObject:forKey:", self._viewsLeading, "CPStackViewViewsLeading")); + (aCoder == null ? aCoder : (aCoder.isa.method_msgSend["encodeObject:forKey:"] || _objj_forward)(aCoder, "encodeObject:forKey:", self._viewsCenter, "CPStackViewViewsCenter")); + (aCoder == null ? aCoder : (aCoder.isa.method_msgSend["encodeObject:forKey:"] || _objj_forward)(aCoder, "encodeObject:forKey:", self._viewsTrailing, "CPStackViewViewsTrailing")); + (aCoder == null ? aCoder : (aCoder.isa.method_msgSend["encodeObject:forKey:"] || _objj_forward)(aCoder, "encodeObject:forKey:", self._customSpacings, "CPStackViewCustomSpacings")); +} + +,["void","CPCoder"])]); +class_addMethods(meta_class, [new objj_method(sel_getUid("stackViewWithViews:"), function $CPStackView__stackViewWithViews_(self, _cmd, views) +{ + var stackView = ((___r1 = (CPStackView.isa.method_msgSend["alloc"] || _objj_forward)(CPStackView, "alloc")), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["initWithFrame:"] || _objj_forward)(___r1, "initWithFrame:", CGRectMakeZero())); + for (var i = 0, count = (views == null ? views : (views.isa.method_msgSend["count"] || _objj_forward)(views, "count")); i < count; i++) + (stackView == null ? stackView : (stackView.isa.method_msgSend["addView:inGravity:"] || _objj_forward)(stackView, "addView:inGravity:", views[i], CPStackViewGravityLeading)); + return stackView; + var ___r1; +} + +,["CPStackView","CPArray"])]); +} p;11;CPStepper.jt;21872;@STATIC;1.0;i;11;CPControl.ji;10;CPButton.ji;13;CPTextField.jt;21803;objj_executeFile("CPControl.j", YES);objj_executeFile("CPButton.j", YES);objj_executeFile("CPTextField.j", YES); {var the_class = objj_allocateClassPair(CPControl, "CPStepper"), meta_class = the_class.isa;class_addIvars(the_class, [new objj_ivar("_valueWraps", "BOOL"), new objj_ivar("_autorepeat", "BOOL"), new objj_ivar("_increment", "int"), new objj_ivar("_maxValue", "int"), new objj_ivar("_minValue", "int"), new objj_ivar("_buttonDown", "CPButton"), new objj_ivar("_buttonUp", "CPButton")]);objj_registerClassPair(the_class); diff --git a/Frameworks/AppKit/CommonJS.environment/AppKit.sj b/Frameworks/AppKit/CommonJS.environment/AppKit.sj index 2146a3c9e..c10d31d1e 100644 --- a/Frameworks/AppKit/CommonJS.environment/AppKit.sj +++ b/Frameworks/AppKit/CommonJS.environment/AppKit.sj @@ -31022,6 +31022,505 @@ class_addMethods(meta_class, [new objj_method(sel_getUid("splitViewItemWithViewC ,["instancetype","CPViewController"])]); } +p;13;CPStackView.jt;32509;@STATIC;1.0;i;8;CPView.jt;32477;objj_executeFile("CPView.j", YES);{var the_typedef = objj_allocateTypeDef("CPStackViewGravity"); +objj_registerTypeDef(the_typedef); +}CPStackViewGravityTop = 1; +CPStackViewGravityLeading = 1; +CPStackViewGravityCenter = 2; +CPStackViewGravityBottom = 3; +CPStackViewGravityTrailing = 3; +{var the_typedef = objj_allocateTypeDef("CPStackViewDistribution"); +objj_registerTypeDef(the_typedef); +}CPStackViewDistributionGravityAreas = 0; +CPStackViewDistributionFill = 1; +CPStackViewDistributionFillEqually = 2; +CPStackViewDistributionFillProportionally = 3; +CPStackViewDistributionEqualSpacing = 4; +CPStackViewDistributionEqualCentering = 5; +{var the_typedef = objj_allocateTypeDef("CPStackViewVisibilityPriority"); +objj_registerTypeDef(the_typedef); +}CPStackViewVisibilityPriorityMustHold = 1000.0; +CPStackViewVisibilityPriorityNotVisible = 0.0; +var CPStackViewSpacingUseDefault = 3.40282347e+38; + +{var the_class = objj_allocateClassPair(CPView, "CPStackView"), +meta_class = the_class.isa;class_addIvars(the_class, [new objj_ivar("_orientation", "CPUserInterfaceLayoutOrientation"), new objj_ivar("_alignment", "CPLayoutAttribute"), new objj_ivar("_spacing", "float"), new objj_ivar("_edgeInsets", "CPEdgeInsets"), new objj_ivar("_detachesHiddenViews", "BOOL"), new objj_ivar("_viewsLeading", "CPMutableArray"), new objj_ivar("_viewsCenter", "CPMutableArray"), new objj_ivar("_viewsTrailing", "CPMutableArray"), new objj_ivar("_arrangedSubviews", "CPMutableArray"), new objj_ivar("_customSpacings", "CPMapTable"), new objj_ivar("_visibilityPriorities", "CPMapTable")]);objj_registerClassPair(the_class); +class_addMethods(the_class, [new objj_method(sel_getUid("initWithFrame:"), function $CPStackView__initWithFrame_(self, _cmd, aFrame) +{ + if (self = (objj_getClass("CPStackView").super_class.method_dtable["initWithFrame:"] || _objj_forward)(self, "initWithFrame:", aFrame)) + { + self._orientation = CPUserInterfaceLayoutOrientationHorizontal; + self._alignment = CPLayoutAttributeCenterY; + self._spacing = 8.0; + self._edgeInsets = CPEdgeInsetsMake(0, 0, 0, 0); + self._detachesHiddenViews = YES; + self._viewsLeading = ((___r1 = (CPMutableArray.isa.method_msgSend["alloc"] || _objj_forward)(CPMutableArray, "alloc")), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["init"] || _objj_forward)(___r1, "init")); + self._viewsCenter = ((___r1 = (CPMutableArray.isa.method_msgSend["alloc"] || _objj_forward)(CPMutableArray, "alloc")), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["init"] || _objj_forward)(___r1, "init")); + self._viewsTrailing = ((___r1 = (CPMutableArray.isa.method_msgSend["alloc"] || _objj_forward)(CPMutableArray, "alloc")), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["init"] || _objj_forward)(___r1, "init")); + self._arrangedSubviews = ((___r1 = (CPMutableArray.isa.method_msgSend["alloc"] || _objj_forward)(CPMutableArray, "alloc")), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["init"] || _objj_forward)(___r1, "init")); + self._customSpacings = ((___r1 = (CPMapTable == null ? CPMapTable : (CPMapTable.isa.method_msgSend["alloc"] || _objj_forward)(CPMapTable, "alloc"))), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["init"] || _objj_forward)(___r1, "init")); + self._visibilityPriorities = ((___r1 = (CPMapTable == null ? CPMapTable : (CPMapTable.isa.method_msgSend["alloc"] || _objj_forward)(CPMapTable, "alloc"))), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["init"] || _objj_forward)(___r1, "init")); + } + return self; + var ___r1; +} + +,["id","CGRect"]), new objj_method(sel_getUid("orientation"), function $CPStackView__orientation(self, _cmd) +{ + return self._orientation; +} + +,["CPUserInterfaceLayoutOrientation"]), new objj_method(sel_getUid("setOrientation:"), function $CPStackView__setOrientation_(self, _cmd, anOrientation) +{ + if (self._orientation === anOrientation) + return; + self._orientation = anOrientation; + if (self._orientation === CPUserInterfaceLayoutOrientationVertical) + { + if (self._alignment === CPLayoutAttributeCenterY) + self._alignment = CPLayoutAttributeCenterX; + } + else + { + if (self._alignment === CPLayoutAttributeCenterX) + self._alignment = CPLayoutAttributeCenterY; + } + (self.isa.method_msgSend["setNeedsLayout:"] || _objj_forward)(self, "setNeedsLayout:", YES); +} + +,["void","CPUserInterfaceLayoutOrientation"]), new objj_method(sel_getUid("alignment"), function $CPStackView__alignment(self, _cmd) +{ + return self._alignment; +} + +,["CPLayoutAttribute"]), new objj_method(sel_getUid("setAlignment:"), function $CPStackView__setAlignment_(self, _cmd, anAlignment) +{ + if (self._alignment === anAlignment) + return; + self._alignment = anAlignment; + (self.isa.method_msgSend["setNeedsLayout:"] || _objj_forward)(self, "setNeedsLayout:", YES); +} + +,["void","CPLayoutAttribute"]), new objj_method(sel_getUid("spacing"), function $CPStackView__spacing(self, _cmd) +{ + return self._spacing; +} + +,["float"]), new objj_method(sel_getUid("setSpacing:"), function $CPStackView__setSpacing_(self, _cmd, aSpacing) +{ + if (self._spacing === aSpacing) + return; + self._spacing = aSpacing; + (self.isa.method_msgSend["setNeedsLayout:"] || _objj_forward)(self, "setNeedsLayout:", YES); +} + +,["void","float"]), new objj_method(sel_getUid("edgeInsets"), function $CPStackView__edgeInsets(self, _cmd) +{ + return self._edgeInsets; +} + +,["CPEdgeInsets"]), new objj_method(sel_getUid("setEdgeInsets:"), function $CPStackView__setEdgeInsets_(self, _cmd, insets) +{ + if (CPEdgeInsetsEqualToEdgeInsets(self._edgeInsets, insets)) + return; + self._edgeInsets = insets; + (self.isa.method_msgSend["setNeedsLayout:"] || _objj_forward)(self, "setNeedsLayout:", YES); +} + +,["void","CPEdgeInsets"]), new objj_method(sel_getUid("detachesHiddenViews"), function $CPStackView__detachesHiddenViews(self, _cmd) +{ + return self._detachesHiddenViews; +} + +,["BOOL"]), new objj_method(sel_getUid("setDetachesHiddenViews:"), function $CPStackView__setDetachesHiddenViews_(self, _cmd, shouldDetach) +{ + if (self._detachesHiddenViews === shouldDetach) + return; + self._detachesHiddenViews = shouldDetach; + (self.isa.method_msgSend["setNeedsLayout:"] || _objj_forward)(self, "setNeedsLayout:", YES); +} + +,["void","BOOL"]), new objj_method(sel_getUid("_containerForGravity:"), function $CPStackView___containerForGravity_(self, _cmd, gravity) +{ + if (gravity === CPStackViewGravityCenter) + return self._viewsCenter; + else if (gravity === CPStackViewGravityTrailing) + return self._viewsTrailing; + return self._viewsLeading; +} + +,["CPArray","CPStackViewGravity"]), new objj_method(sel_getUid("addView:inGravity:"), function $CPStackView__addView_inGravity_(self, _cmd, aView, gravity) +{ + var container = (self.isa.method_msgSend["_containerForGravity:"] || _objj_forward)(self, "_containerForGravity:", gravity); + if (((___r1 = self._arrangedSubviews), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["containsObject:"] || _objj_forward)(___r1, "containsObject:", aView))) + (self.isa.method_msgSend["removeView:"] || _objj_forward)(self, "removeView:", aView); + (container == null ? container : (container.isa.method_msgSend["addObject:"] || _objj_forward)(container, "addObject:", aView)); + ((___r1 = self._arrangedSubviews), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["addObject:"] || _objj_forward)(___r1, "addObject:", aView)); + if ((aView == null ? aView : (aView.isa.method_msgSend["superview"] || _objj_forward)(aView, "superview")) !== self) + (self.isa.method_msgSend["addSubview:"] || _objj_forward)(self, "addSubview:", aView); + (self.isa.method_msgSend["setNeedsLayout:"] || _objj_forward)(self, "setNeedsLayout:", YES); + var ___r1; +} + +,["void","CPView","CPStackViewGravity"]), new objj_method(sel_getUid("insertView:atIndex:inGravity:"), function $CPStackView__insertView_atIndex_inGravity_(self, _cmd, aView, index, gravity) +{ + var container = (self.isa.method_msgSend["_containerForGravity:"] || _objj_forward)(self, "_containerForGravity:", gravity); + if (((___r1 = self._arrangedSubviews), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["containsObject:"] || _objj_forward)(___r1, "containsObject:", aView))) + (self.isa.method_msgSend["removeView:"] || _objj_forward)(self, "removeView:", aView); + if (index >= (container == null ? container : (container.isa.method_msgSend["count"] || _objj_forward)(container, "count"))) + (container == null ? container : (container.isa.method_msgSend["addObject:"] || _objj_forward)(container, "addObject:", aView)); + else + (container == null ? container : (container.isa.method_msgSend["insertObject:atIndex:"] || _objj_forward)(container, "insertObject:atIndex:", aView, index)); + ((___r1 = self._arrangedSubviews), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["addObject:"] || _objj_forward)(___r1, "addObject:", aView)); + if ((aView == null ? aView : (aView.isa.method_msgSend["superview"] || _objj_forward)(aView, "superview")) !== self) + (self.isa.method_msgSend["addSubview:"] || _objj_forward)(self, "addSubview:", aView); + (self.isa.method_msgSend["setNeedsLayout:"] || _objj_forward)(self, "setNeedsLayout:", YES); + var ___r1; +} + +,["void","CPView","CPInteger","CPStackViewGravity"]), new objj_method(sel_getUid("setViews:inGravity:"), function $CPStackView__setViews_inGravity_(self, _cmd, views, gravity) +{ + var container = (self.isa.method_msgSend["_containerForGravity:"] || _objj_forward)(self, "_containerForGravity:", gravity); + for (var i = 0; i < (container == null ? container : (container.isa.method_msgSend["count"] || _objj_forward)(container, "count")); i++) + { + var oldView = container[i]; + (oldView == null ? oldView : (oldView.isa.method_msgSend["removeFromSuperview"] || _objj_forward)(oldView, "removeFromSuperview")); + ((___r1 = self._arrangedSubviews), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["removeObject:"] || _objj_forward)(___r1, "removeObject:", oldView)); + } + (container == null ? container : (container.isa.method_msgSend["removeAllObjects"] || _objj_forward)(container, "removeAllObjects")); + for (var i = 0; i < (views == null ? views : (views.isa.method_msgSend["count"] || _objj_forward)(views, "count")); i++) + { + var newView = views[i]; + (container == null ? container : (container.isa.method_msgSend["addObject:"] || _objj_forward)(container, "addObject:", newView)); + ((___r1 = self._arrangedSubviews), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["addObject:"] || _objj_forward)(___r1, "addObject:", newView)); + (self.isa.method_msgSend["addSubview:"] || _objj_forward)(self, "addSubview:", newView); + } + (self.isa.method_msgSend["setNeedsLayout:"] || _objj_forward)(self, "setNeedsLayout:", YES); + var ___r1; +} + +,["void","CPArray","CPStackViewGravity"]), new objj_method(sel_getUid("removeView:"), function $CPStackView__removeView_(self, _cmd, aView) +{ + if (!((___r1 = self._arrangedSubviews), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["containsObject:"] || _objj_forward)(___r1, "containsObject:", aView))) + return; + ((___r1 = self._viewsLeading), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["removeObject:"] || _objj_forward)(___r1, "removeObject:", aView)); + ((___r1 = self._viewsCenter), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["removeObject:"] || _objj_forward)(___r1, "removeObject:", aView)); + ((___r1 = self._viewsTrailing), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["removeObject:"] || _objj_forward)(___r1, "removeObject:", aView)); + ((___r1 = self._arrangedSubviews), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["removeObject:"] || _objj_forward)(___r1, "removeObject:", aView)); + (aView == null ? aView : (aView.isa.method_msgSend["removeFromSuperview"] || _objj_forward)(aView, "removeFromSuperview")); + (self.isa.method_msgSend["setNeedsLayout:"] || _objj_forward)(self, "setNeedsLayout:", YES); + var ___r1; +} + +,["void","CPView"]), new objj_method(sel_getUid("viewsInGravity:"), function $CPStackView__viewsInGravity_(self, _cmd, gravity) +{ + return ((___r1 = (self.isa.method_msgSend["_containerForGravity:"] || _objj_forward)(self, "_containerForGravity:", gravity)), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["copy"] || _objj_forward)(___r1, "copy")); + var ___r1; +} + +,["CPArray","CPStackViewGravity"]), new objj_method(sel_getUid("arrangedSubviews"), function $CPStackView__arrangedSubviews(self, _cmd) +{ + return ((___r1 = self._arrangedSubviews), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["copy"] || _objj_forward)(___r1, "copy")); + var ___r1; +} + +,["CPArray"]), new objj_method(sel_getUid("addArrangedSubview:"), function $CPStackView__addArrangedSubview_(self, _cmd, view) +{ + (self.isa.method_msgSend["addView:inGravity:"] || _objj_forward)(self, "addView:inGravity:", view, CPStackViewGravityLeading); +} + +,["void","CPView"]), new objj_method(sel_getUid("removeArrangedSubview:"), function $CPStackView__removeArrangedSubview_(self, _cmd, view) +{ + (self.isa.method_msgSend["removeView:"] || _objj_forward)(self, "removeView:", view); +} + +,["void","CPView"]), new objj_method(sel_getUid("customSpacingAfterView:"), function $CPStackView__customSpacingAfterView_(self, _cmd, aView) +{ + var val = ((___r1 = self._customSpacings), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["objectForKey:"] || _objj_forward)(___r1, "objectForKey:", aView)); + if (val) + return (val == null ? val : (val.isa.method_msgSend["floatValue"] || _objj_forward)(val, "floatValue")); + return CPStackViewSpacingUseDefault; + var ___r1; +} + +,["float","CPView"]), new objj_method(sel_getUid("setCustomSpacing:afterView:"), function $CPStackView__setCustomSpacing_afterView_(self, _cmd, spacing, aView) +{ + if (spacing === CPStackViewSpacingUseDefault) + ((___r1 = self._customSpacings), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["removeObjectForKey:"] || _objj_forward)(___r1, "removeObjectForKey:", aView)); + else + ((___r1 = self._customSpacings), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["setObject:forKey:"] || _objj_forward)(___r1, "setObject:forKey:", spacing, aView)); + (self.isa.method_msgSend["setNeedsLayout:"] || _objj_forward)(self, "setNeedsLayout:", YES); + var ___r1; +} + +,["void","float","CPView"]), new objj_method(sel_getUid("_spacingAfterView:"), function $CPStackView___spacingAfterView_(self, _cmd, aView) +{ + var custom = (self.isa.method_msgSend["customSpacingAfterView:"] || _objj_forward)(self, "customSpacingAfterView:", aView); + if (custom !== CPStackViewSpacingUseDefault) + return custom; + return self._spacing; +} + +,["float","CPView"]), new objj_method(sel_getUid("setVisibilityPriority:forView:"), function $CPStackView__setVisibilityPriority_forView_(self, _cmd, priority, aView) +{ + ((___r1 = self._visibilityPriorities), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["setObject:forKey:"] || _objj_forward)(___r1, "setObject:forKey:", priority, aView)); + if (priority === CPStackViewVisibilityPriorityNotVisible) + { + (aView == null ? aView : (aView.isa.method_msgSend["setHidden:"] || _objj_forward)(aView, "setHidden:", YES)); + } + else if (priority === CPStackViewVisibilityPriorityMustHold) + { + (aView == null ? aView : (aView.isa.method_msgSend["setHidden:"] || _objj_forward)(aView, "setHidden:", NO)); + } + (self.isa.method_msgSend["setNeedsLayout:"] || _objj_forward)(self, "setNeedsLayout:", YES); + var ___r1; +} + +,["void","float","CPView"]), new objj_method(sel_getUid("visibilityPriorityForView:"), function $CPStackView__visibilityPriorityForView_(self, _cmd, aView) +{ + var val = ((___r1 = self._visibilityPriorities), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["objectForKey:"] || _objj_forward)(___r1, "objectForKey:", aView)); + if (val) + return (val == null ? val : (val.isa.method_msgSend["floatValue"] || _objj_forward)(val, "floatValue")); + return CPStackViewVisibilityPriorityMustHold; + var ___r1; +} + +,["float","CPView"]), new objj_method(sel_getUid("resizeSubviewsWithOldSize:"), function $CPStackView__resizeSubviewsWithOldSize_(self, _cmd, oldSize) +{ + (self.isa.method_msgSend["layoutSubviews"] || _objj_forward)(self, "layoutSubviews"); +} + +,["void","CGSize"]), new objj_method(sel_getUid("layoutSubviews"), function $CPStackView__layoutSubviews(self, _cmd) +{ + if (self._orientation === CPUserInterfaceLayoutOrientationVertical) + (self.isa.method_msgSend["_layoutVertical"] || _objj_forward)(self, "_layoutVertical"); + else + (self.isa.method_msgSend["_layoutHorizontal"] || _objj_forward)(self, "_layoutHorizontal"); +} + +,["void"]), new objj_method(sel_getUid("_layoutHorizontal"), function $CPStackView___layoutHorizontal(self, _cmd) +{ + var bounds = (self.isa.method_msgSend["bounds"] || _objj_forward)(self, "bounds"), + availWidth = CGRectGetWidth(bounds) - self._edgeInsets.left - self._edgeInsets.right, + availHeight = CGRectGetHeight(bounds) - self._edgeInsets.top - self._edgeInsets.bottom, + currentX = self._edgeInsets.left; + currentX = (self.isa.method_msgSend["_layoutViews:startOffset:availableOrthogonalSize:direction:"] || _objj_forward)(self, "_layoutViews:startOffset:availableOrthogonalSize:direction:", self._viewsLeading, currentX, availHeight, 1); + var startRight = CGRectGetWidth(bounds) - self._edgeInsets.right; + (self.isa.method_msgSend["_layoutViews:startOffset:availableOrthogonalSize:direction:"] || _objj_forward)(self, "_layoutViews:startOffset:availableOrthogonalSize:direction:", self._viewsTrailing, startRight, availHeight, -1); + if (((___r1 = self._viewsCenter), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["count"] || _objj_forward)(___r1, "count")) > 0) + { + var centerStackWidth = 0.0; + for (var i = 0; i < ((___r1 = self._viewsCenter), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["count"] || _objj_forward)(___r1, "count")); i++) + { + var view = self._viewsCenter[i]; + if (self._detachesHiddenViews && (view == null ? view : (view.isa.method_msgSend["isHidden"] || _objj_forward)(view, "isHidden"))) + continue; + centerStackWidth += CGRectGetWidth((view == null ? view : (view.isa.method_msgSend["frame"] || _objj_forward)(view, "frame"))); + if (i < ((___r1 = self._viewsCenter), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["count"] || _objj_forward)(___r1, "count")) - 1) + centerStackWidth += (self.isa.method_msgSend["_spacingAfterView:"] || _objj_forward)(self, "_spacingAfterView:", view); + } + var centerStart = CGRectGetWidth(bounds) / 2.0 - centerStackWidth / 2.0; + if (centerStart < currentX) + centerStart = currentX; + (self.isa.method_msgSend["_layoutViews:startOffset:availableOrthogonalSize:direction:"] || _objj_forward)(self, "_layoutViews:startOffset:availableOrthogonalSize:direction:", self._viewsCenter, centerStart, availHeight, 1); + } + var ___r1; +} + +,["void"]), new objj_method(sel_getUid("_layoutVertical"), function $CPStackView___layoutVertical(self, _cmd) +{ + var bounds = (self.isa.method_msgSend["bounds"] || _objj_forward)(self, "bounds"), + availWidth = CGRectGetWidth(bounds) - self._edgeInsets.left - self._edgeInsets.right, + availHeight = CGRectGetHeight(bounds) - self._edgeInsets.top - self._edgeInsets.bottom, + currentY = self._edgeInsets.top; + currentY = (self.isa.method_msgSend["_layoutViews:startOffset:availableOrthogonalSize:direction:"] || _objj_forward)(self, "_layoutViews:startOffset:availableOrthogonalSize:direction:", self._viewsLeading, currentY, availWidth, 1); + var startBottom = CGRectGetHeight(bounds) - self._edgeInsets.bottom; + (self.isa.method_msgSend["_layoutViews:startOffset:availableOrthogonalSize:direction:"] || _objj_forward)(self, "_layoutViews:startOffset:availableOrthogonalSize:direction:", self._viewsTrailing, startBottom, availWidth, -1); + if (((___r1 = self._viewsCenter), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["count"] || _objj_forward)(___r1, "count")) > 0) + { + var centerStackHeight = 0.0; + for (var i = 0; i < ((___r1 = self._viewsCenter), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["count"] || _objj_forward)(___r1, "count")); i++) + { + var view = self._viewsCenter[i]; + if (self._detachesHiddenViews && (view == null ? view : (view.isa.method_msgSend["isHidden"] || _objj_forward)(view, "isHidden"))) + continue; + centerStackHeight += CGRectGetHeight((view == null ? view : (view.isa.method_msgSend["frame"] || _objj_forward)(view, "frame"))); + if (i < ((___r1 = self._viewsCenter), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["count"] || _objj_forward)(___r1, "count")) - 1) + centerStackHeight += (self.isa.method_msgSend["_spacingAfterView:"] || _objj_forward)(self, "_spacingAfterView:", view); + } + var centerStart = CGRectGetHeight(bounds) / 2.0 - centerStackHeight / 2.0; + if (centerStart < currentY) + centerStart = currentY; + (self.isa.method_msgSend["_layoutViews:startOffset:availableOrthogonalSize:direction:"] || _objj_forward)(self, "_layoutViews:startOffset:availableOrthogonalSize:direction:", self._viewsCenter, centerStart, availWidth, 1); + } + var ___r1; +} + +,["void"]), new objj_method(sel_getUid("_layoutViews:startOffset:availableOrthogonalSize:direction:"), function $CPStackView___layoutViews_startOffset_availableOrthogonalSize_direction_(self, _cmd, views, offset, orthoSize, dir) +{ + var cursor = offset; + var isVert = self._orientation === CPUserInterfaceLayoutOrientationVertical; + var count = (views == null ? views : (views.isa.method_msgSend["count"] || _objj_forward)(views, "count")); + if (count === 0) + return cursor; + var i = dir === 1 ? 0 : count - 1; + var limit = dir === 1 ? count : -1; + var step = dir === 1 ? 1 : -1; + for (; i !== limit; i += step) + { + var view = views[i]; + if (self._detachesHiddenViews && (view == null ? view : (view.isa.method_msgSend["isHidden"] || _objj_forward)(view, "isHidden"))) + continue; + var viewFrame = (view == null ? view : (view.isa.method_msgSend["frame"] || _objj_forward)(view, "frame")); + var viewSizePrimary = isVert ? CGRectGetHeight(viewFrame) : CGRectGetWidth(viewFrame); + var orthoPos = 0.0; + var viewOrthoSize = isVert ? CGRectGetWidth(viewFrame) : CGRectGetHeight(viewFrame); + if (isVert) + { + if (self._alignment === CPLayoutAttributeWidth || self._alignment === CPLayoutAttributeLeading || self._alignment === CPLayoutAttributeTrailing) + { + if (self._alignment === CPLayoutAttributeWidth || self._alignment === CPLayoutAttributeLeft || self._alignment === CPLayoutAttributeLeading) + { + if (self._alignment === CPLayoutAttributeWidth) + viewOrthoSize = orthoSize; + orthoPos = self._edgeInsets.left; + } + else if (self._alignment === CPLayoutAttributeRight || self._alignment === CPLayoutAttributeTrailing) + { + orthoPos = self._edgeInsets.left + (orthoSize - viewOrthoSize); + } + else + { + orthoPos = self._edgeInsets.left + (orthoSize - viewOrthoSize) / 2.0; + } + } + else + { + orthoPos = self._edgeInsets.left + (orthoSize - viewOrthoSize) / 2.0; + } + } + else + { + if (self._alignment === CPLayoutAttributeHeight || self._alignment === CPLayoutAttributeTop || self._alignment === CPLayoutAttributeBottom) + { + if (self._alignment === CPLayoutAttributeHeight) + { + viewOrthoSize = orthoSize; + orthoPos = self._edgeInsets.top; + } + else if (self._alignment === CPLayoutAttributeTop) + { + orthoPos = self._edgeInsets.top; + } + else if (self._alignment === CPLayoutAttributeBottom) + { + orthoPos = self._edgeInsets.top + (orthoSize - viewOrthoSize); + } + else + { + orthoPos = self._edgeInsets.top + (orthoSize - viewOrthoSize) / 2.0; + } + } + else + { + orthoPos = self._edgeInsets.top + (orthoSize - viewOrthoSize) / 2.0; + } + } + var originX = 0.0, + originY = 0.0; + var sizeW = 0.0, + sizeH = 0.0; + if (isVert) + { + sizeH = viewSizePrimary; + sizeW = viewOrthoSize; + originX = orthoPos; + if (dir === 1) + { + originY = cursor; + cursor += sizeH + (self.isa.method_msgSend["_spacingAfterView:"] || _objj_forward)(self, "_spacingAfterView:", view); + } + else + { + cursor -= sizeH; + originY = cursor; + cursor -= (self.isa.method_msgSend["_spacingAfterView:"] || _objj_forward)(self, "_spacingAfterView:", view); + } + } + else + { + sizeW = viewSizePrimary; + sizeH = viewOrthoSize; + originY = orthoPos; + if (dir === 1) + { + originX = cursor; + cursor += sizeW + (self.isa.method_msgSend["_spacingAfterView:"] || _objj_forward)(self, "_spacingAfterView:", view); + } + else + { + cursor -= sizeW; + originX = cursor; + cursor -= (self.isa.method_msgSend["_spacingAfterView:"] || _objj_forward)(self, "_spacingAfterView:", view); + } + } + (view == null ? view : (view.isa.method_msgSend["setFrame:"] || _objj_forward)(view, "setFrame:", CGRectMake(originX, originY, sizeW, sizeH))); + } + return cursor; +} + +,["float","CPArray","float","float","int"]), new objj_method(sel_getUid("initWithCoder:"), function $CPStackView__initWithCoder_(self, _cmd, aCoder) +{ + self = (objj_getClass("CPStackView").super_class.method_dtable["initWithCoder:"] || _objj_forward)(self, "initWithCoder:", aCoder); + if (self) + { + self._orientation = (aCoder == null ? aCoder : (aCoder.isa.method_msgSend["decodeIntForKey:"] || _objj_forward)(aCoder, "decodeIntForKey:", "CPStackViewOrientation")); + self._alignment = (aCoder == null ? aCoder : (aCoder.isa.method_msgSend["decodeIntForKey:"] || _objj_forward)(aCoder, "decodeIntForKey:", "CPStackViewAlignment")); + self._spacing = (aCoder == null ? aCoder : (aCoder.isa.method_msgSend["decodeFloatForKey:"] || _objj_forward)(aCoder, "decodeFloatForKey:", "CPStackViewSpacing")); + self._edgeInsets = (aCoder == null ? aCoder : (aCoder.isa.method_msgSend["decodeObjectForKey:"] || _objj_forward)(aCoder, "decodeObjectForKey:", "CPStackViewEdgeInsets")); + if (!self._edgeInsets) + self._edgeInsets = CPEdgeInsetsMake(0, 0, 0, 0); + self._detachesHiddenViews = (aCoder == null ? aCoder : (aCoder.isa.method_msgSend["decodeBoolForKey:"] || _objj_forward)(aCoder, "decodeBoolForKey:", "CPStackViewDetachesHiddenViews")); + self._viewsLeading = (aCoder == null ? aCoder : (aCoder.isa.method_msgSend["decodeObjectForKey:"] || _objj_forward)(aCoder, "decodeObjectForKey:", "CPStackViewViewsLeading")) || []; + self._viewsCenter = (aCoder == null ? aCoder : (aCoder.isa.method_msgSend["decodeObjectForKey:"] || _objj_forward)(aCoder, "decodeObjectForKey:", "CPStackViewViewsCenter")) || []; + self._viewsTrailing = (aCoder == null ? aCoder : (aCoder.isa.method_msgSend["decodeObjectForKey:"] || _objj_forward)(aCoder, "decodeObjectForKey:", "CPStackViewViewsTrailing")) || []; + self._arrangedSubviews = ((___r1 = (CPMutableArray.isa.method_msgSend["alloc"] || _objj_forward)(CPMutableArray, "alloc")), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["init"] || _objj_forward)(___r1, "init")); + ((___r1 = self._arrangedSubviews), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["addObjectsFromArray:"] || _objj_forward)(___r1, "addObjectsFromArray:", self._viewsLeading)); + ((___r1 = self._arrangedSubviews), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["addObjectsFromArray:"] || _objj_forward)(___r1, "addObjectsFromArray:", self._viewsCenter)); + ((___r1 = self._arrangedSubviews), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["addObjectsFromArray:"] || _objj_forward)(___r1, "addObjectsFromArray:", self._viewsTrailing)); + self._customSpacings = (aCoder == null ? aCoder : (aCoder.isa.method_msgSend["decodeObjectForKey:"] || _objj_forward)(aCoder, "decodeObjectForKey:", "CPStackViewCustomSpacings")) || ((___r1 = (CPMapTable == null ? CPMapTable : (CPMapTable.isa.method_msgSend["alloc"] || _objj_forward)(CPMapTable, "alloc"))), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["init"] || _objj_forward)(___r1, "init")); + self._visibilityPriorities = ((___r1 = (CPMapTable == null ? CPMapTable : (CPMapTable.isa.method_msgSend["alloc"] || _objj_forward)(CPMapTable, "alloc"))), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["init"] || _objj_forward)(___r1, "init")); + } + return self; + var ___r1; +} + +,["id","CPCoder"]), new objj_method(sel_getUid("encodeWithCoder:"), function $CPStackView__encodeWithCoder_(self, _cmd, aCoder) +{ + (objj_getClass("CPStackView").super_class.method_dtable["encodeWithCoder:"] || _objj_forward)(self, "encodeWithCoder:", aCoder); + (aCoder == null ? aCoder : (aCoder.isa.method_msgSend["encodeInt:forKey:"] || _objj_forward)(aCoder, "encodeInt:forKey:", self._orientation, "CPStackViewOrientation")); + (aCoder == null ? aCoder : (aCoder.isa.method_msgSend["encodeInt:forKey:"] || _objj_forward)(aCoder, "encodeInt:forKey:", self._alignment, "CPStackViewAlignment")); + (aCoder == null ? aCoder : (aCoder.isa.method_msgSend["encodeFloat:forKey:"] || _objj_forward)(aCoder, "encodeFloat:forKey:", self._spacing, "CPStackViewSpacing")); + (aCoder == null ? aCoder : (aCoder.isa.method_msgSend["encodeObject:forKey:"] || _objj_forward)(aCoder, "encodeObject:forKey:", self._edgeInsets, "CPStackViewEdgeInsets")); + (aCoder == null ? aCoder : (aCoder.isa.method_msgSend["encodeBool:forKey:"] || _objj_forward)(aCoder, "encodeBool:forKey:", self._detachesHiddenViews, "CPStackViewDetachesHiddenViews")); + (aCoder == null ? aCoder : (aCoder.isa.method_msgSend["encodeObject:forKey:"] || _objj_forward)(aCoder, "encodeObject:forKey:", self._viewsLeading, "CPStackViewViewsLeading")); + (aCoder == null ? aCoder : (aCoder.isa.method_msgSend["encodeObject:forKey:"] || _objj_forward)(aCoder, "encodeObject:forKey:", self._viewsCenter, "CPStackViewViewsCenter")); + (aCoder == null ? aCoder : (aCoder.isa.method_msgSend["encodeObject:forKey:"] || _objj_forward)(aCoder, "encodeObject:forKey:", self._viewsTrailing, "CPStackViewViewsTrailing")); + (aCoder == null ? aCoder : (aCoder.isa.method_msgSend["encodeObject:forKey:"] || _objj_forward)(aCoder, "encodeObject:forKey:", self._customSpacings, "CPStackViewCustomSpacings")); +} + +,["void","CPCoder"])]); +class_addMethods(meta_class, [new objj_method(sel_getUid("stackViewWithViews:"), function $CPStackView__stackViewWithViews_(self, _cmd, views) +{ + var stackView = ((___r1 = (CPStackView.isa.method_msgSend["alloc"] || _objj_forward)(CPStackView, "alloc")), ___r1 == null ? ___r1 : (___r1.isa.method_msgSend["initWithFrame:"] || _objj_forward)(___r1, "initWithFrame:", CGRectMakeZero())); + for (var i = 0, count = (views == null ? views : (views.isa.method_msgSend["count"] || _objj_forward)(views, "count")); i < count; i++) + (stackView == null ? stackView : (stackView.isa.method_msgSend["addView:inGravity:"] || _objj_forward)(stackView, "addView:inGravity:", views[i], CPStackViewGravityLeading)); + return stackView; + var ___r1; +} + +,["CPStackView","CPArray"])]); +} p;11;CPStepper.jt;21872;@STATIC;1.0;i;11;CPControl.ji;10;CPButton.ji;13;CPTextField.jt;21803;objj_executeFile("CPControl.j", YES);objj_executeFile("CPButton.j", YES);objj_executeFile("CPTextField.j", YES); {var the_class = objj_allocateClassPair(CPControl, "CPStepper"), meta_class = the_class.isa;class_addIvars(the_class, [new objj_ivar("_valueWraps", "BOOL"), new objj_ivar("_autorepeat", "BOOL"), new objj_ivar("_increment", "int"), new objj_ivar("_maxValue", "int"), new objj_ivar("_minValue", "int"), new objj_ivar("_buttonDown", "CPButton"), new objj_ivar("_buttonUp", "CPButton")]);objj_registerClassPair(the_class); diff --git a/Resources/CPStackViewTest/AppController.j b/Resources/CPStackViewTest/AppController.j new file mode 100644 index 000000000..05db03974 --- /dev/null +++ b/Resources/CPStackViewTest/AppController.j @@ -0,0 +1,207 @@ +/* + * AppController.j + * CPStackViewTest + * + * Created by Daniel Boehringer. + * Copyright 2025, Cappuccino Project. + */ + +@import +@import + +// We import the class to be tested. +// Assuming CPStackView.j is in the same directory or properly included in the build. + +@implementation AppController : CPObject +{ + CPWindow theWindow; + + // We will construct these programmatically for the test + // to avoid needing a .cib file for a new class. + CPStackView stackViewHorizontal; + CPStackView stackViewVertical; + + // Control references + CPCheckBox detachHiddenCheckbox; + CPView toggleTargetView; +} + +- (void)applicationDidFinishLaunching:(CPNotification)aNotification +{ + theWindow = [[CPWindow alloc] initWithContentRect:CGRectMakeZero() styleMask:CPBorderlessBridgeWindowMask]; + var contentView = [theWindow contentView]; + [contentView setBackgroundColor:[CPColor colorWithWhite:0.95 alpha:1.0]]; + + // 1. Create a Label + var label = [CPTextField labelWithTitle:@"CPStackView Manual Test"]; + [label setFont:[CPFont boldSystemFontOfSize:18]]; + [label setFrameOrigin:CGPointMake(20, 20)]; + [contentView addSubview:label]; + + // 2. Create Horizontal Stack View (The primary test subject) + // We frame it in the top half + stackViewHorizontal = [[CPStackView alloc] initWithFrame:CGRectMake(20, 60, 600, 150)]; + [stackViewHorizontal setBackgroundColor:[CPColor whiteColor]]; + [stackViewHorizontal setOrientation:CPUserInterfaceLayoutOrientationHorizontal]; + [stackViewHorizontal setEdgeInsets:CPEdgeInsetsMake(10, 10, 10, 10)]; + + // Add Views to Horizontal Stack + // Leading + [stackViewHorizontal addView:[self _createBoxColor:[CPColor redColor] size:CGSizeMake(40, 40) label:@"L1"] inGravity:CPStackViewGravityLeading]; + [stackViewHorizontal addView:[self _createBoxColor:[CPColor redColor] size:CGSizeMake(60, 80) label:@"L2"] inGravity:CPStackViewGravityLeading]; // Taller to test alignment + + // Center + toggleTargetView = [self _createBoxColor:[CPColor greenColor] size:CGSizeMake(50, 50) label:@"C1\n(Toggle)"]; + [stackViewHorizontal addView:toggleTargetView inGravity:CPStackViewGravityCenter]; + [stackViewHorizontal addView:[self _createBoxColor:[CPColor greenColor] size:CGSizeMake(50, 50) label:@"C2"] inGravity:CPStackViewGravityCenter]; + + // Trailing + [stackViewHorizontal addView:[self _createBoxColor:[CPColor blueColor] size:CGSizeMake(40, 40) label:@"T1"] inGravity:CPStackViewGravityTrailing]; + [stackViewHorizontal addView:[self _createBoxColor:[CPColor blueColor] size:CGSizeMake(40, 40) label:@"T2"] inGravity:CPStackViewGravityTrailing]; + + // Set Autoresizing to stick to width + [stackViewHorizontal setAutoresizingMask:CPViewWidthSizable]; + + // Visual border for the stack view itself + var borderView = [[CPView alloc] initWithFrame:CGRectInset([stackViewHorizontal frame], -1, -1)]; + [borderView setBackgroundColor:[CPColor grayColor]]; + [contentView addSubview:borderView]; + [contentView addSubview:stackViewHorizontal]; + + + // 3. Create Vertical Stack View (Secondary test) + stackViewVertical = [[CPStackView alloc] initWithFrame:CGRectMake(20, 230, 200, 300)]; + [stackViewVertical setBackgroundColor:[CPColor whiteColor]]; + [stackViewVertical setOrientation:CPUserInterfaceLayoutOrientationVertical]; + [stackViewVertical setEdgeInsets:CPEdgeInsetsMake(5, 5, 5, 5)]; + [stackViewVertical setAlignment:CPLayoutAttributeCenterX]; // Center items horizontally + + [stackViewVertical addView:[self _createBoxColor:[CPColor orangeColor] size:CGSizeMake(40, 30) label:@"Top"] inGravity:CPStackViewGravityTop]; + [stackViewVertical addView:[self _createBoxColor:[CPColor purpleColor] size:CGSizeMake(80, 40) label:@"Mid"] inGravity:CPStackViewGravityCenter]; + [stackViewVertical addView:[self _createBoxColor:[CPColor brownColor] size:CGSizeMake(40, 30) label:@"Bot"] inGravity:CPStackViewGravityBottom]; + + var borderViewVert = [[CPView alloc] initWithFrame:CGRectInset([stackViewVertical frame], -1, -1)]; + [borderViewVert setBackgroundColor:[CPColor grayColor]]; + [contentView addSubview:borderViewVert]; + [contentView addSubview:stackViewVertical]; + + + // 4. Controls Area + var controlsY = 230; + var controlsX = 250; + + var btnToggleHide = [CPButton buttonWithTitle:@"Toggle Center View Hidden"]; + [btnToggleHide setFrameOrigin:CGPointMake(controlsX, controlsY)]; + [btnToggleHide setTarget:self]; + [btnToggleHide setAction:@selector(toggleHidden:)]; + [contentView addSubview:btnToggleHide]; + + controlsY += 40; + detachHiddenCheckbox = [CPCheckBox checkBoxWithTitle:@"Detaches Hidden Views"]; + [detachHiddenCheckbox setFrameOrigin:CGPointMake(controlsX, controlsY)]; + [detachHiddenCheckbox setState:CPOnState]; + [detachHiddenCheckbox setTarget:self]; + [detachHiddenCheckbox setAction:@selector(toggleDetaches:)]; + [contentView addSubview:detachHiddenCheckbox]; + + controlsY += 40; + var btnAlignTop = [CPButton buttonWithTitle:@"Align Horizontal: Top"]; + [btnAlignTop setFrameOrigin:CGPointMake(controlsX, controlsY)]; + [btnAlignTop setTarget:self]; + [btnAlignTop setAction:@selector(setAlignmentTop:)]; + [contentView addSubview:btnAlignTop]; + + controlsY += 30; + var btnAlignCenter = [CPButton buttonWithTitle:@"Align Horizontal: CenterY"]; + [btnAlignCenter setFrameOrigin:CGPointMake(controlsX, controlsY)]; + [btnAlignCenter setTarget:self]; + [btnAlignCenter setAction:@selector(setAlignmentCenter:)]; + [contentView addSubview:btnAlignCenter]; + + controlsY += 30; + var btnAlignFill = [CPButton buttonWithTitle:@"Align Horizontal: Height (Fill)"]; + [btnAlignFill setFrameOrigin:CGPointMake(controlsX, controlsY)]; + [btnAlignFill setTarget:self]; + [btnAlignFill setAction:@selector(setAlignmentHeight:)]; + [contentView addSubview:btnAlignFill]; + + controlsY += 40; + var btnSpacing = [CPButton buttonWithTitle:@"Increase Spacing"]; + [btnSpacing setFrameOrigin:CGPointMake(controlsX, controlsY)]; + [btnSpacing setTarget:self]; + [btnSpacing setAction:@selector(changeSpacing:)]; + [contentView addSubview:btnSpacing]; + + [theWindow setFullPlatformWindow:YES]; + [theWindow orderFront:self]; +} + +- (void)awakeFromCib +{ + // If we were using a Cib, initialization would happen here. +} + +#pragma mark - +#pragma mark Actions + +- (@action)toggleHidden:(id)sender +{ + var isHidden = [toggleTargetView isHidden]; + [toggleTargetView setHidden:!isHidden]; + + // In standard Cocoa, hiding a view triggers layout if stackView is observing, + // but in this manual implementation, we might need to nudge it or ensure + // setHidden triggers needsLayout on superview. + // The CPStackView provided relies on 'layoutSubviews' being called. + + [stackViewHorizontal setNeedsLayout:YES]; +} + +- (@action)toggleDetaches:(id)sender +{ + [stackViewHorizontal setDetachesHiddenViews:([sender state] === CPOnState)]; +} + +- (@action)setAlignmentTop:(id)sender +{ + [stackViewHorizontal setAlignment:CPLayoutAttributeTop]; +} + +- (@action)setAlignmentCenter:(id)sender +{ + [stackViewHorizontal setAlignment:CPLayoutAttributeCenterY]; +} + +- (@action)setAlignmentHeight:(id)sender +{ + [stackViewHorizontal setAlignment:CPLayoutAttributeHeight]; +} + +- (@action)changeSpacing:(id)sender +{ + var current = [stackViewHorizontal spacing]; + [stackViewHorizontal setSpacing:(current >= 20.0 ? 8.0 : current + 4.0)]; +} + +#pragma mark - +#pragma mark Helpers + +- (CPView)_createBoxColor:(CPColor)aColor size:(CGSize)aSize label:(CPString)text +{ + var view = [[CPView alloc] initWithFrame:CGRectMake(0, 0, aSize.width, aSize.height)]; + [view setBackgroundColor:aColor]; + + var label = [[CPTextField alloc] initWithFrame:CGRectInset([view bounds], 2, 2)]; + [label setStringValue:text]; + [label setTextColor:[CPColor whiteColor]]; + [label setAlignment:CPCenterTextAlignment]; + [label setVerticalAlignment:CPCenterVerticalTextAlignment]; + [label setAutoresizingMask:CPViewWidthSizable | CPViewHeightSizable]; + [label setLineBreakMode:CPLineBreakByWordWrapping]; + + [view addSubview:label]; + + return view; +} + +@end diff --git a/Resources/CPStackViewTest/Info.plist b/Resources/CPStackViewTest/Info.plist new file mode 100644 index 000000000..7f51d542f --- /dev/null +++ b/Resources/CPStackViewTest/Info.plist @@ -0,0 +1,10 @@ + + + + + Main cib file base name + MainMenu.cib + CPBundleName + CPStackViewTest + + diff --git a/Resources/CPStackViewTest/Jakefile b/Resources/CPStackViewTest/Jakefile new file mode 100644 index 000000000..a4174055a --- /dev/null +++ b/Resources/CPStackViewTest/Jakefile @@ -0,0 +1,94 @@ +/* + * Jakefile + * CPSplitViewTest + * + * Created by Alexander Ljungberg on January 27, 2012. + * Copyright 2012, WireLoad 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 ("CPSplitViewTest", function(task) +{ + task.setBuildIntermediatesPath(FILE.join("Build", "CPSplitViewTest.build", configuration)); + task.setBuildPath(FILE.join("Build", configuration)); + + task.setProductName("CPSplitViewTest"); + task.setIdentifier("com.yourcompany.CPSplitViewTest"); + task.setVersion("1.0"); + task.setAuthor("WireLoad"); + task.setEmail("feedback @nospam@ yourcompany.com"); + task.setSummary("CPSplitViewTest"); + 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", ["CPSplitViewTest"], 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", "CPSplitViewTest", "index.html")]); +}); + +task ("run-release", ["release"], function() +{ + OS.system(["open", FILE.join("Build", "Release", "CPSplitViewTest", "index.html")]); +}); + +task ("deploy", ["release"], function() +{ + FILE.mkdirs(FILE.join("Build", "Deployment", "CPSplitViewTest")); + OS.system(["press", "-f", FILE.join("Build", "Release", "CPSplitViewTest"), FILE.join("Build", "Deployment", "CPSplitViewTest")]); + printResults("Deployment") +}); + +task ("desktop", ["release"], function() +{ + FILE.mkdirs(FILE.join("Build", "Desktop", "CPSplitViewTest")); + require("cappuccino/nativehost").buildNativeHost(FILE.join("Build", "Release", "CPSplitViewTest"), FILE.join("Build", "Desktop", "CPSplitViewTest", "CPSplitViewTest.app")); + printResults("Desktop") +}); + +task ("run-desktop", ["desktop"], function() +{ + OS.system([FILE.join("Build", "Desktop", "CPSplitViewTest", "CPSplitViewTest.app", "Contents", "MacOS", "NativeHost"), "-i"]); +}); + +function printResults(configuration) +{ + print("----------------------------"); + print(configuration+" app built at path: "+FILE.join("Build", configuration, "CPSplitViewTest")); + print("----------------------------"); +} diff --git a/Resources/CPStackViewTest/Resources/MainMenu.cib b/Resources/CPStackViewTest/Resources/MainMenu.cib new file mode 100644 index 000000000..21dc1cbf9 --- /dev/null +++ b/Resources/CPStackViewTest/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;17E;D;K;6;CP$UIDd;2;18E;D;K;6;CP$UIDd;2;19E;D;K;6;CP$UIDd;2;20E;D;K;6;CP$UIDd;2;22E;D;K;6;CP$UIDd;2;23E;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;24E;D;K;6;CP$UIDd;2;26E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;1;0E;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;1;0E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;1;0E;D;K;6;CP$UIDd;2;49E;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;26E;D;K;6;CP$UIDd;2;28E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;34E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;39E;D;K;6;CP$UIDd;2;30E;D;K;6;CP$UIDd;2;40E;D;K;6;CP$UIDd;2;30E;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;43E;D;K;6;CP$UIDd;2;45E;D;K;6;CP$UIDd;2;46E;D;K;6;CP$UIDd;2;41E;D;K;6;CP$UIDd;2;47E;D;K;6;CP$UIDd;2;48E;D;K;6;CP$UIDd;2;11E;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;2;50E;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;2;51E;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;49E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;52E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;49E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;30E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;53E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;49E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;41E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;54E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;49E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;43E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;55E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;49E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;26E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;56E;E;D;K;6;$classD;K;6;CP$UIDd;2;14E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;30E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;49E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;52E;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;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;39E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;36E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;57E;E;D;K;6;$classD;K;6;CP$UIDd;2;21E;K;24;_CPCibConnectorSourceKeyD;K;6;CP$UIDd;2;34E;K;29;_CPCibConnectorDestinationKeyD;K;6;CP$UIDd;2;49E;K;23;_CPCibConnectorLabelKeyD;K;6;CP$UIDd;2;58E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;2;50E;E;D;K;10;$classnameS;20;_CPCibWindowTemplateK;8;$classesA;S;20;_CPCibWindowTemplateS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;25E;K;30;_CPCibWindowTemplateMaxSizeKeyD;K;6;CP$UIDd;2;59E;K;32;_CPCibWindowTemplateViewClassKeyD;K;6;CP$UIDd;1;0E;K;34;_CPCibWindowTemplateWindowClassKeyD;K;6;CP$UIDd;2;60E;K;30;_CPCibWindowTemplateWTFlagsKeyD;K;6;CP$UIDd;2;61E;K;33;_CPCibWindowTemplateWindowRectKeyD;K;6;CP$UIDd;2;62E;K;33;_CPCibWindowTemplateScreenRectKeyD;K;6;CP$UIDd;2;63E;K;30;_CPCibWindowTempatStyleMaskKeyD;K;6;CP$UIDd;2;64E;K;34;_CPCibWindowTemplateWindowTitleKeyD;K;6;CP$UIDd;2;65E;K;33;_CPCibWindowTemplateWindowViewKeyD;K;6;CP$UIDd;2;28E;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;27E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;67E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;67E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;68E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;69E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;70E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;71E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;71E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;72E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;2;73E;E;D;K;10;$classnameS;11;CPSplitViewK;8;$classesA;S;11;CPSplitViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;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;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;67E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;67E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;74E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;28E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;75E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;76E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;77E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;71E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;71E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;72E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;2;78E;K;22;CPSplitViewDelegateKeyD;K;6;CP$UIDd;1;0E;K;24;CPSplitViewIsVerticalKeyD;K;6;CP$UIDd;2;72E;K;26;CPSplitViewDividerStyleKeyD;K;6;CP$UIDd;2;79E;K;29;CPSplitViewDividerSubviewsKeyD;K;6;CP$UIDd;2;80E;K;30;CPSplitViewArrangedSubviewsKeyD;K;6;CP$UIDd;2;81E;K;26;CPSplitViewRealSubviewsKeyD;K;6;CP$UIDd;2;82E;K;33;CPSplitViewArrangesAllSubviewsKeyD;K;6;CP$UIDd;2;83E;K;26;CPSplitViewAutosaveNameKeyD;K;6;CP$UIDd;2;53E;E;D;K;10;$classnameS;16;_CPCibCustomViewK;8;$classesA;S;16;_CPCibCustomViewS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;84E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;85E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;2;86E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;87E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;69E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;70E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;71E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;71E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;72E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;2;88E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;2;89E;E;D;K;10;$classnameS;8;CPButtonK;8;$classesA;S;8;CPButtonS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;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;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;2;90E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;2;91E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;32E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;92E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;93E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;94E;K;15;$aimage-scalingD;K;6;CP$UIDd;2;66E;K;16;$aimage-positionD;K;6;CP$UIDd;2;66E;K;6;$afontD;K;6;CP$UIDd;2;96E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;66E;K;11;$aalignmentD;K;6;CP$UIDd;2;97E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;71E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;71E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;72E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;2;98E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;66E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;99E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;2;66E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;100E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;101E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;102E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;72E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;103E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;2;66E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;2;83E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;66E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;66E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;K;21;CPButtonIsBorderedKeyD;K;6;CP$UIDd;2;83E;K;21;CPButtonBezelStyleKeyD;K;6;CP$UIDd;3;104E;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;35E;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;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;105E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;106E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;32E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;107E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;108E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;109E;K;6;$afontD;K;6;CP$UIDd;3;111E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;112E;K;11;$aalignmentD;K;6;CP$UIDd;3;113E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;71E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;71E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;72E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;114E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;83E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;102E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;99E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;2;66E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;100E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;83E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;83E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;83E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;116E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;97E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;99E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;2;72E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;2;72E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;2;83E;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;117E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;118E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;119E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;87E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;69E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;70E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;71E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;71E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;72E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;120E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;2;89E;E;D;K;10;$classnameS;8;CPSliderK;8;$classesA;S;8;CPSliderS;9;CPControlS;6;CPViewS;11;CPResponderS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;38E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;37E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;121E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;122E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;37E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;3;107E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;123E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;124E;K;6;$afontD;K;6;CP$UIDd;3;125E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;66E;K;11;$aalignmentD;K;6;CP$UIDd;2;66E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;71E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;71E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;72E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;126E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;127E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;3;128E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;2;66E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;100E;K;19;CPSliderMinValueKeyD;K;6;CP$UIDd;2;66E;K;19;CPSliderMaxValueKeyD;K;6;CP$UIDd;3;129E;K;23;CPSliderAltIncrValueKeyD;K;6;CP$UIDd;2;66E;K;15;CPSliderTypeKeyD;K;6;CP$UIDd;2;66E;K;35;CPSliderAllowsTickMarkValuesOnlyKeyD;K;6;CP$UIDd;2;72E;K;27;CPSliderTickMarkPositionKeyD;K;6;CP$UIDd;3;104E;K;28;CPSliderNumberOfTickMarksKeyD;K;6;CP$UIDd;2;66E;E;D;K;6;$classD;K;6;CP$UIDd;2;35E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;130E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;131E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;92E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;108E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;124E;K;6;$afontD;K;6;CP$UIDd;3;132E;K;17;$aline-break-modeD;K;6;CP$UIDd;3;133E;K;11;$aalignmentD;K;6;CP$UIDd;3;134E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;71E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;71E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;72E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;135E;K;35;CPControlSendsActionOnEndEditingKeyD;K;6;CP$UIDd;2;83E;K;17;CPControlValueKeyD;K;6;CP$UIDd;3;136E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;99E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;2;66E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;100E;K;24;CPTextFieldIsEditableKeyD;K;6;CP$UIDd;2;72E;K;26;CPTextFieldIsSelectableKeyD;K;6;CP$UIDd;2;72E;K;29;CPTextFieldDrawsBackgroundKeyD;K;6;CP$UIDd;2;72E;K;29;CPTextFieldBackgroundColorKeyD;K;6;CP$UIDd;3;137E;K;27;CPTextFieldLineBreakModeKeyD;K;6;CP$UIDd;2;97E;K;23;CPTextFieldAlignmentKeyD;K;6;CP$UIDd;2;99E;K;31;CPTextFieldPlaceholderStringKeyD;K;6;CP$UIDd;1;0E;K;29;CPTextFieldUsesSingleLineModeD;K;6;CP$UIDd;2;72E;K;16;CPTextFieldWrapsD;K;6;CP$UIDd;2;72E;K;18;CPTextFieldScrollsD;K;6;CP$UIDd;2;83E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;30E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;138E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;138E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;139E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;30E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;87E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;76E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;140E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;71E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;71E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;72E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;141E;K;22;CPSplitViewDelegateKeyD;K;6;CP$UIDd;1;0E;K;24;CPSplitViewIsVerticalKeyD;K;6;CP$UIDd;2;83E;K;26;CPSplitViewDividerStyleKeyD;K;6;CP$UIDd;2;97E;K;29;CPSplitViewDividerSubviewsKeyD;K;6;CP$UIDd;3;142E;K;30;CPSplitViewArrangedSubviewsKeyD;K;6;CP$UIDd;3;143E;K;26;CPSplitViewRealSubviewsKeyD;K;6;CP$UIDd;3;144E;K;33;CPSplitViewArrangesAllSubviewsKeyD;K;6;CP$UIDd;2;83E;K;26;CPSplitViewAutosaveNameKeyD;K;6;CP$UIDd;2;54E;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;41E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;145E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;145E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;146E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;41E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;87E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;69E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;70E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;71E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;71E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;72E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;147E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;2;89E;E;D;K;6;$classD;K;6;CP$UIDd;2;29E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;42E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;145E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;145E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;148E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;42E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;75E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;76E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;3;149E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;71E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;71E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;72E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;150E;K;22;CPSplitViewDelegateKeyD;K;6;CP$UIDd;1;0E;K;24;CPSplitViewIsVerticalKeyD;K;6;CP$UIDd;2;72E;K;26;CPSplitViewDividerStyleKeyD;K;6;CP$UIDd;3;104E;K;29;CPSplitViewDividerSubviewsKeyD;K;6;CP$UIDd;3;151E;K;30;CPSplitViewArrangedSubviewsKeyD;K;6;CP$UIDd;3;152E;K;26;CPSplitViewRealSubviewsKeyD;K;6;CP$UIDd;3;153E;K;33;CPSplitViewArrangesAllSubviewsKeyD;K;6;CP$UIDd;2;83E;K;26;CPSplitViewAutosaveNameKeyD;K;6;CP$UIDd;2;55E;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;43E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;154E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;155E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;43E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;87E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;69E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;70E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;71E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;71E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;72E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;156E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;2;89E;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;43E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;157E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;157E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;158E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;43E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;87E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;69E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;70E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;71E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;71E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;72E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;159E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;2;89E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;45E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;160E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;161E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;45E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;87E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;93E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;94E;K;15;$aimage-scalingD;K;6;CP$UIDd;2;66E;K;16;$aimage-positionD;K;6;CP$UIDd;2;66E;K;6;$afontD;K;6;CP$UIDd;2;96E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;66E;K;11;$aalignmentD;K;6;CP$UIDd;2;97E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;71E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;71E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;72E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;162E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;66E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;99E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;2;66E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;100E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;163E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;102E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;72E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;103E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;2;66E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;2;83E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;66E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;66E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;K;21;CPButtonIsBorderedKeyD;K;6;CP$UIDd;2;83E;K;21;CPButtonBezelStyleKeyD;K;6;CP$UIDd;3;104E;E;D;K;6;$classD;K;6;CP$UIDd;2;31E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;41E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;164E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;165E;K;17;CPViewSubviewsKeyD;K;6;CP$UIDd;3;166E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;41E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;87E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;69E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;70E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;71E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;71E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;72E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;167E;K;28;_CPCibCustomViewClassNameKeyD;K;6;CP$UIDd;2;89E;E;D;K;6;$classD;K;6;CP$UIDd;2;33E;K;27;CPResponderNextResponderKeyD;K;6;CP$UIDd;2;47E;K;18;CPResponderMenuKeyD;K;6;CP$UIDd;1;0E;K;12;CPViewTagKeyD;K;6;CP$UIDd;2;66E;K;14;CPViewFrameKeyD;K;6;CP$UIDd;3;168E;K;15;CPViewBoundsKeyD;K;6;CP$UIDd;3;169E;K;18;CPViewSuperviewKeyD;K;6;CP$UIDd;2;47E;K;22;CPViewAutoresizingMaskD;K;6;CP$UIDd;2;87E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;2;93E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;94E;K;15;$aimage-scalingD;K;6;CP$UIDd;2;66E;K;16;$aimage-positionD;K;6;CP$UIDd;2;66E;K;6;$afontD;K;6;CP$UIDd;2;96E;K;17;$aline-break-modeD;K;6;CP$UIDd;2;66E;K;11;$aalignmentD;K;6;CP$UIDd;2;97E;K;14;CPViewScaleKeyD;K;6;CP$UIDd;2;71E;K;18;CPViewSizeScaleKeyD;K;6;CP$UIDd;2;71E;K;17;CPViewIsScaledKeyD;K;6;CP$UIDd;2;72E;K;19;CPViewAppearanceKeyD;K;6;CP$UIDd;1;0E;K;22;CPViewTrackingAreasKeyD;K;6;CP$UIDd;3;170E;K;17;CPControlValueKeyD;K;6;CP$UIDd;2;66E;K;24;CPControlSendActionOnKeyD;K;6;CP$UIDd;2;99E;K;23;CPControlControlSizeKeyD;K;6;CP$UIDd;2;66E;K;33;CPControlBaseWrittingDirectionKeyD;K;6;CP$UIDd;3;100E;K;16;CPButtonTitleKeyD;K;6;CP$UIDd;3;171E;K;25;CPButtonAlternateTitleKeyD;K;6;CP$UIDd;3;102E;K;27;CPButtonAllowsMixedStateKeyD;K;6;CP$UIDd;2;72E;K;23;CPButtonHighlightsByKeyD;K;6;CP$UIDd;3;103E;K;23;CPButtonShowsStateByKeyD;K;6;CP$UIDd;2;66E;K;32;CPButtonImageDimsWhenDisabledKeyD;K;6;CP$UIDd;2;83E;K;24;CPButtonImagePositionKeyD;K;6;CP$UIDd;2;66E;K;28;CPButtonKeyEquivalentMaskKeyD;K;6;CP$UIDd;2;66E;K;24;CPButtonPeriodicDelayKeyD;K;6;CP$UIDd;1;0E;K;27;CPButtonPeriodicIntervalKeyD;K;6;CP$UIDd;1;0E;K;21;CPButtonIsBorderedKeyD;K;6;CP$UIDd;2;83E;K;21;CPButtonBezelStyleKeyD;K;6;CP$UIDd;3;104E;E;D;K;6;$classD;K;6;CP$UIDd;2;10E;K;27;_CPCibCustomObjectClassNameD;K;6;CP$UIDd;3;172E;E;S;13;CPApplicationD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;26E;E;E;S;8;delegateS;10;splitViewAS;10;splitViewBS;10;splitViewCS;9;theWindowS;20;takeDoubleValueFrom:S;15;deleteAutosave:S;32;{10000000000000, 10000000000000}S;8;CPWindowd;10;1946157056S;24;{{335, 668}, {480, 360}}S;22;{{0, 0}, {2560, 1418}}d;1;7S;6;Windowd;1;0S;20;{{0, 0}, {480, 360}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;30E;E;E;S;4;viewS;6;normalS;6;{1, 1}F;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;40E;D;K;6;CP$UIDd;2;32E;D;K;6;CP$UIDd;2;37E;D;K;6;CP$UIDd;2;41E;E;E;d;2;18S;9;splitviewS;31;splitview-divider-pane-splitterD;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;d;1;3D;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;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;T;S;21;{{0, 231}, {480, 85}}S;19;{{0, 0}, {480, 85}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;36E;D;K;6;CP$UIDd;2;34E;E;E;d;1;8D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;6;CPViewS;21;{{20, 33}, {130, 25}}S;19;{{0, 0}, {130, 25}}d;2;36S;6;buttonS;35;bordered+controlSizeRegular+roundedD;K;10;$classnameS;6;CPFontK;8;$classesA;S;6;CPFontS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;2;95E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;173E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;100E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;83E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;72E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;83E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;174E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;70E;E;d;1;2D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;d;1;4d;2;-1S;15;Delete AutosaveS;0;d;2;14d;1;1S;22;{{360, 30}, {104, 22}}S;19;{{0, 0}, {104, 22}}d;2;45S;9;textfieldS;47;bezeled+controlSizeRegular+editable+placeholderD;K;10;$classnameS;17;_CPThemeAttributeK;8;$classesA;S;17;_CPThemeAttributeS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;110E;K;4;nameD;K;6;CP$UIDd;3;174E;K;12;defaultValueD;K;6;CP$UIDd;3;176E;K;6;valuesD;K;6;CP$UIDd;3;178E;E;D;K;6;$classD;K;6;CP$UIDd;3;110E;K;4;nameD;K;6;CP$UIDd;3;179E;K;12;defaultValueD;K;6;CP$UIDd;2;97E;K;6;valuesD;K;6;CP$UIDd;3;180E;E;D;K;6;$classD;K;6;CP$UIDd;3;110E;K;4;nameD;K;6;CP$UIDd;3;181E;K;12;defaultValueD;K;6;CP$UIDd;2;66E;K;6;valuesD;K;6;CP$UIDd;3;182E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;184E;D;K;6;CP$UIDd;3;185E;E;E;D;K;10;$classnameS;7;CPColorK;8;$classesA;S;7;CPColorS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;115E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;186E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;187E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;70E;E;S;21;{{0, 142}, {480, 79}}S;19;{{0, 0}, {480, 79}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;39E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;21;{{194, 31}, {92, 21}}S;18;{{0, 0}, {92, 21}}S;6;sliderS;18;controlSizeRegularD;K;6;$classD;K;6;CP$UIDd;2;95E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;188E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;189E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;72E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;72E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;72E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;174E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;70E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;d;2;50d;2;68d;3;100S;21;{{2, 326}, {476, 34}}S;19;{{0, 0}, {476, 34}}D;K;6;$classD;K;6;CP$UIDd;3;110E;K;4;nameD;K;6;CP$UIDd;3;174E;K;12;defaultValueD;K;6;CP$UIDd;3;176E;K;6;valuesD;K;6;CP$UIDd;3;190E;E;D;K;6;$classD;K;6;CP$UIDd;3;110E;K;4;nameD;K;6;CP$UIDd;3;179E;K;12;defaultValueD;K;6;CP$UIDd;2;97E;K;6;valuesD;K;6;CP$UIDd;3;191E;E;D;K;6;$classD;K;6;CP$UIDd;3;110E;K;4;nameD;K;6;CP$UIDd;3;181E;K;12;defaultValueD;K;6;CP$UIDd;2;66E;K;6;valuesD;K;6;CP$UIDd;3;192E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;193E;E;E;S;5;LabelD;K;6;$classD;K;6;CP$UIDd;3;115E;K;20;CPColorComponentsKeyD;K;6;CP$UIDd;3;194E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;187E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;70E;E;S;20;{{0, 0}, {480, 132}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;42E;D;K;6;CP$UIDd;2;47E;E;E;S;31;splitview-divider-thin+verticalD;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;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;S;20;{{0, 0}, {246, 132}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;43E;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;44E;D;K;6;CP$UIDd;2;45E;E;E;S;78;dummy one as CPSplitViewDividerStyle is not zero-based+splitview-divider-thickD;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;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;S;20;{{0, 81}, {246, 51}}S;19;{{0, 0}, {246, 51}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;19;{{0, 0}, {246, 72}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;46E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;21;{{72, 26}, {102, 25}}S;19;{{0, 0}, {102, 25}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;11;Bottom LeftS;22;{{247, 0}, {233, 132}}S;20;{{0, 0}, {233, 132}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;2;48E;E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;20;{{86, 56}, {61, 25}}S;18;{{0, 0}, {61, 25}}D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;E;E;S;5;RightS;13;AppControllerS;28;_CPFontSystemFacePlaceholderS;4;fontD;K;10;$classnameS;6;CPNullK;8;$classesA;S;6;CPNullS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;175E;E;D;K;10;$classnameS;12;CPDictionaryK;8;$classesA;S;12;CPDictionaryS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;177E;K;10;CP.objectsD;K;13;tableDataViewD;K;6;CP$UIDd;3;195E;K;6;normalD;K;6;CP$UIDd;3;195E;E;E;S;15;line-break-modeD;K;6;$classD;K;6;CP$UIDd;3;177E;K;10;CP.objectsD;K;13;tableDataViewD;K;6;CP$UIDd;2;97E;K;6;normalD;K;6;CP$UIDd;2;97E;E;E;S;9;alignmentD;K;6;$classD;K;6;CP$UIDd;3;177E;K;10;CP.objectsD;K;13;tableDataViewD;K;6;CP$UIDd;2;99E;K;6;normalD;K;6;CP$UIDd;2;99E;E;E;D;K;10;$classnameS;14;CPTrackingAreaK;8;$classesA;S;14;CPTrackingAreaS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;183E;K;25;CPTrackinkAreaViewRectKeyD;K;6;CP$UIDd;3;197E;K;24;CPTrackingAreaOptionsKeyD;K;6;CP$UIDd;3;198E;K;22;CPTrackingAreaOwnerKeyD;K;6;CP$UIDd;2;36E;K;25;CPTrackingAreaUserInfoKeyD;K;6;CP$UIDd;1;0E;K;32;CPTrackingAreaReferencingViewKeyD;K;6;CP$UIDd;2;36E;K;24;CPTrackingAreaWindowRectD;K;6;CP$UIDd;3;199E;E;D;K;6;$classD;K;6;CP$UIDd;3;183E;K;25;CPTrackinkAreaViewRectKeyD;K;6;CP$UIDd;3;200E;K;24;CPTrackingAreaOptionsKeyD;K;6;CP$UIDd;3;201E;K;22;CPTrackingAreaOwnerKeyD;K;6;CP$UIDd;2;36E;K;25;CPTrackingAreaUserInfoKeyD;K;6;CP$UIDd;1;0E;K;32;CPTrackingAreaReferencingViewKeyD;K;6;CP$UIDd;2;36E;K;24;CPTrackingAreaWindowRectD;K;6;CP$UIDd;3;202E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;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;104E;E;E;S;5;colorS;9;Helveticad;2;12D;K;6;$classD;K;6;CP$UIDd;3;177E;K;10;CP.objectsD;K;13;tableDataViewD;K;6;CP$UIDd;3;195E;K;6;normalD;K;6;CP$UIDd;3;195E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;177E;K;10;CP.objectsD;K;13;tableDataViewD;K;6;CP$UIDd;2;97E;K;6;normalD;K;6;CP$UIDd;2;97E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;177E;K;10;CP.objectsD;K;13;tableDataViewD;K;6;CP$UIDd;2;99E;K;6;normalD;K;6;CP$UIDd;2;99E;E;E;D;K;6;$classD;K;6;CP$UIDd;3;183E;K;25;CPTrackinkAreaViewRectKeyD;K;6;CP$UIDd;3;203E;K;24;CPTrackingAreaOptionsKeyD;K;6;CP$UIDd;3;201E;K;22;CPTrackingAreaOwnerKeyD;K;6;CP$UIDd;2;40E;K;25;CPTrackingAreaUserInfoKeyD;K;6;CP$UIDd;1;0E;K;32;CPTrackingAreaReferencingViewKeyD;K;6;CP$UIDd;2;40E;K;24;CPTrackingAreaWindowRectD;K;6;CP$UIDd;3;204E;E;D;K;6;$classD;K;6;CP$UIDd;1;3E;K;10;CP.objectsA;D;K;6;CP$UIDd;3;205E;D;K;6;CP$UIDd;3;205E;D;K;6;CP$UIDd;3;205E;D;K;6;CP$UIDd;3;104E;E;E;D;K;6;$classD;K;6;CP$UIDd;2;95E;K;13;CPFontNameKeyD;K;6;CP$UIDd;3;173E;K;13;CPFontSizeKeyD;K;6;CP$UIDd;3;100E;K;15;CPFontIsBoldKeyD;K;6;CP$UIDd;2;72E;K;17;CPFontIsItalicKeyD;K;6;CP$UIDd;2;72E;K;17;CPFontIsSystemKeyD;K;6;CP$UIDd;2;83E;K;19;CPViewThemeClassKeyD;K;6;CP$UIDd;3;174E;K;19;CPViewThemeStateKeyD;K;6;CP$UIDd;2;70E;E;D;K;10;$classnameS;21;_CPKeyedArchiverValueK;8;$classesA;S;21;_CPKeyedArchiverValueS;7;CPValueS;8;CPObjectE;E;D;K;6;$classD;K;6;CP$UIDd;3;196E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;206E;E;d;2;40D;K;6;$classD;K;6;CP$UIDd;3;196E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;207E;E;D;K;6;$classD;K;6;CP$UIDd;3;196E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;208E;E;d;3;546D;K;6;$classD;K;6;CP$UIDd;3;196E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;209E;E;D;K;6;$classD;K;6;CP$UIDd;3;196E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;208E;E;D;K;6;$classD;K;6;CP$UIDd;3;196E;K;15;CPValueValueKeyD;K;6;CP$UIDd;3;210E;E;f;18;0.6862745098039216S;56;{"origin":{"x":0,"y":1},"size":{"width":96,"height":21}}S;59;{"origin":{"x":364,"y":75},"size":{"width":96,"height":21}}S;54;{"origin":{"x":0,"y":0},"size":{"width":0,"height":0}}S;59;{"origin":{"x":364,"y":74},"size":{"width":96,"height":22}}S;57;{"origin":{"x":0,"y":0},"size":{"width":480,"height":34}}E;K;9;$archiverS;15;CPKeyedArchiverK;8;$versionS;6;100000E; \ No newline at end of file diff --git a/Resources/CPStackViewTest/Resources/MainMenu.xib b/Resources/CPStackViewTest/Resources/MainMenu.xib new file mode 100644 index 000000000..d497e2df5 --- /dev/null +++ b/Resources/CPStackViewTest/Resources/MainMenu.xib @@ -0,0 +1,809 @@ + + + + 1050 + 11E53 + 2182 + 1138.47 + 569.00 + + com.apple.InterfaceBuilder.CocoaPlugin + 2182 + + + YES + NSTextField + NSView + NSWindowTemplate + NSSplitView + NSTextFieldCell + NSSliderCell + NSCustomView + NSSlider + NSButtonCell + NSButton + NSCustomObject + + + YES + com.apple.InterfaceBuilder.CocoaPlugin + + + PluginDependencyRecalculationVersion + + + + YES + + NSApplication + + + FirstResponder + + + NSApplication + + + 7 + 2 + {{335, 390}, {480, 360}} + 1946157056 + Window + NSWindow + + + + + 256 + + YES + + + 274 + + YES + + + 268 + {480, 34} + + + + _NS:3944 + YES + + 68288064 + 272630784 + Label + + LucidaGrande + 13 + 1044 + + _NS:3944 + + + 6 + System + controlColor + + 3 + MC42NjY2NjY2NjY3AA + + + + 6 + System + controlTextColor + + 3 + MAA + + + + + + + 256 + + YES + + + 268 + {{14, 24}, {142, 32}} + + + + _NS:9 + YES + + 67239424 + 134217728 + Delete Autosave + + _NS:9 + + -2038284033 + 129 + + + 200 + 25 + + + + + 301 + {{364, 30}, {96, 22}} + + + + YES + + -1804468671 + 272630784 + + + + YES + + 6 + System + textBackgroundColor + + 3 + MQA + + + + 6 + System + textColor + + + + + + {{0, 44}, {480, 85}} + + + + _NS:1113 + NSView + + + + 256 + + YES + + + 301 + {{192, 27}, {96, 21}} + + + + YES + + -2079981824 + 0 + + + Helvetica + 12 + 16 + + + 100 + 0.0 + 50 + 0.0 + 0 + 1 + NO + NO + + + + {{0, 139}, {480, 79}} + + + + _NS:1116 + NSView + + + + 256 + + YES + + + 256 + + YES + + + 274 + + YES + + + 256 + {246, 51} + + + + _NS:11 + NSView + + + + 256 + + YES + + + 256 + {{66, 18}, {114, 32}} + + + + _NS:687 + YES + + 67239424 + 134217728 + Bottom Left + + _NS:687 + + -2038284033 + 129 + + + 200 + 25 + + + + {{0, 60}, {246, 72}} + + + + _NS:13 + NSView + + + {246, 132} + + + + _NS:9 + splitViewC + + + {246, 132} + + + + _NS:1165 + NSView + + + + 256 + + YES + + + 256 + {{80, 48}, {73, 32}} + + + + _NS:687 + YES + + 67239424 + 134217728 + Right + + _NS:687 + + -2038284033 + 129 + + + 200 + 25 + + + + {{247, 0}, {233, 132}} + + + + _NS:1167 + NSView + + + {{0, 228}, {480, 132}} + + + + _NS:1163 + YES + 2 + splitViewB + + + {480, 360} + + + + _NS:1111 + 3 + splitViewA + + + {480, 360} + + + + + {{0, 0}, {2560, 1418}} + {10000000000000, 10000000000000} + YES + + + AppController + + + + + YES + + + delegate + + + + 451 + + + + theWindow + + + + 459 + + + + splitViewA + + + + 479 + + + + splitViewB + + + + 480 + + + + splitViewC + + + + 481 + + + + deleteAutosave: + + + + 482 + + + + takeDoubleValueFrom: + + + + 458 + + + + delegate + + + + 473 + + + + + YES + + 0 + + YES + + + + + + -2 + + + File's Owner + + + -1 + + + First Responder + + + -3 + + + Application + + + 371 + + + YES + + + + + + 372 + + + YES + + + + + + 450 + + + + + 460 + + + YES + + + + + + + + + 461 + + + YES + + + + + + + 462 + + + YES + + + + + + 456 + + + YES + + + + + + 457 + + + + + 452 + + + YES + + + + + + 453 + + + + + 463 + + + YES + + + + + + 464 + + + + + 465 + + + YES + + + + + + + 466 + + + YES + + + + + + 467 + + + YES + + + + + + 470 + + + YES + + + + + + 471 + + + + + 474 + + + YES + + + + + + + 475 + + + + + 476 + + + YES + + + + + + 468 + + + YES + + + + + + 469 + + + + + 477 + + + YES + + + + + + 478 + + + + + + + YES + + YES + -1.IBPluginDependency + -2.IBPluginDependency + -3.IBPluginDependency + 371.IBPluginDependency + 371.IBWindowTemplateEditedContentRect + 371.NSWindowTemplate.visibleAtLaunch + 372.IBPluginDependency + 450.IBPluginDependency + 452.IBPluginDependency + 453.IBPluginDependency + 456.IBPluginDependency + 457.IBPluginDependency + 460.IBPluginDependency + 461.IBPluginDependency + 462.IBPluginDependency + 463.IBPluginDependency + 464.IBPluginDependency + 465.IBPluginDependency + 466.IBPluginDependency + 467.IBPluginDependency + 468.IBPluginDependency + 469.IBPluginDependency + 470.IBPluginDependency + 471.IBPluginDependency + 474.IBPluginDependency + 475.IBPluginDependency + 476.IBPluginDependency + 477.IBPluginDependency + 478.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 + 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 + + + + + 482 + + + + YES + + AppController + NSObject + + deleteAutosave: + id + + + deleteAutosave: + + deleteAutosave: + id + + + + YES + + YES + splitViewA + splitViewB + splitViewC + + + YES + NSSplitView + NSSplitView + NSSplitView + + + + YES + + YES + splitViewA + splitViewB + splitViewC + + + YES + + splitViewA + NSSplitView + + + splitViewB + NSSplitView + + + splitViewC + NSSplitView + + + + + IBProjectSource + ./Classes/AppController.h + + + + + 0 + IBCocoaFramework + + com.apple.InterfaceBuilder.CocoaPlugin.macosx + + + + com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3 + + + YES + 3 + + diff --git a/Resources/CPStackViewTest/Resources/spinner.gif b/Resources/CPStackViewTest/Resources/spinner.gif new file mode 100644 index 0000000000000000000000000000000000000000..a5e705f6cbdf914e5e714c35a8dfef807f19e3c2 GIT binary patch literal 1434 zcmZvbdrVVj7{t$-UNOu86#VHu^|s&3rWfwHBbPG_8{SrlB{Tv1uvvj4t6zP!)#d!Ogc zP^62J^$0+~?-ZcXXpBaq%jFsw8L`=H2?+@R02Yg-*Xw;gACBV^i3CMahr>Z667S!? zk3LDe>VLEsU;sWo$Py~o!gWuaIAnaG3Sv``&tvc+8DJO!| zt4fcbQ8tW}a&xZfgtQ9BnFYLvGG|PvCNlg&uh@Q^w9Pz}+I^hCj`vu9JQADPqdkyk zR40xycD9geUgJu1e;$L`Fpa)?Wl-2&6hO@U*KrPqK(I1H=1h?2fce}6GhhP1oBZC# z1e@gt-qFa6lZrl%s1>bdxg*W)Ebt__O(4sj6(*2X@ciUClwHH#U(NRM7XAjS z+scDZ32J*PCoslsgS~#ZlCCGo`r>S6F)Ghw5wVlqHioFaw?ucD(XoLJ0j;28oPoPV z9A}dR$0SKn>uExfkl#j09o;v$BZ909R=*p{ATNq8BJW;YduX2QMOU7$a$_L5e!G^g zpbkx5G4&FZ%7m14rTN}5YB(;x7$5XOc_hf3E|Hw$TVg)P#qf~}nOn03uqsp>UG>vi zWThIoO)-1Q#@u#O;fMC#WAf@Xj70-0g9YZ;dA$HH1fW1q=9-c>>_yA0S$7M*5?}vi z)8MU`Q%P!7sEBBnd$DrKgFQ2?O%6LpdaC%F8Pn-)EC2t=j~ zoaLamla$FX!GQqWi!%s>sj-#5SJX0IF!TP=r21Z}s)k#btN0?=I7uD9C)Gb$fZ#sm zaVq7g`LwZ%PfNpN^_N-IGLHj@AV`s#4&va7_{Hw63G6BkSGXHdogTZ%QOiRb bDpZ@qYcJKM>x%b%*HX74c8MnqfHi*u-bC?g literal 0 HcmV?d00001 diff --git a/Resources/CPStackViewTest/index-debug.html b/Resources/CPStackViewTest/index-debug.html new file mode 100644 index 000000000..a36b1d3b9 --- /dev/null +++ b/Resources/CPStackViewTest/index-debug.html @@ -0,0 +1,204 @@ + + + + + + + + + + + + + + + + + + __project.name__ + + + + + + + + + + + + + + +
+
+
+ +
+
+ +
+ + diff --git a/Resources/CPStackViewTest/index.html b/Resources/CPStackViewTest/index.html new file mode 100644 index 000000000..ea103c811 --- /dev/null +++ b/Resources/CPStackViewTest/index.html @@ -0,0 +1,167 @@ + + + + + + + + + + + + + + + + + + __project.name__ + + + + + + + + + + + + +
+
+
+ +
+
+ +
+ + diff --git a/Resources/CPStackViewTest/main.j b/Resources/CPStackViewTest/main.j new file mode 100644 index 000000000..bceec5f14 --- /dev/null +++ b/Resources/CPStackViewTest/main.j @@ -0,0 +1,18 @@ +/* + * AppController.j + * CPStackViewTest + * + * Created by Daniel Böhringer on December 26, 2025. + * Copyright 2025, All rights reserved. + */ + +@import +@import + +@import "AppController.j" + + +function main(args, namedArgs) +{ + CPApplicationMain(args, namedArgs); +} diff --git a/Resources/recipes.txt b/Resources/recipes.txt index ed0f182ec..aee05bd73 100644 --- a/Resources/recipes.txt +++ b/Resources/recipes.txt @@ -1,142 +1,143 @@ -1766743359530|ArrayController1| -1766743359544|ArrayControllerInitialSelectionTest| -1766743359558|ArrayControllerRemovingFirstTest| -1766743359571|AttachedSheet| -1766743359585|AttachedSheet2| -1766743359598|Bindings| -1766743359611|CGCanvasContext| -1766743359625|CGPath| -1766743359639|CPAlertTest| -1766743359653|CPAnimatablePropertyContainerTest| -1766743359667|CPAnimationContextTest| -1766743359680|CPAnimationTest| -1766743359694|CPBinder-echo-bug| -1766743359708|CPBoxCibTest| -1766743359721|CPBoxTest| -1766743359734|CPBrowserTest| -1766743359748|CPButtonKeyEquivalentDefaultTest| -1766743359761|CPButtonTest| -1766743359775|CPByteCountFormatter| -1766743359788|CPCollectionViewNibTest| -1766743359801|CPColor-CPImage-description| -1766743359815|CPColorWellBindings| -1766743359828|CPComboBoxTest| -1766743359841|CPControlPerformClickExceptionTest| -1766743359855|CPControlSize| -1766743359868|CPCursor| -1766743359882|CPDateFormatterTest| -1766743359895|CPDatePickerTest| -1766743359909|CPDictionaryControllerTest| -1766743359922|CPDocumentControllerTest| -1766743359935|CPFormatterTest| -1766743359949|CPGraphicsTest| -1766743359962|CPImageAndTextViewImageScaling| -1766743359975|CPImageViewAlignmentScaling| -1766743359989|CPImageViewTest| -1766743360002|CPImageViewbindingsTest| -1766743360015|CPLevelIndicator| -1766743360029|CPLocalizationTest| -1766743360042|CPLogTest| -1766743360055|CPMenuCALayerTest| -1766743360069|CPMenuEnabledBindingsTest| -1766743360082|CPMenuKeyEquivalents| -1766743360096|CPMenuRemoveAllTest| -1766743360109|CPMenuSubmenuPlacementConstraints| -1766743360122|CPMenuTest| -1766743360136|CPOutlineViewCibTest| -1766743360149|CPOutlineViewTest| -1766743360162|CPOutlineViewViewBasedCibTest| -1766743360176|CPPanelTest| -1766743360189|CPPlatformWindow| -1766743360203|CPPlattformWindowMinSize| -1766743360216|CPPopUpButtonBindings| -1766743360229|CPPopUpButtonTest| -1766743360242|CPPopover| -1766743360256|CPPredicateEditorCibTest| -1766743360269|CPProgressIndicator| -1766743360283|CPPropertyListSerializationTest| -1766743360296|CPRadioBindings| -1766743360309|CPRuleEditorCibTest| -1766743360323|CPScrollView| -1766743360336|CPScrollView2| -1766743360349|CPSearchField| -1766743360363|CPSearchFieldPredicateBinding| -1766743360376|CPSegmentedControlBindings| -1766743360389|CPSegmentedControlTest| -1766743360403|CPSoundTest| -1766743360416|CPSplitViewDivider| -1766743360429|CPSplitViewTest| -1766743360442|CPStepperBindings| -1766743360456|CPStepperNibTest| -1766743360469|CPTabView2| -1766743360482|CPTabViewBindings| -1766743360496|CPTabViewNib| -1766743360509|CPTableViewGroupRows| -1766743360522|CPTextField| -1766743360536|CPTextFieldEditingStyleTest| -1766743360549|CPTextFieldHeightTest| -1766743360562|CPTextFieldMovementsTest| -1766743360576|CPTextFieldMultiline| -1766743360589|CPTextView| -1766743360603|CPTextViewCibTest| -1766743360616|CPTextViewDelegateAndNotifications| -1766743360630|CPTimeZone| -1766743360643|CPTokenFieldTest| -1766743360656|CPToolTip| -1766743360670|CPToolbarTest| -1766743360683|CPURLConnectionAsyncTest| -1766743360697|CPURLConnectionSynchronousTest| -1766743360710|CPUserDefaults| -1766743360724|CPUserDefaultsControllerTest| -1766743360737|CPUserNotificationTest| -1766743360751|CPViewController| -1766743360764|CPVisualEffectViewTest| -1766743360777|CPWebViewTest| -1766743360791|CPWebViewTest2| -1766743360804|CPWindowLiveResizeTest| -1766743360817|CPWindowMovableTest| -1766743360831|CPWindowResizeStyle| -1766743360844|ChildWindows| -1766743360857|CompilationTests| -1766743360870|ContinuouslyUpdatesValueBinding| -1766743360884|CopyAndPaste| -1766743360897|CrossOriginTest| -1766743360911|FF4096Test| -1766743360924|FontEnhancementTest| -1766743360937|FontMetricsExplorer| -1766743360951|KeyEquivalents| -1766743360964|KeyViewLoopTest| -1766743360977|KeyWindowInTheBackgroundActivation| -1766743360990|LayoutTest| -1766743361004|LoadTimeTest| -1766743361017|LongBindings| -1766743361031|MobileTest| -1766743361044|MultipleValueBindings| -1766743361057|NSBoxTest| -1766743361071|NSBrowserTest| -1766743361084|NewTextFieldBezel| -1766743361097|Nib2CibAlignment| -1766743361110|Nib2CibBaselineAlignementTest| -1766743361124|Nib2CibSubviewsOrderTest| -1766743361137|NibAppRemixed| -1766743361150|PatternFillTest| -1766743361164|PlatformWindows| -1766743361177|PopUpButtonEscTest| -1766743361191|ScalingTest| -1766743361204|ScalingTest2| -1766743361217|ScrollviewTheming| -1766743361230|SheetWindowOrderFrontIssue| -1766743361244|SimpleBindings2| -1766743361257|SmartFoldersDemo| -1766743361271|TableTest| -1766743361284|ThemeBrowser| -1766743361297|ThemeKitchenSink| -1766743361311|TrackingArea| -1766743361324|UndoRedoWithMenuUpdate| -1766743361337|UserlandNSTest| -1766743361351|layoutEphemeralSubviewTest| -1766743361364|loadDynamicFrameworks| -1766743361377|performKeyEquivalentTest| -1766743361391|predicateWithFormat| -1766743361404|resignFirstResponder-CPControlTextDidEndEditing| -1766743361417|sizeToFitFix| +1766744525733|ArrayController1| +1766744525747|ArrayControllerInitialSelectionTest| +1766744525760|ArrayControllerRemovingFirstTest| +1766744525774|AttachedSheet| +1766744525787|AttachedSheet2| +1766744525801|Bindings| +1766744525814|CGCanvasContext| +1766744525827|CGPath| +1766744525841|CPAlertTest| +1766744525854|CPAnimatablePropertyContainerTest| +1766744525867|CPAnimationContextTest| +1766744525881|CPAnimationTest| +1766744525895|CPBinder-echo-bug| +1766744525908|CPBoxCibTest| +1766744525922|CPBoxTest| +1766744525936|CPBrowserTest| +1766744525949|CPButtonKeyEquivalentDefaultTest| +1766744525963|CPButtonTest| +1766744525976|CPByteCountFormatter| +1766744525990|CPCollectionViewNibTest| +1766744526003|CPColor-CPImage-description| +1766744526017|CPColorWellBindings| +1766744526030|CPComboBoxTest| +1766744526043|CPControlPerformClickExceptionTest| +1766744526057|CPControlSize| +1766744526071|CPCursor| +1766744526084|CPDateFormatterTest| +1766744526098|CPDatePickerTest| +1766744526111|CPDictionaryControllerTest| +1766744526124|CPDocumentControllerTest| +1766744526138|CPFormatterTest| +1766744526151|CPGraphicsTest| +1766744526164|CPImageAndTextViewImageScaling| +1766744526178|CPImageViewAlignmentScaling| +1766744526191|CPImageViewTest| +1766744526204|CPImageViewbindingsTest| +1766744526218|CPLevelIndicator| +1766744526231|CPLocalizationTest| +1766744526244|CPLogTest| +1766744526258|CPMenuCALayerTest| +1766744526271|CPMenuEnabledBindingsTest| +1766744526284|CPMenuKeyEquivalents| +1766744526297|CPMenuRemoveAllTest| +1766744526311|CPMenuSubmenuPlacementConstraints| +1766744526324|CPMenuTest| +1766744526337|CPOutlineViewCibTest| +1766744526351|CPOutlineViewTest| +1766744526364|CPOutlineViewViewBasedCibTest| +1766744526377|CPPanelTest| +1766744526391|CPPlatformWindow| +1766744526404|CPPlattformWindowMinSize| +1766744526417|CPPopUpButtonBindings| +1766744526431|CPPopUpButtonTest| +1766744526444|CPPopover| +1766744526457|CPPredicateEditorCibTest| +1766744526470|CPProgressIndicator| +1766744526484|CPPropertyListSerializationTest| +1766744526497|CPRadioBindings| +1766744526510|CPRuleEditorCibTest| +1766744526524|CPScrollView| +1766744526537|CPScrollView2| +1766744526551|CPSearchField| +1766744526564|CPSearchFieldPredicateBinding| +1766744526577|CPSegmentedControlBindings| +1766744526591|CPSegmentedControlTest| +1766744526604|CPSoundTest| +1766744526617|CPSplitViewDivider| +1766744526630|CPSplitViewTest| +1766744526644|CPStackViewTest| +1766744526657|CPStepperBindings| +1766744526670|CPStepperNibTest| +1766744526684|CPTabView2| +1766744526697|CPTabViewBindings| +1766744526710|CPTabViewNib| +1766744526723|CPTableViewGroupRows| +1766744526737|CPTextField| +1766744526750|CPTextFieldEditingStyleTest| +1766744526763|CPTextFieldHeightTest| +1766744526777|CPTextFieldMovementsTest| +1766744526790|CPTextFieldMultiline| +1766744526803|CPTextView| +1766744526817|CPTextViewCibTest| +1766744526830|CPTextViewDelegateAndNotifications| +1766744526843|CPTimeZone| +1766744526857|CPTokenFieldTest| +1766744526871|CPToolTip| +1766744526887|CPToolbarTest| +1766744526902|CPURLConnectionAsyncTest| +1766744526917|CPURLConnectionSynchronousTest| +1766744526931|CPUserDefaults| +1766744526945|CPUserDefaultsControllerTest| +1766744526958|CPUserNotificationTest| +1766744526971|CPViewController| +1766744526985|CPVisualEffectViewTest| +1766744526998|CPWebViewTest| +1766744527011|CPWebViewTest2| +1766744527025|CPWindowLiveResizeTest| +1766744527042|CPWindowMovableTest| +1766744527060|CPWindowResizeStyle| +1766744527077|ChildWindows| +1766744527091|CompilationTests| +1766744527105|ContinuouslyUpdatesValueBinding| +1766744527118|CopyAndPaste| +1766744527131|CrossOriginTest| +1766744527145|FF4096Test| +1766744527158|FontEnhancementTest| +1766744527171|FontMetricsExplorer| +1766744527185|KeyEquivalents| +1766744527198|KeyViewLoopTest| +1766744527211|KeyWindowInTheBackgroundActivation| +1766744527225|LayoutTest| +1766744527238|LoadTimeTest| +1766744527251|LongBindings| +1766744527265|MobileTest| +1766744527278|MultipleValueBindings| +1766744527291|NSBoxTest| +1766744527304|NSBrowserTest| +1766744527318|NewTextFieldBezel| +1766744527331|Nib2CibAlignment| +1766744527344|Nib2CibBaselineAlignementTest| +1766744527358|Nib2CibSubviewsOrderTest| +1766744527371|NibAppRemixed| +1766744527384|PatternFillTest| +1766744527398|PlatformWindows| +1766744527411|PopUpButtonEscTest| +1766744527424|ScalingTest| +1766744527438|ScalingTest2| +1766744527451|ScrollviewTheming| +1766744527464|SheetWindowOrderFrontIssue| +1766744527478|SimpleBindings2| +1766744527491|SmartFoldersDemo| +1766744527504|TableTest| +1766744527518|ThemeBrowser| +1766744527531|ThemeKitchenSink| +1766744527544|TrackingArea| +1766744527558|UndoRedoWithMenuUpdate| +1766744527571|UserlandNSTest| +1766744527584|layoutEphemeralSubviewTest| +1766744527598|loadDynamicFrameworks| +1766744527611|performKeyEquivalentTest| +1766744527624|predicateWithFormat| +1766744527638|resignFirstResponder-CPControlTextDidEndEditing| +1766744527651|sizeToFitFix|