OSDN Git Service

Timerをクロージャ方式にした
[kcd/KCD.git] / KCD / HistoryWindowController.swift
index 2b08b2a..5274929 100644 (file)
 
 import Cocoa
 
-class HistoryWindowController: NSWindowController {
-    fileprivate enum HistoryWindowTabIndex: Int {
+final class HistoryWindowController: NSWindowController {
+    
+    private enum HistoryWindowTabIndex: Int {
+        
         case kaihatuHistory = 0
+        
         case kenzoHistory = 1
+        
         case dropHistory = 2
     }
     
-    let manageObjectContext = LocalDataStore.default.context
+    @objc let manageObjectContext = LocalDataStore.default.context
     
-    @IBOutlet var tabView: NSTabView!
-    @IBOutlet var kaihatsuTableVC: KaihatsuHistoryTableViewController!
-    @IBOutlet var kenzoTableVC: KenzoHistoryTableViewController!
-    @IBOutlet var dropShipTableVC: DropShipHistoryTableViewController!
+    @IBOutlet private var tabView: NSTabView!
+    @IBOutlet private var kaihatsuTableVC: KaihatsuHistoryTableViewController!
+    @IBOutlet private var kenzoTableVC: KenzoHistoryTableViewController!
+    @IBOutlet private var dropShipTableVC: DropShipHistoryTableViewController!
     
-    @IBOutlet var searchField: NSSearchField!
+    @IBOutlet private var searchField: NSSearchField!
     
     private var currentSelection: HistoryTableViewController? {
+        
         didSet {
+            
             window?.makeFirstResponder(currentSelection?.tableView)
             
             if let controller = currentSelection?.controller,
                 let predicateFormat = currentSelection?.predicateFormat {
                 
-                searchField.bind(NSPredicateBinding,
+                searchField.bind(.predicate,
                                  to: controller,
-                                 withKeyPath: NSFilterPredicateBinding,
-                                 options: [NSPredicateFormatBindingOption: predicateFormat])
+                                 withKeyPath: NSBindingName.filterPredicate.rawValue,
+                                 options: [.predicateFormat: predicateFormat])
             } else {
-                searchField.unbind(NSPredicateBinding)
+                
+                searchField.unbind(.predicate)
             }
         }
     }
     
-    var selectedTabIndex: Int = -1 {
+    @objc var selectedTabIndex: Int = -1 {
+        
         didSet {
-            guard let tabIndex = HistoryWindowTabIndex(rawValue: selectedTabIndex)
-                else { return }
+            
+            guard let tabIndex = HistoryWindowTabIndex(rawValue: selectedTabIndex) else {
+                
+                return
+            }
+            
             switch tabIndex {
+                
             case .kaihatuHistory:
                 currentSelection = kaihatsuTableVC
+                
             case .kenzoHistory:
                 currentSelection = kenzoTableVC
+                
             case .dropHistory:
                 currentSelection = dropShipTableVC
+                
             }
         }
     }
-    override var windowNibName: String! {
-        return "HistoryWindowController"
+    override var windowNibName: NSNib.Name {
+        
+        return .nibName(instanceOf: self)
     }
     
     override func windowDidLoad() {
+        
         super.windowDidLoad()
         
         let vcs: [NSViewController] = [kaihatsuTableVC, kenzoTableVC, dropShipTableVC]
-        zip(vcs, tabView.tabViewItems)
-            .forEach { $0.1.viewController = $0.0 }
+        zip(vcs, tabView.tabViewItems).forEach { $0.1.viewController = $0.0 }
         
         selectedTabIndex = 0
     }
     
     @IBAction func delete(_ sender: AnyObject?) {
+        
         currentSelection?.delete(sender)
     }
 }
 
 @available(OSX 10.12.2, *)
-fileprivate var objectForTouchBar: [Int: NSTouchBar] = [:]
-fileprivate var object1ForTouchBar: [Int: NSButton] = [:]
+private var objectForTouchBar: [Int: NSTouchBar] = [:]
+private var object1ForTouchBar: [Int: NSButton] = [:]
 
 @available(OSX 10.12.2, *)
 extension HistoryWindowController {
-    @IBOutlet var myTouchBar: NSTouchBar? {
+    
+    @IBOutlet private var myTouchBar: NSTouchBar? {
+        
         get { return objectForTouchBar[hashValue] }
         set { objectForTouchBar[hashValue] = newValue }
     }
-    @IBOutlet var searchButton: NSButton? {
+    
+    @IBOutlet private var searchButton: NSButton? {
+        
         get { return object1ForTouchBar[hashValue] }
         set { object1ForTouchBar[hashValue] = newValue }
     }
     
     override var touchBar: NSTouchBar? {
+        
         get {
+            
             if let _ = myTouchBar {
+                
                 return myTouchBar
             }
-            var topLevel: NSArray = []
-            Bundle.main.loadNibNamed("HistoryWindowTouchBar",
+            var topLevel: NSArray?
+            Bundle.main.loadNibNamed(NSNib.Name("HistoryWindowTouchBar"),
                                      owner: self,
                                      topLevelObjects: &topLevel)
+            
             return myTouchBar
         }
         set {}
     }
     
     @IBAction func selectSearchField(_ sender: AnyObject?) {
+        
         window?.makeFirstResponder(searchField!)
     }
 }