ShowNetworksViewController.swift 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. //
  2. // ShowNetworksViewController.swift
  3. // ZeroTier One
  4. //
  5. // Created by Grant Limberg on 5/14/16.
  6. // Copyright © 2016 ZeroTier, Inc. All rights reserved.
  7. //
  8. import Cocoa
  9. class ShowNetworksViewController: NSViewController, NSTableViewDelegate, NSTableViewDataSource {
  10. @IBOutlet var tableView: NSTableView!
  11. var networkList: [Network] = [Network]()
  12. override func viewDidLoad() {
  13. super.viewDidLoad()
  14. // Do view setup here.
  15. tableView.setDelegate(self)
  16. tableView.setDataSource(self)
  17. tableView.backgroundColor = NSColor.clearColor()
  18. }
  19. override func viewWillAppear() {
  20. super.viewWillAppear()
  21. ServiceCom.getNetworkList() { (networkList) -> Void in
  22. NSOperationQueue.mainQueue().addOperationWithBlock() { () -> Void in
  23. self.networkList = networkList
  24. self.tableView.reloadData()
  25. }
  26. }
  27. }
  28. func deleteNetworkFromList(nwid: String) {
  29. }
  30. // NSTableViewDataSource
  31. func numberOfRowsInTableView(tableView: NSTableView) -> Int {
  32. return networkList.count
  33. }
  34. // end NSTableViewDataSource
  35. // NSTableViewDelegate
  36. func tableView(tableView: NSTableView, viewForTableColumn tableColumn: NSTableColumn?, row: Int) -> NSView? {
  37. if let cell = tableView.makeViewWithIdentifier("NetworkInfoCell", owner: nil) as? NetworkInfoCell {
  38. let network = networkList[row]
  39. cell.parent = self
  40. cell.networkIdField.stringValue = String(network.nwid, radix: 16)
  41. cell.networkNameField.stringValue = network.name
  42. cell.statusField.stringValue = network.status.description
  43. cell.typeField.stringValue = network.type.description
  44. cell.macField.stringValue = network.mac
  45. cell.mtuField.stringValue = String(network.mtu)
  46. cell.broadcastField.stringValue = network.broadcastEnabled ? "ENABLED" : "DISABLED"
  47. cell.bridgingField.stringValue = network.bridge ? "ENABLED" : "DISABLED"
  48. cell.deviceField.stringValue = network.portDeviceName
  49. cell.addressesField.stringValue = ""
  50. for nw in network.assignedAddresses {
  51. cell.addressesField.stringValue += nw
  52. cell.addressesField.stringValue += "\n"
  53. }
  54. return cell
  55. }
  56. return nil
  57. }
  58. // end NSTableViewDelegate
  59. }