57 lines
1.3 KiB
Swift
57 lines
1.3 KiB
Swift
// 31 july 2015
|
|
import Cocoa
|
|
|
|
var spaced = false
|
|
var firstvert = true
|
|
|
|
// keep alive
|
|
// apparently I'm not allowed to declare a variable and then assign to it first thing in a function
|
|
// it'd be great if people weren't so afraid of nil pointers
|
|
var keepAliveMainwin: Window? = nil
|
|
|
|
func appLaunched() {
|
|
var mainwin = Window()
|
|
mainwin.SetMargined(spaced)
|
|
|
|
var box = Box(vertical: firstvert, padded: spaced)
|
|
mainwin.SetControl(box)
|
|
|
|
box.Add(Entry(), false)
|
|
box.Add(Button("Button"), false)
|
|
|
|
mainwin.Show()
|
|
|
|
keepAliveMainwin = mainwin
|
|
}
|
|
|
|
class appDelegate : NSObject, NSApplicationDelegate {
|
|
func applicationDidFinishLaunching(note: NSNotification) {
|
|
appLaunched()
|
|
}
|
|
|
|
func applicationShouldTerminateAfterLastWindowClosed(app: NSApplication) -> Bool {
|
|
return true
|
|
}
|
|
}
|
|
|
|
func main() {
|
|
for arg in dropFirst(Process.arguments) {
|
|
if arg == "spaced" {
|
|
spaced = true
|
|
} else if arg == "horizontal" {
|
|
firstvert = false
|
|
} else {
|
|
fatalError("unrecognized option \(arg)")
|
|
}
|
|
}
|
|
|
|
var app = NSApplication.sharedApplication()
|
|
app.setActivationPolicy(NSApplicationActivationPolicy.Regular)
|
|
// NSApplication.delegate is weak; if we don't use the temporary variable, the delegate will die before it's used
|
|
var delegate = appDelegate()
|
|
app.delegate = delegate
|
|
app.run()
|
|
}
|
|
|
|
main()
|