NetworkInfoCell.swift 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. //
  2. // NetworkInfoCell.swift
  3. // ZeroTier One
  4. //
  5. // Created by Grant Limberg on 5/24/16.
  6. // Copyright © 2016 ZeroTier, Inc. All rights reserved.
  7. //
  8. import Cocoa
  9. class NetworkInfoCell: NSTableCellView {
  10. weak var parent: ShowNetworksViewController!
  11. @IBOutlet var networkIdField: NSTextField!
  12. @IBOutlet var networkNameField: NSTextField!
  13. @IBOutlet var statusField: NSTextField!
  14. @IBOutlet var typeField: NSTextField!
  15. @IBOutlet var macField: NSTextField!
  16. @IBOutlet var mtuField: NSTextField!
  17. @IBOutlet var broadcastField: NSTextField!
  18. @IBOutlet var bridgingField: NSTextField!
  19. @IBOutlet var deviceField: NSTextField!
  20. @IBOutlet var addressesField: NSTextField!
  21. @IBOutlet var allowManaged: NSButton!
  22. @IBOutlet var allowGlobal: NSButton!
  23. @IBOutlet var allowDefault: NSButton!
  24. @IBOutlet var connectedCheckbox: NSButton!
  25. @IBOutlet var deleteButton: NSButton!
  26. override func awakeFromNib() {
  27. super.awakeFromNib()
  28. }
  29. override func drawRect(dirtyRect: NSRect) {
  30. super.drawRect(dirtyRect)
  31. // Drawing code here.
  32. }
  33. @IBAction func onConnectCheckStateChanged(sender: NSButton) {
  34. if(sender.state == NSOnState) {
  35. joinNetwork(networkIdField.stringValue)
  36. }
  37. else {
  38. leaveNetwork(networkIdField.stringValue)
  39. }
  40. }
  41. @IBAction func deleteNetwork(sender: NSButton) {
  42. leaveNetwork(networkIdField.stringValue)
  43. parent.deleteNetworkFromList(networkIdField.stringValue)
  44. }
  45. func joinNetwork(nwid: String) {
  46. ServiceCom.sharedInstance().joinNetwork(nwid,
  47. allowManaged: allowManaged.state == NSOnState,
  48. allowGlobal: allowGlobal.state == NSOnState,
  49. allowDefault: !Network.defaultRouteExists(parent.networkList) && (allowDefault.state == NSOnState))
  50. }
  51. func leaveNetwork(nwid: String) {
  52. ServiceCom.sharedInstance().leaveNetwork(nwid)
  53. }
  54. @IBAction func onAllowStatusChanged(sender: NSButton) {
  55. joinNetwork(networkIdField.stringValue)
  56. }
  57. }