Outline source UI added

This commit is contained in:
Casey Fleser 2016-04-30 10:56:57 -05:00
parent 11264fd632
commit d7b4507429
16 changed files with 1599 additions and 65 deletions

View file

@ -15,6 +15,8 @@
C948814E1CD3EA5500209C09 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = C948814D1CD3EA5500209C09 /* AppDelegate.swift */; };
C94881501CD3EA5500209C09 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = C948814F1CD3EA5500209C09 /* Assets.xcassets */; };
C94881531CD3EA5500209C09 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = C94881511CD3EA5500209C09 /* MainMenu.xib */; };
C9AE594A1CD4EAD80090655C /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = C9AE59481CD4EAD80090655C /* Main.storyboard */; };
C9AE594C1CD4F1C70090655C /* SourceController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C9AE594B1CD4F1C70090655C /* SourceController.swift */; };
C9B7078A1A03A5C70001CB77 /* QSSimAppInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = C9B707891A03A5C70001CB77 /* QSSimAppInfo.m */; };
C9B707901A03A63E0001CB77 /* QSSimDeviceInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = C9B7078F1A03A63E0001CB77 /* QSSimDeviceInfo.m */; };
C9B707931A03B6C30001CB77 /* QSSimViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = C9B707921A03B6C30001CB77 /* QSSimViewController.m */; };
@ -52,6 +54,9 @@
C948814F1CD3EA5500209C09 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
C94881521CD3EA5500209C09 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; };
C94881541CD3EA5500209C09 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
C9AE59491CD4EAD80090655C /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
C9AE594B1CD4F1C70090655C /* SourceController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SourceController.swift; sourceTree = "<group>"; };
C9AE594D1CD503850090655C /* CUINamedLayerStack.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CUINamedLayerStack.h; sourceTree = "<group>"; };
C9B707881A03A5C70001CB77 /* QSSimAppInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QSSimAppInfo.h; sourceTree = "<group>"; };
C9B707891A03A5C70001CB77 /* QSSimAppInfo.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = QSSimAppInfo.m; sourceTree = "<group>"; };
C9B7078E1A03A63E0001CB77 /* QSSimDeviceInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = QSSimDeviceInfo.h; sourceTree = "<group>"; };
@ -164,10 +169,12 @@
children = (
C9ECF8A21CD4CEC800499965 /* Model */,
C9ECF8AE1CD4E13500499965 /* Support */,
C9ECF8B41CD4E96A00499965 /* UI */,
C948814D1CD3EA5500209C09 /* AppDelegate.swift */,
C9ECF8AB1CD4CF8400499965 /* Support.swift */,
C948814F1CD3EA5500209C09 /* Assets.xcassets */,
C94881511CD3EA5500209C09 /* MainMenu.xib */,
C9AE59481CD4EAD80090655C /* Main.storyboard */,
C94881541CD3EA5500209C09 /* Info.plist */,
);
path = SimDirs2;
@ -188,6 +195,7 @@
isa = PBXGroup;
children = (
C9ECF8AF1CD4E13500499965 /* CUICatalog.h */,
C9AE594D1CD503850090655C /* CUINamedLayerStack.h */,
C9ECF8B01CD4E14C00499965 /* SimDirs-Bridge.h */,
);
path = Support;
@ -201,6 +209,14 @@
name = Frameworks;
sourceTree = "<group>";
};
C9ECF8B41CD4E96A00499965 /* UI */ = {
isa = PBXGroup;
children = (
C9AE594B1CD4F1C70090655C /* SourceController.swift */,
);
path = UI;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
@ -319,6 +335,7 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
C9AE594A1CD4EAD80090655C /* Main.storyboard in Resources */,
C94881501CD3EA5500209C09 /* Assets.xcassets in Resources */,
C94881531CD3EA5500209C09 /* MainMenu.xib in Resources */,
);
@ -353,6 +370,7 @@
files = (
C9ECF8A41CD4CEE300499965 /* SimPlatform.swift in Sources */,
C9ECF8A61CD4CF1600499965 /* SimOSVersion.swift in Sources */,
C9AE594C1CD4F1C70090655C /* SourceController.swift in Sources */,
C9ECF8AA1CD4CF5A00499965 /* SimApp.swift in Sources */,
C948814E1CD3EA5500209C09 /* AppDelegate.swift in Sources */,
C9ECF8A81CD4CF4000499965 /* SimDevice.swift in Sources */,
@ -387,6 +405,14 @@
name = MainMenu.xib;
sourceTree = "<group>";
};
C9AE59481CD4EAD80090655C /* Main.storyboard */ = {
isa = PBXVariantGroup;
children = (
C9AE59491CD4EAD80090655C /* Base */,
);
name = Main.storyboard;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */

View file

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="6221" systemVersion="13F34" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="10116" systemVersion="15E65" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
<dependencies>
<deployment identifier="macosx"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="6221"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="10116"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="NSApplication">
@ -122,7 +122,7 @@
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/>
<windowPositionMask key="initialPositionMask" leftStrut="YES"/>
<rect key="contentRect" x="100" y="1000" width="559" height="370"/>
<rect key="screenRect" x="0.0" y="0.0" width="2560" height="1418"/>
<rect key="screenRect" x="0.0" y="0.0" width="1920" height="1057"/>
<value key="minSize" type="size" width="280" height="400"/>
<view key="contentView" id="5rQ-mH-cgE">
<rect key="frame" x="0.0" y="0.0" width="559" height="370"/>
@ -142,9 +142,10 @@
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<outlineView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" columnReordering="NO" multipleSelection="NO" autosaveColumns="NO" rowHeight="24" rowSizeStyle="automatic" viewBased="YES" floatsGroupRows="NO" indentationPerLevel="14" outlineTableColumn="dVq-2Q-Cyd" id="hie-77-RjD">
<rect key="frame" x="0.0" y="0.0" width="170" height="0.0"/>
<autoresizingMask key="autoresizingMask"/>
<size key="intercellSpacing" width="3" height="0.0"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
<tableColumns>
<tableColumn identifier="title" editable="NO" width="167" minWidth="40" maxWidth="1000" id="dVq-2Q-Cyd">
@ -263,7 +264,7 @@
<rect key="frame" x="0.0" y="0.0" width="388" height="370"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<textField horizontalHuggingPriority="300" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Y6y-dR-gdL">
<textField horizontalHuggingPriority="300" verticalHuggingPriority="750" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Y6y-dR-gdL">
<rect key="frame" x="6" y="345" width="47" height="17"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Model:" id="S6R-yD-Ftt">
<font key="font" metaFont="system"/>
@ -271,7 +272,7 @@
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="Iy7-MJ-sIV" userLabel="Model Name">
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Iy7-MJ-sIV" userLabel="Model Name">
<rect key="frame" x="57" y="345" width="325" height="17"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" placeholderString="Model Name" id="qlD-K6-xsU">
<font key="font" metaFont="system"/>
@ -279,7 +280,7 @@
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="300" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="5e1-FU-R7K" userLabel="iOS Version:">
<textField horizontalHuggingPriority="300" verticalHuggingPriority="750" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="5e1-FU-R7K" userLabel="iOS Version:">
<rect key="frame" x="6" y="320" width="80" height="17"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="iOS Version:" id="R0k-bT-P9G">
<font key="font" metaFont="system"/>
@ -287,7 +288,7 @@
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="azv-wH-qe7" userLabel="iOS Version Value">
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="azv-wH-qe7" userLabel="iOS Version Value">
<rect key="frame" x="90" y="320" width="292" height="17"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" placeholderString="iOS Version" id="IEi-4g-Kd9">
<font key="font" metaFont="system"/>
@ -295,7 +296,7 @@
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="300" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1gX-5W-oZE">
<textField horizontalHuggingPriority="300" verticalHuggingPriority="750" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="1gX-5W-oZE">
<rect key="frame" x="6" y="270" width="62" height="17"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Location:" id="jwA-Fz-zcD">
<font key="font" metaFont="system"/>
@ -303,7 +304,7 @@
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="N4t-DN-DH8" userLabel="Location Path">
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="N4t-DN-DH8" userLabel="Location Path">
<rect key="frame" x="72" y="270" width="278" height="13"/>
<textFieldCell key="cell" lineBreakMode="truncatingHead" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" placeholderString="Device Base Path" id="ZSL-uL-vki">
<font key="font" metaFont="label"/>
@ -324,7 +325,7 @@
<action selector="openSelectedDeviceLocation:" target="SyX-BE-Buh" id="8wn-Ew-p5x"/>
</connections>
</button>
<textField horizontalHuggingPriority="300" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="UDo-8Z-Uro" userLabel="UDID:">
<textField horizontalHuggingPriority="300" verticalHuggingPriority="750" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="UDo-8Z-Uro" userLabel="UDID:">
<rect key="frame" x="6" y="295" width="41" height="17"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="UDID:" id="ERW-al-1LV">
<font key="font" metaFont="system"/>
@ -332,7 +333,7 @@
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="zSt-XI-Bwq" userLabel="UDID Value">
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="zSt-XI-Bwq" userLabel="UDID Value">
<rect key="frame" x="51" y="295" width="331" height="17"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" placeholderString="UDID" id="3f3-4h-h0k">
<font key="font" metaFont="system"/>
@ -380,7 +381,7 @@
</constraints>
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" id="7Ua-Fr-9lg"/>
</imageView>
<textField horizontalHuggingPriority="300" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Kut-14-azR" userLabel="App:">
<textField horizontalHuggingPriority="300" verticalHuggingPriority="750" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Kut-14-azR" userLabel="App:">
<rect key="frame" x="6" y="345" width="34" height="17"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="App:" id="ree-Qg-D0T">
<font key="font" metaFont="system"/>
@ -388,7 +389,7 @@
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="LtZ-g9-rO4" userLabel="App Name">
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="LtZ-g9-rO4" userLabel="App Name">
<rect key="frame" x="44" y="345" width="282" height="17"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" placeholderString="App Name" id="JQD-0Z-zDu">
<font key="font" metaFont="system"/>
@ -396,7 +397,7 @@
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="300" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Yc0-Yy-NZZ" userLabel="Bundle ID:">
<textField horizontalHuggingPriority="300" verticalHuggingPriority="750" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Yc0-Yy-NZZ" userLabel="Bundle ID:">
<rect key="frame" x="6" y="320" width="69" height="17"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Bundle ID:" id="kUH-2N-fIW">
<font key="font" metaFont="system"/>
@ -404,7 +405,7 @@
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="fu0-Nm-sW5" userLabel="Bundle ID Value">
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="fu0-Nm-sW5" userLabel="Bundle ID Value">
<rect key="frame" x="79" y="320" width="247" height="17"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" placeholderString="Bundle ID" id="iTY-lY-6Vu">
<font key="font" metaFont="system"/>
@ -412,7 +413,7 @@
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="300" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="GQp-k9-qgY" userLabel="Version:">
<textField horizontalHuggingPriority="300" verticalHuggingPriority="750" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="GQp-k9-qgY" userLabel="Version:">
<rect key="frame" x="6" y="295" width="55" height="17"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Version:" id="zRO-N1-bHX">
<font key="font" metaFont="system"/>
@ -420,7 +421,7 @@
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="x2w-fP-x3K" userLabel="Version Value">
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="x2w-fP-x3K" userLabel="Version Value">
<rect key="frame" x="65" y="295" width="317" height="17"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" placeholderString="Version" id="ApH-xj-Sbb">
<font key="font" metaFont="system"/>
@ -428,7 +429,7 @@
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="300" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Oiv-Xa-lRi" userLabel="Bundle:">
<textField horizontalHuggingPriority="300" verticalHuggingPriority="750" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Oiv-Xa-lRi" userLabel="Bundle:">
<rect key="frame" x="6" y="270" width="51" height="17"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Bundle:" id="w6f-qz-tAm">
<font key="font" metaFont="system"/>
@ -436,7 +437,7 @@
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="dak-hQ-AVU" userLabel="Bundle Path">
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="dak-hQ-AVU" userLabel="Bundle Path">
<rect key="frame" x="61" y="270" width="289" height="13"/>
<textFieldCell key="cell" lineBreakMode="truncatingHead" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" placeholderString="Bundle Path" id="Uxm-Hn-P1c">
<font key="font" metaFont="label"/>
@ -457,7 +458,7 @@
<action selector="openSelectedAppBundleLoc:" target="SyX-BE-Buh" id="ymV-YQ-8c8"/>
</connections>
</button>
<textField horizontalHuggingPriority="300" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="ms6-5h-vbb" userLabel="Sandbox:">
<textField horizontalHuggingPriority="300" verticalHuggingPriority="750" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="ms6-5h-vbb" userLabel="Sandbox:">
<rect key="frame" x="6" y="239" width="63" height="17"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Sandbox:" id="Z6T-In-Vzk">
<font key="font" metaFont="system"/>
@ -465,7 +466,7 @@
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="Srv-29-Chn" userLabel="Sandbox Path">
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Srv-29-Chn" userLabel="Sandbox Path">
<rect key="frame" x="73" y="239" width="277" height="13"/>
<textFieldCell key="cell" lineBreakMode="truncatingHead" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" placeholderString="Sandbox Path" id="sFy-K1-1dP">
<font key="font" metaFont="label"/>
@ -577,7 +578,7 @@
</objects>
<resources>
<image name="NSActionTemplate" width="14" height="14"/>
<image name="NSFollowLinkFreestandingTemplate" width="10" height="10"/>
<image name="NSRefreshTemplate" width="10" height="12"/>
<image name="NSFollowLinkFreestandingTemplate" width="14" height="14"/>
<image name="NSRefreshTemplate" width="11" height="15"/>
</resources>
</document>

View file

@ -0,0 +1,6 @@
{
"info" : {
"version" : 1,
"author" : "xcode"
}
}

View file

@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"filename" : "default_icon.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "defaultt_icon@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View file

@ -0,0 +1,845 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.Storyboard.XIB" version="3.0" toolsVersion="10116" systemVersion="15E65" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" initialViewController="B8D-0N-5wS">
<dependencies>
<deployment identifier="macosx"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="10116"/>
</dependencies>
<scenes>
<!--Application-->
<scene sceneID="JPo-4y-FX3">
<objects>
<application id="hnw-xV-0zn" sceneMemberID="viewController">
<menu key="mainMenu" title="Main Menu" systemMenu="main" id="AYu-sK-qS6">
<items>
<menuItem title="SimDirs" id="1Xt-HY-uBw">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="SimDirs" systemMenu="apple" id="uQy-DD-JDr">
<items>
<menuItem title="About SimDirs" id="5kV-Vb-QxS">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="orderFrontStandardAboutPanel:" target="Ady-hI-5gd" id="Exp-CZ-Vem"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="VOq-y0-SEH"/>
<menuItem title="Preferences…" keyEquivalent="," id="BOF-NM-1cW"/>
<menuItem isSeparatorItem="YES" id="wFC-TO-SCJ"/>
<menuItem title="Services" id="NMo-om-nkz">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Services" systemMenu="services" id="hz9-B4-Xy5"/>
</menuItem>
<menuItem isSeparatorItem="YES" id="4je-JR-u6R"/>
<menuItem title="Hide SimDirs" keyEquivalent="h" id="Olw-nP-bQN">
<connections>
<action selector="hide:" target="Ady-hI-5gd" id="PnN-Uc-m68"/>
</connections>
</menuItem>
<menuItem title="Hide Others" keyEquivalent="h" id="Vdr-fp-XzO">
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
<connections>
<action selector="hideOtherApplications:" target="Ady-hI-5gd" id="VT4-aY-XCT"/>
</connections>
</menuItem>
<menuItem title="Show All" id="Kd2-mp-pUS">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="unhideAllApplications:" target="Ady-hI-5gd" id="Dhg-Le-xox"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="kCx-OE-vgT"/>
<menuItem title="Quit SimDirs" keyEquivalent="q" id="4sb-4s-VLi">
<connections>
<action selector="terminate:" target="Ady-hI-5gd" id="Te7-pn-YzF"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="File" id="dMs-cI-mzQ">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="File" id="bib-Uj-vzu">
<items>
<menuItem title="New" keyEquivalent="n" id="Was-JA-tGl">
<connections>
<action selector="newDocument:" target="Ady-hI-5gd" id="4Si-XN-c54"/>
</connections>
</menuItem>
<menuItem title="Open…" keyEquivalent="o" id="IAo-SY-fd9">
<connections>
<action selector="openDocument:" target="Ady-hI-5gd" id="bVn-NM-KNZ"/>
</connections>
</menuItem>
<menuItem title="Open Recent" id="tXI-mr-wws">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Open Recent" systemMenu="recentDocuments" id="oas-Oc-fiZ">
<items>
<menuItem title="Clear Menu" id="vNY-rz-j42">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="clearRecentDocuments:" target="Ady-hI-5gd" id="Daa-9d-B3U"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem isSeparatorItem="YES" id="m54-Is-iLE"/>
<menuItem title="Close" keyEquivalent="w" id="DVo-aG-piG">
<connections>
<action selector="performClose:" target="Ady-hI-5gd" id="HmO-Ls-i7Q"/>
</connections>
</menuItem>
<menuItem title="Save…" keyEquivalent="s" id="pxx-59-PXV">
<connections>
<action selector="saveDocument:" target="Ady-hI-5gd" id="teZ-XB-qJY"/>
</connections>
</menuItem>
<menuItem title="Save As…" keyEquivalent="S" id="Bw7-FT-i3A">
<connections>
<action selector="saveDocumentAs:" target="Ady-hI-5gd" id="mDf-zr-I0C"/>
</connections>
</menuItem>
<menuItem title="Revert to Saved" id="KaW-ft-85H">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="revertDocumentToSaved:" target="Ady-hI-5gd" id="iJ3-Pv-kwq"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="aJh-i4-bef"/>
<menuItem title="Page Setup…" keyEquivalent="P" id="qIS-W8-SiK">
<modifierMask key="keyEquivalentModifierMask" shift="YES" command="YES"/>
<connections>
<action selector="runPageLayout:" target="Ady-hI-5gd" id="Din-rz-gC5"/>
</connections>
</menuItem>
<menuItem title="Print…" keyEquivalent="p" id="aTl-1u-JFS">
<connections>
<action selector="print:" target="Ady-hI-5gd" id="qaZ-4w-aoO"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Edit" id="5QF-Oa-p0T">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Edit" id="W48-6f-4Dl">
<items>
<menuItem title="Undo" keyEquivalent="z" id="dRJ-4n-Yzg">
<connections>
<action selector="undo:" target="Ady-hI-5gd" id="M6e-cu-g7V"/>
</connections>
</menuItem>
<menuItem title="Redo" keyEquivalent="Z" id="6dh-zS-Vam">
<connections>
<action selector="redo:" target="Ady-hI-5gd" id="oIA-Rs-6OD"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="WRV-NI-Exz"/>
<menuItem title="Cut" keyEquivalent="x" id="uRl-iY-unG">
<connections>
<action selector="cut:" target="Ady-hI-5gd" id="YJe-68-I9s"/>
</connections>
</menuItem>
<menuItem title="Copy" keyEquivalent="c" id="x3v-GG-iWU">
<connections>
<action selector="copy:" target="Ady-hI-5gd" id="G1f-GL-Joy"/>
</connections>
</menuItem>
<menuItem title="Paste" keyEquivalent="v" id="gVA-U4-sdL">
<connections>
<action selector="paste:" target="Ady-hI-5gd" id="UvS-8e-Qdg"/>
</connections>
</menuItem>
<menuItem title="Paste and Match Style" keyEquivalent="V" id="WeT-3V-zwk">
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
<connections>
<action selector="pasteAsPlainText:" target="Ady-hI-5gd" id="cEh-KX-wJQ"/>
</connections>
</menuItem>
<menuItem title="Delete" id="pa3-QI-u2k">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="delete:" target="Ady-hI-5gd" id="0Mk-Ml-PaM"/>
</connections>
</menuItem>
<menuItem title="Select All" keyEquivalent="a" id="Ruw-6m-B2m">
<connections>
<action selector="selectAll:" target="Ady-hI-5gd" id="VNm-Mi-diN"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="uyl-h8-XO2"/>
<menuItem title="Find" id="4EN-yA-p0u">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Find" id="1b7-l0-nxx">
<items>
<menuItem title="Find…" tag="1" keyEquivalent="f" id="Xz5-n4-O0W">
<connections>
<action selector="performFindPanelAction:" target="Ady-hI-5gd" id="cD7-Qs-BN4"/>
</connections>
</menuItem>
<menuItem title="Find and Replace…" tag="12" keyEquivalent="f" id="YEy-JH-Tfz">
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
<connections>
<action selector="performFindPanelAction:" target="Ady-hI-5gd" id="WD3-Gg-5AJ"/>
</connections>
</menuItem>
<menuItem title="Find Next" tag="2" keyEquivalent="g" id="q09-fT-Sye">
<connections>
<action selector="performFindPanelAction:" target="Ady-hI-5gd" id="NDo-RZ-v9R"/>
</connections>
</menuItem>
<menuItem title="Find Previous" tag="3" keyEquivalent="G" id="OwM-mh-QMV">
<connections>
<action selector="performFindPanelAction:" target="Ady-hI-5gd" id="HOh-sY-3ay"/>
</connections>
</menuItem>
<menuItem title="Use Selection for Find" tag="7" keyEquivalent="e" id="buJ-ug-pKt">
<connections>
<action selector="performFindPanelAction:" target="Ady-hI-5gd" id="U76-nv-p5D"/>
</connections>
</menuItem>
<menuItem title="Jump to Selection" keyEquivalent="j" id="S0p-oC-mLd">
<connections>
<action selector="centerSelectionInVisibleArea:" target="Ady-hI-5gd" id="IOG-6D-g5B"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Spelling and Grammar" id="Dv1-io-Yv7">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Spelling" id="3IN-sU-3Bg">
<items>
<menuItem title="Show Spelling and Grammar" keyEquivalent=":" id="HFo-cy-zxI">
<connections>
<action selector="showGuessPanel:" target="Ady-hI-5gd" id="vFj-Ks-hy3"/>
</connections>
</menuItem>
<menuItem title="Check Document Now" keyEquivalent=";" id="hz2-CU-CR7">
<connections>
<action selector="checkSpelling:" target="Ady-hI-5gd" id="fz7-VC-reM"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="bNw-od-mp5"/>
<menuItem title="Check Spelling While Typing" id="rbD-Rh-wIN">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleContinuousSpellChecking:" target="Ady-hI-5gd" id="7w6-Qz-0kB"/>
</connections>
</menuItem>
<menuItem title="Check Grammar With Spelling" id="mK6-2p-4JG">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleGrammarChecking:" target="Ady-hI-5gd" id="muD-Qn-j4w"/>
</connections>
</menuItem>
<menuItem title="Correct Spelling Automatically" id="78Y-hA-62v">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleAutomaticSpellingCorrection:" target="Ady-hI-5gd" id="2lM-Qi-WAP"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Substitutions" id="9ic-FL-obx">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Substitutions" id="FeM-D8-WVr">
<items>
<menuItem title="Show Substitutions" id="z6F-FW-3nz">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="orderFrontSubstitutionsPanel:" target="Ady-hI-5gd" id="oku-mr-iSq"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="gPx-C9-uUO"/>
<menuItem title="Smart Copy/Paste" id="9yt-4B-nSM">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleSmartInsertDelete:" target="Ady-hI-5gd" id="3IJ-Se-DZD"/>
</connections>
</menuItem>
<menuItem title="Smart Quotes" id="hQb-2v-fYv">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleAutomaticQuoteSubstitution:" target="Ady-hI-5gd" id="ptq-xd-QOA"/>
</connections>
</menuItem>
<menuItem title="Smart Dashes" id="rgM-f4-ycn">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleAutomaticDashSubstitution:" target="Ady-hI-5gd" id="oCt-pO-9gS"/>
</connections>
</menuItem>
<menuItem title="Smart Links" id="cwL-P1-jid">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleAutomaticLinkDetection:" target="Ady-hI-5gd" id="Gip-E3-Fov"/>
</connections>
</menuItem>
<menuItem title="Data Detectors" id="tRr-pd-1PS">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleAutomaticDataDetection:" target="Ady-hI-5gd" id="R1I-Nq-Kbl"/>
</connections>
</menuItem>
<menuItem title="Text Replacement" id="HFQ-gK-NFA">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleAutomaticTextReplacement:" target="Ady-hI-5gd" id="DvP-Fe-Py6"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Transformations" id="2oI-Rn-ZJC">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Transformations" id="c8a-y6-VQd">
<items>
<menuItem title="Make Upper Case" id="vmV-6d-7jI">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="uppercaseWord:" target="Ady-hI-5gd" id="sPh-Tk-edu"/>
</connections>
</menuItem>
<menuItem title="Make Lower Case" id="d9M-CD-aMd">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="lowercaseWord:" target="Ady-hI-5gd" id="iUZ-b5-hil"/>
</connections>
</menuItem>
<menuItem title="Capitalize" id="UEZ-Bs-lqG">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="capitalizeWord:" target="Ady-hI-5gd" id="26H-TL-nsh"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Speech" id="xrE-MZ-jX0">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Speech" id="3rS-ZA-NoH">
<items>
<menuItem title="Start Speaking" id="Ynk-f8-cLZ">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="startSpeaking:" target="Ady-hI-5gd" id="654-Ng-kyl"/>
</connections>
</menuItem>
<menuItem title="Stop Speaking" id="Oyz-dy-DGm">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="stopSpeaking:" target="Ady-hI-5gd" id="dX8-6p-jy9"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Format" id="jxT-CU-nIS">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Format" id="GEO-Iw-cKr">
<items>
<menuItem title="Font" id="Gi5-1S-RQB">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Font" systemMenu="font" id="aXa-aM-Jaq">
<items>
<menuItem title="Show Fonts" keyEquivalent="t" id="Q5e-8K-NDq"/>
<menuItem title="Bold" tag="2" keyEquivalent="b" id="GB9-OM-e27"/>
<menuItem title="Italic" tag="1" keyEquivalent="i" id="Vjx-xi-njq"/>
<menuItem title="Underline" keyEquivalent="u" id="WRG-CD-K1S">
<connections>
<action selector="underline:" target="Ady-hI-5gd" id="FYS-2b-JAY"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="5gT-KC-WSO"/>
<menuItem title="Bigger" tag="3" keyEquivalent="+" id="Ptp-SP-VEL"/>
<menuItem title="Smaller" tag="4" keyEquivalent="-" id="i1d-Er-qST"/>
<menuItem isSeparatorItem="YES" id="kx3-Dk-x3B"/>
<menuItem title="Kern" id="jBQ-r6-VK2">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Kern" id="tlD-Oa-oAM">
<items>
<menuItem title="Use Default" id="GUa-eO-cwY">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="useStandardKerning:" target="Ady-hI-5gd" id="6dk-9l-Ckg"/>
</connections>
</menuItem>
<menuItem title="Use None" id="cDB-IK-hbR">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="turnOffKerning:" target="Ady-hI-5gd" id="U8a-gz-Maa"/>
</connections>
</menuItem>
<menuItem title="Tighten" id="46P-cB-AYj">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="tightenKerning:" target="Ady-hI-5gd" id="hr7-Nz-8ro"/>
</connections>
</menuItem>
<menuItem title="Loosen" id="ogc-rX-tC1">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="loosenKerning:" target="Ady-hI-5gd" id="8i4-f9-FKE"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Ligatures" id="o6e-r0-MWq">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Ligatures" id="w0m-vy-SC9">
<items>
<menuItem title="Use Default" id="agt-UL-0e3">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="useStandardLigatures:" target="Ady-hI-5gd" id="7uR-wd-Dx6"/>
</connections>
</menuItem>
<menuItem title="Use None" id="J7y-lM-qPV">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="turnOffLigatures:" target="Ady-hI-5gd" id="iX2-gA-Ilz"/>
</connections>
</menuItem>
<menuItem title="Use All" id="xQD-1f-W4t">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="useAllLigatures:" target="Ady-hI-5gd" id="KcB-kA-TuK"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Baseline" id="OaQ-X3-Vso">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Baseline" id="ijk-EB-dga">
<items>
<menuItem title="Use Default" id="3Om-Ey-2VK">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="unscript:" target="Ady-hI-5gd" id="0vZ-95-Ywn"/>
</connections>
</menuItem>
<menuItem title="Superscript" id="Rqc-34-cIF">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="superscript:" target="Ady-hI-5gd" id="3qV-fo-wpU"/>
</connections>
</menuItem>
<menuItem title="Subscript" id="I0S-gh-46l">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="subscript:" target="Ady-hI-5gd" id="Q6W-4W-IGz"/>
</connections>
</menuItem>
<menuItem title="Raise" id="2h7-ER-AoG">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="raiseBaseline:" target="Ady-hI-5gd" id="4sk-31-7Q9"/>
</connections>
</menuItem>
<menuItem title="Lower" id="1tx-W0-xDw">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="lowerBaseline:" target="Ady-hI-5gd" id="OF1-bc-KW4"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem isSeparatorItem="YES" id="Ndw-q3-faq"/>
<menuItem title="Show Colors" keyEquivalent="C" id="bgn-CT-cEk">
<connections>
<action selector="orderFrontColorPanel:" target="Ady-hI-5gd" id="mSX-Xz-DV3"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="iMs-zA-UFJ"/>
<menuItem title="Copy Style" keyEquivalent="c" id="5Vv-lz-BsD">
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
<connections>
<action selector="copyFont:" target="Ady-hI-5gd" id="GJO-xA-L4q"/>
</connections>
</menuItem>
<menuItem title="Paste Style" keyEquivalent="v" id="vKC-jM-MkH">
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
<connections>
<action selector="pasteFont:" target="Ady-hI-5gd" id="JfD-CL-leO"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Text" id="Fal-I4-PZk">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Text" id="d9c-me-L2H">
<items>
<menuItem title="Align Left" keyEquivalent="{" id="ZM1-6Q-yy1">
<connections>
<action selector="alignLeft:" target="Ady-hI-5gd" id="zUv-R1-uAa"/>
</connections>
</menuItem>
<menuItem title="Center" keyEquivalent="|" id="VIY-Ag-zcb">
<connections>
<action selector="alignCenter:" target="Ady-hI-5gd" id="spX-mk-kcS"/>
</connections>
</menuItem>
<menuItem title="Justify" id="J5U-5w-g23">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="alignJustified:" target="Ady-hI-5gd" id="ljL-7U-jND"/>
</connections>
</menuItem>
<menuItem title="Align Right" keyEquivalent="}" id="wb2-vD-lq4">
<connections>
<action selector="alignRight:" target="Ady-hI-5gd" id="r48-bG-YeY"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="4s2-GY-VfK"/>
<menuItem title="Writing Direction" id="H1b-Si-o9J">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Writing Direction" id="8mr-sm-Yjd">
<items>
<menuItem title="Paragraph" enabled="NO" id="ZvO-Gk-QUH">
<modifierMask key="keyEquivalentModifierMask"/>
</menuItem>
<menuItem id="YGs-j5-SAR">
<string key="title"> Default</string>
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="makeBaseWritingDirectionNatural:" target="Ady-hI-5gd" id="qtV-5e-UBP"/>
</connections>
</menuItem>
<menuItem id="Lbh-J2-qVU">
<string key="title"> Left to Right</string>
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="makeBaseWritingDirectionLeftToRight:" target="Ady-hI-5gd" id="S0X-9S-QSf"/>
</connections>
</menuItem>
<menuItem id="jFq-tB-4Kx">
<string key="title"> Right to Left</string>
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="makeBaseWritingDirectionRightToLeft:" target="Ady-hI-5gd" id="5fk-qB-AqJ"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="swp-gr-a21"/>
<menuItem title="Selection" enabled="NO" id="cqv-fj-IhA">
<modifierMask key="keyEquivalentModifierMask"/>
</menuItem>
<menuItem id="Nop-cj-93Q">
<string key="title"> Default</string>
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="makeTextWritingDirectionNatural:" target="Ady-hI-5gd" id="lPI-Se-ZHp"/>
</connections>
</menuItem>
<menuItem id="BgM-ve-c93">
<string key="title"> Left to Right</string>
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="makeTextWritingDirectionLeftToRight:" target="Ady-hI-5gd" id="caW-Bv-w94"/>
</connections>
</menuItem>
<menuItem id="RB4-Sm-HuC">
<string key="title"> Right to Left</string>
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="makeTextWritingDirectionRightToLeft:" target="Ady-hI-5gd" id="EXD-6r-ZUu"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem isSeparatorItem="YES" id="fKy-g9-1gm"/>
<menuItem title="Show Ruler" id="vLm-3I-IUL">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleRuler:" target="Ady-hI-5gd" id="FOx-HJ-KwY"/>
</connections>
</menuItem>
<menuItem title="Copy Ruler" keyEquivalent="c" id="MkV-Pr-PK5">
<modifierMask key="keyEquivalentModifierMask" control="YES" command="YES"/>
<connections>
<action selector="copyRuler:" target="Ady-hI-5gd" id="71i-fW-3W2"/>
</connections>
</menuItem>
<menuItem title="Paste Ruler" keyEquivalent="v" id="LVM-kO-fVI">
<modifierMask key="keyEquivalentModifierMask" control="YES" command="YES"/>
<connections>
<action selector="pasteRuler:" target="Ady-hI-5gd" id="cSh-wd-qM2"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="View" id="H8h-7b-M4v">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="View" id="HyV-fh-RgO">
<items>
<menuItem title="Show Toolbar" keyEquivalent="t" id="snW-S8-Cw5">
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
<connections>
<action selector="toggleToolbarShown:" target="Ady-hI-5gd" id="BXY-wc-z0C"/>
</connections>
</menuItem>
<menuItem title="Customize Toolbar…" id="1UK-8n-QPP">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="runToolbarCustomizationPalette:" target="Ady-hI-5gd" id="pQI-g3-MTW"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Window" id="aUF-d1-5bR">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Window" systemMenu="window" id="Td7-aD-5lo">
<items>
<menuItem title="Minimize" keyEquivalent="m" id="OY7-WF-poV">
<connections>
<action selector="performMiniaturize:" target="Ady-hI-5gd" id="VwT-WD-YPe"/>
</connections>
</menuItem>
<menuItem title="Zoom" id="R4o-n2-Eq4">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="performZoom:" target="Ady-hI-5gd" id="DIl-cC-cCs"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="eu3-7i-yIM"/>
<menuItem title="Bring All to Front" id="LE2-aR-0XJ">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="arrangeInFront:" target="Ady-hI-5gd" id="DRN-fu-gQh"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Help" id="wpr-3q-Mcd">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Help" systemMenu="help" id="F2S-fz-NVQ">
<items>
<menuItem title="Storyboard Help" keyEquivalent="?" id="FKE-Sm-Kum">
<connections>
<action selector="showHelp:" target="Ady-hI-5gd" id="y7X-2Q-9no"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
</items>
</menu>
<connections>
<outlet property="delegate" destination="Voe-Tx-rLC" id="PrD-fu-P6m"/>
</connections>
</application>
<customObject id="Voe-Tx-rLC" customClass="AppDelegate" customModule="SimDirs2" customModuleProvider="target"/>
<customObject id="Ady-hI-5gd" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="75" y="0.0"/>
</scene>
<!--Window Controller-->
<scene sceneID="R2V-B0-nI4">
<objects>
<windowController id="B8D-0N-5wS" sceneMemberID="viewController">
<window key="window" title="Window" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" oneShot="NO" releasedWhenClosed="NO" showsToolbarButton="NO" visibleAtLaunch="NO" animationBehavior="default" id="IQv-IB-iLA">
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/>
<windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
<rect key="contentRect" x="196" y="240" width="480" height="270"/>
<rect key="screenRect" x="0.0" y="0.0" width="1680" height="1027"/>
</window>
<connections>
<segue destination="utk-XN-WFQ" kind="relationship" relationship="window.shadowedContentViewController" id="cNr-LA-6PI"/>
</connections>
</windowController>
<customObject id="Oky-zY-oP4" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="75" y="250"/>
</scene>
<!--Split View Controller-->
<scene sceneID="ANE-qI-AzX">
<objects>
<splitViewController id="utk-XN-WFQ" sceneMemberID="viewController">
<splitViewItems>
<splitViewItem holdingPriority="255" behavior="contentList" id="vjm-YC-n35"/>
<splitViewItem id="zem-yq-moN"/>
</splitViewItems>
<splitView key="splitView" dividerStyle="thin" vertical="YES" id="4n7-1p-MYG">
<rect key="frame" x="0.0" y="0.0" width="450" height="300"/>
<autoresizingMask key="autoresizingMask"/>
</splitView>
<connections>
<segue destination="iYR-B6-n1S" kind="relationship" relationship="splitItems" id="5zw-PK-lrP"/>
<segue destination="F48-sT-ymT" kind="relationship" relationship="splitItems" id="wSa-fB-x8O"/>
</connections>
</splitViewController>
<customObject id="fvM-of-U7k" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="75" y="704"/>
</scene>
<!--Source Controller-->
<scene sceneID="95M-fv-kdk">
<objects>
<viewController id="iYR-B6-n1S" customClass="SourceController" customModule="SimDirs2" customModuleProvider="target" sceneMemberID="viewController">
<view key="view" id="MGo-Qu-2zB">
<rect key="frame" x="0.0" y="0.0" width="200" height="300"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<scrollView autohidesScrollers="YES" horizontalLineScroll="26" horizontalPageScroll="10" verticalLineScroll="26" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="AbX-mV-QBL">
<rect key="frame" x="0.0" y="0.0" width="200" height="300"/>
<clipView key="contentView" id="Pi5-bv-Sst">
<rect key="frame" x="1" y="1" width="198" height="298"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<outlineView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" columnReordering="NO" multipleSelection="NO" autosaveColumns="NO" rowHeight="24" rowSizeStyle="automatic" viewBased="YES" indentationPerLevel="16" outlineTableColumn="mzD-l4-yhs" id="mUb-N5-ueO">
<rect key="frame" x="0.0" y="0.0" width="198" height="298"/>
<autoresizingMask key="autoresizingMask"/>
<size key="intercellSpacing" width="3" height="2"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
<tableColumns>
<tableColumn identifier="title" editable="NO" width="195" minWidth="40" maxWidth="1000" id="mzD-l4-yhs">
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left">
<font key="font" metaFont="smallSystem"/>
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
</tableHeaderCell>
<textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" allowsUndo="NO" alignment="left" title="Text Cell" id="mde-rH-ONI">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
<prototypeCellViews>
<tableCellView identifier="TextCell" id="HAO-IX-sxc" userLabel="Text Cell">
<rect key="frame" x="1" y="1" width="195" height="18"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="bfY-42-aRq">
<rect key="frame" x="2" y="1" width="195" height="17"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="cnA-t8-jTo">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
</subviews>
<constraints>
<constraint firstItem="bfY-42-aRq" firstAttribute="leading" secondItem="HAO-IX-sxc" secondAttribute="leading" constant="4" id="89t-I4-nZh"/>
<constraint firstAttribute="centerY" secondItem="bfY-42-aRq" secondAttribute="centerY" id="D1b-kz-ps5"/>
<constraint firstAttribute="trailing" secondItem="bfY-42-aRq" secondAttribute="trailing" id="Dud-KT-aci"/>
</constraints>
<connections>
<outlet property="textField" destination="bfY-42-aRq" id="ucp-nv-3Ke"/>
</connections>
</tableCellView>
<tableCellView identifier="ImageCell" id="Dwi-Dl-LE4" userLabel="Image &amp; Text Cell">
<rect key="frame" x="1" y="21" width="195" height="24"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="5Mz-bX-925">
<rect key="frame" x="4" y="1" width="22" height="22"/>
<constraints>
<constraint firstAttribute="width" constant="22" id="9JV-jh-a9G"/>
<constraint firstAttribute="height" constant="22" id="p7O-pN-kXh"/>
</constraints>
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="NSActionTemplate" id="MLC-9O-NVW"/>
</imageView>
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" allowsExpansionToolTips="YES" translatesAutoresizingMaskIntoConstraints="NO" id="wgX-ci-hFu">
<rect key="frame" x="28" y="4" width="169" height="17"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="jZj-fZ-DCx">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
</subviews>
<constraints>
<constraint firstAttribute="centerY" secondItem="5Mz-bX-925" secondAttribute="centerY" id="BKo-y7-kUK"/>
<constraint firstAttribute="trailing" secondItem="wgX-ci-hFu" secondAttribute="trailing" id="dit-vg-hyV"/>
<constraint firstItem="wgX-ci-hFu" firstAttribute="leading" secondItem="5Mz-bX-925" secondAttribute="trailing" constant="4" id="sVg-cY-ZoA"/>
<constraint firstAttribute="centerY" secondItem="wgX-ci-hFu" secondAttribute="centerY" id="t56-t6-q7e"/>
<constraint firstItem="5Mz-bX-925" firstAttribute="leading" secondItem="Dwi-Dl-LE4" secondAttribute="leading" constant="4" id="yqi-4E-9SK"/>
</constraints>
<connections>
<outlet property="imageView" destination="5Mz-bX-925" id="Tqr-NH-n33"/>
<outlet property="textField" destination="wgX-ci-hFu" id="QM1-92-bQC"/>
</connections>
</tableCellView>
</prototypeCellViews>
</tableColumn>
</tableColumns>
<connections>
<outlet property="dataSource" destination="iYR-B6-n1S" id="r6O-sY-vDK"/>
<outlet property="delegate" destination="iYR-B6-n1S" id="dFv-mO-hVs"/>
</connections>
</outlineView>
</subviews>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
</clipView>
<constraints>
<constraint firstAttribute="width" relation="greaterThanOrEqual" constant="200" id="yeB-eV-8JM"/>
</constraints>
<scroller key="horizontalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="YES" id="UKV-0Z-h3q">
<rect key="frame" x="1" y="284" width="448" height="15"/>
<autoresizingMask key="autoresizingMask"/>
</scroller>
<scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="NO" id="xTK-zV-3rC">
<rect key="frame" x="224" y="17" width="15" height="102"/>
<autoresizingMask key="autoresizingMask"/>
</scroller>
</scrollView>
</subviews>
<constraints>
<constraint firstAttribute="trailing" secondItem="AbX-mV-QBL" secondAttribute="trailing" id="elr-8R-0p9"/>
<constraint firstItem="AbX-mV-QBL" firstAttribute="top" secondItem="MGo-Qu-2zB" secondAttribute="top" id="h7M-GY-dLb"/>
<constraint firstItem="AbX-mV-QBL" firstAttribute="leading" secondItem="MGo-Qu-2zB" secondAttribute="leading" id="isG-f2-jDQ"/>
<constraint firstAttribute="bottom" secondItem="AbX-mV-QBL" secondAttribute="bottom" id="sEO-fn-LNk"/>
</constraints>
</view>
</viewController>
<customObject id="HIA-tb-x8L" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="715" y="455"/>
</scene>
<!--View Controller-->
<scene sceneID="Wbg-Th-oFy">
<objects>
<viewController id="F48-sT-ymT" sceneMemberID="viewController">
<view key="view" id="UMm-Xy-nBF">
<rect key="frame" x="0.0" y="0.0" width="450" height="300"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<customView translatesAutoresizingMaskIntoConstraints="NO" id="ywE-Ob-RUv">
<rect key="frame" x="0.0" y="0.0" width="450" height="300"/>
<constraints>
<constraint firstAttribute="width" relation="greaterThanOrEqual" constant="250" id="U2U-xl-RCK"/>
</constraints>
</customView>
</subviews>
<constraints>
<constraint firstAttribute="trailing" secondItem="ywE-Ob-RUv" secondAttribute="trailing" id="A5y-TU-uU5"/>
<constraint firstItem="ywE-Ob-RUv" firstAttribute="top" secondItem="UMm-Xy-nBF" secondAttribute="top" id="AJO-Z7-My1"/>
<constraint firstAttribute="bottom" secondItem="ywE-Ob-RUv" secondAttribute="bottom" id="KJu-c8-bvB"/>
<constraint firstItem="ywE-Ob-RUv" firstAttribute="leading" secondItem="UMm-Xy-nBF" secondAttribute="leading" id="NML-Ga-k1x"/>
</constraints>
</view>
</viewController>
<customObject id="F92-9s-t7r" userLabel="First Responder" customClass="NSResponder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="715" y="904"/>
</scene>
</scenes>
<resources>
<image name="NSActionTemplate" width="14" height="14"/>
</resources>
</document>

View file

@ -671,11 +671,421 @@
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/>
<windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
<rect key="contentRect" x="335" y="390" width="480" height="360"/>
<rect key="screenRect" x="0.0" y="0.0" width="2560" height="1417"/>
<rect key="screenRect" x="0.0" y="0.0" width="1920" height="1057"/>
<view key="contentView" wantsLayer="YES" id="EiT-Mj-1SZ">
<rect key="frame" x="0.0" y="0.0" width="480" height="360"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<splitView dividerStyle="thin" vertical="YES" translatesAutoresizingMaskIntoConstraints="NO" id="e8s-9N-aua">
<rect key="frame" x="0.0" y="0.0" width="480" height="360"/>
<subviews>
<customView id="Qpv-Wy-ITU">
<rect key="frame" x="0.0" y="0.0" width="170" height="360"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<scrollView borderType="none" autohidesScrollers="YES" horizontalLineScroll="24" horizontalPageScroll="10" verticalLineScroll="24" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="pKi-8B-7Tw">
<rect key="frame" x="0.0" y="0.0" width="170" height="360"/>
<clipView key="contentView" id="Axb-jq-f4S">
<rect key="frame" x="0.0" y="0.0" width="170" height="360"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<outlineView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" columnReordering="NO" multipleSelection="NO" autosaveColumns="NO" rowHeight="24" rowSizeStyle="automatic" viewBased="YES" floatsGroupRows="NO" indentationPerLevel="14" outlineTableColumn="tZF-t6-UgJ" id="pWH-Hj-5Pg">
<rect key="frame" x="0.0" y="0.0" width="170" height="360"/>
<autoresizingMask key="autoresizingMask"/>
<size key="intercellSpacing" width="3" height="0.0"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
<tableColumns>
<tableColumn identifier="title" editable="NO" width="167" minWidth="40" maxWidth="1000" id="tZF-t6-UgJ">
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left">
<font key="font" metaFont="smallSystem"/>
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
</tableHeaderCell>
<textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" allowsUndo="NO" alignment="left" title="Text Cell" id="iXE-jo-vec">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
<prototypeCellViews>
<tableCellView identifier="TextCell" id="aVY-Mz-c6B" userLabel="Text Cell">
<rect key="frame" x="1" y="0.0" width="167" height="18"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="ZYU-kO-v4Y">
<rect key="frame" x="2" y="1" width="167" height="17"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="tmO-cb-Bz9">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
</subviews>
<constraints>
<constraint firstAttribute="trailing" secondItem="ZYU-kO-v4Y" secondAttribute="trailing" id="PUY-k7-W9G"/>
<constraint firstItem="ZYU-kO-v4Y" firstAttribute="leading" secondItem="aVY-Mz-c6B" secondAttribute="leading" constant="4" id="o3n-8E-Vgc"/>
<constraint firstAttribute="centerY" secondItem="ZYU-kO-v4Y" secondAttribute="centerY" id="yKp-Tg-wXo"/>
</constraints>
<connections>
<outlet property="textField" destination="ZYU-kO-v4Y" id="Tks-mE-318"/>
</connections>
</tableCellView>
<tableCellView identifier="ImageCell" id="vn4-vb-d3Y" userLabel="Image &amp; Text Cell">
<rect key="frame" x="1" y="18" width="167" height="24"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="AdW-CE-Lb4">
<rect key="frame" x="4" y="1" width="22" height="22"/>
<constraints>
<constraint firstAttribute="width" constant="22" id="3Xk-kR-r8g"/>
<constraint firstAttribute="height" constant="22" id="8Aj-xg-Yag"/>
</constraints>
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="NSActionTemplate" id="ioQ-9T-Zxo"/>
</imageView>
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" allowsExpansionToolTips="YES" translatesAutoresizingMaskIntoConstraints="NO" id="3Zz-W6-Gsp">
<rect key="frame" x="28" y="4" width="141" height="17"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="Djg-xh-6OF">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
</subviews>
<constraints>
<constraint firstAttribute="centerY" secondItem="AdW-CE-Lb4" secondAttribute="centerY" id="Cwn-xh-iGb"/>
<constraint firstAttribute="trailing" secondItem="3Zz-W6-Gsp" secondAttribute="trailing" id="DXM-X3-jpa"/>
<constraint firstItem="3Zz-W6-Gsp" firstAttribute="leading" secondItem="AdW-CE-Lb4" secondAttribute="trailing" constant="4" id="QrQ-Gh-aAV"/>
<constraint firstItem="AdW-CE-Lb4" firstAttribute="leading" secondItem="vn4-vb-d3Y" secondAttribute="leading" constant="4" id="fCC-PE-6YA"/>
<constraint firstAttribute="centerY" secondItem="3Zz-W6-Gsp" secondAttribute="centerY" id="xkA-AC-WtG"/>
</constraints>
<connections>
<outlet property="imageView" destination="AdW-CE-Lb4" id="D9K-fJ-cAo"/>
<outlet property="textField" destination="3Zz-W6-Gsp" id="ZHa-Ab-FCl"/>
</connections>
</tableCellView>
</prototypeCellViews>
</tableColumn>
</tableColumns>
</outlineView>
</subviews>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
</clipView>
<scroller key="horizontalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="YES" id="fSi-59-7ok">
<rect key="frame" x="1" y="119" width="223" height="15"/>
<autoresizingMask key="autoresizingMask"/>
</scroller>
<scroller key="verticalScroller" hidden="YES" verticalHuggingPriority="750" horizontal="NO" id="5ZT-X8-dby">
<rect key="frame" x="224" y="17" width="15" height="102"/>
<autoresizingMask key="autoresizingMask"/>
</scroller>
</scrollView>
</subviews>
<constraints>
<constraint firstAttribute="bottom" secondItem="pKi-8B-7Tw" secondAttribute="bottom" id="KnD-9s-RcF"/>
<constraint firstAttribute="trailing" secondItem="pKi-8B-7Tw" secondAttribute="trailing" id="LhL-lF-EAE"/>
<constraint firstAttribute="width" relation="greaterThanOrEqual" constant="150" id="QXF-Lz-iBx"/>
<constraint firstItem="pKi-8B-7Tw" firstAttribute="leading" secondItem="Qpv-Wy-ITU" secondAttribute="leading" id="V87-te-gmi"/>
<constraint firstItem="pKi-8B-7Tw" firstAttribute="top" secondItem="Qpv-Wy-ITU" secondAttribute="top" id="tgd-rA-BJo"/>
</constraints>
</customView>
<customView id="WUw-yJ-Wdk">
<rect key="frame" x="171" y="0.0" width="309" height="360"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<tabView type="noTabsNoBorder" initialItem="Tti-bv-yto" translatesAutoresizingMaskIntoConstraints="NO" id="aWj-OA-HCa">
<rect key="frame" x="0.0" y="0.0" width="309" height="360"/>
<font key="font" metaFont="system"/>
<tabViewItems>
<tabViewItem label="Empty" identifier="empty" id="Tti-bv-yto">
<view key="view" id="l9R-6f-22H">
<rect key="frame" x="0.0" y="0.0" width="309" height="360"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
</view>
</tabViewItem>
<tabViewItem label="Device" identifier="device" id="SWU-g5-eSF">
<view key="view" id="x8y-XN-5nh">
<rect key="frame" x="0.0" y="0.0" width="388" height="370"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<textField horizontalHuggingPriority="300" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="jql-Db-Lrh">
<rect key="frame" x="6" y="345" width="46" height="17"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Model:" id="8K9-gL-niK">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="2Qo-eX-u3K" userLabel="Model Name">
<rect key="frame" x="56" y="345" width="326" height="17"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" placeholderString="Model Name" id="FeF-uF-mNP">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="300" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="rk0-Az-F7h" userLabel="iOS Version:">
<rect key="frame" x="6" y="320" width="78" height="17"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="iOS Version:" id="PbM-qA-j2S">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="6HM-Ed-hJA" userLabel="iOS Version Value">
<rect key="frame" x="88" y="320" width="294" height="17"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" placeholderString="iOS Version" id="Swb-47-fuR">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="300" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="YAp-VS-vYh">
<rect key="frame" x="6" y="270" width="60" height="17"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Location:" id="4vR-2Y-JM6">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="b7b-O9-HPL" userLabel="Location Path">
<rect key="frame" x="70" y="270" width="280" height="13"/>
<textFieldCell key="cell" lineBreakMode="truncatingHead" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" placeholderString="Device Base Path" id="ggB-Xi-t4O">
<font key="font" metaFont="label"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<button translatesAutoresizingMaskIntoConstraints="NO" id="YEr-fL-9d5" userLabel="Open Path">
<rect key="frame" x="356" y="264" width="24" height="25"/>
<constraints>
<constraint firstAttribute="width" constant="24" id="BaM-gD-n5f"/>
</constraints>
<buttonCell key="cell" type="roundTextured" bezelStyle="texturedRounded" image="NSFollowLinkFreestandingTemplate" imagePosition="only" alignment="center" inset="2" id="rsH-Ew-yZW">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
</button>
<textField horizontalHuggingPriority="300" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="evn-w9-LaX" userLabel="UDID:">
<rect key="frame" x="6" y="295" width="40" height="17"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="UDID:" id="OrN-gf-Qwk">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="YwA-1f-Siz" userLabel="UDID Value">
<rect key="frame" x="50" y="295" width="332" height="17"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" placeholderString="UDID" id="Zbr-5Q-yzZ">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
</subviews>
<constraints>
<constraint firstItem="2Qo-eX-u3K" firstAttribute="leading" secondItem="jql-Db-Lrh" secondAttribute="trailing" constant="8" symbolic="YES" id="2cl-Jh-lDD"/>
<constraint firstAttribute="trailing" secondItem="YEr-fL-9d5" secondAttribute="trailing" constant="8" id="3NV-in-cUu"/>
<constraint firstAttribute="trailing" secondItem="6HM-Ed-hJA" secondAttribute="trailing" constant="8" id="3Ob-CO-Ib1"/>
<constraint firstItem="evn-w9-LaX" firstAttribute="top" secondItem="rk0-Az-F7h" secondAttribute="bottom" constant="8" symbolic="YES" id="77u-CV-TOw"/>
<constraint firstItem="YwA-1f-Siz" firstAttribute="leading" secondItem="evn-w9-LaX" secondAttribute="trailing" constant="8" symbolic="YES" id="B07-lj-Lmi"/>
<constraint firstItem="YEr-fL-9d5" firstAttribute="leading" secondItem="b7b-O9-HPL" secondAttribute="trailing" constant="8" symbolic="YES" id="FC7-9m-6Vv"/>
<constraint firstItem="YAp-VS-vYh" firstAttribute="leading" secondItem="x8y-XN-5nh" secondAttribute="leading" constant="8" id="H1K-0i-KSQ"/>
<constraint firstItem="YAp-VS-vYh" firstAttribute="top" secondItem="evn-w9-LaX" secondAttribute="bottom" constant="8" symbolic="YES" id="Ja3-Kj-GpW"/>
<constraint firstItem="6HM-Ed-hJA" firstAttribute="leading" secondItem="rk0-Az-F7h" secondAttribute="trailing" constant="8" symbolic="YES" id="MwH-jz-G9e"/>
<constraint firstItem="jql-Db-Lrh" firstAttribute="baseline" secondItem="2Qo-eX-u3K" secondAttribute="baseline" id="QMA-Zn-R5c"/>
<constraint firstItem="evn-w9-LaX" firstAttribute="leading" secondItem="x8y-XN-5nh" secondAttribute="leading" constant="8" id="Qtd-x8-c5O"/>
<constraint firstItem="rk0-Az-F7h" firstAttribute="top" secondItem="jql-Db-Lrh" secondAttribute="bottom" constant="8" symbolic="YES" id="TZD-VZ-rqz"/>
<constraint firstAttribute="trailing" secondItem="YwA-1f-Siz" secondAttribute="trailing" constant="8" id="Wge-D2-QqH"/>
<constraint firstItem="rk0-Az-F7h" firstAttribute="baseline" secondItem="6HM-Ed-hJA" secondAttribute="baseline" id="YlB-kB-3Cr"/>
<constraint firstItem="jql-Db-Lrh" firstAttribute="leading" secondItem="x8y-XN-5nh" secondAttribute="leading" constant="8" id="Zn7-ux-aRP"/>
<constraint firstItem="b7b-O9-HPL" firstAttribute="centerY" secondItem="YEr-fL-9d5" secondAttribute="centerY" id="dl8-As-GcP"/>
<constraint firstItem="evn-w9-LaX" firstAttribute="baseline" secondItem="YwA-1f-Siz" secondAttribute="baseline" id="nl3-xf-WK0"/>
<constraint firstItem="b7b-O9-HPL" firstAttribute="leading" secondItem="YAp-VS-vYh" secondAttribute="trailing" constant="8" symbolic="YES" id="ohC-TZ-z4C"/>
<constraint firstItem="YAp-VS-vYh" firstAttribute="baseline" secondItem="b7b-O9-HPL" secondAttribute="baseline" id="qtb-C1-wyH"/>
<constraint firstAttribute="trailing" secondItem="2Qo-eX-u3K" secondAttribute="trailing" constant="8" id="tUY-jB-FgD"/>
<constraint firstItem="rk0-Az-F7h" firstAttribute="leading" secondItem="x8y-XN-5nh" secondAttribute="leading" constant="8" id="ulr-Yt-ejJ"/>
<constraint firstItem="jql-Db-Lrh" firstAttribute="top" secondItem="x8y-XN-5nh" secondAttribute="top" constant="8" id="xpH-az-5Kz"/>
</constraints>
</view>
</tabViewItem>
<tabViewItem label="App" identifier="app" id="fwM-zj-Ej0">
<view key="view" id="Vxe-gm-oNY">
<rect key="frame" x="0.0" y="0.0" width="388" height="370"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="hkS-gl-yzB" userLabel="App Icon">
<rect key="frame" x="332" y="314" width="48" height="48"/>
<constraints>
<constraint firstAttribute="width" constant="48" id="TCY-ij-sfg"/>
<constraint firstAttribute="height" constant="48" id="gkH-XW-ruV"/>
</constraints>
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" id="YKz-D9-2ub"/>
</imageView>
<textField horizontalHuggingPriority="300" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="M6E-05-LZe" userLabel="App:">
<rect key="frame" x="6" y="345" width="33" height="17"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="App:" id="sJK-7P-z5T">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="Hrh-dg-s4r" userLabel="App Name">
<rect key="frame" x="43" y="345" width="283" height="17"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" placeholderString="App Name" id="vfb-T4-hH1">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="300" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="6uG-7X-jj7" userLabel="Bundle ID:">
<rect key="frame" x="6" y="320" width="67" height="17"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Bundle ID:" id="H6i-0F-c5h">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="Tc6-Fg-u4n" userLabel="Bundle ID Value">
<rect key="frame" x="77" y="320" width="249" height="17"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" placeholderString="Bundle ID" id="veA-AX-oSL">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="300" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="RHY-QV-CFh" userLabel="Version:">
<rect key="frame" x="6" y="295" width="53" height="17"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Version:" id="hl1-2c-Y6D">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="43b-4s-zpV" userLabel="Version Value">
<rect key="frame" x="63" y="295" width="319" height="17"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" placeholderString="Version" id="Nq2-dS-HNB">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="300" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="fc9-bV-WNT" userLabel="Bundle:">
<rect key="frame" x="6" y="270" width="50" height="17"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Bundle:" id="lfi-K3-nhM">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="c1H-vu-0gf" userLabel="Bundle Path">
<rect key="frame" x="60" y="270" width="290" height="13"/>
<textFieldCell key="cell" lineBreakMode="truncatingHead" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" placeholderString="Bundle Path" id="z0X-HA-v4m">
<font key="font" metaFont="label"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<button translatesAutoresizingMaskIntoConstraints="NO" id="IhA-1D-4cS" userLabel="Open Bundle Path">
<rect key="frame" x="356" y="264" width="24" height="25"/>
<constraints>
<constraint firstAttribute="width" constant="24" id="QuL-Q1-zgI"/>
</constraints>
<buttonCell key="cell" type="roundTextured" bezelStyle="texturedRounded" image="NSFollowLinkFreestandingTemplate" imagePosition="only" alignment="center" inset="2" id="buO-qf-nIM">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
</button>
<textField horizontalHuggingPriority="300" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="IrJ-04-NRN" userLabel="Sandbox:">
<rect key="frame" x="6" y="239" width="61" height="17"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Sandbox:" id="eF4-70-fdH">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="nfP-Kz-dah" userLabel="Sandbox Path">
<rect key="frame" x="71" y="239" width="279" height="13"/>
<textFieldCell key="cell" lineBreakMode="truncatingHead" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" placeholderString="Sandbox Path" id="raA-Eh-ywo">
<font key="font" metaFont="label"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<button translatesAutoresizingMaskIntoConstraints="NO" id="AMA-A8-0Uj" userLabel="Open Sandbox Path">
<rect key="frame" x="356" y="233" width="24" height="25"/>
<constraints>
<constraint firstAttribute="width" constant="24" id="95Z-59-Mfg"/>
</constraints>
<buttonCell key="cell" type="roundTextured" bezelStyle="texturedRounded" image="NSFollowLinkFreestandingTemplate" imagePosition="only" alignment="center" inset="2" id="LRS-X4-WEj">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
</button>
</subviews>
<constraints>
<constraint firstItem="RHY-QV-CFh" firstAttribute="top" secondItem="6uG-7X-jj7" secondAttribute="bottom" constant="8" symbolic="YES" id="2tM-ws-jDI"/>
<constraint firstItem="RHY-QV-CFh" firstAttribute="baseline" secondItem="43b-4s-zpV" secondAttribute="baseline" id="3TZ-s4-xG1"/>
<constraint firstItem="Tc6-Fg-u4n" firstAttribute="leading" secondItem="6uG-7X-jj7" secondAttribute="trailing" constant="8" symbolic="YES" id="4C9-ff-mni"/>
<constraint firstItem="nfP-Kz-dah" firstAttribute="centerY" secondItem="AMA-A8-0Uj" secondAttribute="centerY" id="6XA-0r-VCE"/>
<constraint firstItem="6uG-7X-jj7" firstAttribute="leading" secondItem="Vxe-gm-oNY" secondAttribute="leading" constant="8" id="7gy-GW-xKd"/>
<constraint firstItem="hkS-gl-yzB" firstAttribute="leading" secondItem="Hrh-dg-s4r" secondAttribute="trailing" constant="8" id="8p2-SW-U8O"/>
<constraint firstAttribute="trailing" secondItem="IhA-1D-4cS" secondAttribute="trailing" constant="8" id="BJ2-yK-LeH"/>
<constraint firstItem="AMA-A8-0Uj" firstAttribute="leading" secondItem="nfP-Kz-dah" secondAttribute="trailing" constant="8" symbolic="YES" id="Cgm-Cc-kVe"/>
<constraint firstItem="IrJ-04-NRN" firstAttribute="leading" secondItem="Vxe-gm-oNY" secondAttribute="leading" constant="8" id="EOZ-GB-710"/>
<constraint firstItem="nfP-Kz-dah" firstAttribute="leading" secondItem="IrJ-04-NRN" secondAttribute="trailing" constant="8" symbolic="YES" id="J6Y-RH-Egd"/>
<constraint firstAttribute="trailing" secondItem="AMA-A8-0Uj" secondAttribute="trailing" constant="8" id="MWW-NW-54Z"/>
<constraint firstItem="RHY-QV-CFh" firstAttribute="leading" secondItem="Vxe-gm-oNY" secondAttribute="leading" constant="8" id="Pti-Nl-qL8"/>
<constraint firstItem="IhA-1D-4cS" firstAttribute="leading" secondItem="c1H-vu-0gf" secondAttribute="trailing" constant="8" symbolic="YES" id="TCK-1c-ceY"/>
<constraint firstItem="IrJ-04-NRN" firstAttribute="top" secondItem="IhA-1D-4cS" secondAttribute="bottom" constant="8" symbolic="YES" id="Tt9-3v-PUE"/>
<constraint firstItem="M6E-05-LZe" firstAttribute="top" secondItem="Vxe-gm-oNY" secondAttribute="top" constant="8" id="YgF-eM-O7e"/>
<constraint firstItem="43b-4s-zpV" firstAttribute="leading" secondItem="RHY-QV-CFh" secondAttribute="trailing" constant="8" symbolic="YES" id="Ynl-Pg-wmD"/>
<constraint firstItem="M6E-05-LZe" firstAttribute="baseline" secondItem="Hrh-dg-s4r" secondAttribute="baseline" id="Zb5-LI-6Qp"/>
<constraint firstItem="fc9-bV-WNT" firstAttribute="leading" secondItem="Vxe-gm-oNY" secondAttribute="leading" constant="8" id="aHL-uf-7l6"/>
<constraint firstItem="fc9-bV-WNT" firstAttribute="top" secondItem="RHY-QV-CFh" secondAttribute="bottom" constant="8" symbolic="YES" id="bIL-K7-4yE"/>
<constraint firstItem="fc9-bV-WNT" firstAttribute="baseline" secondItem="c1H-vu-0gf" secondAttribute="baseline" id="fYx-Fl-0AE"/>
<constraint firstItem="c1H-vu-0gf" firstAttribute="leading" secondItem="fc9-bV-WNT" secondAttribute="trailing" constant="8" symbolic="YES" id="fx9-rh-jcC"/>
<constraint firstItem="M6E-05-LZe" firstAttribute="leading" secondItem="Vxe-gm-oNY" secondAttribute="leading" constant="8" id="fzg-tg-pZb"/>
<constraint firstItem="6uG-7X-jj7" firstAttribute="top" secondItem="M6E-05-LZe" secondAttribute="bottom" constant="8" symbolic="YES" id="g1D-w9-3Zk"/>
<constraint firstAttribute="trailing" secondItem="43b-4s-zpV" secondAttribute="trailing" constant="8" id="g2X-OE-OOH"/>
<constraint firstItem="IrJ-04-NRN" firstAttribute="baseline" secondItem="nfP-Kz-dah" secondAttribute="baseline" id="gA7-oL-asj"/>
<constraint firstItem="hkS-gl-yzB" firstAttribute="top" secondItem="Vxe-gm-oNY" secondAttribute="top" constant="8" id="h9W-Gf-gQg"/>
<constraint firstItem="c1H-vu-0gf" firstAttribute="centerY" secondItem="IhA-1D-4cS" secondAttribute="centerY" id="jW5-Gs-hPP"/>
<constraint firstAttribute="trailing" secondItem="hkS-gl-yzB" secondAttribute="trailing" constant="8" id="oh2-ZJ-9kZ"/>
<constraint firstItem="Hrh-dg-s4r" firstAttribute="leading" secondItem="M6E-05-LZe" secondAttribute="trailing" constant="8" symbolic="YES" id="sTJ-H7-rJt"/>
<constraint firstItem="hkS-gl-yzB" firstAttribute="leading" secondItem="Tc6-Fg-u4n" secondAttribute="trailing" constant="8" id="t9W-TQ-4Dr"/>
<constraint firstItem="6uG-7X-jj7" firstAttribute="baseline" secondItem="Tc6-Fg-u4n" secondAttribute="baseline" id="xkT-SU-lZs"/>
</constraints>
</view>
</tabViewItem>
</tabViewItems>
</tabView>
</subviews>
<constraints>
<constraint firstAttribute="trailing" secondItem="aWj-OA-HCa" secondAttribute="trailing" id="4e2-4c-Kae"/>
<constraint firstItem="aWj-OA-HCa" firstAttribute="top" secondItem="WUw-yJ-Wdk" secondAttribute="top" id="I1K-HU-KHr"/>
<constraint firstAttribute="bottom" secondItem="aWj-OA-HCa" secondAttribute="bottom" id="LM8-mh-69q"/>
<constraint firstItem="aWj-OA-HCa" firstAttribute="leading" secondItem="WUw-yJ-Wdk" secondAttribute="leading" id="MTp-cx-JED"/>
</constraints>
</customView>
</subviews>
<holdingPriorities>
<real value="400"/>
<real value="200"/>
</holdingPriorities>
</splitView>
</subviews>
<constraints>
<constraint firstAttribute="bottom" secondItem="e8s-9N-aua" secondAttribute="bottom" id="GvP-6W-T0f"/>
<constraint firstAttribute="trailing" secondItem="e8s-9N-aua" secondAttribute="trailing" id="bBf-Il-ILr"/>
<constraint firstItem="e8s-9N-aua" firstAttribute="top" secondItem="EiT-Mj-1SZ" secondAttribute="top" id="ebR-I0-Wjw"/>
<constraint firstItem="e8s-9N-aua" firstAttribute="leading" secondItem="EiT-Mj-1SZ" secondAttribute="leading" id="sNq-cZ-7xf"/>
</constraints>
</view>
</window>
</objects>
<resources>
<image name="NSActionTemplate" width="14" height="14"/>
<image name="NSFollowLinkFreestandingTemplate" width="14" height="14"/>
</resources>
</document>

View file

@ -26,8 +26,8 @@
<string>$(MACOSX_DEPLOYMENT_TARGET)</string>
<key>NSHumanReadableCopyright</key>
<string>Copyright © 2016 Quiet Spark. All rights reserved.</string>
<key>NSMainNibFile</key>
<string>MainMenu</string>
<key>NSMainStoryboardFile</key>
<string>Main</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>

View file

@ -8,7 +8,7 @@
import Foundation
class SimApp {
class SimApp: OutlineProvider {
let bundleID : String
var name = ""
var shortVersion = ""
@ -43,6 +43,11 @@ class SimApp {
self.bundleID = bundleID
}
func completeScan() {
self.refinePaths()
self.loadInfoPlist()
}
func updateFromLastLaunchMapInfo(launchBundleInfo: [String : AnyObject]) {
self.bundlePath = launchBundleInfo["BundleContainer"] as? String
self.sandboxPath = launchBundleInfo["Container"] as? String
@ -55,11 +60,6 @@ class SimApp {
self.sandboxPath = compatInfo["sandboxPath"] as? String
}
func completeInitialization() {
self.refinePaths()
self.loadInfoPlist()
}
func refinePaths() {
guard let bundleURL = self.bundleURL else { return }
let fileMgr = NSFileManager.defaultManager()
@ -83,21 +83,22 @@ class SimApp {
func loadInfoPlist() {
guard let bundleURL = self.bundleURL else { return }
let infoPlistURL = bundleURL.URLByAppendingPathComponent("Info.plist")
// let assetFileURL = bundleURL.URLByAppendingPathComponent("Assets.car")
if let plistInfo = NSPropertyListSerialization.propertyListWithURL(infoPlistURL) {
self.name = plistInfo[String(kCFBundleNameKey)] as? String ?? ""
self.shortVersion = plistInfo["CFBundleShortVersionString"] as? String ?? ""
self.version = plistInfo[String(kCFBundleVersionKey)] as? String ?? ""
// if assetFileURL.validPath {
// if let catalog = try? CUICatalog.init(URL: assetFileURL) {
//print("\(catalog.allImageNames)")
// }
// }
if let bundleIcons = plistInfo["CFBundleIcons"] as? [String : AnyObject] {
if let primaryIcon = bundleIcons["CFBundlePrimaryIcon"] as? [String : AnyObject] {
let primaryIconValue = bundleIcons["CFBundlePrimaryIcon"].flatMap { item -> [String : AnyObject]? in
switch item {
case let dict as [String : AnyObject]: return dict
case let str as String: return ["CFBundleIconFiles" : [str]]
default: return nil
}
}
if let primaryIcon = primaryIconValue {
if let bundleIconFiles = primaryIcon["CFBundleIconFiles"] as? [String] {
for iconName in bundleIconFiles {
var iconURL = bundleURL.URLByAppendingPathComponent(iconName)
@ -108,25 +109,62 @@ class SimApp {
iconURL = iconURL.URLByAppendingPathExtension("png")
}
if let icon = NSImage(contentsOfURL: iconURL) {
if self.icon?.size.width ?? 0 < icon.size.width {
self.icon = icon
// .car files not yet working :/
// if !iconURL.validPath && !icon2XURL.validPath { // Believe this would only happen once per bundle
// let assetFileURL = bundleURL.URLByAppendingPathComponent("Assets.car")
//
// if assetFileURL.validPath {
// if let catalog = try? CUICatalog.init(URL: assetFileURL) {
// let catalogImages = catalog.imagesWithName(iconName)
//
// for catalogImage in catalogImages {
// if let namedImage = catalogImage as? CUINamedImage where !(namedImage is CUINamedLayerStack) {
// if self.icon?.size.width ?? 0 < namedImage.size.width {
// let imageRep = NSBitmapImageRep(CGImage: namedImage.image)
//
// imageRep.size = namedImage.size
// if let pngData = imageRep.representationUsingType(.NSPNGFileType, properties: [NSImageInterlaced : false]) where pngData.length > 0 {
// self.icon = NSImage(data: pngData)
// }
// self.icon = NSImage(CGImage: namedImage.image, size: namedImage.size)
// }
// }
// }
// }
// }
// }
// else {
if let icon = NSImage(contentsOfURL: iconURL) {
if self.icon?.size.width ?? 0 < icon.size.width {
self.icon = icon
}
}
}
if let icon = NSImage(contentsOfURL: icon2XURL) {
if self.icon?.size.width ?? 0 < icon.size.width {
self.icon = icon
if let icon = NSImage(contentsOfURL: icon2XURL) {
if self.icon?.size.width ?? 0 < icon.size.width {
self.icon = icon
}
}
}
// }
}
}
}
}
if self.icon == nil {
self.icon = NSImage(named: "defaultIcon")
self.icon = NSImage(named: "default_icon")
}
}
}
// MARK: - OutlineProvider -
var outlineTitle : String { return self.name }
var outlineImage : NSImage? { return self.icon }
var childCount : Int { return 0 }
func childAtIndex(index: Int) -> OutlineProvider? {
return nil
}
}

View file

@ -8,7 +8,7 @@
import Foundation
class SimDevice {
class SimDevice: OutlineProvider {
let name : String
let udid : String
let baseURL : NSURL
@ -23,9 +23,17 @@ class SimDevice {
self.gatherAppInfoFromAppState()
// self.gatherAppInfoFromCaches() obsolete
self.gatherAppInfoFromInstallLogs()
self.cleanupAndRefineAppList()
}
func completeScan() {
self.apps = self.apps.filter { return $0.hasValidPaths }
for app in self.apps {
app.completeScan()
}
self.apps.sortInPlace { $0.name < $1.name }
}
// LastLaunchServicesMap.plist seems to be the most reliable location to gather app info
func gatherAppInfoFromLastLaunchMap() {
let launchMapInfoURL = self.baseURL.URLByAppendingPathComponent("data/Library/MobileInstallation/LastLaunchServicesMap.plist")
@ -102,13 +110,13 @@ class SimDevice {
}
}
func cleanupAndRefineAppList() {
self.apps = self.apps.filter { return $0.hasValidPaths }
for simApp in self.apps {
simApp.completeInitialization()
}
// sort?
// MARK: - OutlineProvider -
var outlineTitle : String { return self.name }
var outlineImage : NSImage? { return nil }
var childCount : Int { return self.apps.count }
func childAtIndex(index: Int) -> OutlineProvider? {
return self.apps[index]
}
}

View file

@ -8,7 +8,7 @@
import Foundation
class SimOSVersion {
class SimOSVersion: OutlineProvider {
let name : String
var devices = [SimDevice]()
@ -16,6 +16,13 @@ class SimOSVersion {
self.name = name
}
func completeScan() {
for device in self.devices {
device.completeScan()
}
self.devices.sortInPlace { $0.name < $1.name }
}
func updateWithDeviceInfo(deviceInfo: [String : AnyObject], baseURL: NSURL) {
guard let deviceName = deviceInfo["name"] as? String else { return }
guard let deviceUDID = deviceInfo["UDID"] as? String else { return }
@ -23,4 +30,14 @@ class SimOSVersion {
self.devices.append(device)
}
// MARK: - OutlineProvider -
var outlineTitle : String { return self.name }
var outlineImage : NSImage? { return nil }
var childCount : Int { return self.devices.count }
func childAtIndex(index: Int) -> OutlineProvider? {
return self.devices[index]
}
}

View file

@ -8,7 +8,7 @@
import Foundation
class SimPlatform {
class SimPlatform: OutlineProvider {
let name : String
var osVersions = [SimOSVersion]()
@ -36,18 +36,39 @@ class SimPlatform {
}
}
}
return platforms
for platform in platforms {
platform.completeScan()
}
return platforms.sort { $0.name < $1.name }
}
init(runtimeComponents: [String], deviceInfo: [String : AnyObject]) {
self.name = runtimeComponents[0]
}
func completeScan() {
for osVersion in self.osVersions {
osVersion.completeScan()
}
self.osVersions.sortInPlace { $0.name > $1.name }
}
func updateWith(runtimeComponents: [String], deviceInfo: [String : AnyObject], baseURL: NSURL) {
let versionID = "\(runtimeComponents[safe: 1] ?? "0").\(runtimeComponents[safe: 2] ?? "0")"
let osVersion = self.osVersions.match({ $0.name == versionID }, orMake: { SimOSVersion(name: versionID, deviceInfo: deviceInfo) })
osVersion.updateWithDeviceInfo(deviceInfo, baseURL: baseURL)
}
// MARK: - OutlineProvider -
var outlineTitle : String { return self.name }
var outlineImage : NSImage? { return nil }
var childCount : Int { return self.osVersions.count }
func childAtIndex(index: Int) -> OutlineProvider? {
return self.osVersions[index]
}
}

View file

@ -0,0 +1,28 @@
//
// CUINamedLayerStack.h
// SimDirs
//
// Created by Casey Fleser on 4/30/16.
// Copyright © 2016 Quiet Spark. All rights reserved.
//
#import "CUICatalog.h"
@interface CUINamedLayerStack : CUINamedImage
@property(retain, nonatomic) NSArray *layers; // @synthesize layers=_layers;
@property(readonly, nonatomic) struct CGImage *radiosityImage;
@property(readonly, nonatomic) struct CGImage *flattenedImage;
- (id)layerImageAtIndex:(unsigned long long)arg1;
@property(readonly, nonatomic) struct CGSize size;
@end
@interface CUINamedLayerImage : CUINamedImage
@property(nonatomic) int blendMode; // @synthesize blendMode=_blendMode;
@property(nonatomic) double opacity; // @synthesize opacity=_opacity;
@property(nonatomic) struct CGRect frame; // @synthesize frame=_frame;
@end

View file

@ -7,3 +7,4 @@
//
#import "CUICatalog.h"
#import "CUINamedLayerStack.h"

View file

@ -0,0 +1,111 @@
//
// SourceController.swift
// SimDirs
//
// Created by Casey Fleser on 4/30/16.
// Copyright © 2016 Quiet Spark. All rights reserved.
//
import Cocoa
protocol OutlineProvider: AnyObject {
var outlineTitle : String { get }
var outlineImage : NSImage? { get }
var childCount : Int { get }
func childAtIndex(index: Int) -> OutlineProvider?
}
extension OutlineProvider {
var expandable : Bool { return self.childCount > 0 }
}
class SourceController: NSViewController, NSOutlineViewDataSource, NSOutlineViewDelegate {
var platforms = [SimPlatform]()
override func viewDidLoad() {
super.viewDidLoad()
self.rescan()
}
func rescan() {
self.platforms = SimPlatform.scan()
}
// MARK: - NSOutlineViewDataSource -
func outlineView(outlineView: NSOutlineView, numberOfChildrenOfItem item: AnyObject?) -> Int {
return (item as? OutlineProvider)?.childCount ?? self.platforms.count
}
func outlineView(outlineView: NSOutlineView, child index: Int, ofItem item: AnyObject?) -> AnyObject {
return (item as? OutlineProvider)?.childAtIndex(index) ?? self.platforms[index]
}
func outlineView(outlineView: NSOutlineView, isItemExpandable item: AnyObject) -> Bool {
return (item as? OutlineProvider)?.expandable ?? (self.platforms.count > 0)
}
// MARK: - NSOutlineViewDelegate -
func outlineView(outlineView: NSOutlineView, viewForTableColumn tableColumn: NSTableColumn?, item: AnyObject) -> NSView? {
var view : NSTableCellView? = nil
var title = ""
var image : NSImage? = nil
if let outlineProvider = item as? OutlineProvider {
title = outlineProvider.outlineTitle
image = outlineProvider.outlineImage
}
if let outlineCell = outlineView.makeViewWithIdentifier(image != nil ? "ImageCell" : "TextCell", owner: self) as? NSTableCellView {
outlineCell.textField?.stringValue = title
outlineCell.imageView?.image = image
view = outlineCell
}
return view
}
func outlineView(outlineView: NSOutlineView, heightOfRowByItem item: AnyObject) -> CGFloat {
return (item as? OutlineProvider)?.outlineImage != nil ? 24.0 : 20.0
}
func outlineViewSelectionDidChange(notification: NSNotification) {
NSLog("boop")
}
//- (void) outlineViewSelectionDidChange: (NSNotification *) inNotification
//{
// NSInteger row = [self.locationOutline selectedRow];
// BOOL selectedTab = NO;
//
// self.selectedDevice = nil;
// self.selectedApp = nil;
//
// if (row != -1) {
// id item = [self.locationOutline itemAtRow: row];
//
// if ([item isKindOfClass: [QSSimDeviceInfo class]]) {
// self.selectedDevice = item;
// [self updateDeviceTabWithSelection];
//
// [self.infoTabView selectTabViewItemWithIdentifier: @"device"];
// selectedTab = YES;
// }
// if ([item isKindOfClass: [QSSimAppInfo class]]) {
// self.selectedApp = item;
// [self updateAppTabWithSelection];
//
// [self.infoTabView selectTabViewItemWithIdentifier: @"app"];
// selectedTab = YES;
// }
// }
//
// if (!selectedTab) {
// [self.infoTabView selectTabViewItemWithIdentifier: @"empty"];
// }
//}
//
}