mirror of
https://github.com/qvacua/vimr.git
synced 2024-11-24 11:37:32 +03:00
Adapt NvimView demo app to custom tabs
This commit is contained in:
parent
b396942c21
commit
f06fd354da
@ -4,15 +4,12 @@
|
||||
*/
|
||||
|
||||
import Cocoa
|
||||
import RxSwift
|
||||
|
||||
@NSApplicationMain
|
||||
class AppDelegate: NSObject, NSApplicationDelegate {
|
||||
func applicationDidFinishLaunching(_: Notification) {}
|
||||
|
||||
func applicationShouldTerminate(
|
||||
_: NSApplication
|
||||
) -> NSApplication.TerminateReply {
|
||||
func applicationShouldTerminate(_: NSApplication) -> NSApplication.TerminateReply {
|
||||
NSDocumentController.shared
|
||||
.documents
|
||||
.compactMap { $0 as? Document }
|
||||
|
@ -26,7 +26,6 @@ class Document: NSDocument, NSWindowDelegate {
|
||||
.subscribe(onNext: { event in
|
||||
switch event {
|
||||
case .neoVimStopped: self.close()
|
||||
|
||||
default: break
|
||||
}
|
||||
})
|
||||
@ -50,26 +49,31 @@ class Document: NSDocument, NSWindowDelegate {
|
||||
window.delegate = self
|
||||
|
||||
let view = window.contentView!
|
||||
view.addSubview(self.nvimView)
|
||||
self.nvimView.autoPinEdgesToSuperviewEdges()
|
||||
let nvimView = self.nvimView
|
||||
// We know that we use custom tabs.
|
||||
let tabBar = nvimView.tabBar!
|
||||
|
||||
view.addSubview(tabBar)
|
||||
view.addSubview(nvimView)
|
||||
|
||||
tabBar.autoPinEdge(toSuperviewEdge: .left)
|
||||
tabBar.autoPinEdge(toSuperviewEdge: .top)
|
||||
tabBar.autoPinEdge(toSuperviewEdge: .right)
|
||||
nvimView.autoPinEdge(.top, to: .bottom, of: tabBar)
|
||||
nvimView.autoPinEdge(toSuperviewEdge: .left)
|
||||
nvimView.autoPinEdge(toSuperviewEdge: .right)
|
||||
nvimView.autoPinEdge(toSuperviewEdge: .bottom)
|
||||
}
|
||||
|
||||
override var windowNibName: NSNib.Name? {
|
||||
// Returns the nib file name of the document
|
||||
// If you need to use a subclass of NSWindowController or if your document supports multiple NSWindowControllers, you should remove this property and override -makeWindowControllers instead.
|
||||
NSNib.Name("Document")
|
||||
}
|
||||
|
||||
override func data(ofType _: String) throws -> Data {
|
||||
// Insert code here to write your document to data of the specified type, throwing an error in case of failure.
|
||||
// Alternatively, you could remove this method and override fileWrapper(ofType:), write(to:ofType:), or write(to:ofType:for:originalContentsURL:) instead.
|
||||
throw NSError(domain: NSOSStatusErrorDomain, code: unimpErr, userInfo: nil)
|
||||
}
|
||||
|
||||
override func read(from _: Data, ofType _: String) throws {
|
||||
// Insert code here to read your document from the given data of the specified type, throwing an error in case of failure.
|
||||
// Alternatively, you could remove this method and override read(from:ofType:) instead.
|
||||
// If you do, you should also override isEntireFileLoaded to return false if the contents are lazily loaded.
|
||||
throw NSError(domain: NSOSStatusErrorDomain, code: unimpErr, userInfo: nil)
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user