aboutsummaryrefslogtreecommitdiffstats
path: root/WireGuard/WireGuard/UI/macOS/ViewController/ButtonedDetailViewController.swift
diff options
context:
space:
mode:
authorRoopesh Chander <roop@roopc.net>2019-03-10 16:32:26 +0530
committerRoopesh Chander <roop@roopc.net>2019-03-10 19:22:33 +0530
commitdb6f0729c69a580357e194a454de19eaa6f3bd39 (patch)
tree02e1a3f2228a40b4c71f10576ffa624a09311faf /WireGuard/WireGuard/UI/macOS/ViewController/ButtonedDetailViewController.swift
parentwireguard-go-bridge: use system go installation (diff)
downloadwireguard-apple-db6f0729c69a580357e194a454de19eaa6f3bd39.tar.xz
wireguard-apple-db6f0729c69a580357e194a454de19eaa6f3bd39.zip
macOS: Generalize NoTunnelsDetailVC into a ButtonedDetailVC
Signed-off-by: Roopesh Chander <roop@roopc.net>
Diffstat (limited to 'WireGuard/WireGuard/UI/macOS/ViewController/ButtonedDetailViewController.swift')
-rw-r--r--WireGuard/WireGuard/UI/macOS/ViewController/ButtonedDetailViewController.swift48
1 files changed, 48 insertions, 0 deletions
diff --git a/WireGuard/WireGuard/UI/macOS/ViewController/ButtonedDetailViewController.swift b/WireGuard/WireGuard/UI/macOS/ViewController/ButtonedDetailViewController.swift
new file mode 100644
index 0000000..defa09f
--- /dev/null
+++ b/WireGuard/WireGuard/UI/macOS/ViewController/ButtonedDetailViewController.swift
@@ -0,0 +1,48 @@
+// SPDX-License-Identifier: MIT
+// Copyright © 2018-2019 WireGuard LLC. All Rights Reserved.
+
+import Cocoa
+
+class ButtonedDetailViewController: NSViewController {
+
+ var onButtonClicked: (() -> Void)?
+
+ let button: NSButton = {
+ let button = NSButton()
+ button.title = ""
+ button.setButtonType(.momentaryPushIn)
+ button.bezelStyle = .rounded
+ return button
+ }()
+
+ init() {
+ super.init(nibName: nil, bundle: nil)
+ }
+
+ required init?(coder: NSCoder) {
+ fatalError("init(coder:) has not been implemented")
+ }
+
+ override func loadView() {
+ let view = NSView()
+
+ button.target = self
+ button.action = #selector(buttonClicked)
+
+ view.addSubview(button)
+ button.translatesAutoresizingMaskIntoConstraints = false
+ NSLayoutConstraint.activate([
+ button.centerXAnchor.constraint(equalTo: view.centerXAnchor),
+ button.centerYAnchor.constraint(equalTo: view.centerYAnchor)
+ ])
+ self.view = view
+ }
+
+ func setButtonTitle(_ title: String) {
+ button.title = title
+ }
+
+ @objc func buttonClicked() {
+ onButtonClicked?()
+ }
+}