OSDN Git Service

HMMasterMissionCommandクラスをSwiftで書き換え
[kcd/KCD.git] / KCD / HMHistoryWindowController.swift
1 //
2 //  HMHistoryWindowController.swift
3 //  KCD
4 //
5 //  Created by Hori,Masaki on 2014/12/21.
6 //  Copyright (c) 2014年 Hori,Masaki. All rights reserved.
7 //
8
9 import Cocoa
10
11 class HMHistoryWindowController: NSWindowController
12 {
13         override init() {
14                 super.init()
15         }
16         override init(window: NSWindow?) {
17                 super.init(window: window)
18         }
19         required init?(coder: NSCoder) {
20                 super.init(coder: coder)
21         }
22         
23         class func create() -> HMHistoryWindowController {
24                 return HMHistoryWindowController(windowNibName: "HMHistoryWindowController")
25         }
26         
27         var managedObjectContext: NSManagedObjectContext? {
28                 return HMLocalDataStore.defaultManager().managedObjectContext
29         }
30         
31         @IBOutlet var kaihatuHistoryController: NSArrayController?
32         @IBOutlet var kenzoHistoryController: NSArrayController?
33         
34         var selectedTabIndex: Int = 0
35         
36         enum HMHistoryWindowTabIndex: Int {
37                 case kaihatu = 0
38                 case kenzo
39         }
40         
41         @IBAction func delete(sender: AnyObject?) {
42                 let tag = sender?.tag?()
43                 if tag == nil { return }
44                 
45                 let index = HMHistoryWindowTabIndex(rawValue: tag!)!
46                 var target: NSArrayController? = nil
47                 switch index {
48                 case .kaihatu:
49                         target = kaihatuHistoryController
50                 case .kenzo:
51                         target = kenzoHistoryController
52                 default:
53                         return
54                 }
55                 
56                 let original = target!.selectedObjects
57                 let objectIds = NSMutableArray()
58                 for object in original {
59                         objectIds.addObject(object.objectID)
60                 }
61                 
62                 let store = HMLocalDataStore.oneTimeEditor()
63                 let moc = store.managedObjectContext
64                 
65                 for objectID in objectIds {
66                         if let object = moc?.objectWithID(objectID as NSManagedObjectID) {
67                                 moc!.deleteObject(object)
68                         }
69                 }
70         }
71 }