瀏覽代碼

【CISDEM OEM】Toolbar补充测量选项

wanjun 8 月之前
父節點
當前提交
9756cfa5a3

+ 22 - 0
PDF Office/PDF Master/Class/Appearance/Image.xcassets/Other/UXNewImage/ic_Batch/KMImageNameUXIconMeasureNor.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "filename" : "straightness.pdf",
+      "idiom" : "universal"
+    },
+    {
+      "appearances" : [
+        {
+          "appearance" : "luminosity",
+          "value" : "dark"
+        }
+      ],
+      "filename" : "straightness 1.pdf",
+      "idiom" : "universal"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

+ 101 - 0
PDF Office/PDF Master/Class/Appearance/Image.xcassets/Other/UXNewImage/ic_Batch/KMImageNameUXIconMeasureNor.imageset/straightness 1.pdf

@@ -0,0 +1,101 @@
+%PDF-1.7
+
+1 0 obj
+  << >>
+endobj
+
+2 0 obj
+  << /Length 3 0 R >>
+stream
+/DeviceRGB CS
+/DeviceRGB cs
+q
+0.707107 -0.707107 0.707107 0.707107 0.242193 5.899328 cm
+0.152941 0.235294 0.384314 scn
+1.500000 18.298981 m
+6.500000 18.298981 l
+6.500000 1.298981 l
+1.500000 1.298981 l
+1.500000 3.049154 l
+5.000066 3.049154 l
+5.000066 4.549154 l
+1.500000 4.549154 l
+1.500000 7.049157 l
+5.000068 7.049157 l
+5.000068 8.549157 l
+1.500000 8.549157 l
+1.500000 11.049156 l
+5.000067 11.049156 l
+5.000067 12.549156 l
+1.500000 12.549156 l
+1.500000 15.049155 l
+5.000067 15.049155 l
+5.000067 16.549156 l
+1.500000 16.549156 l
+1.500000 18.298981 l
+h
+0.000000 19.798981 m
+1.500000 19.798981 l
+6.500000 19.798981 l
+8.000000 19.798981 l
+8.000000 18.298981 l
+8.000000 1.298981 l
+8.000000 -0.201019 l
+6.500000 -0.201019 l
+1.500000 -0.201019 l
+0.000000 -0.201019 l
+0.000000 1.298981 l
+0.000000 18.298981 l
+0.000000 19.798981 l
+h
+f*
+n
+Q
+
+endstream
+endobj
+
+3 0 obj
+  832
+endobj
+
+4 0 obj
+  << /Annots []
+     /Type /Page
+     /MediaBox [ 0.000000 0.000000 20.000000 20.000000 ]
+     /Resources 1 0 R
+     /Contents 2 0 R
+     /Parent 5 0 R
+  >>
+endobj
+
+5 0 obj
+  << /Kids [ 4 0 R ]
+     /Count 1
+     /Type /Pages
+  >>
+endobj
+
+6 0 obj
+  << /Pages 5 0 R
+     /Type /Catalog
+  >>
+endobj
+
+xref
+0 7
+0000000000 65535 f
+0000000010 00000 n
+0000000034 00000 n
+0000000922 00000 n
+0000000944 00000 n
+0000001117 00000 n
+0000001191 00000 n
+trailer
+<< /ID [ (some) (id) ]
+   /Root 6 0 R
+   /Size 7
+>>
+startxref
+1250
+%%EOF

+ 101 - 0
PDF Office/PDF Master/Class/Appearance/Image.xcassets/Other/UXNewImage/ic_Batch/KMImageNameUXIconMeasureNor.imageset/straightness.pdf

@@ -0,0 +1,101 @@
+%PDF-1.7
+
+1 0 obj
+  << >>
+endobj
+
+2 0 obj
+  << /Length 3 0 R >>
+stream
+/DeviceRGB CS
+/DeviceRGB cs
+q
+0.707107 -0.707107 0.707107 0.707107 0.242193 5.899328 cm
+0.152941 0.235294 0.384314 scn
+1.500000 18.298981 m
+6.500000 18.298981 l
+6.500000 1.298981 l
+1.500000 1.298981 l
+1.500000 3.049154 l
+5.000066 3.049154 l
+5.000066 4.549154 l
+1.500000 4.549154 l
+1.500000 7.049157 l
+5.000068 7.049157 l
+5.000068 8.549157 l
+1.500000 8.549157 l
+1.500000 11.049156 l
+5.000067 11.049156 l
+5.000067 12.549156 l
+1.500000 12.549156 l
+1.500000 15.049155 l
+5.000067 15.049155 l
+5.000067 16.549156 l
+1.500000 16.549156 l
+1.500000 18.298981 l
+h
+0.000000 19.798981 m
+1.500000 19.798981 l
+6.500000 19.798981 l
+8.000000 19.798981 l
+8.000000 18.298981 l
+8.000000 1.298981 l
+8.000000 -0.201019 l
+6.500000 -0.201019 l
+1.500000 -0.201019 l
+0.000000 -0.201019 l
+0.000000 1.298981 l
+0.000000 18.298981 l
+0.000000 19.798981 l
+h
+f*
+n
+Q
+
+endstream
+endobj
+
+3 0 obj
+  832
+endobj
+
+4 0 obj
+  << /Annots []
+     /Type /Page
+     /MediaBox [ 0.000000 0.000000 20.000000 20.000000 ]
+     /Resources 1 0 R
+     /Contents 2 0 R
+     /Parent 5 0 R
+  >>
+endobj
+
+5 0 obj
+  << /Kids [ 4 0 R ]
+     /Count 1
+     /Type /Pages
+  >>
+endobj
+
+6 0 obj
+  << /Pages 5 0 R
+     /Type /Catalog
+  >>
+endobj
+
+xref
+0 7
+0000000000 65535 f
+0000000010 00000 n
+0000000034 00000 n
+0000000922 00000 n
+0000000944 00000 n
+0000001117 00000 n
+0000001191 00000 n
+trailer
+<< /ID [ (some) (id) ]
+   /Root 6 0 R
+   /Size 7
+>>
+startxref
+1250
+%%EOF

+ 32 - 2
PDF Office/PDF Master/Class/PDFWindowController/Toolbar/KMToolbarViewController.swift

@@ -92,6 +92,7 @@ import Cocoa
     case crop = 8009
     case comparison = 8010
     case aiTools = 8011
+    case measure = 8012
 }
 
 @objc protocol KMToolbarViewControllerDelegate {
@@ -424,6 +425,19 @@ class KMToolbarViewController: NSViewController, NSTextFieldDelegate {
         self._itemSetPromptFlag(itemIdentifier: KMToolbarToolSecureItemIdentifier)
     }
     
+    @objc func measureMenuAction(sender: KMToolbarClickButton) {
+        self.delegate?.toolbarViewController?(self, clickChaildToolType: .measure, toolbar: sender.clickObject as! KMToolbarItemView)
+        self._itemSetPromptFlag(item: sender.clickObject as? KMToolbarItemView)
+    }
+    @objc private func _measureAction(sender: NSMenuItem) {
+        if let data = self._currentItemView {
+            self.delegate?.toolbarViewController?(self, menuItemDidClick: data, index: sender.tag, info: nil)
+        } else {
+            self.delegate?.toolbarViewController?(self, menuItemDidClick: self.toolbarItemFindItemIdentifiers(value: KMToolbarMeasureItemIdentifier), index: sender.tag, info: nil)
+        }
+        self._itemSetPromptFlag(itemIdentifier: KMToolbarMeasureItemIdentifier)
+    }
+    
     @objc func conversionMenuItemAction(sender: KMToolbarClickButton) {
         if let item: KMToolbarItemView = sender.clickObject as? KMToolbarItemView {
             var type: KMToolbarType = .word
@@ -679,7 +693,7 @@ extension KMToolbarViewController : KMToolbarViewDelegate,NSToolbarItemValidatio
             return [KMNewToolbarSpaceItemIdentifier,
                     KMToolbarPageEditInsetItemIdentifier, KMToolbarToolMergeItemIdentifier, KMToolbarPageEditSplitItemIdentifier,
                     KMToolbarToolCompressItemIdentifier, KMToolbarToolSecureItemIdentifier, KMToolbarToolWatermarkItemIdentifier,
-                    KMToolbarToolBackgroundItemIdentifier, KMToolbarToolHeaderFooterItemIdentifier, KMToolbarToolBatesItemIdentifier,
+                    KMToolbarToolBackgroundItemIdentifier, KMToolbarToolHeaderFooterItemIdentifier, KMToolbarToolBatesItemIdentifier,KMToolbarMeasureItemIdentifier,
                     KMToolbarAIItemIdentifier,
                     KMToolbarCropIdentifier,
                     KMToolbarConversionWordItemIdentifier, KMToolbarConversionExcelItemIdentifier, KMToolbarConversionPPTItemIdentifier,
@@ -778,7 +792,8 @@ extension KMToolbarViewController : KMToolbarViewDelegate,NSToolbarItemValidatio
             return [KMToolbarToolCompressItemIdentifier, KMToolbarToolMergeItemIdentifier,
                     KMToolbarToolSecureItemIdentifier, KMToolbarComparisonItemIdentifier,
                     KMToolbarToolWatermarkItemIdentifier, KMToolbarToolBackgroundItemIdentifier,
-                    KMToolbarToolHeaderFooterItemIdentifier, KMToolbarToolBatesItemIdentifier]
+                    KMToolbarToolHeaderFooterItemIdentifier, KMToolbarToolBatesItemIdentifier, 
+                    KMToolbarMeasureItemIdentifier]
         case .Form:
             return [KMToolbarToolTextFieldItemIdentifier,
                     KMToolbarToolCheckBoxItemIdentifier,
@@ -2318,6 +2333,21 @@ extension KMToolbarViewController {
             item?.titleName = NSLocalizedString("Merge", comment: "")
             item?.boxImagePosition = .imageLeft
             item?.btnAction = #selector(mergeMenuItemAction)
+        } else if identifier == KMToolbarMeasureItemIdentifier {
+            item?.image = NSImage(named: "KMImageNameUXIconMeasureNor")
+            item?.target = self
+            item?.titleName = NSLocalizedString("Measure", comment: "")
+            item?.boxImagePosition = .imageExpandLeft
+            item?.needExpandAction = true
+            let menuItem = NSMenuItem.init(title: NSLocalizedString("Measure", comment: ""), action: #selector(measureMenuAction), target: self)
+            let subMenu = NSMenu()
+            subMenu.addItem(title: NSLocalizedString("Line", comment: ""), action: #selector(_measureAction), target: self, tag: 1)
+            subMenu.addItem(title: NSLocalizedString("Multilines", comment: ""), action: #selector(_measureAction), target: self, tag: 2)
+            subMenu.addItem(title: NSLocalizedString("Polygon", comment: ""), action: #selector(_measureAction), target: self, tag: 3)
+            subMenu.addItem(title: NSLocalizedString("Rectangle", comment: ""), action: #selector(_measureAction), target: self, tag: 4)
+            menuItem.submenu = subMenu
+            item?.menuFormRepresentation = menuItem
+
         }
     }
 }

+ 2 - 1
PDF Office/PDF Master/Class/PDFWindowController/Toolbar/PublicKey.swift

@@ -133,12 +133,13 @@ let KMToolbarToolCompressItemIdentifier =  "KMToolbarCompressionItemIdentifier"
 let KMToolbarToolSecureItemIdentifier =  "KMToolbarSecurityItemIdentifier"
 let KMToolbarToolMergeItemIdentifier =  "KMToolbarMergeItemIdentifier"
 let KMToolbarComparisonItemIdentifier =  "KMToolbarComparisonItemIdentifier"
+let KMToolbarMeasureItemIdentifier =  "KMToolbarMeasureItemIdentifier"
 let KMToolbarAIItemIdentifier =  "KMToolbarAIItemIdentifier"
 let toolToolIdentifiers = [KMToolbarToolCropItemIdentifier, KMToolbarToolBatesItemIdentifier,
                            KMToolbarToolHeaderFooterItemIdentifier, KMToolbarToolBackgroundItemIdentifier,
                            KMToolbarToolWatermarkItemIdentifier, KMToolbarToolRedactItemIdentifier,
                            KMToolbarToolCompressItemIdentifier, KMToolbarToolSecureItemIdentifier,
-                           KMToolbarToolMergeItemIdentifier,KMToolbarComparisonItemIdentifier]
+                           KMToolbarToolMergeItemIdentifier,KMToolbarComparisonItemIdentifier,KMToolbarMeasureItemIdentifier]
 
 /// Form
 let KMToolbarToolTextFieldItemIdentifier =  "KMToolbarFormTextFieldItemIdentifier"

+ 21 - 0
PDF Office/PDF Master/Class/PDFWindowController/ViewController/KMMainViewController+Action.swift

@@ -4261,6 +4261,25 @@ extension KMMainViewController : KMMainToolbarControllerDelegate {
                     self.openRightPane()
                     return
                 }
+            } else if type == .measure {
+                if !IAPProductsManager.default().isAvailableAllFunction(){
+                    KMPurchaseCompareWindowController.sharedInstance().showWindow(nil)
+                    return
+                }
+                
+                if !self.documentAllowsEdit() {
+                    return
+                }
+                
+                if index == 1 {
+                    
+                } else if index == 2 {
+                    
+                } else if index == 3 {
+                    
+                } else if index == 4 {
+                    
+                }
             }
         }
     }
@@ -4529,6 +4548,8 @@ extension KMMainViewController : KMMainToolbarControllerDelegate {
         } else if (toolbarItem.itemIdentifier == KMToolbarToolBatesItemIdentifier) {
             self.clickChildTool(type: .bates, index: index)
             FMTrackEventManager.defaultManager.trackEvent(event: "SubTbr_Editor", withProperties: ["SubTbr_Btn": "Btn_SubTbr_Editor_BatesNumber"])
+        } else if (toolbarItem.itemIdentifier == KMToolbarMeasureItemIdentifier) {
+            self.clickChildTool(type: .measure, index: index)
         } else if (toolbarItem.itemIdentifier == KMToolbarComparisonItemIdentifier) {
             self.clickChildTool(type: .comparison, index: index)
         } else if (toolbarItem.itemIdentifier == KMToolbarToolFormAlignIdentifier) {