1
1
mirror of https://github.com/qvacua/vimr.git synced 2024-10-28 03:38:54 +03:00
vimr/nvox/MainWindowController.swift
2016-07-10 18:47:24 +02:00

53 lines
1.4 KiB
Swift

/**
* Tae Won Ha - http://taewon.de - @hataewon
* See LICENSE
*/
import Cocoa
import PureLayout
class MainWindowController: NSWindowController, NSWindowDelegate {
var uuid: String {
return self.neoVimView.uuid
}
weak var mainWindowManager: MainWindowManager?
private let neoVimView = NeoVimView(forAutoLayout: ())
init(contentRect: CGRect, manager: MainWindowManager) {
self.mainWindowManager = manager
let style = NSTitledWindowMask | NSUnifiedTitleAndToolbarWindowMask | NSTexturedBackgroundWindowMask |
NSClosableWindowMask | NSMiniaturizableWindowMask | NSResizableWindowMask
let window = NSWindow(contentRect: contentRect, styleMask: style, backing: .Buffered, defer: true)
super.init(window: window)
window.delegate = self
window.hasShadow = true
window.title = "nvox"
window.opaque = false
window.animationBehavior = .DocumentWindow
self.addViews()
self.window?.makeFirstResponder(self.neoVimView)
}
func windowWillClose(notification: NSNotification) {
self.neoVimView.cleanUp()
self.mainWindowManager?.closeMainWindow(self)
}
private func addViews() {
self.window?.contentView?.addSubview(self.neoVimView)
self.neoVimView.autoPinEdgesToSuperviewEdges()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}