OSDN Git Service

261869cb03fad2b51133f1f99a60fdc416b3814f
[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 {
42             
43             return
44         }
45         
46         originalCondition = condition
47         
48         mainWindow.beginSheet(window) { _ in
49             
50             handler(self.condition)
51         }
52     }
53     
54 }