|
@@ -623,6 +623,12 @@ import Cocoa
|
|
|
}
|
|
|
|
|
|
@objc func cancelMeasureType() {
|
|
|
+ self.hideMeasureFloatingWindows()
|
|
|
+
|
|
|
+ self.toolbarController.findItem(KMToolbarMeasureItemIdentifier)?.isSelected = false
|
|
|
+ }
|
|
|
+
|
|
|
+ func hideMeasureFloatingWindows() {
|
|
|
if distanceMeasureInfoWindowController?.window?.isVisible == true {
|
|
|
distanceMeasureInfoWindowController?.hideFloatingWindow()
|
|
|
} else if perimeterMeasureInfoWindowController?.window?.isVisible == true {
|
|
@@ -630,8 +636,23 @@ import Cocoa
|
|
|
} else if areaMeasureInfoWindowController?.window?.isVisible == true {
|
|
|
areaMeasureInfoWindowController?.hideFloatingWindow()
|
|
|
}
|
|
|
-
|
|
|
- self.toolbarController.findItem(KMToolbarMeasureItemIdentifier)?.isSelected = false
|
|
|
+ }
|
|
|
+
|
|
|
+ func showMeasureFloatingWindowsIfNeed() {
|
|
|
+ let toolMode = self.listView?.toolMode ?? .none
|
|
|
+ if toolMode != .measureToolMode {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ let type = self.listView?.annotationType ?? .none
|
|
|
+ if type == .line {
|
|
|
+ self.distanceMeasureInfoWindowController?.window?.orderFront(nil)
|
|
|
+ } else if type == .polyLine {
|
|
|
+ self.perimeterMeasureInfoWindowController?.window?.orderFront(nil)
|
|
|
+ } else if type == .polyGon {
|
|
|
+ self.areaMeasureInfoWindowController?.window?.orderFront(nil)
|
|
|
+ } else if type == .square {
|
|
|
+ self.areaMeasureInfoWindowController?.window?.orderFront(nil)
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
// MARK: Set Methods
|