From f0bb5f8f3717651cafd5eec896029c0b432b9a0b Mon Sep 17 00:00:00 2001 From: Ken Arroyo Ohori Date: Thu, 17 Nov 2016 09:50:43 -0600 Subject: [PATCH] Copy selected object ids to clipboard --- src/Base.lproj/MainMenu.xib | 2 +- src/Controller.swift | 7 +++++++ src/DataStorage.swift | 1 + 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/Base.lproj/MainMenu.xib b/src/Base.lproj/MainMenu.xib index 78ec3c6..12fe162 100644 --- a/src/Base.lproj/MainMenu.xib +++ b/src/Base.lproj/MainMenu.xib @@ -160,7 +160,7 @@ - + diff --git a/src/Controller.swift b/src/Controller.swift index 67dc44a..7ebf205 100644 --- a/src/Controller.swift +++ b/src/Controller.swift @@ -191,6 +191,13 @@ class Controller: NSObject, NSApplicationDelegate { }) } + @IBAction func copy(_ sender: NSMenuItem) { + let pasteboard = NSPasteboard.general() + pasteboard.clearContents() + pasteboard.declareTypes([NSStringPboardType], owner: self) + pasteboard.setString(dataStorage.selection.joined(separator: ","), forType: NSStringPboardType) + } + @IBAction func toggleViewEdges(_ sender: NSMenuItem) { if let metalView = view as? MetalView { if metalView.viewEdges { diff --git a/src/DataStorage.swift b/src/DataStorage.swift index 39ebf44..0a45eee 100644 --- a/src/DataStorage.swift +++ b/src/DataStorage.swift @@ -69,6 +69,7 @@ class DataStorage: NSObject, NSOutlineViewDataSource, NSOutlineViewDelegate { } self.storeData(in: cityGMLParser) + cityGMLParser.clear() while self.view == nil { Thread.sleep(forTimeInterval: 0.01)