OSDN Git Service

bb404889c9126a9c2e1074b7910b3eb7134358cb
[kcd/KCD.git] / KCD / HMSlotItemWindowController.swift
1 //
2 //  HMSlotItemWindowController.swift
3 //  KCD
4 //
5 //  Created by Hori,Masaki on 2014/12/20.
6 //  Copyright (c) 2014年 Hori,Masaki. All rights reserved.
7 //
8
9 import Cocoa
10
11
12 class HMSlotItemWindowController: NSWindowController
13 {
14         override init() {
15                 super.init()
16         }
17         override init(window: NSWindow?) {
18                 super.init(window: window)
19         }
20         required init?(coder: NSCoder) {
21                 super.init(coder: coder)
22         }
23         
24         class func create() -> HMSlotItemWindowController {
25                 return HMSlotItemWindowController(windowNibName: "HMSlotItemWindowController")
26         }
27         
28         var managedObjectContext: NSManagedObjectContext? {
29                 return HMServerDataStore.defaultManager().managedObjectContext
30         }
31         
32         @IBOutlet var slotItemController: NSArrayController!
33         
34     override func awakeFromNib() {
35                 var error: NSError? = nil
36                 self.slotItemController.fetchWithRequest(nil, merge: true, error: &error)
37                 self.slotItemController.sortDescriptors = HMUserDefaults.hmStandardDefauls().slotItemSortDescriptors
38                 self.slotItemController.addObserver(self, forKeyPath: NSSortDescriptorsBinding, options: .Initial, context: nil)
39     }
40         
41         override func observeValueForKeyPath(keyPath: String, ofObject object: AnyObject, change: [NSObject : AnyObject], context: UnsafeMutablePointer<Void>) {
42                 switch keyPath {
43                 case NSSortDescriptorsBinding:
44                         if let sortDescriptors = slotItemController.sortDescriptors as? [NSSortDescriptor] {
45                                 HMUserDefaults.hmStandardDefauls().slotItemSortDescriptors = sortDescriptors
46                         }
47                 default:
48                         super.observeValueForKeyPath(keyPath, ofObject: object, change: change, context: context)
49                 }
50         }
51 }