OSDN Git Service

guard の書き方を統一した
[kcd/KCD.git] / KCD / CalculateConditionPanelController.swift
1 //
2 //  CalculateConditionPanelController.swift
3 //  KCD
4 //
5 //  Created by Hori,Masaki on 2017/07/10.
6 //  Copyright © 2017年 Hori,Masaki. All rights reserved.
7 //
8
9 import Cocoa
10
11 final class CalculateConditionPanelController: NSWindowController {
12     
13     override var windowNibName: NSNib.Name {
14         
15         return .nibName(instanceOf: self)
16     }
17     
18     @objc dynamic var condition: Double = 1
19     
20     private var originalCondition: Double = 1
21     
22     @IBAction func ok(_ sender: Any?) {
23         
24         exitModal()
25     }
26     
27     @IBAction func cancel(_ sender: Any?) {
28         
29         condition = originalCondition
30         
31         exitModal()
32     }
33     
34     private func exitModal() {
35         
36         self.window?.sheetParent?.endSheet(self.window!)
37     }
38     
39     func beginModal(for mainWindow: NSWindow, completeHander handler: @escaping (Double) -> Void) {
40         
41         guard let window = self.window else { return }
42         
43         mainWindow.beginSheet(window) { _ in
44             
45             handler(self.condition)
46         }
47     }
48     
49 }