OSDN Git Service

現在の艦隊表示および小、中、大破表示
authormasakih <masakih@users.sourceforge.jp>
Sun, 20 Apr 2014 03:38:45 +0000 (12:38 +0900)
committermasakih <masakih@users.sourceforge.jp>
Sun, 20 Apr 2014 03:38:45 +0000 (12:38 +0900)
#50214 #50205

KCD.xcodeproj/project.pbxproj
KCD/HMBroserWindowController.h
KCD/HMBroserWindowController.m
KCD/HMDeckViewController.h [new file with mode: 0644]
KCD/HMDeckViewController.m [new file with mode: 0644]
KCD/HMKCShipObject.h
KCD/HMKCShipObject.m
KCD/HMStrokeTextFieldCell.h [new file with mode: 0644]
KCD/HMStrokeTextFieldCell.m [new file with mode: 0644]
KCD/ja.lproj/HMBroserWindowController.xib
KCD/ja.lproj/HMDeckViewController.xib [new file with mode: 0644]

index c8be24f..cb22f96 100644 (file)
                F494DC6718C8BA6400AE97E4 /* HMPowerUpSupportViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F494DC6618C8BA6400AE97E4 /* HMPowerUpSupportViewController.m */; };
                F494DC6A18C8BAB900AE97E4 /* HMPowerUpSupportViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = F494DC6818C8BAB900AE97E4 /* HMPowerUpSupportViewController.xib */; };
                F494DC6D18CC054800AE97E4 /* HMNyukyoDockStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = F494DC6C18CC054800AE97E4 /* HMNyukyoDockStatus.m */; };
+               F49828FC1902A226000D6BBE /* HMStrokeTextFieldCell.m in Sources */ = {isa = PBXBuildFile; fileRef = F49828FB1902A226000D6BBE /* HMStrokeTextFieldCell.m */; };
                F4B2D02B18F83A2F00542742 /* HMScreenshotWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = F4B2D02D18F83A2F00542742 /* HMScreenshotWindowController.xib */; };
+               F4B2D03118F83CBB00542742 /* HMDeckViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F4B2D02F18F83CBB00542742 /* HMDeckViewController.m */; };
+               F4B2D03318F83CC800542742 /* HMDeckViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = F4B2D03518F83CC800542742 /* HMDeckViewController.xib */; };
                F4B3DBCA18DDB9170011B4FC /* HMCreateSlotItemCommand.m in Sources */ = {isa = PBXBuildFile; fileRef = F4B3DBC918DDB9170011B4FC /* HMCreateSlotItemCommand.m */; };
                F4B3DC1B18DEAB5E0011B4FC /* HMKaihatuHistory.m in Sources */ = {isa = PBXBuildFile; fileRef = F4B3DC1A18DEAB5E0011B4FC /* HMKaihatuHistory.m */; };
                F4B3DC1E18DEB8C70011B4FC /* HMKenzoHistory.m in Sources */ = {isa = PBXBuildFile; fileRef = F4B3DC1D18DEB8C70011B4FC /* HMKenzoHistory.m */; };
                F494DC6918C8BAB900AE97E4 /* ja */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = ja; path = ja.lproj/HMPowerUpSupportViewController.xib; sourceTree = "<group>"; };
                F494DC6B18CC054800AE97E4 /* HMNyukyoDockStatus.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HMNyukyoDockStatus.h; sourceTree = "<group>"; };
                F494DC6C18CC054800AE97E4 /* HMNyukyoDockStatus.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HMNyukyoDockStatus.m; sourceTree = "<group>"; };
+               F49828FA1902A226000D6BBE /* HMStrokeTextFieldCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HMStrokeTextFieldCell.h; sourceTree = "<group>"; };
+               F49828FB1902A226000D6BBE /* HMStrokeTextFieldCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HMStrokeTextFieldCell.m; sourceTree = "<group>"; };
                F4B2D02C18F83A2F00542742 /* ja */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = ja; path = ja.lproj/HMScreenshotWindowController.xib; sourceTree = "<group>"; };
+               F4B2D02E18F83CBB00542742 /* HMDeckViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HMDeckViewController.h; sourceTree = "<group>"; };
+               F4B2D02F18F83CBB00542742 /* HMDeckViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HMDeckViewController.m; sourceTree = "<group>"; };
+               F4B2D03418F83CC800542742 /* ja */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = ja; path = ja.lproj/HMDeckViewController.xib; sourceTree = "<group>"; };
                F4B3DBC818DDB9170011B4FC /* HMCreateSlotItemCommand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HMCreateSlotItemCommand.h; sourceTree = "<group>"; };
                F4B3DBC918DDB9170011B4FC /* HMCreateSlotItemCommand.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HMCreateSlotItemCommand.m; sourceTree = "<group>"; };
                F4B3DC1918DEAB5E0011B4FC /* HMKaihatuHistory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HMKaihatuHistory.h; sourceTree = "<group>"; };
                                F4B3DC4F18F150CD0011B4FC /* HMScreenshotWindowController.h */,
                                F4B3DC5018F150CD0011B4FC /* HMScreenshotWindowController.m */,
                                F4B2D02D18F83A2F00542742 /* HMScreenshotWindowController.xib */,
+                               F4B2D02E18F83CBB00542742 /* HMDeckViewController.h */,
+                               F4B2D02F18F83CBB00542742 /* HMDeckViewController.m */,
+                               F4B2D03518F83CC800542742 /* HMDeckViewController.xib */,
+                               F49828FA1902A226000D6BBE /* HMStrokeTextFieldCell.h */,
+                               F49828FB1902A226000D6BBE /* HMStrokeTextFieldCell.m */,
                        );
                        name = UI;
                        sourceTree = "<group>";
                                F4BDEB51187252F30069D0CE /* InfoPlist.strings in Resources */,
                                F43E67B918BE060E0087E5B6 /* LevelUpExp.plist in Resources */,
                                F4B3DC3018E5C81E0011B4FC /* HMHistoryWindowController.xib in Resources */,
+                               F4B2D03318F83CC800542742 /* HMDeckViewController.xib in Resources */,
                                F4B3DC3618E5C8650011B4FC /* HMShipWindowController.xib in Resources */,
                                F4B3DC3C18E5C87D0011B4FC /* HMDocksViewController.xib in Resources */,
                                F4B2D02B18F83A2F00542742 /* HMScreenshotWindowController.xib in Resources */,
                                F4B3DC4718EEEB920011B4FC /* HMCompositMapCommand.m in Sources */,
                                F4513EDD18B619B600073552 /* HMCoreDataManager.m in Sources */,
                                F4B3DBCA18DDB9170011B4FC /* HMCreateSlotItemCommand.m in Sources */,
+                               F4B2D03118F83CBB00542742 /* HMDeckViewController.m in Sources */,
                                F4B3DC2718DF2F360011B4FC /* HMKenzoMark.m in Sources */,
+                               F49828FC1902A226000D6BBE /* HMStrokeTextFieldCell.m in Sources */,
                                F4B414E918B09A4B00468DAF /* HMMasterMapAreaCommand.m in Sources */,
                                F4C3957418CDDFE500A1E918 /* HMKenzoDockStatus.m in Sources */,
                                F4C118FB18A67B1C005D5B25 /* CanonicalRequest.m in Sources */,
                        name = HMScreenshotWindowController.xib;
                        sourceTree = "<group>";
                };
+               F4B2D03518F83CC800542742 /* HMDeckViewController.xib */ = {
+                       isa = PBXVariantGroup;
+                       children = (
+                               F4B2D03418F83CC800542742 /* ja */,
+                       );
+                       name = HMDeckViewController.xib;
+                       sourceTree = "<group>";
+               };
                F4B3DC3218E5C81E0011B4FC /* HMHistoryWindowController.xib */ = {
                        isa = PBXVariantGroup;
                        children = (
index a5ff951..c925568 100644 (file)
@@ -27,6 +27,9 @@
 @property (nonatomic, readonly) NSString *flagShipName;
 
 
+@property (nonatomic, weak) IBOutlet NSView *deckPlaceholder;
+
+
 - (IBAction)reloadContent:(id)sender;
 - (IBAction)selectView:(id)sender;
 
index 1a30651..d43c048 100644 (file)
@@ -11,6 +11,7 @@
 #import "HMDocksViewController.h"
 #import "HMShipViewController.h"
 #import "HMPowerUpSupportViewController.h"
+#import "HMDeckViewController.h"
 
 #import "HMScreenshotWindowController.h"
 
@@ -34,6 +35,8 @@ typedef NS_ENUM(NSInteger, ViewType) {
 
 @property (strong) HMScreenshotWindowController *screenshotWindowController;
 
+@property (strong) HMDeckViewController *deckViewController;
+
 @end
 
 @implementation HMBroserWindowController
@@ -67,6 +70,10 @@ typedef NS_ENUM(NSInteger, ViewType) {
        [[self.docksPlaceholder superview] replaceSubview:self.docksPlaceholder with:self.selectedViewController.view];
        [self.controllers setObject:self.selectedViewController forKey:@0];
        
+       self.deckViewController = [HMDeckViewController new];
+       [self.deckViewController.view setFrame:[self.deckPlaceholder frame]];
+       [self.deckViewController.view setAutoresizingMask:[self.deckPlaceholder autoresizingMask]];
+       [[self.deckPlaceholder superview] replaceSubview:self.deckPlaceholder with:self.deckViewController.view];
        
        [[[self.webView mainFrame] frameView] setAllowsScrolling:NO];
        
@@ -127,7 +134,7 @@ typedef NS_ENUM(NSInteger, ViewType) {
 - (IBAction)reloadContent:(id)sender
 {
        id /*NSClipView * */ clip = [self.webView superview];
-       [clip scrollToPoint:NSMakePoint(70, 425)];
+       [clip scrollToPoint:NSMakePoint(70, 445)];
        
        NSString *prevReloadDateString = [[NSUserDefaults standardUserDefaults] stringForKey:prevReloadDateStringKey];
        if(prevReloadDateString) {
diff --git a/KCD/HMDeckViewController.h b/KCD/HMDeckViewController.h
new file mode 100644 (file)
index 0000000..5aea847
--- /dev/null
@@ -0,0 +1,26 @@
+//
+//  HMDeckViewController.h
+//  KCD
+//
+//  Created by Hori,Masaki on 2014/04/12.
+//  Copyright (c) 2014年 Hori,Masaki. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+
+@interface HMDeckViewController : NSViewController
+
+@property (readonly) NSManagedObjectContext *manageObjectContext;
+
+@property (weak, nonatomic) IBOutlet NSArrayController *deckController;
+@property (weak, nonatomic) IBOutlet NSArrayController *shipsController;
+
+@property (weak, nonatomic) IBOutlet NSArrayController *ship1Controller;
+@property (weak, nonatomic) IBOutlet NSArrayController *ship2Controller;
+@property (weak, nonatomic) IBOutlet NSArrayController *ship3Controller;
+@property (weak, nonatomic) IBOutlet NSArrayController *ship4Controller;
+@property (weak, nonatomic) IBOutlet NSArrayController *ship5Controller;
+@property (weak, nonatomic) IBOutlet NSArrayController *ship6Controller;
+
+@property NSInteger selectedDeck;
+@end
diff --git a/KCD/HMDeckViewController.m b/KCD/HMDeckViewController.m
new file mode 100644 (file)
index 0000000..0b2dce4
--- /dev/null
@@ -0,0 +1,96 @@
+//
+//  HMDeckViewController.m
+//  KCD
+//
+//  Created by Hori,Masaki on 2014/04/12.
+//  Copyright (c) 2014年 Hori,Masaki. All rights reserved.
+//
+
+#import "HMDeckViewController.h"
+
+#import "HMServerDataStore.h"
+
+
+@interface HMDeckViewController ()
+
+@end
+
+@implementation HMDeckViewController
+@synthesize selectedDeck = _selectedDeck;
+
+- (id)init
+{
+       self = [super initWithNibName:NSStringFromClass([self class]) bundle:nil];
+       return self;
+}
+
+- (NSManagedObjectContext *)manageObjectContext
+{
+       return [[HMServerDataStore defaultManager] managedObjectContext];
+}
+
+
+- (void)awakeFromNib
+{
+       self.selectedDeck = 1;
+       
+       [self.deckController addObserver:self
+                                                 forKeyPath:@"selection.ship_0"
+                                                        options:0
+                                                        context:@"0"];
+       [self.deckController addObserver:self
+                                                 forKeyPath:@"selection.ship_1"
+                                                        options:0
+                                                        context:@"1"];
+       [self.deckController addObserver:self
+                                                 forKeyPath:@"selection.ship_2"
+                                                        options:0
+                                                        context:@"2"];
+       [self.deckController addObserver:self
+                                                 forKeyPath:@"selection.ship_3"
+                                                        options:0
+                                                        context:@"3"];
+       [self.deckController addObserver:self
+                                                 forKeyPath:@"selection.ship_4"
+                                                        options:0
+                                                        context:@"4"];
+       [self.deckController addObserver:self
+                                                 forKeyPath:@"selection.ship_5"
+                                                        options:0
+                                                        context:@"5"];
+       
+}
+
+- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
+{
+       id contextObject = (__bridge id)context;
+       
+       if([contextObject isKindOfClass:[NSString class]]) {
+               NSInteger number = [contextObject integerValue];
+               NSArray *controllers = @[self.ship1Controller, self.ship2Controller, self.ship3Controller, self.ship4Controller, self.ship5Controller, self.ship6Controller];
+               NSArrayController *target = controllers[number];
+               NSString *key = [NSString stringWithFormat:@"selection.ship_%ld", number];
+               id shipID = [self.deckController valueForKeyPath:key];
+               NSPredicate *predicate = [NSPredicate predicateWithFormat:@"id = %@", shipID];
+               [target setFetchPredicate:predicate];
+               
+               return;
+       }
+       
+       [super observeValueForKeyPath:keyPath ofObject:object change:change context:context];
+}
+
+- (void)setSelectedDeck:(NSInteger)selectedDeck
+{
+       if(selectedDeck == _selectedDeck) return;
+       _selectedDeck = selectedDeck;
+       
+       NSPredicate *predicate = [NSPredicate predicateWithFormat:@"id = %ld", selectedDeck];
+       [self.deckController setFetchPredicate:predicate];
+}
+- (NSInteger)selectedDeck
+{
+       return _selectedDeck;
+}
+
+@end
index 44936d8..fea046a 100644 (file)
@@ -10,4 +10,6 @@
 
 @interface HMKCShipObject : HMKCManagedObject
 
+@property (readonly) NSColor *statusColor;
+@property (readonly) NSColor *conditionColor;
 @end
index 9c0a085..d95ea01 100644 (file)
@@ -33,6 +33,15 @@ static NSArray *levelUpExps = nil;
        });
 }
 
++ (NSSet *)keyPathsForValuesAffectingStatusColor
+{
+       return [NSSet setWithObjects:@"nowhp", @"maxph", nil];
+}
++ (NSSet *)keyPathsForValuesAffectingConditionColor
+{
+       return [NSSet setWithObjects:@"cond", nil];
+}
+
 - (NSNumber *)master_sortno
 {
        return nil;
@@ -96,4 +105,26 @@ static NSArray *levelUpExps = nil;
        return [NSNumber numberWithInteger:nextExp - [[self valueForKey:@"exp"] integerValue]];
 }
 
+- (NSColor *)statusColor
+{
+       NSInteger maxhp = [[self valueForKey:@"maxhp"] integerValue];
+       CGFloat nowhp = [[self valueForKey:@"nowhp"] integerValue];
+       CGFloat status = nowhp / maxhp;
+       if(status <= 0.25) {
+               return [NSColor redColor];
+       }
+       if(status <= 0.5) {
+               return [NSColor orangeColor];
+       }
+       if(status <= 0.75) {
+               return [NSColor yellowColor];
+
+       }
+       return [NSColor controlTextColor];
+}
+- (NSColor *)conditionColor
+{
+       return [NSColor controlTextColor];
+}
+
 @end
diff --git a/KCD/HMStrokeTextFieldCell.h b/KCD/HMStrokeTextFieldCell.h
new file mode 100644 (file)
index 0000000..d7f8e93
--- /dev/null
@@ -0,0 +1,13 @@
+//
+//  HMStrokeTextFieldCell.h
+//  KCD
+//
+//  Created by Hori,Masaki on 2014/04/19.
+//  Copyright (c) 2014年 Hori,Masaki. All rights reserved.
+//
+
+#import <Cocoa/Cocoa.h>
+
+@interface HMStrokeTextFieldCell : NSTextFieldCell
+
+@end
diff --git a/KCD/HMStrokeTextFieldCell.m b/KCD/HMStrokeTextFieldCell.m
new file mode 100644 (file)
index 0000000..f66cb32
--- /dev/null
@@ -0,0 +1,73 @@
+//
+//  HMStrokeTextFieldCell.m
+//  KCD
+//
+//  Created by Hori,Masaki on 2014/04/19.
+//  Copyright (c) 2014年 Hori,Masaki. All rights reserved.
+//
+
+#import "HMStrokeTextFieldCell.h"
+
+const CGFloat boarderWidth = 2.0;
+
+@interface HMStrokeTextFieldCell ()
+@property (strong, nonatomic) NSLayoutManager *layoutManager;
+@property (strong, nonatomic) NSTextContainer *textContainer;
+@end
+
+@implementation HMStrokeTextFieldCell
+
+- (id)initWithCoder:(NSCoder *)aDecoder
+{
+       self = [super initWithCoder:aDecoder];
+       if(self) {
+               _layoutManager = [NSLayoutManager new];
+               _textContainer = [NSTextContainer new];
+               [self.layoutManager addTextContainer:self.textContainer];
+       }
+       return self;
+}
+
+- (void)drawInteriorWithFrame:(NSRect)cellFrame inView:(NSView *)controlView
+{
+       NSAttributedString *attributedString = self.attributedStringValue;
+       NSDictionary *attribute = [attributedString attributesAtIndex:0 effectiveRange:NULL];
+       NSColor *forgroundColor = [attribute objectForKey:NSForegroundColorAttributeName];
+       if(!forgroundColor) return;
+       if([forgroundColor isEqual:[NSColor controlTextColor]]) {
+               [super drawInteriorWithFrame:cellFrame inView:controlView];
+               return;
+       }
+       
+       NSTextStorage *textStorage = [[NSTextStorage alloc] initWithString:attributedString.string attributes:attribute];
+       [textStorage addLayoutManager:self.layoutManager];
+       
+       NSRange range = [self.layoutManager glyphRangeForTextContainer:self.textContainer];
+       NSGlyph glyph[range.length];
+       NSUInteger glyphLength = [self.layoutManager getGlyphs:glyph range:range];
+       
+       NSFont *font = [attribute objectForKey:NSFontAttributeName];
+       NSPoint point = {boarderWidth,0};
+       point.y -= [font descender];
+       if([controlView isFlipped]) {
+               point.y -= [controlView frame].size.height;
+       }
+       
+       NSBezierPath *path = [NSBezierPath new];
+       [path moveToPoint:point];
+       [path appendBezierPathWithGlyphs:glyph count:glyphLength inFont:font];
+       [path setLineWidth:boarderWidth];
+       [path setLineJoinStyle:NSRoundLineJoinStyle];
+       if([controlView isFlipped]) {
+               NSAffineTransform *affineTransform = [NSAffineTransform transform];
+               [affineTransform scaleXBy:1 yBy:-1];
+               [path transformUsingAffineTransform:affineTransform];
+       }
+       
+       [[NSColor blackColor] set];
+       [path stroke];
+       
+       [forgroundColor set];
+       [path fill];
+}
+@end
index 48e4832..e8fef28 100644 (file)
@@ -9,6 +9,7 @@
         <customObject id="-2" userLabel="File's Owner" customClass="HMBroserWindowController">
             <connections>
                 <outlet property="deckContoller" destination="eqP-ex-UzI" id="8n5-Er-BIF"/>
+                <outlet property="deckPlaceholder" destination="tIf-gd-MhY" id="aXM-5K-Uwd"/>
                 <outlet property="docksPlaceholder" destination="jkX-gl-a14" id="dhr-oF-eq0"/>
                 <outlet property="placeholder" destination="raX-C4-fMW" id="T7y-R7-3qy"/>
                 <outlet property="webView" destination="tgB-GD-Aq9" id="3AA-N6-bnp"/>
                         <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
                     </customView>
                     <scrollView borderType="none" horizontalLineScroll="10" horizontalPageScroll="10" verticalLineScroll="10" verticalPageScroll="10" hasHorizontalScroller="NO" hasVerticalScroller="NO" usesPredominantAxisScrolling="NO" id="hy2-T8-sUp">
-                        <rect key="frame" x="20" y="3" width="788" height="42"/>
+                        <rect key="frame" x="20" y="3" width="788" height="31"/>
                         <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/>
                         <clipView key="contentView" drawsBackground="NO" copiesOnScroll="NO" id="rGC-re-IS2">
-                            <rect key="frame" x="0.0" y="0.0" width="788" height="42"/>
+                            <rect key="frame" x="0.0" y="0.0" width="788" height="31"/>
                             <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                             <subviews>
                                 <textView editable="NO" drawsBackground="NO" importsGraphics="NO" verticallyResizable="YES" allowsNonContiguousLayout="YES" id="XsL-WO-et2">
-                                    <rect key="frame" x="0.0" y="0.0" width="788" height="42"/>
+                                    <rect key="frame" x="0.0" y="0.0" width="788" height="31"/>
                                     <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                     <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
-                                    <size key="minSize" width="788" height="42"/>
+                                    <size key="minSize" width="788" height="31"/>
                                     <size key="maxSize" width="806" height="10000000"/>
                                     <color key="insertionPointColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/>
-                                    <size key="minSize" width="788" height="42"/>
+                                    <size key="minSize" width="788" height="31"/>
                                     <size key="maxSize" width="806" height="10000000"/>
                                     <connections>
                                         <binding destination="-2" name="attributedString" keyPath="linksString" id="Zq5-KB-a2U">
                             <binding destination="-2" name="selectedIndex" keyPath="selectedViewsSegment" id="Y74-mZ-YTP"/>
                         </connections>
                     </segmentedControl>
+                    <customView id="tIf-gd-MhY">
+                        <rect key="frame" x="8" y="39" width="800" height="60"/>
+                        <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+                    </customView>
                 </subviews>
             </view>
             <connections>
diff --git a/KCD/ja.lproj/HMDeckViewController.xib b/KCD/ja.lproj/HMDeckViewController.xib
new file mode 100644 (file)
index 0000000..757f7ee
--- /dev/null
@@ -0,0 +1,364 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="5056" systemVersion="13C64" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none">
+    <dependencies>
+        <deployment defaultVersion="1080" identifier="macosx"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="5056"/>
+    </dependencies>
+    <objects>
+        <customObject id="-2" userLabel="File's Owner" customClass="HMDeckViewController">
+            <connections>
+                <outlet property="deckController" destination="LCL-zi-37N" id="5cw-nc-pCX"/>
+                <outlet property="ship1Controller" destination="ZYq-YJ-bZ2" id="FiV-QE-pSP"/>
+                <outlet property="ship2Controller" destination="kmC-dd-Ogn" id="pbq-Qf-DrQ"/>
+                <outlet property="ship3Controller" destination="Is8-93-eeH" id="dPE-DY-l83"/>
+                <outlet property="ship4Controller" destination="qw8-TN-BKh" id="zJj-uk-l38"/>
+                <outlet property="ship5Controller" destination="9uZ-dp-nwH" id="bbL-xu-Gvz"/>
+                <outlet property="ship6Controller" destination="1JX-hj-zJq" id="rsP-3p-ufc"/>
+                <outlet property="view" destination="Hz6-mo-xeY" id="0bl-1N-x8E"/>
+            </connections>
+        </customObject>
+        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
+        <customObject id="-3" userLabel="Application"/>
+        <customView id="Hz6-mo-xeY">
+            <rect key="frame" x="0.0" y="0.0" width="800" height="60"/>
+            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+            <subviews>
+                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" id="F0v-3N-Xd1">
+                    <rect key="frame" x="216" y="34" width="82" height="17"/>
+                    <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+                    <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="千代田航改二" id="QLf-lB-0HD">
+                        <font key="font" size="13" name="AquaKana"/>
+                        <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
+                        <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                    </textFieldCell>
+                    <connections>
+                        <binding destination="ZYq-YJ-bZ2" name="textColor" keyPath="selection.conditionColor" id="Tj3-b2-Let"/>
+                        <binding destination="ZYq-YJ-bZ2" name="value" keyPath="selection.master_ship.name" id="r0K-8d-bqP">
+                            <dictionary key="options">
+                                <string key="NSNoSelectionPlaceholder">空席</string>
+                                <string key="NSNullPlaceholder">空席</string>
+                            </dictionary>
+                        </binding>
+                    </connections>
+                </textField>
+                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" id="6Or-P0-p9N">
+                    <rect key="frame" x="298" y="34" width="61" height="17"/>
+                    <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+                    <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="123/123" id="ddo-nt-jFg" customClass="HMStrokeTextFieldCell">
+                        <font key="font" metaFont="system"/>
+                        <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
+                        <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                    </textFieldCell>
+                    <connections>
+                        <binding destination="ZYq-YJ-bZ2" name="displayPatternValue2" keyPath="selection.maxhp" previousBinding="fJn-F8-ssx" id="QUj-Ps-rc6">
+                            <dictionary key="options">
+                                <string key="NSDisplayPattern">%{value1}@/%{value2}@</string>
+                                <string key="NSNoSelectionPlaceholder">-</string>
+                                <string key="NSNullPlaceholder">-</string>
+                            </dictionary>
+                        </binding>
+                        <binding destination="ZYq-YJ-bZ2" name="displayPatternValue1" keyPath="selection.nowhp" id="fJn-F8-ssx">
+                            <dictionary key="options">
+                                <string key="NSDisplayPattern">%{value1}@/%{value2}@</string>
+                                <string key="NSNoSelectionPlaceholder">-</string>
+                                <string key="NSNullPlaceholder">-</string>
+                            </dictionary>
+                        </binding>
+                        <binding destination="ZYq-YJ-bZ2" name="textColor" keyPath="selection.statusColor" id="aUd-LX-TmZ"/>
+                    </connections>
+                </textField>
+                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" id="2RA-Kq-AkK">
+                    <rect key="frame" x="216" y="9" width="82" height="17"/>
+                    <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+                    <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="千代田航改二" id="sXE-Lc-90U">
+                        <font key="font" size="13" name="AquaKana"/>
+                        <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
+                        <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                    </textFieldCell>
+                    <connections>
+                        <binding destination="kmC-dd-Ogn" name="textColor" keyPath="selection.conditionColor" id="tDb-s2-CTN"/>
+                        <binding destination="kmC-dd-Ogn" name="value" keyPath="selection.master_ship.name" id="h8A-Yy-3r9">
+                            <dictionary key="options">
+                                <string key="NSNoSelectionPlaceholder">空席</string>
+                                <string key="NSNullPlaceholder">空席</string>
+                            </dictionary>
+                        </binding>
+                    </connections>
+                </textField>
+                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" id="5AR-hJ-AeK">
+                    <rect key="frame" x="298" y="9" width="61" height="17"/>
+                    <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+                    <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="123/123" id="JSd-Ku-V4j" customClass="HMStrokeTextFieldCell">
+                        <font key="font" metaFont="system"/>
+                        <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
+                        <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                    </textFieldCell>
+                    <connections>
+                        <binding destination="kmC-dd-Ogn" name="displayPatternValue2" keyPath="selection.maxhp" previousBinding="P8d-ln-emV" id="rqJ-Cc-S9F">
+                            <dictionary key="options">
+                                <string key="NSDisplayPattern">%{value1}@/%{value2}@</string>
+                                <string key="NSNoSelectionPlaceholder">-</string>
+                                <string key="NSNullPlaceholder">-</string>
+                            </dictionary>
+                        </binding>
+                        <binding destination="kmC-dd-Ogn" name="displayPatternValue1" keyPath="selection.nowhp" id="P8d-ln-emV">
+                            <dictionary key="options">
+                                <string key="NSDisplayPattern">%{value1}@/%{value2}@</string>
+                                <string key="NSNoSelectionPlaceholder">-</string>
+                                <string key="NSNullPlaceholder">-</string>
+                            </dictionary>
+                        </binding>
+                        <binding destination="kmC-dd-Ogn" name="textColor" keyPath="selection.statusColor" id="a6z-na-IYF"/>
+                    </connections>
+                </textField>
+                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" id="TPD-dT-Iyd">
+                    <rect key="frame" x="363" y="34" width="82" height="17"/>
+                    <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+                    <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="千代田航改二" id="Gqz-dC-JJB">
+                        <font key="font" size="13" name="AquaKana"/>
+                        <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
+                        <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                    </textFieldCell>
+                    <connections>
+                        <binding destination="Is8-93-eeH" name="textColor" keyPath="selection.conditionColor" id="gQc-IC-Hfv"/>
+                        <binding destination="Is8-93-eeH" name="value" keyPath="selection.master_ship.name" id="gF3-Nw-ggJ">
+                            <dictionary key="options">
+                                <string key="NSNoSelectionPlaceholder">空席</string>
+                                <string key="NSNullPlaceholder">空席</string>
+                            </dictionary>
+                        </binding>
+                    </connections>
+                </textField>
+                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" id="smn-zr-pta">
+                    <rect key="frame" x="444" y="34" width="61" height="17"/>
+                    <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+                    <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="123/123" id="Ocl-yu-tLk" customClass="HMStrokeTextFieldCell">
+                        <font key="font" metaFont="system"/>
+                        <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
+                        <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                    </textFieldCell>
+                    <connections>
+                        <binding destination="Is8-93-eeH" name="displayPatternValue2" keyPath="selection.maxhp" previousBinding="mES-xX-Ffa" id="fkz-TV-mKe">
+                            <dictionary key="options">
+                                <string key="NSDisplayPattern">%{value1}@/%{value2}@</string>
+                                <string key="NSNoSelectionPlaceholder">-</string>
+                                <string key="NSNullPlaceholder">-</string>
+                            </dictionary>
+                        </binding>
+                        <binding destination="Is8-93-eeH" name="displayPatternValue1" keyPath="selection.nowhp" id="mES-xX-Ffa">
+                            <dictionary key="options">
+                                <string key="NSDisplayPattern">%{value1}@/%{value2}@</string>
+                                <string key="NSNoSelectionPlaceholder">-</string>
+                                <string key="NSNullPlaceholder">-</string>
+                            </dictionary>
+                        </binding>
+                        <binding destination="Is8-93-eeH" name="textColor" keyPath="selection.statusColor" id="LBt-Lu-cNt"/>
+                    </connections>
+                </textField>
+                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" id="Ls0-NB-eZm">
+                    <rect key="frame" x="363" y="9" width="82" height="17"/>
+                    <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+                    <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="千代田航改二" id="Zsr-od-lhx">
+                        <font key="font" size="13" name="AquaKana"/>
+                        <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
+                        <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                    </textFieldCell>
+                    <connections>
+                        <binding destination="qw8-TN-BKh" name="textColor" keyPath="selection.conditionColor" id="egq-Za-poj"/>
+                        <binding destination="qw8-TN-BKh" name="value" keyPath="selection.master_ship.name" id="Hdd-Bf-zv8">
+                            <dictionary key="options">
+                                <string key="NSNoSelectionPlaceholder">空席</string>
+                                <string key="NSNullPlaceholder">空席</string>
+                            </dictionary>
+                        </binding>
+                    </connections>
+                </textField>
+                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" id="bgm-YO-io1">
+                    <rect key="frame" x="444" y="9" width="61" height="17"/>
+                    <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+                    <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="123/123" id="LEg-DQ-i6o" customClass="HMStrokeTextFieldCell">
+                        <font key="font" metaFont="system"/>
+                        <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
+                        <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                    </textFieldCell>
+                    <connections>
+                        <binding destination="qw8-TN-BKh" name="displayPatternValue2" keyPath="selection.maxhp" previousBinding="Fn8-5z-ZEW" id="rbe-bw-qka">
+                            <dictionary key="options">
+                                <string key="NSDisplayPattern">%{value1}@/%{value2}@</string>
+                                <string key="NSNoSelectionPlaceholder">-</string>
+                                <string key="NSNullPlaceholder">-</string>
+                            </dictionary>
+                        </binding>
+                        <binding destination="qw8-TN-BKh" name="displayPatternValue1" keyPath="selection.nowhp" id="Fn8-5z-ZEW">
+                            <dictionary key="options">
+                                <string key="NSDisplayPattern">%{value1}@/%{value2}@</string>
+                                <string key="NSNoSelectionPlaceholder">-</string>
+                                <string key="NSNullPlaceholder">-</string>
+                            </dictionary>
+                        </binding>
+                        <binding destination="qw8-TN-BKh" name="textColor" keyPath="selection.statusColor" id="zvO-Mt-fXf"/>
+                    </connections>
+                </textField>
+                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" id="HQ0-Ve-Ftg">
+                    <rect key="frame" x="509" y="34" width="82" height="17"/>
+                    <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+                    <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="千代田航改二" id="cYl-Qg-XL1">
+                        <font key="font" size="13" name="AquaKana"/>
+                        <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
+                        <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                    </textFieldCell>
+                    <connections>
+                        <binding destination="9uZ-dp-nwH" name="textColor" keyPath="selection.conditionColor" id="CyQ-jg-8al"/>
+                        <binding destination="9uZ-dp-nwH" name="value" keyPath="selection.master_ship.name" id="OiM-yP-9uN">
+                            <dictionary key="options">
+                                <string key="NSNoSelectionPlaceholder">空席</string>
+                                <string key="NSNullPlaceholder">空席</string>
+                            </dictionary>
+                        </binding>
+                    </connections>
+                </textField>
+                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" id="DM5-82-U3A">
+                    <rect key="frame" x="591" y="34" width="61" height="17"/>
+                    <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+                    <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="123/123" id="L8K-jE-OB1" customClass="HMStrokeTextFieldCell">
+                        <font key="font" metaFont="system"/>
+                        <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
+                        <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                    </textFieldCell>
+                    <connections>
+                        <binding destination="9uZ-dp-nwH" name="displayPatternValue1" keyPath="selection.nowhp" id="ChO-5S-ew9">
+                            <dictionary key="options">
+                                <string key="NSDisplayPattern">%{value1}@/%{value2}@</string>
+                                <string key="NSNoSelectionPlaceholder">-</string>
+                                <string key="NSNullPlaceholder">-</string>
+                            </dictionary>
+                        </binding>
+                        <binding destination="9uZ-dp-nwH" name="displayPatternValue2" keyPath="selection.maxhp" previousBinding="ChO-5S-ew9" id="Rap-xv-wRE">
+                            <dictionary key="options">
+                                <string key="NSDisplayPattern">%{value1}@/%{value2}@</string>
+                                <string key="NSNoSelectionPlaceholder">-</string>
+                                <string key="NSNullPlaceholder">-</string>
+                            </dictionary>
+                        </binding>
+                        <binding destination="9uZ-dp-nwH" name="textColor" keyPath="selection.statusColor" id="kiF-T3-MEQ"/>
+                    </connections>
+                </textField>
+                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" id="vgG-Ld-Ux7">
+                    <rect key="frame" x="509" y="9" width="82" height="17"/>
+                    <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+                    <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="千代田航改二" id="h8q-YD-k0d">
+                        <font key="font" size="13" name="AquaKana"/>
+                        <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
+                        <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                    </textFieldCell>
+                    <connections>
+                        <binding destination="1JX-hj-zJq" name="textColor" keyPath="selection.conditionColor" id="R0I-bn-lwT"/>
+                        <binding destination="1JX-hj-zJq" name="value" keyPath="selection.master_ship.name" id="1N5-9K-AcO">
+                            <dictionary key="options">
+                                <string key="NSNoSelectionPlaceholder">空席</string>
+                                <string key="NSNullPlaceholder">空席</string>
+                            </dictionary>
+                        </binding>
+                    </connections>
+                </textField>
+                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" id="rUa-IT-pN1">
+                    <rect key="frame" x="591" y="9" width="61" height="17"/>
+                    <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+                    <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="123/123" id="kcC-oq-S0a" customClass="HMStrokeTextFieldCell">
+                        <font key="font" metaFont="system"/>
+                        <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
+                        <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                    </textFieldCell>
+                    <connections>
+                        <binding destination="1JX-hj-zJq" name="displayPatternValue2" keyPath="selection.maxhp" previousBinding="nHL-a0-QTp" id="EEE-nF-EfJ">
+                            <dictionary key="options">
+                                <string key="NSDisplayPattern">%{value1}@/%{value2}@</string>
+                                <string key="NSNoSelectionPlaceholder">-</string>
+                                <string key="NSNullPlaceholder">-</string>
+                            </dictionary>
+                        </binding>
+                        <binding destination="1JX-hj-zJq" name="displayPatternValue1" keyPath="selection.nowhp" id="nHL-a0-QTp">
+                            <dictionary key="options">
+                                <string key="NSDisplayPattern">%{value1}@/%{value2}@</string>
+                                <string key="NSNoSelectionPlaceholder">-</string>
+                                <string key="NSNullPlaceholder">-</string>
+                            </dictionary>
+                        </binding>
+                        <binding destination="1JX-hj-zJq" name="textColor" keyPath="selection.statusColor" id="S0h-wc-Lsz"/>
+                    </connections>
+                </textField>
+                <matrix verticalHuggingPriority="750" allowsEmptySelection="NO" autorecalculatesCellSize="YES" id="suh-Cm-FQz">
+                    <rect key="frame" x="58" y="9" width="152" height="42"/>
+                    <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+                    <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                    <size key="cellSize" width="74" height="18"/>
+                    <size key="intercellSpacing" width="4" height="6"/>
+                    <buttonCell key="prototype" type="radio" title="Radio" imagePosition="left" alignment="left" inset="2" id="hda-U2-Shd">
+                        <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
+                        <font key="font" metaFont="system"/>
+                    </buttonCell>
+                    <cells>
+                        <column>
+                            <buttonCell type="radio" title="第一艦隊" imagePosition="left" alignment="left" state="on" tag="1" inset="2" id="Esz-js-bI8">
+                                <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
+                                <font key="font" metaFont="system"/>
+                            </buttonCell>
+                            <buttonCell type="radio" title="第二艦隊" imagePosition="left" alignment="left" tag="2" inset="2" id="SHv-eq-vob">
+                                <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
+                                <font key="font" metaFont="system"/>
+                            </buttonCell>
+                        </column>
+                        <column>
+                            <buttonCell type="radio" title="第三艦隊" imagePosition="left" alignment="left" tag="3" inset="2" id="9un-WT-XsF">
+                                <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
+                                <font key="font" metaFont="system"/>
+                            </buttonCell>
+                            <buttonCell type="radio" title="第四艦隊" imagePosition="left" alignment="left" tag="4" inset="2" id="P5v-56-Hyh">
+                                <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
+                                <font key="font" metaFont="system"/>
+                            </buttonCell>
+                        </column>
+                    </cells>
+                    <connections>
+                        <binding destination="-2" name="selectedTag" keyPath="selectedDeck" id="meL-mL-J2W"/>
+                    </connections>
+                </matrix>
+            </subviews>
+        </customView>
+        <arrayController mode="entity" entityName="Deck" editable="NO" automaticallyPreparesContent="YES" id="LCL-zi-37N" userLabel="Deck">
+            <connections>
+                <binding destination="-2" name="managedObjectContext" keyPath="manageObjectContext" id="nfo-Fj-PXX"/>
+            </connections>
+        </arrayController>
+        <arrayController mode="entity" entityName="Ship" editable="NO" automaticallyPreparesContent="YES" id="ZYq-YJ-bZ2" userLabel="Ship1">
+            <connections>
+                <binding destination="-2" name="managedObjectContext" keyPath="manageObjectContext" id="EOO-4z-K2h"/>
+            </connections>
+        </arrayController>
+        <arrayController mode="entity" entityName="Ship" editable="NO" automaticallyPreparesContent="YES" clearsFilterPredicateOnInsertion="NO" id="kmC-dd-Ogn" userLabel="Ship2">
+            <connections>
+                <binding destination="-2" name="managedObjectContext" keyPath="manageObjectContext" id="9n5-SX-2At"/>
+            </connections>
+        </arrayController>
+        <arrayController mode="entity" entityName="Ship" editable="NO" automaticallyPreparesContent="YES" clearsFilterPredicateOnInsertion="NO" id="Is8-93-eeH" userLabel="Ship3">
+            <connections>
+                <binding destination="-2" name="managedObjectContext" keyPath="manageObjectContext" id="rEx-9P-aZT"/>
+            </connections>
+        </arrayController>
+        <arrayController mode="entity" entityName="Ship" editable="NO" automaticallyPreparesContent="YES" clearsFilterPredicateOnInsertion="NO" id="qw8-TN-BKh" userLabel="Ship4">
+            <connections>
+                <binding destination="-2" name="managedObjectContext" keyPath="manageObjectContext" id="ydg-1F-iRy"/>
+            </connections>
+        </arrayController>
+        <arrayController mode="entity" entityName="Ship" editable="NO" automaticallyPreparesContent="YES" clearsFilterPredicateOnInsertion="NO" id="9uZ-dp-nwH" userLabel="Ship5">
+            <connections>
+                <binding destination="-2" name="managedObjectContext" keyPath="manageObjectContext" id="iIP-CI-r37"/>
+            </connections>
+        </arrayController>
+        <arrayController mode="entity" entityName="Ship" editable="NO" automaticallyPreparesContent="YES" clearsFilterPredicateOnInsertion="NO" id="1JX-hj-zJq" userLabel="Ship6">
+            <connections>
+                <binding destination="-2" name="managedObjectContext" keyPath="manageObjectContext" id="Pcx-ZC-Tqj"/>
+            </connections>
+        </arrayController>
+    </objects>
+</document>