| // Copyright 2014 The Flutter Authors. All rights reserved. | |
| // Use of this source code is governed by a BSD-style license that can be | |
| // found in the LICENSE file. | |
| import Cocoa | |
| import FlutterMacOS | |
| /** | |
| The window that is automatically generated when `flutter create --target=macos` | |
| on a project. `MainFlutterWindow` uses a FlutterViewController as it's content | |
| view controller by default. | |
| */ | |
| class MainFlutterWindow: NSWindow { | |
| override func awakeFromNib() { | |
| let windowFrame = self.frame | |
| let storyboard = NSStoryboard(name: NSStoryboard.Name("Main"), bundle: Bundle.main) | |
| // `flutter create --target=macos` uses this class (`self`) as an entrypoint | |
| // for drawing on a surface. The line below intercepts that and uses | |
| // the storyboard from `Main.storyboard`. | |
| self.contentViewController = storyboard.instantiateController(withIdentifier: "MainViewController") as! NSViewController | |
| self.setFrame(windowFrame, display: true) | |
| super.awakeFromNib() | |
| } | |
| } |