OSDN Git Service

HMExternalBrowserWindowControllerクラスをSwiftで書き換え
[kcd/KCD.git] / KCD / HMExternalBrowserWindowController.swift
1 //
2 //  HMExternalBrowserWindowController.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 import WebKit
11
12 class HMExternalBrowserWindowController: 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         class func create() -> HMExternalBrowserWindowController {
24                 return HMExternalBrowserWindowController.init(windowNibName:"HMExternalBrowserWindowController")
25         }
26         
27     override func windowDidLoad() {
28         super.windowDidLoad()
29                 
30                 goHome(nil)
31                 webView!.addObserver(self, forKeyPath: "canGoBack", options: .Initial, context: nil)
32                 webView!.addObserver(self, forKeyPath: "canGoForward", options: .Initial, context: nil)
33                 
34     }
35         
36         override func observeValueForKeyPath(keyPath: String, ofObject object: AnyObject, change: [NSObject : AnyObject], context: UnsafeMutablePointer<Void>) {
37                 switch keyPath {
38                 case "canGoBack":
39                         goSegment!.setEnabled(webView!.canGoBack, forSegment: 0)
40                 case "canGoForward":
41                         goSegment!.setEnabled(webView!.canGoForward, forSegment: 1)
42                 default:
43                         super.observeValueForKeyPath(keyPath, ofObject: object, change: change, context: context)
44                 }
45         }
46         
47         @IBOutlet var webView: WebView?
48         @IBOutlet var goSegment: NSSegmentedControl?
49         
50         @IBAction func reloadContent(sender: AnyObject?) {
51                 webView!.reload(sender)
52         }
53         
54         @IBAction func goHome(sender: AnyObject?) {
55                 webView!.mainFrameURL = "http://www.dmm.com/netgame/-/basket/"
56         }
57         
58         @IBAction func clickGoBackSegment(sender: AnyObject?) {
59                 let cell = goSegment!.cell() as NSSegmentedCell
60                 let tag = cell.tagForSegment(cell.selectedSegment)
61                 switch tag {
62                 case 0:
63                         webView!.goBack(sender)
64                 case 1:
65                         webView!.goForward(sender)
66                 default:
67                         break
68                 }
69         }
70 }