From 9ea390a688cb08950feb0a6392bb37334a626f9f Mon Sep 17 00:00:00 2001 From: masakih Date: Sun, 25 Dec 2016 13:18:19 +0900 Subject: [PATCH] =?utf8?q?HMResourceViewController=E3=82=92Swift=E3=81=AB?= =?utf8?q?=E5=A4=89=E6=8F=9B=E3=81=97=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- KCD.xcodeproj/project.pbxproj | 10 +++--- KCD/HMBroserWindowController.m | 1 - KCD/HMResourceViewController.h | 13 ------- KCD/HMResourceViewController.m | 69 -------------------------------------- KCD/HMResourceViewController.swift | 53 +++++++++++++++++++++++++++++ 5 files changed, 57 insertions(+), 89 deletions(-) delete mode 100644 KCD/HMResourceViewController.h delete mode 100644 KCD/HMResourceViewController.m create mode 100644 KCD/HMResourceViewController.swift diff --git a/KCD.xcodeproj/project.pbxproj b/KCD.xcodeproj/project.pbxproj index 2f2f83c2..657ec693 100644 --- a/KCD.xcodeproj/project.pbxproj +++ b/KCD.xcodeproj/project.pbxproj @@ -241,6 +241,7 @@ F4D05BD41E0F4F8500688D66 /* HMShipDetailViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4D05BD31E0F4F8500688D66 /* HMShipDetailViewController.swift */; }; F4D05BD71E0F696C00688D66 /* HMRepairListViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4D05BD61E0F696C00688D66 /* HMRepairListViewController.swift */; }; F4D05BD91E0F748900688D66 /* HMQuestListViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4D05BD81E0F748900688D66 /* HMQuestListViewController.swift */; }; + F4D05BDB1E0F76A800688D66 /* HMResourceViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = F4D05BDA1E0F76A800688D66 /* HMResourceViewController.swift */; }; F4D2CBC218AD0E1A000EBC59 /* HMMasterSTypeCommand.m in Sources */ = {isa = PBXBuildFile; fileRef = F4D2CBC118AD0E1A000EBC59 /* HMMasterSTypeCommand.m */; }; F4D2CBC518AE2AE2000EBC59 /* HMCompositCommand.m in Sources */ = {isa = PBXBuildFile; fileRef = F4D2CBC418AE2AE2000EBC59 /* HMCompositCommand.m */; }; F4D2CBC818B0555A000EBC59 /* HMKCManagedObject.m in Sources */ = {isa = PBXBuildFile; fileRef = F4D2CBC718B0555A000EBC59 /* HMKCManagedObject.m */; }; @@ -262,7 +263,6 @@ F4ED5D2A1B78D0CA00D1BDEF /* HMGuardEscapedView.m in Sources */ = {isa = PBXBuildFile; fileRef = F4ED5D291B78D0CA00D1BDEF /* HMGuardEscapedView.m */; }; F4ED5D2D1B7C677E00D1BDEF /* HMGuardShelterCommand.m in Sources */ = {isa = PBXBuildFile; fileRef = F4ED5D2C1B7C677E00D1BDEF /* HMGuardShelterCommand.m */; }; F4F388BD1C13D63B00508549 /* HMGameViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F4F388BB1C13D63B00508549 /* HMGameViewController.m */; }; - F4F388C21C140AFB00508549 /* HMResourceViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F4F388C01C140AFB00508549 /* HMResourceViewController.m */; }; F4F479261C074E9900D0BF69 /* HMCombinedCommand.m in Sources */ = {isa = PBXBuildFile; fileRef = F4F479251C074E9900D0BF69 /* HMCombinedCommand.m */; }; F4F6E8081B2B17E50008B66E /* HMStrengthenListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F4F6E8061B2B17E50008B66E /* HMStrengthenListViewController.m */; }; F4F6E80C1B2BC81C0008B66E /* HMPeriodicNotifier.m in Sources */ = {isa = PBXBuildFile; fileRef = F4F6E80B1B2BC81C0008B66E /* HMPeriodicNotifier.m */; }; @@ -704,6 +704,7 @@ F4D05BD51E0F605400688D66 /* TemporaryEnumDefined.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TemporaryEnumDefined.h; sourceTree = ""; }; F4D05BD61E0F696C00688D66 /* HMRepairListViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HMRepairListViewController.swift; sourceTree = ""; }; F4D05BD81E0F748900688D66 /* HMQuestListViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HMQuestListViewController.swift; sourceTree = ""; }; + F4D05BDA1E0F76A800688D66 /* HMResourceViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HMResourceViewController.swift; sourceTree = ""; }; F4D2CBC018AD0E1A000EBC59 /* HMMasterSTypeCommand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HMMasterSTypeCommand.h; sourceTree = ""; }; F4D2CBC118AD0E1A000EBC59 /* HMMasterSTypeCommand.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HMMasterSTypeCommand.m; sourceTree = ""; }; F4D2CBC318AE2AE2000EBC59 /* HMCompositCommand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HMCompositCommand.h; sourceTree = ""; }; @@ -746,8 +747,6 @@ F4ED5D2C1B7C677E00D1BDEF /* HMGuardShelterCommand.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HMGuardShelterCommand.m; sourceTree = ""; }; F4F388BA1C13D63B00508549 /* HMGameViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HMGameViewController.h; sourceTree = ""; }; F4F388BB1C13D63B00508549 /* HMGameViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HMGameViewController.m; sourceTree = ""; }; - F4F388BF1C140AFB00508549 /* HMResourceViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HMResourceViewController.h; sourceTree = ""; }; - F4F388C01C140AFB00508549 /* HMResourceViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HMResourceViewController.m; sourceTree = ""; }; F4F479241C074E9900D0BF69 /* HMCombinedCommand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HMCombinedCommand.h; sourceTree = ""; }; F4F479251C074E9900D0BF69 /* HMCombinedCommand.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HMCombinedCommand.m; sourceTree = ""; }; F4F6E8051B2B17E50008B66E /* HMStrengthenListViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HMStrengthenListViewController.h; sourceTree = ""; }; @@ -1360,8 +1359,7 @@ F49AABC51DF70BAE00E0B24F /* HMMainTabVIewItemViewController.h */, F49AABC61DF70BAE00E0B24F /* HMMainTabVIewItemViewController.m */, F4B3DC4118E5C8870011B4FC /* HMBroserWindowController.xib */, - F4F388BF1C140AFB00508549 /* HMResourceViewController.h */, - F4F388C01C140AFB00508549 /* HMResourceViewController.m */, + F4D05BDA1E0F76A800688D66 /* HMResourceViewController.swift */, F4C6686B1C5451C800601AFB /* HMResourceViewController.xib */, F4253D801C8B307800CDA2A6 /* HMAncherageRepairTimerViewController.h */, F4253D811C8B307800CDA2A6 /* HMAncherageRepairTimerViewController.m */, @@ -1886,10 +1884,10 @@ F4C5A2261C36C68C00533FB6 /* HMStrengthenListItemView.m in Sources */, F4C86B921C1C445D00F260FE /* HMUpgradeShipExcludeColorTransformer.m in Sources */, F46FCB291BD933C600304DE7 /* HMSlotItemShortNameTransformer.m in Sources */, + F4D05BDB1E0F76A800688D66 /* HMResourceViewController.swift in Sources */, F4A3AD82199F529700FDBF80 /* HMCombinedBattleCommand.m in Sources */, F4AA05FE192B932E00844688 /* HMTemporaryDataStore.m in Sources */, F48A705C1DE58A38005DFC0B /* HMKCAirBase+CoreDataClass.m in Sources */, - F4F388C21C140AFB00508549 /* HMResourceViewController.m in Sources */, F4B414F818B1D35800468DAF /* HMMasterMissionCommand.m in Sources */, F45F3BE31E06A60A0009434E /* HMUpgradableShipsWindowController.swift in Sources */, F4E33B5818BF5F67005B8C07 /* HMMemberSlotItemCommand.m in Sources */, diff --git a/KCD/HMBroserWindowController.m b/KCD/HMBroserWindowController.m index c984b217..53284996 100644 --- a/KCD/HMBroserWindowController.m +++ b/KCD/HMBroserWindowController.m @@ -19,7 +19,6 @@ #import "HMGameViewController.h" #import "HMCombinedCommand.h" #import "HMFleetViewController.h" -#import "HMResourceViewController.h" #import "HMAncherageRepairTimerViewController.h" diff --git a/KCD/HMResourceViewController.h b/KCD/HMResourceViewController.h deleted file mode 100644 index c9f49ec9..00000000 --- a/KCD/HMResourceViewController.h +++ /dev/null @@ -1,13 +0,0 @@ -// -// HMResourceViewController.h -// KCD -// -// Created by Hori,Masaki on 2015/12/06. -// Copyright (c) 2015年 Hori,Masaki. All rights reserved. -// - -#import - -@interface HMResourceViewController : NSViewController - -@end diff --git a/KCD/HMResourceViewController.m b/KCD/HMResourceViewController.m deleted file mode 100644 index dfab37ae..00000000 --- a/KCD/HMResourceViewController.m +++ /dev/null @@ -1,69 +0,0 @@ -// -// HMResourceViewController.m -// KCD -// -// Created by Hori,Masaki on 2015/12/06. -// Copyright (c) 2015年 Hori,Masaki. All rights reserved. -// - -#import "HMResourceViewController.h" - -#import "HMUserDefaults.h" - -#import "HMServerDataStore.h" - -@interface HMResourceViewController () -@property (readonly) NSManagedObjectContext *managedObjectContext; - -@property (nonatomic, strong) IBOutlet NSArrayController *shipController; -@property (nonatomic, strong) IBOutlet NSObjectController *basicController; -@property (nonatomic, strong) NSNumber *maxChara; -@property (nonatomic, strong) NSNumber *shipCount; -@property (readonly) NSColor *shipNumberColor; -@property NSInteger minimumColoredShipCount; -@end - -@implementation HMResourceViewController - -- (id)init -{ - self = [super initWithNibName:NSStringFromClass([self class]) bundle:nil]; - return self; -} - -- (void)awakeFromNib -{ - [self bind:@"maxChara" toObject:self.basicController withKeyPath:@"selection.max_chara" options:nil]; - [self bind:@"shipCount" toObject:self.shipController withKeyPath:@"arrangedObjects.@count" options:nil]; -} - -+ (NSSet *)keyPathsForValuesAffectingShipNumberColor -{ - return [NSSet setWithObjects:@"maxChara", @"shipCount", @"minimumColoredShipCount", nil]; -} - -- (NSManagedObjectContext *)managedObjectContext -{ - return [HMServerDataStore defaultManager].managedObjectContext; -} - -- (NSColor *)shipNumberColor -{ - NSInteger max = self.maxChara.integerValue; - NSInteger current = self.shipCount.integerValue; - - if(current > max - self.minimumColoredShipCount) { - return [NSColor orangeColor]; - } - - return [NSColor controlTextColor]; -} -- (void)setMinimumColoredShipCount:(NSInteger)minimumColoredShipCount -{ - HMStandardDefaults.minimumColoredShipCount = minimumColoredShipCount; -} -- (NSInteger)minimumColoredShipCount -{ - return HMStandardDefaults.minimumColoredShipCount; -} -@end diff --git a/KCD/HMResourceViewController.swift b/KCD/HMResourceViewController.swift new file mode 100644 index 00000000..61238d7f --- /dev/null +++ b/KCD/HMResourceViewController.swift @@ -0,0 +1,53 @@ +// +// HMResourceViewController.swift +// KCD +// +// Created by Hori,Masaki on 2016/12/25. +// Copyright © 2016年 Hori,Masaki. All rights reserved. +// + +import Cocoa + +class HMResourceViewController: NSViewController { + override var nibName: String! { + return "HMResourceViewController" + } + override func viewDidLoad() { + super.viewDidLoad() + + bind("maxChara", to: basicController, withKeyPath: "selection.max_chara", options: nil) + bind("shipCount", to: shipController, withKeyPath: "arrangedObjects.@count", options: nil) + } + deinit { + unbind("maxChara") + unbind("shipCount") + } + + let managedObjectContext = HMServerDataStore.default().managedObjectContext + + @IBOutlet var shipController: NSArrayController! + @IBOutlet var basicController: NSObjectController! + + dynamic var maxChara: Int = 0 + dynamic var shipCount: Int = 0 + dynamic var shipNumberColor: NSColor { + get { + if shipCount > maxChara - minimumColoredShipCount { + return NSColor.orange + } + return NSColor.controlTextColor + } + } + dynamic var minimumColoredShipCount: Int { + get { + return HMStandardDefaults.minimumColoredShipCount + } + set { + HMStandardDefaults.minimumColoredShipCount = newValue + } + } + + class func keyPathsForValuesAffectingShipNumberColor() -> NSSet { + return NSSet(objects: "maxChara", "shipCount", "minimumColoredShipCount") + } +} -- 2.11.0