Further Swift 3 fixes
This commit is contained in:
parent
780d132e27
commit
9518d54f5f
|
@ -29,14 +29,14 @@ class ASApplication: NSObject, NSApplicationDelegate, NSMenuDelegate {
|
||||||
let workSpace = NSWorkspace.shared()
|
let workSpace = NSWorkspace.shared()
|
||||||
let userDefaults = UserDefaults.standard
|
let userDefaults = UserDefaults.standard
|
||||||
let appDefaultsURL = Bundle.main.url(forResource: "Defaults", withExtension: "plist")!
|
let appDefaultsURL = Bundle.main.url(forResource: "Defaults", withExtension: "plist")!
|
||||||
var appDefaults = NSDictionary(contentsOf: appDefaultsURL) as! [String: AnyObject]
|
var appDefaults = NSDictionary(contentsOf: appDefaultsURL) as! [String: Any]
|
||||||
//
|
//
|
||||||
// Add dynamic app defaults
|
// Add dynamic app defaults
|
||||||
//
|
//
|
||||||
if let arduinoPath = workSpace.urlForApplication(withBundleIdentifier: "cc.arduino.Arduino")?.path {
|
if let arduinoPath = workSpace.urlForApplication(withBundleIdentifier: "cc.arduino.Arduino")?.path {
|
||||||
appDefaults["Arduino"] = arduinoPath
|
appDefaults["Arduino"] = arduinoPath
|
||||||
}
|
}
|
||||||
var sketchbooks = [NSString]()
|
var sketchbooks = [String]()
|
||||||
for doc in fileManager.urls(for: .documentDirectory, in: .userDomainMask) {
|
for doc in fileManager.urls(for: .documentDirectory, in: .userDomainMask) {
|
||||||
sketchbooks.append(doc.appendingPathComponent("Arduino").path)
|
sketchbooks.append(doc.appendingPathComponent("Arduino").path)
|
||||||
sketchbooks.append(doc.appendingPathComponent("AVRSack").path)
|
sketchbooks.append(doc.appendingPathComponent("AVRSack").path)
|
||||||
|
@ -180,7 +180,7 @@ class ASApplication: NSObject, NSApplicationDelegate, NSMenuDelegate {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class func newProjectLocation(documentWindow: NSWindow?, message: String, completion: (URL) -> ()) {
|
class func newProjectLocation(documentWindow: NSWindow?, message: String, completion: @escaping (URL) -> ()) {
|
||||||
let savePanel = NSSavePanel()
|
let savePanel = NSSavePanel()
|
||||||
savePanel.allowedFileTypes = [kUTTypeFolder as String]
|
savePanel.allowedFileTypes = [kUTTypeFolder as String]
|
||||||
savePanel.message = message
|
savePanel.message = message
|
||||||
|
@ -200,14 +200,14 @@ class ASApplication: NSObject, NSApplicationDelegate, NSMenuDelegate {
|
||||||
}
|
}
|
||||||
|
|
||||||
@IBAction func goToHelpPage(_ sender: AnyObject) {
|
@IBAction func goToHelpPage(_ sender: AnyObject) {
|
||||||
let helpString: String
|
let helpString: CFString
|
||||||
switch sender.tag {
|
switch sender.tag {
|
||||||
case 0:
|
case 0:
|
||||||
helpString = "license.html"
|
helpString = "license.html" as CFString
|
||||||
default:
|
default:
|
||||||
abort()
|
abort()
|
||||||
}
|
}
|
||||||
let locBookName = Bundle.main.object(forInfoDictionaryKey: "CFBundleHelpBookName") as! String
|
let locBookName = Bundle.main.object(forInfoDictionaryKey: "CFBundleHelpBookName") as! CFString
|
||||||
AHGotoPage(locBookName, helpString, nil)
|
AHGotoPage(locBookName, helpString, nil)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -10,15 +10,15 @@ import Foundation
|
||||||
|
|
||||||
class ASBuilder {
|
class ASBuilder {
|
||||||
var dir = URL(fileURLWithPath: "/")
|
var dir = URL(fileURLWithPath: "/")
|
||||||
var task : Task?
|
var task : Process?
|
||||||
var continuation: (()->())?
|
var continuation: (()->())?
|
||||||
var termination : AnyObject?
|
var termination : AnyObject?
|
||||||
|
|
||||||
init() {
|
init() {
|
||||||
termination = NotificationCenter.default.addObserver(forName: Task.didTerminateNotification,
|
termination = NotificationCenter.default.addObserver(forName: Process.didTerminateNotification,
|
||||||
object: nil, queue: nil, using:
|
object: nil, queue: nil, using:
|
||||||
{ (notification: Notification) in
|
{ (notification: Notification) in
|
||||||
if notification.object as? Task == self.task {
|
if notification.object as? Process == self.task {
|
||||||
if self.task!.terminationStatus == 0 {
|
if self.task!.terminationStatus == 0 {
|
||||||
if let cont = self.continuation {
|
if let cont = self.continuation {
|
||||||
self.continuation = nil
|
self.continuation = nil
|
||||||
|
@ -52,7 +52,7 @@ class ASBuilder {
|
||||||
|
|
||||||
func buildProject(board: String, files: ASFileTree) {
|
func buildProject(board: String, files: ASFileTree) {
|
||||||
let toolChain = (NSApplication.shared().delegate as! ASApplication).preferences.toolchainPath
|
let toolChain = (NSApplication.shared().delegate as! ASApplication).preferences.toolchainPath
|
||||||
task = Task()
|
task = Process()
|
||||||
task!.currentDirectoryPath = dir.path
|
task!.currentDirectoryPath = dir.path
|
||||||
task!.launchPath = Bundle.main.path(forResource: "BuildProject", ofType: "")!
|
task!.launchPath = Bundle.main.path(forResource: "BuildProject", ofType: "")!
|
||||||
|
|
||||||
|
@ -111,7 +111,7 @@ class ASBuilder {
|
||||||
let interactive = mode == .Interactive
|
let interactive = mode == .Interactive
|
||||||
let portPath = ASSerial.fileName(forPort: port)
|
let portPath = ASSerial.fileName(forPort: port)
|
||||||
let toolChain = (NSApplication.shared().delegate as! ASApplication).preferences.toolchainPath
|
let toolChain = (NSApplication.shared().delegate as! ASApplication).preferences.toolchainPath
|
||||||
task = Task()
|
task = Process()
|
||||||
task!.currentDirectoryPath = dir.path
|
task!.currentDirectoryPath = dir.path
|
||||||
task!.launchPath = toolChain+"/bin/avrdude"
|
task!.launchPath = toolChain+"/bin/avrdude"
|
||||||
|
|
||||||
|
@ -182,7 +182,7 @@ class ASBuilder {
|
||||||
needPhase2 = true
|
needPhase2 = true
|
||||||
}
|
}
|
||||||
if needPhase2 {
|
if needPhase2 {
|
||||||
let task2 = Task()
|
let task2 = Process()
|
||||||
task2.currentDirectoryPath = dir.path
|
task2.currentDirectoryPath = dir.path
|
||||||
task2.launchPath = toolChain+"/bin/avrdude"
|
task2.launchPath = toolChain+"/bin/avrdude"
|
||||||
task2.arguments = loaderArgs
|
task2.arguments = loaderArgs
|
||||||
|
@ -242,7 +242,7 @@ class ASBuilder {
|
||||||
|
|
||||||
func disassembleProject(board: String) {
|
func disassembleProject(board: String) {
|
||||||
let toolChain = (NSApplication.shared().delegate as! ASApplication).preferences.toolchainPath
|
let toolChain = (NSApplication.shared().delegate as! ASApplication).preferences.toolchainPath
|
||||||
task = Task()
|
task = Process()
|
||||||
task!.currentDirectoryPath = dir.path
|
task!.currentDirectoryPath = dir.path
|
||||||
task!.launchPath = toolChain+"/bin/avr-objdump"
|
task!.launchPath = toolChain+"/bin/avr-objdump"
|
||||||
|
|
||||||
|
|
|
@ -69,7 +69,7 @@ class ASFileNode : Equatable {
|
||||||
closure(self)
|
closure(self)
|
||||||
}
|
}
|
||||||
|
|
||||||
func propertyList(rootPath: String) -> Dictionary<String, AnyObject> {
|
func propertyList(rootPath: String) -> Dictionary<String, Any> {
|
||||||
return [:]
|
return [:]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -127,7 +127,7 @@ class ASFileGroup : ASFileNode {
|
||||||
|
|
||||||
private let kChildrenKey = "Children"
|
private let kChildrenKey = "Children"
|
||||||
private let kExpandedKey = "Expanded"
|
private let kExpandedKey = "Expanded"
|
||||||
private var kNodeType : String { return kNodeTypeGroup }
|
fileprivate var kNodeType : String { return kNodeTypeGroup }
|
||||||
|
|
||||||
override init(name: String = "") {
|
override init(name: String = "") {
|
||||||
self.children = []
|
self.children = []
|
||||||
|
@ -155,11 +155,11 @@ class ASFileGroup : ASFileNode {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func childrenPropertyList(rootPath: String) -> [AnyObject] {
|
func childrenPropertyList(rootPath: String) -> [Any] {
|
||||||
return children.map() { (node) in node.propertyList(rootPath: rootPath) }
|
return children.map() { (node) in node.propertyList(rootPath: rootPath) }
|
||||||
}
|
}
|
||||||
|
|
||||||
override func propertyList(rootPath: String) -> Dictionary<String, AnyObject> {
|
override func propertyList(rootPath: String) -> Dictionary<String, Any> {
|
||||||
return [kTypeKey: kNodeType, kNameKey: name, kExpandedKey: expanded,
|
return [kTypeKey: kNodeType, kNameKey: name, kExpandedKey: expanded,
|
||||||
kChildrenKey: childrenPropertyList(rootPath: rootPath)]
|
kChildrenKey: childrenPropertyList(rootPath: rootPath)]
|
||||||
}
|
}
|
||||||
|
@ -174,7 +174,7 @@ class ASFileGroup : ASFileNode {
|
||||||
}
|
}
|
||||||
|
|
||||||
class ASProject : ASFileGroup {
|
class ASProject : ASFileGroup {
|
||||||
override private var kNodeType : String { return kNodeTypeProject }
|
override fileprivate var kNodeType : String { return kNodeTypeProject }
|
||||||
|
|
||||||
override init(name: String = "") {
|
override init(name: String = "") {
|
||||||
super.init(name: name)
|
super.init(name: name)
|
||||||
|
@ -259,7 +259,7 @@ class ASFileItem : ASFileNode {
|
||||||
return resComp.joined(separator: "/")
|
return resComp.joined(separator: "/")
|
||||||
}
|
}
|
||||||
|
|
||||||
override func propertyList(rootPath: String) -> Dictionary<String, AnyObject> {
|
override func propertyList(rootPath: String) -> Dictionary<String, Any> {
|
||||||
return [kTypeKey: kNodeTypeFile, kKindKey: type.rawValue,
|
return [kTypeKey: kNodeTypeFile, kKindKey: type.rawValue,
|
||||||
kPathKey: relativePath(relativeTo: rootPath)]
|
kPathKey: relativePath(relativeTo: rootPath)]
|
||||||
}
|
}
|
||||||
|
@ -283,7 +283,7 @@ class ASFileItem : ASFileNode {
|
||||||
}
|
}
|
||||||
|
|
||||||
override func revision() -> String? {
|
override func revision() -> String? {
|
||||||
let task = Task()
|
let task = Process()
|
||||||
task.launchPath = Bundle.main.path(forResource: "FileRevision", ofType: "")!
|
task.launchPath = Bundle.main.path(forResource: "FileRevision", ofType: "")!
|
||||||
let outputPipe = Pipe()
|
let outputPipe = Pipe()
|
||||||
task.standardOutput = outputPipe
|
task.standardOutput = outputPipe
|
||||||
|
@ -319,7 +319,7 @@ class ASFileTree : NSObject, NSOutlineViewDataSource {
|
||||||
func apply(closure: (ASFileNode) -> ()) {
|
func apply(closure: (ASFileNode) -> ()) {
|
||||||
root.apply(closure: closure)
|
root.apply(closure: closure)
|
||||||
}
|
}
|
||||||
func propertyList() -> AnyObject {
|
func propertyList() -> Any {
|
||||||
return root.propertyList(rootPath: projectPath())
|
return root.propertyList(rootPath: projectPath())
|
||||||
}
|
}
|
||||||
func readPropertyList(prop: Dictionary<String, AnyObject>) {
|
func readPropertyList(prop: Dictionary<String, AnyObject>) {
|
||||||
|
@ -330,14 +330,14 @@ class ASFileTree : NSObject, NSOutlineViewDataSource {
|
||||||
}
|
}
|
||||||
|
|
||||||
// MARK: Outline Data Source
|
// MARK: Outline Data Source
|
||||||
func outlineView(_ outlineView: NSOutlineView, numberOfChildrenOfItem item: AnyObject?) -> Int {
|
func outlineView(_ outlineView: NSOutlineView, numberOfChildrenOfItem item: Any?) -> Int {
|
||||||
if item == nil {
|
if item == nil {
|
||||||
return 4
|
return 4
|
||||||
} else {
|
} else {
|
||||||
return (item as! ASFileGroup).children.count
|
return (item as! ASFileGroup).children.count
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
func outlineView(_ outlineView: NSOutlineView, child index: Int, ofItem item: AnyObject?) -> AnyObject {
|
func outlineView(_ outlineView: NSOutlineView, child index: Int, ofItem item: Any?) -> Any {
|
||||||
if item == nil {
|
if item == nil {
|
||||||
switch index {
|
switch index {
|
||||||
case 1:
|
case 1:
|
||||||
|
@ -354,15 +354,15 @@ class ASFileTree : NSObject, NSOutlineViewDataSource {
|
||||||
return group.children[index]
|
return group.children[index]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
func outlineView(_ outlineView: NSOutlineView, isItemExpandable item: AnyObject) -> Bool {
|
func outlineView(_ outlineView: NSOutlineView, isItemExpandable item: Any) -> Bool {
|
||||||
return item is ASFileGroup
|
return item is ASFileGroup
|
||||||
}
|
}
|
||||||
func outlineView(_ outlineView: NSOutlineView, objectValueFor tableColumn: NSTableColumn?, byItem item: AnyObject?) -> AnyObject? {
|
func outlineView(_ outlineView: NSOutlineView, objectValueFor tableColumn: NSTableColumn?, byItem item: Any?) -> Any? {
|
||||||
return (item as! ASFileNode).nodeName()
|
return (item as! ASFileNode).nodeName()
|
||||||
}
|
}
|
||||||
|
|
||||||
let kLocalReorderPasteboardType = "ASFilePasteboardType"
|
let kLocalReorderPasteboardType = "ASFilePasteboardType"
|
||||||
func outlineView(_ outlineView: NSOutlineView, writeItems items: [AnyObject], to pasteboard: NSPasteboard) -> Bool {
|
private func outlineView(_ outlineView: NSOutlineView, writeItems items: [AnyObject], to pasteboard: NSPasteboard) -> Bool {
|
||||||
dragged = items as! [ASFileNode]
|
dragged = items as! [ASFileNode]
|
||||||
pasteboard.declareTypes([kLocalReorderPasteboardType], owner: self)
|
pasteboard.declareTypes([kLocalReorderPasteboardType], owner: self)
|
||||||
pasteboard.setData(Data(), forType: kLocalReorderPasteboardType)
|
pasteboard.setData(Data(), forType: kLocalReorderPasteboardType)
|
||||||
|
@ -378,7 +378,7 @@ class ASFileTree : NSObject, NSOutlineViewDataSource {
|
||||||
return itemIsDescendentOfDrag(outlineView: outlineView, item: outlineView.parent(forItem: item) as! ASFileNode)
|
return itemIsDescendentOfDrag(outlineView: outlineView, item: outlineView.parent(forItem: item) as! ASFileNode)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
func outlineView(_ outlineView: NSOutlineView, validateDrop info: NSDraggingInfo, proposedItem item: AnyObject?, proposedChildIndex index: Int) -> NSDragOperation {
|
func outlineView(_ outlineView: NSOutlineView, validateDrop info: NSDraggingInfo, proposedItem item: Any?, proposedChildIndex index: Int) -> NSDragOperation {
|
||||||
if info.draggingPasteboard().availableType(from: [kLocalReorderPasteboardType]) == nil {
|
if info.draggingPasteboard().availableType(from: [kLocalReorderPasteboardType]) == nil {
|
||||||
return [] // Only allow reordering drags
|
return [] // Only allow reordering drags
|
||||||
}
|
}
|
||||||
|
@ -400,7 +400,7 @@ class ASFileTree : NSObject, NSOutlineViewDataSource {
|
||||||
}
|
}
|
||||||
return NSDragOperation.generic
|
return NSDragOperation.generic
|
||||||
}
|
}
|
||||||
func outlineView(_ outlineView: NSOutlineView, acceptDrop info: NSDraggingInfo, item: AnyObject?, childIndex insertAtIndex: Int) -> Bool {
|
func outlineView(_ outlineView: NSOutlineView, acceptDrop info: NSDraggingInfo, item: Any?, childIndex insertAtIndex: Int) -> Bool {
|
||||||
var insertAtIndex = insertAtIndex
|
var insertAtIndex = insertAtIndex
|
||||||
let parent : ASFileGroup = (item as? ASFileGroup) ?? root
|
let parent : ASFileGroup = (item as? ASFileGroup) ?? root
|
||||||
if insertAtIndex == NSOutlineViewDropOnItemIndex {
|
if insertAtIndex == NSOutlineViewDropOnItemIndex {
|
||||||
|
|
|
@ -13,7 +13,7 @@ typealias ASProperties = [String: ASPropertyEntry]
|
||||||
|
|
||||||
extension NSMenu {
|
extension NSMenu {
|
||||||
func addSortedChoices(choices:[ASPropertyEntry], target: AnyObject, selector: Selector) {
|
func addSortedChoices(choices:[ASPropertyEntry], target: AnyObject, selector: Selector) {
|
||||||
for choice in choices.sorted(by: { $0["name"] < $1["name"] }) {
|
for choice in choices.sorted(by: { $0["name"]! < $1["name"]! }) {
|
||||||
let item = self.addItem(withTitle: choice["name"]!, action: selector, keyEquivalent: "")
|
let item = self.addItem(withTitle: choice["name"]!, action: selector, keyEquivalent: "")
|
||||||
item.target = target
|
item.target = target
|
||||||
}
|
}
|
||||||
|
|
|
@ -86,7 +86,7 @@ class ASPreferences: NSWindowController, NSOpenSavePanelDelegate {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func panel(_ sender: AnyObject, shouldEnable url: URL) -> Bool {
|
func panel(_ sender: Any, shouldEnable url: URL) -> Bool {
|
||||||
let gccPath = url.appendingPathComponent("bin/avr-gcc")
|
let gccPath = url.appendingPathComponent("bin/avr-gcc")
|
||||||
return FileManager.default.fileExists(atPath: gccPath.path)
|
return FileManager.default.fileExists(atPath: gccPath.path)
|
||||||
}
|
}
|
||||||
|
|
|
@ -176,7 +176,7 @@ class ASProjDoc: NSDocument, NSOutlineViewDelegate, NSMenuDelegate, NSOpenSavePa
|
||||||
kPortKey: port,
|
kPortKey: port,
|
||||||
kRecentBoardsKey: recentBoards,
|
kRecentBoardsKey: recentBoards,
|
||||||
kRecentProgrammersKey: recentProgrammers
|
kRecentProgrammersKey: recentProgrammers
|
||||||
]
|
] as [String : Any]
|
||||||
return try PropertyListSerialization.data(fromPropertyList: data, format:.xml, options:0)
|
return try PropertyListSerialization.data(fromPropertyList: data, format:.xml, options:0)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -238,7 +238,7 @@ class ASProjDoc: NSDocument, NSOutlineViewDelegate, NSMenuDelegate, NSOpenSavePa
|
||||||
updateChangeCount(.changeCleared)
|
updateChangeCount(.changeCleared)
|
||||||
}
|
}
|
||||||
|
|
||||||
override func duplicate(_ sender: AnyObject?) {
|
override func duplicate(_ sender: Any?) {
|
||||||
let app = NSApplication.shared().delegate as! ASApplication
|
let app = NSApplication.shared().delegate as! ASApplication
|
||||||
app.openTemplate(template: fileURL!.deletingLastPathComponent(), fromReadOnly:false)
|
app.openTemplate(template: fileURL!.deletingLastPathComponent(), fromReadOnly:false)
|
||||||
}
|
}
|
||||||
|
@ -301,7 +301,7 @@ class ASProjDoc: NSDocument, NSOutlineViewDelegate, NSMenuDelegate, NSOpenSavePa
|
||||||
|
|
||||||
// MARK: Printing
|
// MARK: Printing
|
||||||
|
|
||||||
override func print(withSettings printSettings: [String : AnyObject], showPrintPanel: Bool, delegate: AnyObject?, didPrint didPrintSelector: Selector?, contextInfo: UnsafeMutablePointer<Void>?) {
|
override func print(withSettings printSettings: [String : Any], showPrintPanel: Bool, delegate: Any?, didPrint didPrintSelector: Selector?, contextInfo: UnsafeMutableRawPointer?) {
|
||||||
printingDone =
|
printingDone =
|
||||||
{ () -> () in
|
{ () -> () in
|
||||||
InvokeCallback(delegate, didPrintSelector, contextInfo);
|
InvokeCallback(delegate, didPrintSelector, contextInfo);
|
||||||
|
@ -395,7 +395,7 @@ class ASProjDoc: NSDocument, NSOutlineViewDelegate, NSMenuDelegate, NSOpenSavePa
|
||||||
let pageNoAttr = [
|
let pageNoAttr = [
|
||||||
NSFontAttributeName: pageNoFont,
|
NSFontAttributeName: pageNoFont,
|
||||||
NSForegroundColorAttributeName: NSColor.white,
|
NSForegroundColorAttributeName: NSColor.white,
|
||||||
NSStrokeWidthAttributeName: -5.0]
|
NSStrokeWidthAttributeName: -5.0] as [String : Any]
|
||||||
let pageNoStr = "\(pageNo)"
|
let pageNoStr = "\(pageNo)"
|
||||||
let pageNoSize = pageNoStr.size(withAttributes: pageNoAttr)
|
let pageNoSize = pageNoStr.size(withAttributes: pageNoAttr)
|
||||||
let pageNoAt = NSPoint(
|
let pageNoAt = NSPoint(
|
||||||
|
@ -478,20 +478,20 @@ class ASProjDoc: NSDocument, NSOutlineViewDelegate, NSMenuDelegate, NSOpenSavePa
|
||||||
group.expanded = false
|
group.expanded = false
|
||||||
updateChangeCount(.changeDone)
|
updateChangeCount(.changeDone)
|
||||||
}
|
}
|
||||||
func outlineView(_ outlineView: NSOutlineView, willDisplayCell cell: AnyObject, for tableColumn: NSTableColumn?, item: AnyObject) {
|
func outlineView(_ outlineView: NSOutlineView, willDisplayCell cell: Any, for tableColumn: NSTableColumn?, item: Any) {
|
||||||
if let textCell = cell as? NSTextFieldCell {
|
if let textCell = cell as? NSTextFieldCell, let item = item as? ASFileNode {
|
||||||
textCell.textColor = NSColor.black
|
textCell.textColor = NSColor.black
|
||||||
if item === files.root || item === files.buildLog || item === files.uploadLog || item === files.disassembly {
|
if item === files.root || item === files.buildLog || item === files.uploadLog || item === files.disassembly {
|
||||||
textCell.font = NSFont.boldSystemFont(ofSize: 13.0)
|
textCell.font = NSFont.boldSystemFont(ofSize: 13.0)
|
||||||
} else {
|
} else {
|
||||||
textCell.font = NSFont.systemFont(ofSize: 13.0)
|
textCell.font = NSFont.systemFont(ofSize: 13.0)
|
||||||
if !(item as! ASFileNode).exists() {
|
if !item.exists() {
|
||||||
textCell.textColor = NSColor.red
|
textCell.textColor = NSColor.red
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
func outlineView(_ outlineView: NSOutlineView, shouldTrackCell cell: NSCell, for tableColumn: NSTableColumn?, item: AnyObject) -> Bool {
|
func outlineView(_ outlineView: NSOutlineView, shouldTrackCell cell: NSCell, for tableColumn: NSTableColumn?, item: Any) -> Bool {
|
||||||
return outlineView.isRowSelected(outlineView.row(forItem: item))
|
return outlineView.isRowSelected(outlineView.row(forItem: item))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -559,7 +559,7 @@ class ASProjDoc: NSDocument, NSOutlineViewDelegate, NSMenuDelegate, NSOpenSavePa
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func panel(_ panel:AnyObject, shouldEnable url:URL) -> Bool {
|
func panel(_ panel:Any, shouldEnable url:URL) -> Bool {
|
||||||
guard let values = try? url.resourceValues(forKeys: [.fileResourceIdentifierKey]),
|
guard let values = try? url.resourceValues(forKeys: [.fileResourceIdentifierKey]),
|
||||||
let resourceID = values.fileResourceIdentifier
|
let resourceID = values.fileResourceIdentifier
|
||||||
else {
|
else {
|
||||||
|
|
|
@ -15,6 +15,7 @@ class ASSerialWin: NSWindowController {
|
||||||
@IBOutlet weak var inputLine : NSTextField!
|
@IBOutlet weak var inputLine : NSTextField!
|
||||||
@IBOutlet weak var logView : ACEView!
|
@IBOutlet weak var logView : ACEView!
|
||||||
|
|
||||||
|
var portDefaults = [String: Any]()
|
||||||
var baudRate : Int = 9600 {
|
var baudRate : Int = 9600 {
|
||||||
didSet(oldRate) {
|
didSet(oldRate) {
|
||||||
if portHandle != nil {
|
if portHandle != nil {
|
||||||
|
@ -41,9 +42,8 @@ class ASSerialWin: NSWindowController {
|
||||||
dynamic var portHandle : FileHandle?
|
dynamic var portHandle : FileHandle?
|
||||||
var currentTheme : ACETheme = .xcode
|
var currentTheme : ACETheme = .xcode
|
||||||
var fontSize : UInt = 12
|
var fontSize : UInt = 12
|
||||||
var portDefaults = [String: AnyObject]()
|
|
||||||
var shouldReconnect = false
|
var shouldReconnect = false
|
||||||
dynamic var task : Task?
|
dynamic var task : Process?
|
||||||
|
|
||||||
class func showWindowWithPort(port: String) {
|
class func showWindowWithPort(port: String) {
|
||||||
if let existing = serialInstances[port] {
|
if let existing = serialInstances[port] {
|
||||||
|
@ -54,7 +54,7 @@ class ASSerialWin: NSWindowController {
|
||||||
newInstance.showWindow(self)
|
newInstance.showWindow(self)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
class func showWindowWithPort(port: String, task: Task, speed: Int) {
|
class func showWindowWithPort(port: String, task: Process, speed: Int) {
|
||||||
if let existing = serialInstances[port] {
|
if let existing = serialInstances[port] {
|
||||||
existing.showWindowWithTask(task: task, speed:speed)
|
existing.showWindowWithTask(task: task, speed:speed)
|
||||||
} else {
|
} else {
|
||||||
|
@ -116,10 +116,10 @@ class ASSerialWin: NSWindowController {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
termination = NotificationCenter.default.addObserver(forName: Task.didTerminateNotification,
|
termination = NotificationCenter.default.addObserver(forName: Process.didTerminateNotification,
|
||||||
object: nil, queue: nil, using:
|
object: nil, queue: nil, using:
|
||||||
{ (notification: Notification) in
|
{ (notification: Notification) in
|
||||||
if notification.object as? Task == self.task {
|
if notification.object as? Process == self.task {
|
||||||
self.task = nil
|
self.task = nil
|
||||||
self.portHandle = nil
|
self.portHandle = nil
|
||||||
}
|
}
|
||||||
|
@ -182,7 +182,7 @@ class ASSerialWin: NSWindowController {
|
||||||
portHandle?.write(data)
|
portHandle?.write(data)
|
||||||
}
|
}
|
||||||
|
|
||||||
func showWindowWithTask(task: Task, speed:Int) {
|
func showWindowWithTask(task: Process, speed:Int) {
|
||||||
if portHandle != nil {
|
if portHandle != nil {
|
||||||
connect(self)
|
connect(self)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user