// // MainWindowController.swift // TagTunes // // Created by Kim Wittenburg on 09.03.16. // Copyright © 2016 Kim Wittenburg. All rights reserved. // import AppKitPlus class MainWindowController: NSWindowController, NSWindowDelegate { dynamic let searchController = SearchController() @IBOutlet weak var searchField: PopUpSearchField! { set { searchController.searchField = newValue } get { return searchController.searchField } } dynamic var activityViewController: ActivityViewController! @IBOutlet weak var activityProgressButton: ProgressButton! let activityPopover = NSPopover() override var contentViewController: NSViewController? { didSet { searchController.delegate = mainViewController } } var mainViewController: MainViewController! { return contentViewController as? MainViewController } override func windowDidLoad() { super.windowDidLoad() activityViewController = storyboard?.instantiateControllerWithIdentifier("ActivityController") as! ActivityViewController searchController.delegate = mainViewController LookupQueue.globalQueue.lookupDelegate = mainViewController window?.titleVisibility = NSWindowTitleVisibility.Hidden activityProgressButton.target = self activityProgressButton.action = #selector(MainWindowController.showActivityView(_:)) activityPopover.contentViewController = activityViewController activityPopover.behavior = .ApplicationDefined } @IBAction internal func beginSearch(sender: AnyObject?) { searchController.beginSearch() } @objc @IBAction internal func showActivityView(sender: AnyObject?) { if let view = sender as? NSView { activityPopover.showRelativeToRect(view.bounds, ofView: view, preferredEdge: .MaxY) } } }