Преглед на файлове

【2025】【Edit】删除旧代码

niehaoyu преди 19 часа
родител
ревизия
1a3347fdda
променени са 17 файла, в които са добавени 248 реда и са изтрити 3453 реда
  1. 0 805
      PDF Office/PDF Master/Class/PDFTools/Crop/Controller/KMCropPreviewController.swift
  2. 0 22
      PDF Office/PDF Master/Class/PDFTools/Crop/Controller/KMCropPreviewController.xib
  3. 0 113
      PDF Office/PDF Master/Class/PDFTools/Crop/KMCropSettingWindowController.swift
  4. 0 161
      PDF Office/PDF Master/Class/PDFTools/Crop/KMCropSettingWindowController.xib
  5. 0 1106
      PDF Office/PDF Master/Class/PDFTools/Crop/KMPDFCropWindowController.swift
  6. 0 818
      PDF Office/PDF Master/Class/PDFTools/Crop/KMPDFCropWindowController.xib
  7. 0 74
      PDF Office/PDF Master/Class/PDFTools/Crop/View/KMCropSettingPageSizeView.swift
  8. 0 79
      PDF Office/PDF Master/Class/PDFTools/Crop/View/KMCropTipView.swift
  9. 112 112
      PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/KMGeneralAnnotationViewController.xib
  10. 1 24
      PDF Office/PDF Master/Class/PDFWindowController/ViewController/KMMainViewController+Action.swift
  11. 12 0
      PDF Office/PDF Master/KMClass/KMPDFViewController/EditTool/Crop/KMCropManager.swift
  12. 2 2
      PDF Office/PDF Master/Class/PDFTools/Crop/Tools/KMCropTools.swift
  13. 1 1
      PDF Office/PDF Master/KMClass/KMPDFViewController/EditTool/Crop/Views/KMCropPropertyController.swift
  14. 0 17
      PDF Office/PDF Master/KMClass/KMPDFViewController/EditTool/Watermark/Base/KMWatermarkAdjectivePreViewBaseController.swift
  15. 0 1
      PDF Office/PDF Master/KMClass/KMPDFViewController/KMMainViewController.swift
  16. 9 97
      PDF Office/PDF Reader Pro.xcodeproj/project.pbxproj
  17. 111 21
      PDF Office/PDF Reader Pro.xcodeproj/xcuserdata/kdanmobile.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

+ 0 - 805
PDF Office/PDF Master/Class/PDFTools/Crop/Controller/KMCropPreviewController.swift

@@ -1,805 +0,0 @@
-//
-//  KMCropPreviewController.swift
-//  PDF Reader Pro
-//
-//  Created by tangchao on 2022/12/29.
-//
-
-import Cocoa
-import PDFKit
-
-extension CPDFPage {
-    private static var _drawingPage = "cropDrawingPage"
-    var cropDrawingPage: CPDFPage? {
-        get {
-            return (objc_getAssociatedObject(self, &CPDFPage._drawingPage) as? CPDFPage)
-        }
-        set {
-            objc_setAssociatedObject(self, &CPDFPage._drawingPage, newValue, objc_AssociationPolicy.OBJC_ASSOCIATION_RETAIN_NONATOMIC)
-        }
-    }
-    
-    var cropOffsetX: CGFloat {
-        get {
-            return objc_getAssociatedObject(self, "cropOffsetX") as! CGFloat
-        }
-        set {
-            objc_setAssociatedObject(self, "cropOffsetX", newValue, objc_AssociationPolicy.OBJC_ASSOCIATION_ASSIGN)
-        }
-    }
-    
-    var cropOffsetY: CGFloat {
-        get {
-            return objc_getAssociatedObject(self, "cropOffsetY") as! CGFloat
-        }
-        set {
-            objc_setAssociatedObject(self, "cropOffsetY", newValue, objc_AssociationPolicy.OBJC_ASSOCIATION_ASSIGN)
-        }
-    }
-    
-    var isChangePageSize: Bool {
-        get {
-            return objc_getAssociatedObject(self, "isChangePageSize") as! Bool
-        }
-        set {
-            objc_setAssociatedObject(self, "isChangePageSize", newValue, objc_AssociationPolicy.OBJC_ASSOCIATION_ASSIGN)
-        }
-    }
-    
-    var cropRect: NSRect {
-        get {
-            return objc_getAssociatedObject(self, "cropRect") as! NSRect
-        }
-        set {
-            objc_setAssociatedObject(self, "cropRect", newValue, objc_AssociationPolicy.OBJC_ASSOCIATION_ASSIGN)
-        }
-    }
-}
-
-class KMCropInfo: NSObject {
-    var drawPage: CPDFPage!
-    var cropOffsetX: CGFloat = 0
-    var cropOffsetY: CGFloat = 0
-    var isChangePageSize: Bool = false
-    var cropRect: NSRect!
-}
-
-class KMCropPDFView: CPDFView {
-    
-    var drawInfo: Array<KMCropInfo> = []
-    
-    override func draw(_ page: CPDFPage!, to context: CGContext!) {
-        super.draw(page, to: context)
-        
-        if (self.drawInfo.count > 0) {
-            drawCropPage(page, to: context)
-        }
-        drawCropPage(page: page, toContext: context)
-    }
-    
-    private func drawCropPage(page: CPDFPage, toContext context: CGContext) {
-        if (page.cropDrawingPage != nil) {
-            let originalRect = page.bounds(for: .mediaBox)
-            let drawPage = page.cropDrawingPage
-            let cropRect = drawPage?.bounds(for: .mediaBox)
-            let orgPageWidth = cropRect?.size.width
-            let orgPageHeight = cropRect?.size.height
-            
-            let spaceX = page.cropOffsetX
-            let spaceY = page.cropOffsetY
-            let scanl = min(originalRect.size.width/(orgPageWidth ?? 0), originalRect.size.height/(orgPageHeight ?? 1))
-            
-            NSGraphicsContext.saveGraphicsState()
-            
-            context.translateBy(x: spaceX, y: spaceY)
-            context.scaleBy(x: scanl, y: scanl)
-            
-            if #available(macOS 10.12, *) {
-                drawPage?.draw(with: .cropBox, to: context)
-                drawPage?.transform(context, for: .cropBox)
-            } else {
-                NSGraphicsContext.saveGraphicsState()
-                NSGraphicsContext.current = NSGraphicsContext(cgContext: context, flipped: true)
-                drawPage?.draw(with: .cropBox, to: context)
-                NSGraphicsContext.restoreGraphicsState()
-                drawPage?.transform(context, for: .cropBox)
-            }
-            
-            if !page.isChangePageSize {
-                let tCropRect = page.cropRect
-                let w1 = (orgPageWidth ?? 0) - tCropRect.size.width - tCropRect.origin.x
-                
-                context.setFillColor(red: 0, green: 0, blue: 0, alpha: 0.3)
-                let rect1 = CGRect(x: 0, y: 0, width: orgPageWidth ?? 0, height: tCropRect.origin.y)
-                let rect2 = CGRect(x: 0, y: tCropRect.origin.y + tCropRect.size.height, width: orgPageWidth ?? 0, height: (orgPageHeight ?? 0) - tCropRect.origin.y - tCropRect.size.height)
-                let rect3 = CGRect(x: 0, y: tCropRect.origin.y, width: tCropRect.origin.x, height: tCropRect.size.height)
-                let rect4 = CGRect(x: tCropRect.origin.x + tCropRect.size.width, y: tCropRect.origin.y, width: max(w1, 0), height: tCropRect.size.height)
-                context.fill(rect1)
-                context.fill(rect2)
-                context.fill(rect3)
-                context.fill(rect4)
-            }
-            
-            NSGraphicsContext.restoreGraphicsState()
-        }
-    }
-    
-    private func drawCropPage(_ cropPage: CPDFPage, to context: CGContext!) {
-//        let myPage: KMCropPDFPage = cropPage as! KMCropPDFPage
-        let info: KMCropInfo = self.drawInfo[Int(self.document.index(for: cropPage))]
-        if (info.drawPage != nil) {
-            let originalRect = cropPage.bounds(for: .mediaBox)
-            let drawPage = info.drawPage
-            let cropRect = drawPage!.bounds(for: .mediaBox)
-            /// 原始page的宽度(不管有没有旋转,都是旋转度数等于0)
-            let orgPageWidth: CGFloat = NSWidth(cropRect)
-            /// 原始page的高度
-            let orgPageHeight: CGFloat = NSHeight(cropRect)
-            
-            let spaceX = info.cropOffsetX
-            let spaceY = info.cropOffsetY
-            
-            let scale: CGFloat = min(NSWidth(originalRect)/orgPageWidth, NSHeight(originalRect)/orgPageHeight)
-            
-            NSGraphicsContext.saveGraphicsState()
-            
-            context.translateBy(x: spaceX,y: spaceY)
-            context.scaleBy(x: scale, y: scale)
-            
-            if #available(macOS 10.12, *) {
-                drawPage?.draw(with: .cropBox, to: context)
-                drawPage?.transform(context, for: .cropBox)
-            } else {
-                NSGraphicsContext.saveGraphicsState()
-                NSGraphicsContext.current = NSGraphicsContext(cgContext: context, flipped: false)
-                drawPage?.draw(with: .cropBox, to: context)
-                drawPage?.transform(context, for: .cropBox)
-            }
-            
-            if (info.isChangePageSize) {
-                let tCropRect: NSRect = cropPage.cropRect
-                let w1: CGFloat = orgPageWidth-(tCropRect.size.width)-(tCropRect.origin.x)
-                
-                context.setFillColor(red: 0, green: 0, blue: 0, alpha: 0.3)
-                let rect1: NSRect = NSMakeRect(0, 0, orgPageWidth, (tCropRect.origin.y))
-                let rect2: NSRect = NSMakeRect(0, (tCropRect.origin.y)+(tCropRect.size.height), orgPageWidth,     orgPageHeight - tCropRect.origin.y-tCropRect.size.height)
-                let rect3: NSRect = NSMakeRect(0, tCropRect.origin.y,tCropRect.origin.x,tCropRect.size.height);
-                var rect4Y = w1
-                if (w1 > 0) {
-                    rect4Y = 0
-                }
-                let rect4: NSRect = NSMakeRect(tCropRect.origin.x+tCropRect.size.width, tCropRect.origin.y,rect4Y,tCropRect.size.height)
-                
-                context.fill(rect1)
-                context.fill(rect2)
-                context.fill(rect3)
-                context.fill(rect4)
-            }
-            
-            NSGraphicsContext.restoreGraphicsState()
-        }
-    }
-}
-
-class KMCropPDFPage: CPDFPage {
-//    var drawingPage: CPDFPage!
-//    var cropOffsetX: CGFloat = 0
-//    var cropOffsetY: CGFloat = 0
-    
-//    var isChangePageSize: Bool = false
-//    var cropRect: NSRect!
-    
-    override func draw(with box: CPDFDisplayBox, to context: CGContext!) {
-        super.draw(with: box, to: context)
-        
-        let pageSize: NSSize = self.bounds(for: .mediaBox).size
-        drawPage(with: context, page: self.cropDrawingPage!, pageSize: pageSize)
-    }
-    
-    private func drawPage(with context: CGContext, page: CPDFPage, pageSize: NSSize) {
-        let myPage: KMCropPDFPage = page as! KMCropPDFPage
-        
-        var originalSize: NSSize = page.bounds(for: .mediaBox).size
-        
-        //如果page的旋转角度为90,或者270,宽高交换
-        if (page.rotation % 180 != 0) {
-            originalSize = NSMakeSize(originalSize.height, originalSize.width)
-        }
-        
-        context.saveGState()
-        context.translateBy(x: myPage.cropOffsetX, y: myPage.cropOffsetY)
-        
-        if #available(macOS 10.12, *) {
-            page.draw(with: .cropBox, to: context)
-            page.transform(context, for: .cropBox)
-        } else {
-            NSGraphicsContext.saveGraphicsState()
-            NSGraphicsContext.current = NSGraphicsContext(cgContext: context, flipped: true)
-            page.draw(with: .cropBox, to: context)
-            
-            NSGraphicsContext.restoreGraphicsState()
-            page.transform(context, for: .cropBox)
-        }
-        
-        context.restoreGState()
-    }
-}
-
-class KMCropPreviewController: KMWatermarkAdjectivePreViewBaseController {
-
-//    var testPreView: PDFView!
-    
-    var tipView = KMCropTipView()
-    
-    var windowController: KMCropSettingWindowController!
-    
-    override func viewDidLoad() {
-        super.viewDidLoad()
-        
-        let itemTitles = [["裁剪"]]
-        var itemModels: Array<Array<KMWatermarkAdjectiveTopBarItemModel>> = []
-        for items in itemTitles {
-            var array: Array<KMWatermarkAdjectiveTopBarItemModel> = []
-            for title in items {
-                let model = KMWatermarkAdjectiveTopBarItemModel()
-                model.iconName = ""
-                model.itemTitle = title
-                array.append(model)
-            }
-            itemModels.append(array)
-        }
-        
-        self.topBarView.initItemData(itemArrays: itemModels)
-        
-        let preView: CPDFListView = CPDFListView()
-        self.preView = preView
-        self.preView.frame = self.preViewBox.contentView!.bounds
-        self.preView.autoresizingMask = NSView.AutoresizingMask(rawValue: 18)
-        self.preViewBox.contentView?.addSubview(self.preView)
-        self.preView.autoScales = true
-        self.preView.displaysAsBook = true
-        self.preView.delegate = self
-        
-        let myPreView: CPDFListView = self.preView as! CPDFListView
-        myPreView.pdfListViewDelegate = self
-        
-//        NotificationCenter.default.addObserver(self, selector: #selector(preViewSelectionDidChange), name: NSNotification.Name.CPDFViewSelectionChanged, object: nil)
-        
-//        self.testPreView = PDFView()
-//        self.testPreView.frame = self.preViewBox.contentView!.bounds
-//        self.testPreView.autoresizingMask = NSView.AutoresizingMask(rawValue: 18)
-//        self.preViewBox.contentView?.addSubview(self.testPreView)
-        
-        self.topBarView.isCanApply(can: false)
-        
-        self.tipView.frame = self.tipBox.contentView!.frame
-        self.tipView.autoresizingMask = NSView.AutoresizingMask(rawValue: 18)
-        self.tipBox.addSubview(self.tipView)
-        self.tipBox.isHidden = true
-        
-        self.tipView.enterAction = {
-            () in
-            let myPreView: CPDFListView = self.preView as! CPDFListView
-            var rect = NSIntegralRect(myPreView.currentSelectionRect())
-            if (NSIsEmptyRect(rect)) {
-                return
-            }
-            
-            let window = KMCropSettingWindowController(windowNibName: "KMCropSettingWindowController")
-            self.view.window?.beginSheet(window.window!)
-            self.windowController = window
-            
-            window.itemClick = { [self]
-                (index: Int) in
-                if (index == 1) { /// 取消
-                    self.view.window?.endSheet((self.windowController?.window)!)
-                    self.windowController = nil
-                    return
-                }
-                let pageRangeType = self.windowController.pageRangeIndex
-                let pageCount: Int = Int(self.preView.document.pageCount)
-                var pages: Array<Int> = []
-                if (pageRangeType == 0) { /// 当前页面
-                    pages.append(self.preView.currentPageIndex)
-                } else if (pageRangeType == 1) { /// 全部页面
-                    for i in 0 ..< pageCount {
-                        pages.append(i)
-                    }
-                } else if (pageRangeType == 2) { /// 奇数页面
-                    var string: String = ""
-                    for i in 0 ..< pageCount {
-                        if (i % 2 == 1) {
-                            continue
-                        }
-                        
-                        pages.append(i)
-                    }
-                } else if (pageRangeType == 3) { /// 偶数页面
-                    var string: String = ""
-                    for i in 0 ..< pageCount {
-                        if (i % 2 == 0) {
-                            continue
-                        }
-                        
-                        pages.append(i)
-                    }
-                } else { /// 自定义
-                    for i in self.windowController.pageRangePages {
-                        pages.append(i)
-                    }
-                }
-                
-                if (pages.count < 0) {
-                    let alert = NSAlert()
-                    alert.messageText = "请选择页面"
-                    alert.runModal()
-                    return
-                }
-                
-                var pageSize: NSSize = NSZeroSize
-                if (self.windowController.pageSize == "None") {
-                    
-                } else {
-                    pageSize = KMCropTools.getPageSizeValue(self.windowController.pageSize)
-                }
-                
-                for i in pages {
-                    let myPreView: CPDFListView = self.preView as! CPDFListView
-                    var page: CPDFPage = self.preView.document.page(at: UInt(i))
-                    var rect = NSIntegralRect(myPreView.selectionRect)
-
-                    if (NSIsEmptyRect(rect)) {
-                        rect = getPageForegroundBox(page)
-                    }
-                    
-                    var newRect = NSIntersectionRect(rect, (page.bounds(for: .mediaBox)))
-                    page.setBounds(newRect, for: .cropBox)
-                    
-                    if (pageSize.width == 0 && pageSize.height == 0) {
-                        
-                    } else {
-                        let tiffData = page.PDFListViewTIFFData(for: rect)
-                        let index: UInt = (page.pageIndex())
-//                        let newPage: CPDFPage = CPDFPage(image: NSImage(data: tiffData!))
-                        
-                        self.preView.document.removePage(at: index)
-//                        newPage.setBounds(NSMakeRect(0, 0, pageSize.width, pageSize.height), for: .cropBox)
-                        //        let result = self.preView.document.insertPageObject(newPage, at: index)
-                        let result = self.preView.document.insertPage(pageSize, at: index)
-                    }
-                }
-                
-                /// 保存到临时路径
-                let toPath: String = self.preView.document.documentURL.path
-                let documentPath = NSTemporaryDirectory()
-                let tempPath: String = "\(documentPath)/\(toPath.lastPathComponent)"
-                if (FileManager.default.fileExists(atPath: tempPath)) {
-                    try?FileManager.default.removeItem(atPath: tempPath)
-                }
-
-                let result = self.preView.document.write(to: URL(fileURLWithPath: tempPath))
-                if (result) {
-                    if (FileManager.default.fileExists(atPath: toPath)) {
-                        try?FileManager.default.removeItem(atPath: toPath)
-                    }
-                    
-                    try?FileManager.default.moveItem(atPath: tempPath, toPath: toPath)
-                } else {
-                    try?FileManager.default.removeItem(atPath: tempPath)
-                }
-                DispatchQueue.main.async {
-                    let myPreView: CPDFListView = self.preView as! CPDFListView
-                    myPreView.toolMode = .textToolMode
-
-                    /// 刷新预览视图
-                    self.preView.layoutDocumentView()
-                    
-                    self.preView.displayBox = .cropBox
-                }
-                
-                /// 裁剪
-                self.view.window?.endSheet((self.windowController?.window)!)
-                self.windowController = nil
-                
-//                self.cropCurrentPage(in: NSZeroSize)
-                
-                let count: Int = Int(self.preView.document!.pageCount)
-//                let PDFView = KMCropPDFView()
-//                PDFView.frame = self.preView.bounds
-//                self.preView.superview?.addSubview(PDFView)
-//                PDFView.document = CPDFDocument(url: self.preView.document.documentURL)
-//                for i in 0 ..< count {
-//                    let page: KMCropPDFPage = KMCropPDFPage()
-//                    page.setBounds(NSMakeRect(0, 0, 200, 200), for: .mediaBox)
-//                    let cropPage = self.preView.document.page(at: UInt(i))
-//                    page.cropDrawingPage = cropPage
-////                    self.preView.document.insertPageObject(page, at: UInt(i))
-////                    self.preView.document.removePage(at: UInt(i))
-//                    let currentPage = page.cropDrawingPage
-//                    let drawInfo = KMCropInfo()
-//                    drawInfo.drawPage = cropPage
-//                    PDFView.drawInfo.append(drawInfo)
-//                    PDFView.document.insertPageObject(page, at: UInt(i))
-//                }
-                
-                /// 保存到临时路径
-//                let toPath: String = self.preView.document.documentURL.lastPathComponent
-//                let documentPath = NSTemporaryDirectory()
-//                let tempPath: String = "\(documentPath)/\(toPath)"
-//                if (FileManager.default.fileExists(atPath: tempPath)) {
-//                    try?FileManager.default.removeItem(atPath: tempPath)
-//                }
-//
-//                let result = PDFView.document.write(to: URL(fileURLWithPath: tempPath))
-//
-//                DispatchQueue.main.async {
-//                    let myPreView: CPDFListView = self.preView as! CPDFListView
-//                    myPreView.toolMode = .textToolMode
-//
-//                    self.preView.layoutDocumentView()
-//                }
-            }
-            
-        }
-    }
-    
-//    @objc func preViewSelectionDidChange(sender: NSNotification) {
-//        if (self.preView.isEqual(to: sender.object)) {
-////            self.preView.currentSelection
-//            print("1111111111")
-//
-////            NSUInteger eventMask = NSEventMaskLeftMouseUp | NSEventMaskLeftMouseDragged;
-////            let theEvent = [self.view.window.nextEventMatchingMask:NSEventMaskLeftMouseUp];
-////            let theEvent = self.view.window?.nextEvent(matching: .leftMouseUp.union(.rightMouseUp).union(.otherMouseUp))
-////            if (theEvent?.type == .leftMouseUp) {
-//            let myPreview: CPDFListView = self.preView as! CPDFListView
-//            if (NSIsEmptyRect(myPreview.selectionRect)) {
-//                print("end")
-//            }
-//        }
-//    }
-    
-    override func viewDidAppear() {
-        super.viewDidAppear()
-        
-//        if (self.documentURL != nil) {
-//            self.testPreView.document = PDFDocument(url: self.documentURL)
-//        }
-    }
-    
-    override func topItemClick(index: Int) {
-        let menu = NSMenu()
-        
-        let titles = ["裁剪当前页面 - 白边距", "裁剪所有页面 - 自动", "自定义裁剪区域"]
-        for title in titles {
-            let item = NSMenuItem(title: title, action: #selector(itemAction), target: self)
-            item.tag = titles.firstIndex(of: title)!
-            menu.addItem(item)
-        }
-        
-        menu.popUp(positioning: nil, at: NSPoint(x: self.topBarView.frame.midX-100, y: 0), in: self.topBarView)
-    }
-    
-    @objc private func itemAction(sender: NSMenuItem) {
-        if (sender.tag == 0) {
-            /// 裁剪当前页面 - 白边距
-            self.tipBox.isHidden = true
- 
-            return
-        }
-        
-        if (sender.tag == 1) {
-            /// 裁剪所有页面 - 自动
-            self.tipBox.isHidden = true
-            cropAllPate()
-            return
-        }
-        
-        //// 自定义裁剪区域
-        let myPreView: CPDFListView = self.preView as! CPDFListView
-        myPreView.toolMode = .selectToolMode
-        
-        self.preView.autoScales = true
-        self.preView.autoScales = false
-        var pageHeight: CGFloat = NSHeight(self.preView.currentPage().bounds(for: self.preView.displayBox))
-        if (self.preView.displaysPageBreaks) {
-            pageHeight += 8
-        }
-        
-        var scaleFactor: CGFloat = fmax(self.preView.minimumScaleFactor, NSHeight(self.preView.frame)/pageHeight)
-//        if (scaleFactor < self.preView.scaleFactor) {
-            self.preView.scaleFactor = scaleFactor
-//        }
-        
-        self.tipBox.isHidden = false
-        self.tipView.setString(string: "请框选裁剪区域")
-    }
-    
-    private func cropCurrentPage(in pageSize: NSSize) {
-        let myPreView: CPDFListView = self.preView as! CPDFListView
-        var rect = NSIntegralRect(myPreView.currentSelectionRect())
-        var page: CPDFPage?
-        if ((myPreView.currentSelectionPage()) != nil) {
-            page = myPreView.currentSelectionPage()
-        } else {
-            page = myPreView.currentPage()
-        }
-
-        if (NSIsEmptyRect(rect)) {
-            rect = getPageForegroundBox(page!)
-        }
-        
-        let tiffData = page!.PDFListViewTIFFData(for: rect)
-        
-        let index: UInt = (page?.pageIndex())!
-        
-        var newRect = NSIntersectionRect(rect, (page?.bounds(for: .mediaBox))!)
-        page?.setBounds(newRect, for: .cropBox)
-        
-        self.preView.document.removePage(at: index)
-        
-//        let newPage: CPDFPage = CPDFPage(image: NSImage(data: tiffData!))
-//        newPage.setBounds(NSMakeRect(0, 0, pageSize.width, pageSize.height), for: .cropBox)
-//        let result = self.preView.document.insertPageObject(newPage, at: index)
-        
-        let result = self.preView.document.insertPage(pageSize, at: index)
-//        var newDoc = CPDFDocument()
-        
-        /// 刷新预览视图
-        self.preView.layoutDocumentView()
-        
-        self.preView.displayBox = .cropBox
-    }
-    
-    private func cropAllPate() {
-        var size = NSZeroSize
-        for i in 0 ..< self.preView.document.pageCount {
-            let page = self.preView.document.page(at: i)
-            var rect = getPageForegroundBox(page!)
-            size.width = fmax(size.width, NSWidth(rect))
-            size.height = fmax(size.height, NSHeight(rect))
-        }
-        
-        var rectArray: Array<NSRect> = []
-        for i in 0 ..< self.preView.document.pageCount {
-            let page = self.preView.document.page(at: i)
-            var rect = getPageForegroundBox(page!)
-            var bounds: NSRect = (page?.bounds(for: .mediaBox))!
-            if (rect.minX - bounds.minX > bounds.maxX-rect.maxX) {
-                rect.origin.x = rect.maxX-size.width
-            }
-            
-            rect.origin.y = rect.maxY-size.height
-            rect.size = size
-            
-            if (NSWidth(rect) > NSWidth(bounds)) {
-                rect.size.width = NSWidth(bounds)
-            }
-            if (NSHeight(rect) > NSHeight(bounds)) {
-                rect.size.height = NSHeight(bounds)
-            }
-            
-            if (NSMinX(rect) < NSMinX(bounds)) {
-                rect.origin.x = NSMinX(bounds)
-            } else if (NSMaxX(rect) > NSMaxX(bounds)) {
-                rect.origin.x = NSMaxX(bounds) - NSWidth(rect)
-            }
-            
-            if (NSMinY(rect) < NSMinY(bounds)) {
-                rect.origin.y = NSMinY(bounds)
-            } else if (NSMaxY(rect) > NSMaxY(bounds)) {
-                rect.origin.y = NSMaxY(bounds) - NSHeight(rect)
-            }
-            
-            rectArray.append(rect)
-        }
-        
-        cropPages(to: rectArray)
-    }
-    
-    private func cropPages(to rects: Array<NSRect>) {
-        let currentPage = self.preView.currentPage()
-        let visibleRect: NSRect = self.preView.convert(self.preView.convert(self.preView.documentView().visibleRect, from: self.preView.documentView()), to: self.preView.currentPage())
-        
-        var oldRectArray: Array<NSRect> = []
-        for i in 0 ..< self.preView.document.pageCount {
-            let page = self.preView.document.page(at: i)
-            var rect = NSIntersectionRect(rects[Int(i)], (page?.bounds(for: .mediaBox))!)
-            let oldRect = page?.bounds(for: .cropBox)
-            oldRectArray.append(oldRect!)
-            
-            page?.setBounds(rect, for: .cropBox)
-        }
-        
-        /// 刷新预览视图
-        self.preView.layoutDocumentView()
-        
-        self.preView.displayBox = .cropBox
-        
-        self.preView.go(to: currentPage)
-        self.preView.go(to: visibleRect, on: currentPage)
-
-    }
-    
-    private func cropCurrentPage() {
-        let myPreView: CPDFListView = self.preView as! CPDFListView
-        var rect = NSIntegralRect(myPreView.currentSelectionRect())
-        var page: CPDFPage?
-        if ((myPreView.currentSelectionPage()) != nil) {
-            page = myPreView.currentSelectionPage()
-        } else {
-            page = myPreView.currentPage()
-        }
-
-        if (NSIsEmptyRect(rect)) {
-            rect = getPageForegroundBox(page!)
-        }
-        
-        let index: UInt = (page?.pageIndex())!
-        cropPage(at: index, in: rect)
-    }
-    
-    func cropPage(at index: UInt, in rect: NSRect) {
-        let oldRect = self.preView.document.page(at: index)?.bounds(for: .cropBox)
-        /// undo \ redo 处理
-        
-//        NSUndoManager *undoManager = [[self document] undoManager];
-//        let undoManager = UndoManager()
-//        (undoManager.prepare(withInvocationTarget: self) as! KMCropPreviewController).cropPage(at: index, in: oldRect!)
-//        undoManager.setActionName(NSLocalizedString("Crop Page", comment: "Undo action name"))
-//        [[self document] undoableActionIsDiscardable];
-        
-        var page = self.preView.document.page(at: index)
-        var newRect = NSIntersectionRect(rect, (page?.bounds(for: .mediaBox))!)
-        page?.setBounds(newRect, for: .cropBox)
-        
-        /// 刷新预览视图
-        self.preView.layoutDocumentView()
-        
-        self.preView.displayBox = .cropBox
-    }
-
-    private func getPageForegroundBox(_ page: CPDFPage) -> NSRect {
-        let marginWidth: CGFloat = 10
-        let marginHeight: CGFloat = 10
-        
-        let imageRep = newBitmapImageRepForBox(page, .mediaBox)
-        let bounds = page.bounds(for: .mediaBox)
-        var foregroundBox = imageRep.foregroundRect()
-        if (imageRep == nil) {
-            foregroundBox = bounds
-        } else if (NSIsEmptyRect(foregroundBox)) {
-            let centerPoint = NSPoint(x: bounds.midX, y: bounds.midY)
-            let origin = NSPoint(x: round(centerPoint.x), y: round(centerPoint.y))
-            foregroundBox.origin = origin
-            foregroundBox.size = NSZeroSize
-        } else {
-            let origin = NSPoint(x: foregroundBox.origin.x+bounds.origin.x, y: foregroundBox.origin.y+bounds.origin.y)
-            foregroundBox.origin = origin
-        }
-        
-        return NSIntegralRect(NSInsetRect(foregroundBox, -marginWidth, -marginHeight))
-    }
-    
-    private func newBitmapImageRepForBox(_ page: CPDFPage, _ box: CPDFDisplayBox) -> NSBitmapImageRep {
-        let bounds = page.bounds(for: box)
-        var imageRep = NSBitmapImageRep(bitmapDataPlanes: nil,
-                                        pixelsWide: Int(NSWidth(bounds)),
-                                        pixelsHigh: Int(NSHeight(bounds)),
-                                        bitsPerSample: 8,
-                                        samplesPerPixel: 4,
-                                        hasAlpha: true,
-                                        isPlanar: false,
-                                        colorSpaceName: .calibratedRGB,
-                                        bitmapFormat: NSBitmapImageRep.Format(rawValue: 0),
-                                        bytesPerRow: 0,
-                                        bitsPerPixel: 32)
-        
-        if (imageRep != nil) {
-            NSGraphicsContext.saveGraphicsState()
-            NSGraphicsContext.current = NSGraphicsContext.init(bitmapImageRep: imageRep!)
-            NSGraphicsContext.current?.imageInterpolation = .none
-            NSGraphicsContext.current?.shouldAntialias = false
-            if (page.rotation != 0) {
-                var transform = NSAffineTransform()
-                if (page.rotation == 90) {
-                    transform.translateX(by: NSWidth(bounds), yBy: 0)
-                } else if (page.rotation == 180) {
-                    transform.translateX(by: NSHeight(bounds), yBy: NSWidth(bounds))
-                } else if (page.rotation == 270) {
-                    transform.translateX(by: 0, yBy: NSHeight(bounds))
-                }
-                
-                transform.rotate(byDegrees: CGFloat(page.rotation))
-                transform.concat()
-            }
-            
-            page.draw(with: box, to: (NSGraphicsContext.current?.cgContext as! CGContext))
-//            page.draw(with: box)
-            NSGraphicsContext.current?.imageInterpolation = .default
-            NSGraphicsContext.restoreGraphicsState()
-        }
-        
-        return imageRep!
-    }
-}
-
-extension KMCropPreviewController: CPDFViewDelegate {
-    func pdfViewEditingSelectionDidChanged(_ pdfView: CPDFView!) {
-        
-    }
-}
-
-extension KMCropPreviewController: CPDFListViewDelegate {
-    func pdfListViewDidSelectionEnd(_ pdfListView: CPDFListView!) {
-        if (self.preView.isEqual(to: pdfListView)) {
-            self.tipView.setString(string: "请按 Enter 键确定裁剪区域")
-        }
-    }
-}
-
-//extension PDFPage {
-//    func getPageForegroundBox() -> NSRect {
-//        let marginWidth: CGFloat = 10
-//        let marginHeight: CGFloat = 10
-//
-//        let imageRep = newBitmapImageRepForBox(.mediaBox)
-//        let bounds = bounds(for: .mediaBox)
-//        var foregroundBox = imageRep.foregroundRect()
-//        if (imageRep == nil) {
-//            foregroundBox = bounds
-//        } else if (NSIsEmptyRect(foregroundBox)) {
-//            let centerPoint = NSPoint(x: bounds.midX, y: bounds.midY)
-//            let origin = NSPoint(x: round(centerPoint.x), y: round(centerPoint.y))
-//            foregroundBox.origin = origin
-//            foregroundBox.size = NSZeroSize
-//        } else {
-//            let origin = NSPoint(x: foregroundBox.origin.x+bounds.origin.x, y: foregroundBox.origin.y+bounds.origin.y)
-//            foregroundBox.origin = origin
-//        }
-//
-//        return NSIntegralRect(NSInsetRect(foregroundBox, -marginWidth, -marginHeight))
-//    }
-//
-//    func newBitmapImageRepForBox(_ box: PDFDisplayBox) -> NSBitmapImageRep {
-//        let bounds = bounds(for: box)
-//        let imageRep = NSBitmapImageRep(bitmapDataPlanes: nil,
-//                                        pixelsWide: Int(NSWidth(bounds)),
-//                                        pixelsHigh: Int(NSHeight(bounds)),
-//                                        bitsPerSample: 8,
-//                                        samplesPerPixel: 4,
-//                                        hasAlpha: true,
-//                                        isPlanar: false,
-//                                        colorSpaceName: .calibratedRGB,
-//                                        bitmapFormat: NSBitmapImageRep.Format(rawValue: 0),
-//                                        bytesPerRow: 0,
-//                                        bitsPerPixel: 32)
-//
-//        if (imageRep != nil) {
-//            NSGraphicsContext.saveGraphicsState()
-//            NSGraphicsContext.current = NSGraphicsContext.init(bitmapImageRep: imageRep!)
-//            NSGraphicsContext.current?.imageInterpolation = .none
-//            NSGraphicsContext.current?.shouldAntialias = false
-//            if (self.rotation != 0) {
-//                let transform = NSAffineTransform()
-//                if (self.rotation == 90) {
-//                    transform.translateX(by: NSWidth(bounds), yBy: 0)
-//                } else if (self.rotation == 180) {
-//                    transform.translateX(by: NSHeight(bounds), yBy: NSWidth(bounds))
-//                } else if (self.rotation == 270) {
-//                    transform.translateX(by: 0, yBy: NSHeight(bounds))
-//                }
-//
-//                transform.rotate(byDegrees: CGFloat(self.rotation))
-//                transform.concat()
-//            }
-//
-//            draw(with: box)
-//            NSGraphicsContext.current?.imageInterpolation = .default
-//            NSGraphicsContext.restoreGraphicsState()
-//        }
-//
-//        return imageRep!
-//    }
-//}
- 

+ 0 - 22
PDF Office/PDF Master/Class/PDFTools/Crop/Controller/KMCropPreviewController.xib

@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22505" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
-    <dependencies>
-        <deployment identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22505"/>
-        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
-    </dependencies>
-    <objects>
-        <customObject id="-2" userLabel="File's Owner" customClass="KMCropPreviewController" customModule="PDF_Reader_Pro" customModuleProvider="target">
-            <connections>
-                <outlet property="view" destination="Hz6-mo-xeY" id="0bl-1N-x8E"/>
-            </connections>
-        </customObject>
-        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
-        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
-        <customView id="Hz6-mo-xeY">
-            <rect key="frame" x="0.0" y="0.0" width="480" height="272"/>
-            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
-            <point key="canvasLocation" x="132" y="-72"/>
-        </customView>
-    </objects>
-</document>

+ 0 - 113
PDF Office/PDF Master/Class/PDFTools/Crop/KMCropSettingWindowController.swift

@@ -1,113 +0,0 @@
-//
-//  KMCropSettingWindowController.swift
-//  PDF Reader Pro
-//
-//  Created by tangchao on 2022/12/30.
-//
-
-import Cocoa
-
-typealias KMCropSettingWindowControllerItemClick = (_ index: Int) -> ()
-class KMCropSettingWindowController: NSWindowController {
-
-    @IBOutlet weak var titleLabel: NSTextField!
-    @IBOutlet weak var pageRangeBox: NSBox!
-    @IBOutlet weak var pageSizeBox: NSBox!
-    @IBOutlet weak var applyButton: NSButton!
-    @IBOutlet weak var cancelButton: NSButton!
-    
-    private var pagePageView = KMConvertPageRangeSettingItemView.createFromNib()
-    private var pageSizeView = KMCropSettingPageSizeView()
-    
-    var itemClick: KMCropSettingWindowControllerItemClick!
-    
-    var pageCount: Int = 0
-    var pageRangeIndex: Int = 0
-    var pageRangePages: Array<Int> = []
-    var pageSize: String = "None"
-    
-    override func windowDidLoad() {
-        super.windowDidLoad()
-
-        self.titleLabel.stringValue = "裁剪设置"
-        
-        let pageRangeView = self.pagePageView
-        pageRangeView?.frame = self.pageRangeBox.contentView!.bounds
-        pageRangeView?.autoresizingMask = NSView.AutoresizingMask(rawValue: 18)
-        self.pageRangeBox.contentView?.addSubview(pageRangeView!)
-        pageRangeView!.pageSizeComboBox.removeAllItems()
-        pageRangeView!.pageSizeComboBox.addItems(withObjectValues: ["当前页面","全部页面", "奇数页面", "偶数页面", "自定义页面"])
-        pageRangeView!.pageSizeComboBox.selectItem(at: 0)
-        
-        pageRangeView?.isTextDidEndCallback = true
-        
-        pageRangeView?.itemClick = { [weak self] index, _ in
-            
-            self?.pageRangeIndex = index
-        }
-        
-        pageRangeView?.textDidEndEditingCallback = {
-            [self] (textString: String) in
-
-            let array = KMPageRangeTools.findSelectPage(pageRangeString: textString, pageCount: self.pageCount)
-            if (array.count <= 0) {
-                let alert = NSAlert()
-                alert.alertStyle = .warning
-                alert.messageText = NSLocalizedString("Invalid page range or the page number is out of range. Please try again.", comment: "")
-                alert.runModal()
-                return
-            }
-
-            self.pageRangePages.removeAll()
-            for i in array {
-                self.pageRangePages.append(i)
-            }
-        }
-        
-        let pageSizeView = self.pageSizeView
-        pageSizeView.frame = self.pageSizeBox.contentView!.bounds
-        pageSizeView.autoresizingMask = NSView.AutoresizingMask(rawValue: 18)
-        self.pageSizeBox.contentView?.addSubview(pageSizeView)
-        pageSizeView.itemClick = {
-            (index: Int, value: Any) in
-            
-            self.pageSize = value as! String
-        }
-        
-        cancelButton.title = NSLocalizedString("取消", comment: "")
-        cancelButton.isBordered = false
-        cancelButton.wantsLayer = true
-        cancelButton.layer?.borderWidth = 1
-        cancelButton.layer?.borderColor = NSColor.black.cgColor
-        cancelButton.layer?.cornerRadius = 4
-        cancelButton.target = self
-        cancelButton.action = #selector(cancelButtonAction)
-        
-        applyButton.title = NSLocalizedString("应用", comment: "")
-        applyButton.isBordered = false
-        applyButton.wantsLayer = true
-        applyButton.layer?.cornerRadius = 4
-        applyButton.target = self
-        applyButton.action = #selector(applyButtonAction)
-        applyButton.layer?.backgroundColor = NSColor.black.cgColor
-        applyButton.attributedTitle = NSMutableAttributedString(string: applyButton.title, attributes: [NSAttributedString.Key.foregroundColor : NSColor.white])
-        
-    }
-    
-    @objc func cancelButtonAction() {
-        guard let callback = self.itemClick else {
-            return
-        }
-        
-        callback(1)
-    }
-    
-    @objc func applyButtonAction() {
-        guard let callback = self.itemClick else {
-            return
-        }
-        
-        callback(2)
-    }
-    
-}

+ 0 - 161
PDF Office/PDF Master/Class/PDFTools/Crop/KMCropSettingWindowController.xib

@@ -1,161 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22155" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
-    <dependencies>
-        <deployment identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22155"/>
-        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
-    </dependencies>
-    <objects>
-        <customObject id="-2" userLabel="File's Owner" customClass="KMCropSettingWindowController" customModule="PDF_Master" customModuleProvider="target">
-            <connections>
-                <outlet property="applyButton" destination="4S4-1o-RqV" id="wA8-IB-9JC"/>
-                <outlet property="cancelButton" destination="XXB-iS-n7Y" id="NBS-hq-aJj"/>
-                <outlet property="pageRangeBox" destination="S9G-Fl-99J" id="gLz-vr-JZL"/>
-                <outlet property="pageSizeBox" destination="dTT-1D-0cu" id="Xcn-gH-BiB"/>
-                <outlet property="titleLabel" destination="xlm-BU-ieV" id="ucI-2C-Raw"/>
-                <outlet property="window" destination="F0z-JX-Cv5" id="gIp-Ho-8D9"/>
-            </connections>
-        </customObject>
-        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
-        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
-        <window title="Window" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" animationBehavior="default" id="F0z-JX-Cv5">
-            <windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/>
-            <windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
-            <rect key="contentRect" x="196" y="240" width="340" height="300"/>
-            <rect key="screenRect" x="0.0" y="0.0" width="2560" height="1415"/>
-            <value key="minSize" type="size" width="340" height="300"/>
-            <value key="maxSize" type="size" width="340" height="300"/>
-            <value key="minFullScreenContentSize" type="size" width="340" height="300"/>
-            <value key="maxFullScreenContentSize" type="size" width="340" height="300"/>
-            <view key="contentView" id="se5-gp-TjO">
-                <rect key="frame" x="0.0" y="0.0" width="340" height="300"/>
-                <autoresizingMask key="autoresizingMask"/>
-                <subviews>
-                    <box boxType="custom" borderWidth="0.0" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="uHB-hJ-FVd">
-                        <rect key="frame" x="0.0" y="256" width="340" height="44"/>
-                        <view key="contentView" id="PVS-CP-Yiw">
-                            <rect key="frame" x="0.0" y="0.0" width="340" height="44"/>
-                            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                            <subviews>
-                                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="xlm-BU-ieV">
-                                    <rect key="frame" x="18" y="13" width="44" height="19"/>
-                                    <textFieldCell key="cell" lineBreakMode="clipping" title="Label" id="ofd-Jo-wTH">
-                                        <font key="font" metaFont="system" size="16"/>
-                                        <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
-                                        <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
-                                    </textFieldCell>
-                                </textField>
-                            </subviews>
-                            <constraints>
-                                <constraint firstItem="xlm-BU-ieV" firstAttribute="leading" secondItem="PVS-CP-Yiw" secondAttribute="leading" constant="20" id="3de-Sa-hy2"/>
-                                <constraint firstItem="xlm-BU-ieV" firstAttribute="top" secondItem="PVS-CP-Yiw" secondAttribute="top" constant="12" id="n9r-13-CVH"/>
-                            </constraints>
-                        </view>
-                        <constraints>
-                            <constraint firstAttribute="height" constant="44" id="Z30-8i-q8x"/>
-                        </constraints>
-                    </box>
-                    <box boxType="custom" borderWidth="0.0" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="Kpc-6y-Eh9">
-                        <rect key="frame" x="0.0" y="60" width="340" height="196"/>
-                        <view key="contentView" id="XGW-Wv-mGn">
-                            <rect key="frame" x="0.0" y="0.0" width="340" height="196"/>
-                            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                            <subviews>
-                                <box boxType="custom" borderWidth="0.0" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="S9G-Fl-99J">
-                                    <rect key="frame" x="0.0" y="106" width="340" height="70"/>
-                                    <view key="contentView" id="IbC-cl-6rm">
-                                        <rect key="frame" x="0.0" y="0.0" width="340" height="70"/>
-                                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                                    </view>
-                                    <constraints>
-                                        <constraint firstAttribute="height" constant="70" id="9fx-SG-jBA"/>
-                                    </constraints>
-                                </box>
-                                <box boxType="custom" borderWidth="0.0" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="dTT-1D-0cu">
-                                    <rect key="frame" x="16" y="24" width="308" height="70"/>
-                                    <view key="contentView" id="oJS-bR-VrK">
-                                        <rect key="frame" x="0.0" y="0.0" width="308" height="70"/>
-                                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                                    </view>
-                                    <constraints>
-                                        <constraint firstAttribute="height" constant="70" id="Qcs-Q4-KuX"/>
-                                    </constraints>
-                                </box>
-                            </subviews>
-                            <constraints>
-                                <constraint firstItem="S9G-Fl-99J" firstAttribute="top" secondItem="XGW-Wv-mGn" secondAttribute="top" constant="20" id="3ws-YI-oFB"/>
-                                <constraint firstItem="S9G-Fl-99J" firstAttribute="leading" secondItem="XGW-Wv-mGn" secondAttribute="leading" id="Rks-gZ-CEA"/>
-                                <constraint firstItem="dTT-1D-0cu" firstAttribute="top" secondItem="S9G-Fl-99J" secondAttribute="bottom" constant="12" id="S1b-5V-LXQ"/>
-                                <constraint firstAttribute="trailing" secondItem="dTT-1D-0cu" secondAttribute="trailing" constant="16" id="VqC-Bm-RlP"/>
-                                <constraint firstAttribute="trailing" secondItem="S9G-Fl-99J" secondAttribute="trailing" id="ZfF-xr-lk7"/>
-                                <constraint firstItem="dTT-1D-0cu" firstAttribute="leading" secondItem="XGW-Wv-mGn" secondAttribute="leading" constant="16" id="d8Y-Dm-CJH"/>
-                            </constraints>
-                        </view>
-                    </box>
-                    <box boxType="custom" borderWidth="0.0" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="XU2-wI-X7Q">
-                        <rect key="frame" x="0.0" y="0.0" width="340" height="60"/>
-                        <view key="contentView" id="qcz-Dz-V8O">
-                            <rect key="frame" x="0.0" y="0.0" width="340" height="60"/>
-                            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                            <subviews>
-                                <box verticalHuggingPriority="750" boxType="separator" translatesAutoresizingMaskIntoConstraints="NO" id="2L8-A8-1Up">
-                                    <rect key="frame" x="0.0" y="57" width="340" height="5"/>
-                                </box>
-                                <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="4S4-1o-RqV">
-                                    <rect key="frame" x="224" y="14" width="100" height="32"/>
-                                    <buttonCell key="cell" type="bevel" title="Button" bezelStyle="rounded" alignment="center" imageScaling="proportionallyDown" inset="2" id="XNo-Og-jMa">
-                                        <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
-                                        <font key="font" metaFont="system"/>
-                                    </buttonCell>
-                                    <constraints>
-                                        <constraint firstAttribute="width" constant="100" id="6fn-9K-TYQ"/>
-                                        <constraint firstAttribute="height" constant="32" id="xnD-3s-RQ0"/>
-                                    </constraints>
-                                </button>
-                                <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="XXB-iS-n7Y">
-                                    <rect key="frame" x="112" y="14" width="100" height="32"/>
-                                    <buttonCell key="cell" type="bevel" title="Button" bezelStyle="rounded" alignment="center" imageScaling="proportionallyDown" inset="2" id="3ZJ-Dy-yKV">
-                                        <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
-                                        <font key="font" metaFont="system"/>
-                                    </buttonCell>
-                                    <constraints>
-                                        <constraint firstAttribute="height" constant="32" id="eg6-3u-8Oe"/>
-                                        <constraint firstAttribute="width" constant="100" id="thm-Sz-L99"/>
-                                    </constraints>
-                                </button>
-                            </subviews>
-                            <constraints>
-                                <constraint firstAttribute="trailing" secondItem="2L8-A8-1Up" secondAttribute="trailing" id="8DE-bs-0j0"/>
-                                <constraint firstItem="4S4-1o-RqV" firstAttribute="centerY" secondItem="qcz-Dz-V8O" secondAttribute="centerY" id="IuH-ai-vfH"/>
-                                <constraint firstItem="2L8-A8-1Up" firstAttribute="top" secondItem="qcz-Dz-V8O" secondAttribute="top" id="LrM-Mn-Toi"/>
-                                <constraint firstItem="2L8-A8-1Up" firstAttribute="leading" secondItem="qcz-Dz-V8O" secondAttribute="leading" id="MP4-4F-qpm"/>
-                                <constraint firstItem="XXB-iS-n7Y" firstAttribute="centerY" secondItem="qcz-Dz-V8O" secondAttribute="centerY" id="mIg-JJ-lLA"/>
-                                <constraint firstAttribute="trailing" secondItem="4S4-1o-RqV" secondAttribute="trailing" constant="16" id="s9T-Tb-hjR"/>
-                                <constraint firstItem="4S4-1o-RqV" firstAttribute="leading" secondItem="XXB-iS-n7Y" secondAttribute="trailing" constant="12" id="xF5-aI-RMX"/>
-                            </constraints>
-                        </view>
-                        <constraints>
-                            <constraint firstAttribute="height" constant="60" id="fzc-XS-kuC"/>
-                        </constraints>
-                    </box>
-                </subviews>
-                <constraints>
-                    <constraint firstItem="uHB-hJ-FVd" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" id="1nQ-Fh-8uj"/>
-                    <constraint firstAttribute="trailing" secondItem="XU2-wI-X7Q" secondAttribute="trailing" id="3NZ-S0-QvM"/>
-                    <constraint firstAttribute="bottom" secondItem="XU2-wI-X7Q" secondAttribute="bottom" id="KKB-Q4-EI0"/>
-                    <constraint firstItem="XU2-wI-X7Q" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" id="PTg-MF-Wfr"/>
-                    <constraint firstItem="uHB-hJ-FVd" firstAttribute="top" secondItem="se5-gp-TjO" secondAttribute="top" id="Xh1-8r-7sg"/>
-                    <constraint firstItem="Kpc-6y-Eh9" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" id="Xwy-5I-n2e"/>
-                    <constraint firstItem="Kpc-6y-Eh9" firstAttribute="top" secondItem="uHB-hJ-FVd" secondAttribute="bottom" id="cQl-6c-q6R"/>
-                    <constraint firstAttribute="trailing" secondItem="uHB-hJ-FVd" secondAttribute="trailing" id="gHR-hf-aH4"/>
-                    <constraint firstAttribute="trailing" secondItem="Kpc-6y-Eh9" secondAttribute="trailing" id="jSY-MH-l08"/>
-                    <constraint firstItem="XU2-wI-X7Q" firstAttribute="top" secondItem="Kpc-6y-Eh9" secondAttribute="bottom" id="xfT-k0-Kbb"/>
-                </constraints>
-            </view>
-            <connections>
-                <outlet property="delegate" destination="-2" id="0bl-1N-AYu"/>
-            </connections>
-            <point key="canvasLocation" x="-10" y="144"/>
-        </window>
-    </objects>
-</document>

Файловите разлики са ограничени, защото са твърде много
+ 0 - 1106
PDF Office/PDF Master/Class/PDFTools/Crop/KMPDFCropWindowController.swift


+ 0 - 818
PDF Office/PDF Master/Class/PDFTools/Crop/KMPDFCropWindowController.xib

@@ -1,818 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22155" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
-    <dependencies>
-        <deployment identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22155"/>
-        <plugIn identifier="com.apple.pdfkit.ibplugin" version="22155"/>
-        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
-    </dependencies>
-    <objects>
-        <customObject id="-2" userLabel="File's Owner" customClass="KMPDFCropWindowController" customModule="PDF_Master" customModuleProvider="target">
-            <connections>
-                <outlet property="applyLabel" destination="fsc-HQ-jlC" id="5eF-bA-Wva"/>
-                <outlet property="applyPopUpButton" destination="g6f-5M-brm" id="stz-Ar-qxL"/>
-                <outlet property="bottomDistanceText" destination="KAo-LQ-YE5" id="2X3-p5-60y"/>
-                <outlet property="bottomLabel" destination="VfD-a0-qeT" id="6mV-kg-XTx"/>
-                <outlet property="bottomStepper" destination="pOe-AK-MAI" id="G4R-kh-3Pc"/>
-                <outlet property="cancelButton" destination="cdg-Zn-VLp" id="CRh-q3-gIB"/>
-                <outlet property="centerButton" destination="fg9-32-HZP" id="nHf-hb-WXy"/>
-                <outlet property="cropLabel" destination="eWt-MA-l9o" id="VaD-fq-jNS"/>
-                <outlet property="currentPageIndexTextF" destination="YjI-Va-fa7" id="vAh-vV-ZML"/>
-                <outlet property="customButton" destination="CRu-dV-3vm" id="GhU-L0-eIa"/>
-                <outlet property="fixedSizeButton" destination="dHM-AO-rF7" id="pqT-0J-tf6"/>
-                <outlet property="heightLabel" destination="AoW-07-9El" id="QQX-lB-OZW"/>
-                <outlet property="heightText" destination="gGH-DJ-pie" id="M6f-V7-W05"/>
-                <outlet property="leftDistanceText" destination="Sr3-sJ-ORG" id="abE-od-Zef"/>
-                <outlet property="leftLabel" destination="UhA-JH-vB2" id="ZOs-uy-DMr"/>
-                <outlet property="leftStepper" destination="dBR-dC-b73" id="pKd-Fi-t1A"/>
-                <outlet property="marginBox" destination="8Xu-vw-ZUb" id="uuB-lC-Ixd"/>
-                <outlet property="marginLabel" destination="2x8-XK-ICO" id="6Rw-o3-0OU"/>
-                <outlet property="marginsButton" destination="DrW-yP-2Z0" id="uSb-KG-hH5"/>
-                <outlet property="nextPageButton" destination="28h-kr-kE6" id="FKS-GE-ybk"/>
-                <outlet property="pageRangeComboBox" destination="Ynj-Y3-ZFe" id="K6x-qO-c0t"/>
-                <outlet property="pageRangeLabel" destination="i2R-g4-Mfv" id="ao7-O9-TgA"/>
-                <outlet property="pageSizeBox" destination="Xul-oG-2l2" id="IBk-AM-BV3"/>
-                <outlet property="pageSizeLabel" destination="z3z-tZ-TKL" id="qBj-33-U0y"/>
-                <outlet property="pageSizePopUpButton" destination="EdY-87-wsh" id="jHV-uN-vaJ"/>
-                <outlet property="pdfView" destination="6S3-N2-DlE" id="Uhv-jY-ZXk"/>
-                <outlet property="previewPageButton" destination="yhQ-R4-wac" id="17q-I6-8fc"/>
-                <outlet property="printButton" destination="TXN-MH-f2b" id="GJN-u3-uEU"/>
-                <outlet property="proportButton" destination="1q3-OF-DR8" id="8UJ-RK-acM"/>
-                <outlet property="revertButton" destination="Awz-ZL-GW8" id="zCB-Hc-7XD"/>
-                <outlet property="rightDistanceText" destination="bf7-ec-UrO" id="TLK-8e-8Ls"/>
-                <outlet property="rightLabel" destination="sej-ZU-2AI" id="cSY-VK-2ae"/>
-                <outlet property="rightStepper" destination="AgH-Jp-OdB" id="kQq-X7-wVl"/>
-                <outlet property="saveButton" destination="XMR-VG-lFR" id="ywB-Hw-2Rm"/>
-                <outlet property="topDistanceText" destination="wNO-q7-yax" id="3gz-Sd-XDY"/>
-                <outlet property="topLabel" destination="ZQw-Cw-7NC" id="8dY-p5-9ho"/>
-                <outlet property="topStepper" destination="yBy-iX-BmZ" id="Rlc-Zz-Xnp"/>
-                <outlet property="totalPageCountLabel" destination="Jsy-8K-KJR" id="pIH-DZ-UnE"/>
-                <outlet property="unitLabel" destination="pjr-0K-HcJ" id="cjD-D8-aql"/>
-                <outlet property="unitPopUpButton" destination="b2t-Vm-9TN" id="bHY-K1-PmS"/>
-                <outlet property="widthLabel" destination="Fqc-0d-9Eq" id="95Y-yg-Dgn"/>
-                <outlet property="widthText" destination="nLW-Cw-sjg" id="dL4-ld-nj2"/>
-                <outlet property="window" destination="F0z-JX-Cv5" id="gIp-Ho-8D9"/>
-                <outlet property="xLabel" destination="wkn-bH-QLY" id="mjc-cY-aCt"/>
-                <outlet property="xText" destination="Ioi-Bj-Odn" id="fbl-am-oyc"/>
-                <outlet property="yLabel" destination="hv5-EF-rgN" id="ncU-92-Nsq"/>
-                <outlet property="yText" destination="urW-5G-Ad1" id="OQv-Ny-L5F"/>
-                <outlet property="zeroButton" destination="qI4-X3-ecf" id="PaD-dN-Dkb"/>
-            </connections>
-        </customObject>
-        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
-        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
-        <window title="Crop" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" visibleAtLaunch="NO" animationBehavior="default" id="F0z-JX-Cv5">
-            <windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/>
-            <windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
-            <rect key="contentRect" x="876" y="616" width="854" height="463"/>
-            <rect key="screenRect" x="0.0" y="0.0" width="2560" height="1415"/>
-            <value key="minSize" type="size" width="854" height="463"/>
-            <value key="maxSize" type="size" width="854" height="463"/>
-            <view key="contentView" misplaced="YES" id="se5-gp-TjO">
-                <rect key="frame" x="0.0" y="0.0" width="854" height="463"/>
-                <autoresizingMask key="autoresizingMask"/>
-                <subviews>
-                    <box boxType="custom" borderWidth="0.0" cornerRadius="4" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="kXK-8s-GTS">
-                        <rect key="frame" x="40" y="90" width="240" height="386"/>
-                        <view key="contentView" id="0rf-LK-GWZ">
-                            <rect key="frame" x="0.0" y="0.0" width="240" height="386"/>
-                            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                            <subviews>
-                                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="eWt-MA-l9o">
-                                    <rect key="frame" x="-2" y="42" width="244" height="14"/>
-                                    <textFieldCell key="cell" alignment="center" title="裁剪后的页面大小:9.03 x 17.47 厘米" id="56B-hA-ufW">
-                                        <font key="font" metaFont="smallSystem"/>
-                                        <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
-                                        <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
-                                    </textFieldCell>
-                                </textField>
-                                <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="yhQ-R4-wac">
-                                    <rect key="frame" x="45" y="8" width="26" height="26"/>
-                                    <buttonCell key="cell" type="round" title="Button" bezelStyle="circular" image="NSGoLeftTemplate" imagePosition="only" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="OdT-g7-jzV">
-                                        <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
-                                        <font key="font" metaFont="system"/>
-                                    </buttonCell>
-                                    <connections>
-                                        <action selector="goPrevious:" target="-2" id="5W2-bq-gZl"/>
-                                    </connections>
-                                </button>
-                                <customView translatesAutoresizingMaskIntoConstraints="NO" id="Q9M-rC-zrL">
-                                    <rect key="frame" x="90" y="10" width="61" height="22"/>
-                                    <subviews>
-                                        <textField focusRingType="none" verticalHuggingPriority="750" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="YjI-Va-fa7">
-                                            <rect key="frame" x="0.0" y="0.0" width="40" height="22"/>
-                                            <constraints>
-                                                <constraint firstAttribute="width" constant="40" id="hLg-2X-nEZ"/>
-                                                <constraint firstAttribute="height" constant="22" id="vT5-VK-GW4"/>
-                                            </constraints>
-                                            <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" alignment="center" drawsBackground="YES" id="mO4-bF-S9r">
-                                                <numberFormatter key="formatter" formatterBehavior="default10_4" usesGroupingSeparator="NO" groupingSize="0" minimumIntegerDigits="0" maximumIntegerDigits="42" id="fM2-Js-lTM">
-                                                    <real key="minimum" value="1"/>
-                                                </numberFormatter>
-                                                <font key="font" metaFont="system"/>
-                                                <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
-                                                <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
-                                            </textFieldCell>
-                                            <connections>
-                                                <outlet property="delegate" destination="-2" id="ELL-nn-bI5"/>
-                                            </connections>
-                                        </textField>
-                                        <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Jsy-8K-KJR">
-                                            <rect key="frame" x="43" y="3" width="20" height="16"/>
-                                            <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="/ 0" id="0O7-1n-hbF">
-                                                <font key="font" metaFont="system"/>
-                                                <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
-                                                <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
-                                            </textFieldCell>
-                                        </textField>
-                                    </subviews>
-                                    <constraints>
-                                        <constraint firstItem="Jsy-8K-KJR" firstAttribute="leading" secondItem="YjI-Va-fa7" secondAttribute="trailing" constant="5" id="DUd-02-E1J"/>
-                                        <constraint firstItem="Jsy-8K-KJR" firstAttribute="centerY" secondItem="YjI-Va-fa7" secondAttribute="centerY" id="SKm-AJ-tBS"/>
-                                        <constraint firstItem="YjI-Va-fa7" firstAttribute="leading" secondItem="Q9M-rC-zrL" secondAttribute="leading" id="SeG-ye-8Uo"/>
-                                        <constraint firstItem="YjI-Va-fa7" firstAttribute="top" secondItem="Q9M-rC-zrL" secondAttribute="top" id="eM9-dN-1Hx"/>
-                                        <constraint firstAttribute="bottom" secondItem="YjI-Va-fa7" secondAttribute="bottom" id="f48-oh-lJy"/>
-                                        <constraint firstAttribute="trailing" secondItem="Jsy-8K-KJR" secondAttribute="trailing" id="fEC-kt-g23"/>
-                                    </constraints>
-                                </customView>
-                                <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="28h-kr-kE6">
-                                    <rect key="frame" x="170" y="8" width="26" height="26"/>
-                                    <buttonCell key="cell" type="round" bezelStyle="circular" image="NSGoRightTemplate" imagePosition="only" alignment="center" borderStyle="border" inset="2" id="hg4-qp-aUo">
-                                        <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
-                                        <font key="font" metaFont="system"/>
-                                    </buttonCell>
-                                    <connections>
-                                        <action selector="goNext:" target="-2" id="qAT-MT-8tu"/>
-                                    </connections>
-                                </button>
-                                <pdfView autoresizesSubviews="NO" wantsLayer="YES" translatesAutoresizingMaskIntoConstraints="NO" id="6S3-N2-DlE" customClass="KMCropPDFView" customModule="PDF_Master" customModuleProvider="target">
-                                    <rect key="frame" x="0.0" y="71" width="240" height="310"/>
-                                    <constraints>
-                                        <constraint firstAttribute="width" constant="240" id="LoK-1N-BRZ"/>
-                                        <constraint firstAttribute="height" constant="310" id="Q4Z-Ka-epO"/>
-                                    </constraints>
-                                </pdfView>
-                            </subviews>
-                            <constraints>
-                                <constraint firstItem="6S3-N2-DlE" firstAttribute="top" secondItem="0rf-LK-GWZ" secondAttribute="top" constant="5" id="EFF-0B-RdK"/>
-                                <constraint firstAttribute="trailing" secondItem="6S3-N2-DlE" secondAttribute="trailing" id="FKs-LB-3Hf"/>
-                                <constraint firstItem="28h-kr-kE6" firstAttribute="leading" secondItem="Q9M-rC-zrL" secondAttribute="trailing" constant="22" id="GNS-Qh-gfZ"/>
-                                <constraint firstItem="Q9M-rC-zrL" firstAttribute="centerX" secondItem="0rf-LK-GWZ" secondAttribute="centerX" id="MWu-A0-6ry"/>
-                                <constraint firstItem="Q9M-rC-zrL" firstAttribute="leading" secondItem="yhQ-R4-wac" secondAttribute="trailing" constant="22" id="ORi-8V-Uc9"/>
-                                <constraint firstItem="Q9M-rC-zrL" firstAttribute="centerY" secondItem="yhQ-R4-wac" secondAttribute="centerY" id="Olg-Mn-ZLH"/>
-                                <constraint firstItem="Q9M-rC-zrL" firstAttribute="top" secondItem="eWt-MA-l9o" secondAttribute="bottom" constant="10" id="Sbv-Gy-JsO"/>
-                                <constraint firstItem="eWt-MA-l9o" firstAttribute="top" secondItem="6S3-N2-DlE" secondAttribute="bottom" constant="15" id="VRW-74-f6e"/>
-                                <constraint firstAttribute="bottom" secondItem="Q9M-rC-zrL" secondAttribute="bottom" constant="10" id="kcb-Ct-sRg"/>
-                                <constraint firstItem="28h-kr-kE6" firstAttribute="centerY" secondItem="Q9M-rC-zrL" secondAttribute="centerY" id="pgx-kF-k2j"/>
-                                <constraint firstItem="eWt-MA-l9o" firstAttribute="leading" secondItem="0rf-LK-GWZ" secondAttribute="leading" id="qAA-0t-00v"/>
-                                <constraint firstItem="6S3-N2-DlE" firstAttribute="leading" secondItem="0rf-LK-GWZ" secondAttribute="leading" id="ruy-k9-EvB"/>
-                                <constraint firstAttribute="trailing" secondItem="eWt-MA-l9o" secondAttribute="trailing" id="uwP-EG-kex"/>
-                            </constraints>
-                        </view>
-                        <constraints>
-                            <constraint firstAttribute="width" constant="240" id="ueJ-ht-S3Y"/>
-                        </constraints>
-                        <color key="fillColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="calibratedRGB"/>
-                    </box>
-                    <box boxType="custom" borderWidth="0.0" cornerRadius="4" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="b1A-Hw-Fy0">
-                        <rect key="frame" x="320" y="75" width="492" height="399"/>
-                        <view key="contentView" id="UOf-xL-wZf">
-                            <rect key="frame" x="0.0" y="0.0" width="492" height="399"/>
-                            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                            <subviews>
-                                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="pjr-0K-HcJ">
-                                    <rect key="frame" x="-2" y="381" width="33" height="16"/>
-                                    <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Unit:" id="bpg-sw-EDe">
-                                        <font key="font" metaFont="system"/>
-                                        <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
-                                        <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
-                                    </textFieldCell>
-                                </textField>
-                                <popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="b2t-Vm-9TN">
-                                    <rect key="frame" x="31" y="375" width="203" height="25"/>
-                                    <popUpButtonCell key="cell" type="push" title="Item 1" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="GVT-ot-WaZ" id="lfV-Vk-Rpw">
-                                        <behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
-                                        <font key="font" metaFont="menu"/>
-                                        <menu key="menu" id="rgm-Y0-ju4">
-                                            <items>
-                                                <menuItem title="Item 1" state="on" id="GVT-ot-WaZ"/>
-                                                <menuItem title="Item 2" id="jYU-P4-eDC"/>
-                                                <menuItem title="Item 3" id="6CB-gZ-K0Y"/>
-                                            </items>
-                                        </menu>
-                                    </popUpButtonCell>
-                                    <constraints>
-                                        <constraint firstAttribute="width" constant="196" id="tpV-PN-8ts"/>
-                                    </constraints>
-                                    <connections>
-                                        <action selector="buttonClicked_Unit:" target="-2" id="hR7-Co-hFQ"/>
-                                    </connections>
-                                </popUpButton>
-                                <box title="Box" titlePosition="noTitle" translatesAutoresizingMaskIntoConstraints="NO" id="8Xu-vw-ZUb">
-                                    <rect key="frame" x="-3" y="182" width="498" height="160"/>
-                                    <view key="contentView" id="qdU-Rn-M1d">
-                                        <rect key="frame" x="4" y="5" width="490" height="152"/>
-                                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                                        <subviews>
-                                            <popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="g6f-5M-brm">
-                                                <rect key="frame" x="73" y="123" width="118" height="25"/>
-                                                <popUpButtonCell key="cell" type="push" title="Item 1" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="1Lb-qZ-17K" id="WP1-qg-b8h">
-                                                    <behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
-                                                    <font key="font" metaFont="menu"/>
-                                                    <menu key="menu" id="NNj-Bj-Bch">
-                                                        <items>
-                                                            <menuItem title="Item 1" state="on" id="1Lb-qZ-17K"/>
-                                                            <menuItem title="Item 2" id="yp0-Qq-WGV"/>
-                                                            <menuItem title="Item 3" id="c6u-ik-G6v"/>
-                                                        </items>
-                                                    </menu>
-                                                </popUpButtonCell>
-                                                <constraints>
-                                                    <constraint firstAttribute="width" constant="111" id="hfU-TK-0Qo"/>
-                                                </constraints>
-                                                <connections>
-                                                    <action selector="buttonClicked_AppleType:" target="-2" id="AXZ-vy-aYS"/>
-                                                </connections>
-                                            </popUpButton>
-                                            <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="fsc-HQ-jlC">
-                                                <rect key="frame" x="14" y="129" width="59" height="16"/>
-                                                <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Apply to:" id="ldZ-ON-MKO">
-                                                    <font key="font" metaFont="system"/>
-                                                    <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
-                                                    <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
-                                                </textFieldCell>
-                                            </textField>
-                                            <textField focusRingType="none" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="wNO-q7-yax">
-                                                <rect key="frame" x="45" y="97" width="88" height="21"/>
-                                                <constraints>
-                                                    <constraint firstAttribute="width" constant="88" id="PmF-UZ-sfd"/>
-                                                </constraints>
-                                                <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" title="30" drawsBackground="YES" id="ANw-Tt-hLS">
-                                                    <font key="font" metaFont="system"/>
-                                                    <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
-                                                    <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
-                                                </textFieldCell>
-                                                <connections>
-                                                    <outlet property="delegate" destination="-2" id="2qk-Jy-Bez"/>
-                                                </connections>
-                                            </textField>
-                                            <stepper horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="yBy-iX-BmZ">
-                                                <rect key="frame" x="133" y="93" width="19" height="28"/>
-                                                <constraints>
-                                                    <constraint firstAttribute="width" constant="13" id="XnB-Jx-x2b"/>
-                                                </constraints>
-                                                <stepperCell key="cell" continuous="YES" alignment="left" increment="0.10000000000000001" maxValue="10000" doubleValue="1" id="hko-cS-APa"/>
-                                                <connections>
-                                                    <action selector="stepperItemClick_Distance:" target="-2" id="rrF-YH-tPV"/>
-                                                </connections>
-                                            </stepper>
-                                            <textField focusRingType="none" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="KAo-LQ-YE5">
-                                                <rect key="frame" x="219" y="97" width="88" height="21"/>
-                                                <constraints>
-                                                    <constraint firstAttribute="width" constant="88" id="Zf3-cD-Vhk"/>
-                                                </constraints>
-                                                <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" title="30" drawsBackground="YES" id="WVr-Cz-Ib2">
-                                                    <font key="font" metaFont="system"/>
-                                                    <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
-                                                    <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
-                                                </textFieldCell>
-                                                <connections>
-                                                    <outlet property="delegate" destination="-2" id="Ow3-5E-cYM"/>
-                                                </connections>
-                                            </textField>
-                                            <stepper horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="pOe-AK-MAI">
-                                                <rect key="frame" x="307" y="93" width="19" height="28"/>
-                                                <constraints>
-                                                    <constraint firstAttribute="width" constant="13" id="O3u-bw-bV8"/>
-                                                </constraints>
-                                                <stepperCell key="cell" continuous="YES" alignment="left" increment="0.10000000000000001" maxValue="10000" doubleValue="1" id="k0V-0x-bxA"/>
-                                                <connections>
-                                                    <action selector="stepperItemClick_Distance:" target="-2" id="09Y-4x-4P5"/>
-                                                </connections>
-                                            </stepper>
-                                            <textField focusRingType="none" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Sr3-sJ-ORG">
-                                                <rect key="frame" x="45" y="66" width="88" height="21"/>
-                                                <constraints>
-                                                    <constraint firstAttribute="width" constant="88" id="XP2-as-NZr"/>
-                                                </constraints>
-                                                <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" title="30" drawsBackground="YES" id="aBr-YV-JdV">
-                                                    <font key="font" metaFont="system"/>
-                                                    <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
-                                                    <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
-                                                </textFieldCell>
-                                                <connections>
-                                                    <outlet property="delegate" destination="-2" id="zKP-F0-1Zr"/>
-                                                </connections>
-                                            </textField>
-                                            <stepper horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="dBR-dC-b73">
-                                                <rect key="frame" x="133" y="63" width="19" height="28"/>
-                                                <constraints>
-                                                    <constraint firstAttribute="width" constant="13" id="AIl-5h-H54"/>
-                                                </constraints>
-                                                <stepperCell key="cell" continuous="YES" alignment="left" increment="0.10000000000000001" maxValue="10000" doubleValue="1" id="8wf-hS-65Y"/>
-                                                <connections>
-                                                    <action selector="stepperItemClick_Distance:" target="-2" id="mgU-Wl-xGe"/>
-                                                </connections>
-                                            </stepper>
-                                            <textField focusRingType="none" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="bf7-ec-UrO">
-                                                <rect key="frame" x="219" y="66" width="88" height="21"/>
-                                                <constraints>
-                                                    <constraint firstAttribute="width" constant="88" id="sQo-fe-cAB"/>
-                                                </constraints>
-                                                <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" title="30" drawsBackground="YES" id="T0m-xI-40T">
-                                                    <font key="font" metaFont="system"/>
-                                                    <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
-                                                    <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
-                                                </textFieldCell>
-                                                <connections>
-                                                    <outlet property="delegate" destination="-2" id="AHx-dZ-dB6"/>
-                                                </connections>
-                                            </textField>
-                                            <stepper horizontalHuggingPriority="750" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="AgH-Jp-OdB">
-                                                <rect key="frame" x="307" y="63" width="19" height="28"/>
-                                                <constraints>
-                                                    <constraint firstAttribute="width" constant="13" id="7wZ-Sa-H5U"/>
-                                                </constraints>
-                                                <stepperCell key="cell" continuous="YES" alignment="left" increment="0.10000000000000001" maxValue="10000" doubleValue="1" id="kQk-np-RIG"/>
-                                                <connections>
-                                                    <action selector="stepperItemClick_Distance:" target="-2" id="02H-0p-ErG"/>
-                                                </connections>
-                                            </stepper>
-                                            <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1q3-OF-DR8">
-                                                <rect key="frame" x="14" y="39" width="134" height="18"/>
-                                                <buttonCell key="cell" type="check" title="Constrain Proport" bezelStyle="regularSquare" imagePosition="left" inset="2" id="Afy-8Z-8b1">
-                                                    <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
-                                                    <font key="font" metaFont="system"/>
-                                                </buttonCell>
-                                                <connections>
-                                                    <action selector="buttonItemClick_Proport:" target="-2" id="HAp-8e-DCz"/>
-                                                </connections>
-                                            </button>
-                                            <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="DrW-yP-2Z0">
-                                                <rect key="frame" x="168" y="39" width="165" height="18"/>
-                                                <buttonCell key="cell" type="check" title="Remove White Margins" bezelStyle="regularSquare" imagePosition="left" inset="2" id="Ir4-jP-37y">
-                                                    <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
-                                                    <font key="font" metaFont="system"/>
-                                                </buttonCell>
-                                                <connections>
-                                                    <action selector="buttonClicked_Margin:" target="-2" id="ZD3-97-WQb"/>
-                                                </connections>
-                                            </button>
-                                            <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="qI4-X3-ecf">
-                                                <rect key="frame" x="9" y="3" width="104" height="32"/>
-                                                <buttonCell key="cell" type="push" title="Set To Zero" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="Rvd-ES-Ei8">
-                                                    <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
-                                                    <font key="font" metaFont="system"/>
-                                                    <string key="keyEquivalent" base64-UTF8="YES">
-Gw
-</string>
-                                                </buttonCell>
-                                                <connections>
-                                                    <action selector="buttonItemClick_Zero:" target="-2" id="4uK-ch-gek"/>
-                                                </connections>
-                                            </button>
-                                            <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Awz-ZL-GW8">
-                                                <rect key="frame" x="119" y="3" width="152" height="32"/>
-                                                <buttonCell key="cell" type="push" title="Revert To Selection" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="IdP-4m-cR0">
-                                                    <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
-                                                    <font key="font" metaFont="system"/>
-                                                    <string key="keyEquivalent" base64-UTF8="YES">
-Gw
-</string>
-                                                </buttonCell>
-                                                <connections>
-                                                    <action selector="buttonItemClick_Revert:" target="-2" id="801-zL-Z6o"/>
-                                                </connections>
-                                            </button>
-                                            <customView translatesAutoresizingMaskIntoConstraints="NO" id="tfg-yt-TOr">
-                                                <rect key="frame" x="16" y="69" width="24" height="46"/>
-                                                <subviews>
-                                                    <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="ZQw-Cw-7NC">
-                                                        <rect key="frame" x="-2" y="30" width="28" height="16"/>
-                                                        <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Top" id="n3q-Z7-4LY">
-                                                            <font key="font" metaFont="system"/>
-                                                            <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
-                                                            <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
-                                                        </textFieldCell>
-                                                    </textField>
-                                                    <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="UhA-JH-vB2">
-                                                        <rect key="frame" x="-2" y="0.0" width="28" height="16"/>
-                                                        <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Left" id="Ksz-MO-x83">
-                                                            <font key="font" metaFont="system"/>
-                                                            <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
-                                                            <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
-                                                        </textFieldCell>
-                                                    </textField>
-                                                </subviews>
-                                                <constraints>
-                                                    <constraint firstItem="ZQw-Cw-7NC" firstAttribute="top" secondItem="tfg-yt-TOr" secondAttribute="top" id="7If-c8-3Sj"/>
-                                                    <constraint firstItem="ZQw-Cw-7NC" firstAttribute="leading" secondItem="tfg-yt-TOr" secondAttribute="leading" id="Dmi-Hd-J8r"/>
-                                                    <constraint firstAttribute="trailing" secondItem="ZQw-Cw-7NC" secondAttribute="trailing" id="eSV-AR-eEH"/>
-                                                    <constraint firstAttribute="bottom" secondItem="UhA-JH-vB2" secondAttribute="bottom" id="eld-2q-i2m"/>
-                                                    <constraint firstItem="UhA-JH-vB2" firstAttribute="top" secondItem="ZQw-Cw-7NC" secondAttribute="bottom" constant="14" id="hME-rY-eGL"/>
-                                                    <constraint firstItem="UhA-JH-vB2" firstAttribute="leading" secondItem="tfg-yt-TOr" secondAttribute="leading" id="ppV-kd-p42"/>
-                                                    <constraint firstAttribute="trailing" secondItem="UhA-JH-vB2" secondAttribute="trailing" id="t8D-lK-5C2"/>
-                                                </constraints>
-                                            </customView>
-                                            <customView translatesAutoresizingMaskIntoConstraints="NO" id="Agp-Xe-fma">
-                                                <rect key="frame" x="169" y="69" width="45" height="46"/>
-                                                <subviews>
-                                                    <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="sej-ZU-2AI">
-                                                        <rect key="frame" x="-2" y="0.0" width="49" height="16"/>
-                                                        <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Right" id="aDU-3R-1YD">
-                                                            <font key="font" metaFont="system"/>
-                                                            <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
-                                                            <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
-                                                        </textFieldCell>
-                                                    </textField>
-                                                    <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="VfD-a0-qeT">
-                                                        <rect key="frame" x="-2" y="30" width="49" height="16"/>
-                                                        <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Bottom" id="jtA-Kg-WrM">
-                                                            <font key="font" metaFont="system"/>
-                                                            <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
-                                                            <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
-                                                        </textFieldCell>
-                                                    </textField>
-                                                </subviews>
-                                                <constraints>
-                                                    <constraint firstAttribute="bottom" secondItem="sej-ZU-2AI" secondAttribute="bottom" id="5JL-Hh-x96"/>
-                                                    <constraint firstAttribute="trailing" secondItem="sej-ZU-2AI" secondAttribute="trailing" id="9CD-bi-gyG"/>
-                                                    <constraint firstItem="VfD-a0-qeT" firstAttribute="top" secondItem="Agp-Xe-fma" secondAttribute="top" id="Xsn-F8-7Ry"/>
-                                                    <constraint firstAttribute="trailing" secondItem="VfD-a0-qeT" secondAttribute="trailing" id="dgw-LW-PWm"/>
-                                                    <constraint firstItem="sej-ZU-2AI" firstAttribute="leading" secondItem="Agp-Xe-fma" secondAttribute="leading" id="eSW-PR-uEr"/>
-                                                    <constraint firstItem="sej-ZU-2AI" firstAttribute="top" secondItem="VfD-a0-qeT" secondAttribute="bottom" constant="14" id="uhx-5a-WaH"/>
-                                                    <constraint firstItem="VfD-a0-qeT" firstAttribute="leading" secondItem="Agp-Xe-fma" secondAttribute="leading" id="xvW-RY-uPK"/>
-                                                </constraints>
-                                            </customView>
-                                        </subviews>
-                                        <constraints>
-                                            <constraint firstItem="Agp-Xe-fma" firstAttribute="leading" secondItem="yBy-iX-BmZ" secondAttribute="trailing" constant="20" id="0jo-2z-xmB"/>
-                                            <constraint firstItem="Awz-ZL-GW8" firstAttribute="leading" secondItem="qI4-X3-ecf" secondAttribute="trailing" constant="20" id="4ZV-WR-ziv"/>
-                                            <constraint firstItem="qI4-X3-ecf" firstAttribute="top" secondItem="1q3-OF-DR8" secondAttribute="bottom" constant="10" id="6jR-l6-Ku4"/>
-                                            <constraint firstItem="pOe-AK-MAI" firstAttribute="leading" secondItem="KAo-LQ-YE5" secondAttribute="trailing" constant="3" id="8d7-mg-hCf"/>
-                                            <constraint firstItem="g6f-5M-brm" firstAttribute="top" secondItem="qdU-Rn-M1d" secondAttribute="top" constant="5" id="ADZ-BX-TuS"/>
-                                            <constraint firstItem="tfg-yt-TOr" firstAttribute="leading" secondItem="qdU-Rn-M1d" secondAttribute="leading" constant="16" id="BKF-7R-sdv"/>
-                                            <constraint firstItem="fsc-HQ-jlC" firstAttribute="leading" secondItem="qdU-Rn-M1d" secondAttribute="leading" constant="16" id="Edj-AW-Rnk"/>
-                                            <constraint firstItem="DrW-yP-2Z0" firstAttribute="centerY" secondItem="1q3-OF-DR8" secondAttribute="centerY" id="Fyg-o9-dF4"/>
-                                            <constraint firstItem="g6f-5M-brm" firstAttribute="leading" secondItem="fsc-HQ-jlC" secondAttribute="trailing" constant="5" id="Gia-j5-puC"/>
-                                            <constraint firstItem="AgH-Jp-OdB" firstAttribute="centerY" secondItem="bf7-ec-UrO" secondAttribute="centerY" id="GsC-6T-BVM"/>
-                                            <constraint firstItem="DrW-yP-2Z0" firstAttribute="leading" secondItem="1q3-OF-DR8" secondAttribute="trailing" constant="22" id="IRG-Ev-o6B"/>
-                                            <constraint firstItem="bf7-ec-UrO" firstAttribute="centerY" secondItem="Sr3-sJ-ORG" secondAttribute="centerY" id="JTz-hc-0Hk"/>
-                                            <constraint firstItem="AgH-Jp-OdB" firstAttribute="leading" secondItem="bf7-ec-UrO" secondAttribute="trailing" constant="3" id="LP0-nm-e55"/>
-                                            <constraint firstItem="yBy-iX-BmZ" firstAttribute="top" secondItem="g6f-5M-brm" secondAttribute="bottom" constant="10" id="M5O-LV-urX"/>
-                                            <constraint firstItem="tfg-yt-TOr" firstAttribute="top" secondItem="g6f-5M-brm" secondAttribute="bottom" constant="12" id="QdK-D4-A54"/>
-                                            <constraint firstItem="KAo-LQ-YE5" firstAttribute="leading" secondItem="Agp-Xe-fma" secondAttribute="trailing" constant="5" id="UMo-h4-9SQ"/>
-                                            <constraint firstItem="dBR-dC-b73" firstAttribute="leading" secondItem="Sr3-sJ-ORG" secondAttribute="trailing" constant="3" id="UN8-tV-jFz"/>
-                                            <constraint firstItem="yBy-iX-BmZ" firstAttribute="centerY" secondItem="wNO-q7-yax" secondAttribute="centerY" id="Xqa-hm-I8K"/>
-                                            <constraint firstItem="yBy-iX-BmZ" firstAttribute="leading" secondItem="wNO-q7-yax" secondAttribute="trailing" constant="3" id="Z9s-sk-vVk"/>
-                                            <constraint firstItem="1q3-OF-DR8" firstAttribute="top" secondItem="Sr3-sJ-ORG" secondAttribute="bottom" constant="10" id="aK2-Vu-gh5"/>
-                                            <constraint firstItem="dBR-dC-b73" firstAttribute="centerY" secondItem="Sr3-sJ-ORG" secondAttribute="centerY" id="efX-j4-DlG"/>
-                                            <constraint firstAttribute="bottom" secondItem="qI4-X3-ecf" secondAttribute="bottom" constant="10" id="ekm-sR-ROc"/>
-                                            <constraint firstItem="Sr3-sJ-ORG" firstAttribute="top" secondItem="yBy-iX-BmZ" secondAttribute="bottom" constant="10" id="fVx-om-aY6"/>
-                                            <constraint firstItem="KAo-LQ-YE5" firstAttribute="leading" secondItem="bf7-ec-UrO" secondAttribute="leading" id="gBf-F1-xbK"/>
-                                            <constraint firstItem="Awz-ZL-GW8" firstAttribute="centerY" secondItem="qI4-X3-ecf" secondAttribute="centerY" id="hz1-R3-I6S"/>
-                                            <constraint firstItem="wNO-q7-yax" firstAttribute="leading" secondItem="tfg-yt-TOr" secondAttribute="trailing" constant="5" id="iTx-2Q-SHz"/>
-                                            <constraint firstItem="pOe-AK-MAI" firstAttribute="centerY" secondItem="KAo-LQ-YE5" secondAttribute="centerY" id="iY2-hc-7gw"/>
-                                            <constraint firstItem="KAo-LQ-YE5" firstAttribute="centerY" secondItem="wNO-q7-yax" secondAttribute="centerY" id="k3a-Wh-ZcB"/>
-                                            <constraint firstItem="qI4-X3-ecf" firstAttribute="leading" secondItem="fsc-HQ-jlC" secondAttribute="leading" id="lJB-qE-ZfX"/>
-                                            <constraint firstItem="Agp-Xe-fma" firstAttribute="top" secondItem="g6f-5M-brm" secondAttribute="bottom" constant="12" id="sda-1n-om6"/>
-                                            <constraint firstItem="Sr3-sJ-ORG" firstAttribute="leading" secondItem="wNO-q7-yax" secondAttribute="leading" id="snf-zj-1mk"/>
-                                            <constraint firstItem="g6f-5M-brm" firstAttribute="centerY" secondItem="fsc-HQ-jlC" secondAttribute="centerY" id="xcY-I3-r3X"/>
-                                            <constraint firstItem="1q3-OF-DR8" firstAttribute="leading" secondItem="fsc-HQ-jlC" secondAttribute="leading" id="ybK-Ee-djN"/>
-                                        </constraints>
-                                    </view>
-                                    <constraints>
-                                        <constraint firstAttribute="width" constant="492" id="kog-VM-KQh"/>
-                                    </constraints>
-                                </box>
-                                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="2x8-XK-ICO">
-                                    <rect key="frame" x="14" y="345" width="101" height="16"/>
-                                    <textFieldCell key="cell" lineBreakMode="clipping" title="Margin Controls" id="RAQ-gj-and">
-                                        <font key="font" metaFont="system"/>
-                                        <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
-                                        <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
-                                    </textFieldCell>
-                                </textField>
-                                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="z3z-tZ-TKL">
-                                    <rect key="frame" x="14" y="150" width="114" height="16"/>
-                                    <textFieldCell key="cell" lineBreakMode="clipping" title="Change Page Size" id="BHe-4r-RFO">
-                                        <font key="font" metaFont="system"/>
-                                        <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
-                                        <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
-                                    </textFieldCell>
-                                </textField>
-                                <box title="Box" titlePosition="noTitle" translatesAutoresizingMaskIntoConstraints="NO" id="Xul-oG-2l2">
-                                    <rect key="frame" x="-3" y="37" width="498" height="110"/>
-                                    <view key="contentView" id="cjk-kW-hGj">
-                                        <rect key="frame" x="4" y="5" width="490" height="102"/>
-                                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                                        <subviews>
-                                            <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="dHM-AO-rF7">
-                                                <rect key="frame" x="14" y="73" width="94" height="18"/>
-                                                <buttonCell key="cell" type="radio" title="Fixed Sizes" bezelStyle="regularSquare" imagePosition="left" alignment="left" inset="2" id="00k-0U-SeA">
-                                                    <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
-                                                    <font key="font" metaFont="system"/>
-                                                </buttonCell>
-                                                <connections>
-                                                    <action selector="buttonItemClick_FixedSize:" target="-2" id="xgK-aK-JjE"/>
-                                                </connections>
-                                            </button>
-                                            <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="CRu-dV-3vm">
-                                                <rect key="frame" x="14" y="43" width="73" height="18"/>
-                                                <buttonCell key="cell" type="radio" title="Custom" bezelStyle="regularSquare" imagePosition="left" alignment="left" inset="2" id="5KU-oy-NFg">
-                                                    <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
-                                                    <font key="font" metaFont="system"/>
-                                                </buttonCell>
-                                                <connections>
-                                                    <action selector="buttonItemClick_CustomSize:" target="-2" id="j5y-zN-qdp"/>
-                                                </connections>
-                                            </button>
-                                            <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Fqc-0d-9Eq">
-                                                <rect key="frame" x="95" y="44" width="44" height="16"/>
-                                                <textFieldCell key="cell" lineBreakMode="clipping" title="Width:" id="AGb-l5-ARh">
-                                                    <font key="font" metaFont="system"/>
-                                                    <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
-                                                    <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
-                                                </textFieldCell>
-                                            </textField>
-                                            <popUpButton verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="EdY-87-wsh">
-                                                <rect key="frame" x="115" y="68" width="150" height="25"/>
-                                                <popUpButtonCell key="cell" type="push" title="Item 1" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="LRi-Mu-liR" id="yHx-V6-yPt">
-                                                    <behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
-                                                    <font key="font" metaFont="menu"/>
-                                                    <menu key="menu" id="DYT-GX-HgG">
-                                                        <items>
-                                                            <menuItem title="Item 1" state="on" id="LRi-Mu-liR"/>
-                                                            <menuItem title="Item 2" id="I52-61-KCv"/>
-                                                            <menuItem title="Item 3" id="RwJ-G5-Yao"/>
-                                                        </items>
-                                                    </menu>
-                                                </popUpButtonCell>
-                                                <constraints>
-                                                    <constraint firstAttribute="width" constant="143" id="rR6-jT-WTz"/>
-                                                </constraints>
-                                                <connections>
-                                                    <action selector="buttonClicked_PageSize:" target="-2" id="KUB-ct-GPV"/>
-                                                </connections>
-                                            </popUpButton>
-                                            <textField focusRingType="none" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="nLW-Cw-sjg">
-                                                <rect key="frame" x="141" y="41" width="100" height="21"/>
-                                                <constraints>
-                                                    <constraint firstAttribute="width" constant="100" id="bC9-kr-ilb"/>
-                                                </constraints>
-                                                <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="7b5-eW-Asy">
-                                                    <numberFormatter key="formatter" formatterBehavior="default10_4" usesGroupingSeparator="NO" groupingSize="0" minimumIntegerDigits="0" maximumIntegerDigits="42" id="9d1-1u-PFl">
-                                                        <real key="minimum" value="1"/>
-                                                        <real key="maximum" value="99"/>
-                                                    </numberFormatter>
-                                                    <font key="font" metaFont="system"/>
-                                                    <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
-                                                    <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
-                                                </textFieldCell>
-                                                <connections>
-                                                    <outlet property="delegate" destination="-2" id="16a-iu-peD"/>
-                                                </connections>
-                                            </textField>
-                                            <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="AoW-07-9El">
-                                                <rect key="frame" x="254" y="44" width="48" height="16"/>
-                                                <textFieldCell key="cell" lineBreakMode="clipping" title="Height:" id="M6h-Aa-tGh">
-                                                    <font key="font" metaFont="system"/>
-                                                    <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
-                                                    <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
-                                                </textFieldCell>
-                                            </textField>
-                                            <textField focusRingType="none" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="gGH-DJ-pie">
-                                                <rect key="frame" x="304" y="41" width="100" height="21"/>
-                                                <constraints>
-                                                    <constraint firstAttribute="width" constant="100" id="WQE-9q-bUZ"/>
-                                                </constraints>
-                                                <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="hTo-2o-sck">
-                                                    <numberFormatter key="formatter" formatterBehavior="default10_4" usesGroupingSeparator="NO" groupingSize="0" minimumIntegerDigits="0" maximumIntegerDigits="42" id="2Pw-hq-Iqp">
-                                                        <real key="minimum" value="1"/>
-                                                        <real key="maximum" value="99"/>
-                                                    </numberFormatter>
-                                                    <font key="font" metaFont="system"/>
-                                                    <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
-                                                    <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
-                                                </textFieldCell>
-                                                <connections>
-                                                    <outlet property="delegate" destination="-2" id="QRb-Cw-bRX"/>
-                                                </connections>
-                                            </textField>
-                                            <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="wkn-bH-QLY">
-                                                <rect key="frame" x="121" y="13" width="58" height="16"/>
-                                                <textFieldCell key="cell" lineBreakMode="clipping" title="XOffset: " id="QID-jc-PHn">
-                                                    <font key="font" metaFont="system"/>
-                                                    <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
-                                                    <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
-                                                </textFieldCell>
-                                            </textField>
-                                            <textField focusRingType="none" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Ioi-Bj-Odn">
-                                                <rect key="frame" x="181" y="10" width="100" height="21"/>
-                                                <constraints>
-                                                    <constraint firstAttribute="width" constant="100" id="LgP-3N-is8"/>
-                                                </constraints>
-                                                <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="Qrq-L2-OIv">
-                                                    <numberFormatter key="formatter" formatterBehavior="default10_4" usesGroupingSeparator="NO" groupingSize="0" minimumIntegerDigits="0" maximumIntegerDigits="42" id="Kbz-Bz-DMS">
-                                                        <real key="minimum" value="1"/>
-                                                        <real key="maximum" value="99"/>
-                                                    </numberFormatter>
-                                                    <font key="font" metaFont="system"/>
-                                                    <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
-                                                    <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
-                                                </textFieldCell>
-                                                <connections>
-                                                    <outlet property="delegate" destination="-2" id="i0H-TQ-qT3"/>
-                                                </connections>
-                                            </textField>
-                                            <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="hv5-EF-rgN">
-                                                <rect key="frame" x="294" y="13" width="57" height="16"/>
-                                                <textFieldCell key="cell" lineBreakMode="clipping" title="YOffset: " id="jCt-QU-G5t">
-                                                    <font key="font" metaFont="system"/>
-                                                    <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
-                                                    <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
-                                                </textFieldCell>
-                                            </textField>
-                                            <textField focusRingType="none" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="urW-5G-Ad1">
-                                                <rect key="frame" x="353" y="10" width="100" height="21"/>
-                                                <constraints>
-                                                    <constraint firstAttribute="width" constant="100" id="FAU-SC-I9m"/>
-                                                </constraints>
-                                                <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" borderStyle="bezel" drawsBackground="YES" id="2A9-Vs-RUG">
-                                                    <numberFormatter key="formatter" formatterBehavior="default10_4" usesGroupingSeparator="NO" groupingSize="0" minimumIntegerDigits="0" maximumIntegerDigits="42" id="2r4-rJ-bFo">
-                                                        <real key="minimum" value="1"/>
-                                                        <real key="maximum" value="99"/>
-                                                    </numberFormatter>
-                                                    <font key="font" metaFont="system"/>
-                                                    <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
-                                                    <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
-                                                </textFieldCell>
-                                                <connections>
-                                                    <outlet property="delegate" destination="-2" id="H1e-bI-byV"/>
-                                                </connections>
-                                            </textField>
-                                            <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="fg9-32-HZP">
-                                                <rect key="frame" x="36" y="12" width="67" height="18"/>
-                                                <buttonCell key="cell" type="check" title="Center" bezelStyle="regularSquare" imagePosition="left" inset="2" id="uer-qF-XRs">
-                                                    <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
-                                                    <font key="font" metaFont="system"/>
-                                                </buttonCell>
-                                                <connections>
-                                                    <action selector="buttonItemClick_Center:" target="-2" id="Hk9-0I-fSJ"/>
-                                                </connections>
-                                            </button>
-                                        </subviews>
-                                        <constraints>
-                                            <constraint firstItem="urW-5G-Ad1" firstAttribute="leading" secondItem="hv5-EF-rgN" secondAttribute="trailing" constant="4" id="3u6-4G-loj"/>
-                                            <constraint firstItem="hv5-EF-rgN" firstAttribute="centerY" secondItem="fg9-32-HZP" secondAttribute="centerY" id="5Vn-Gh-llU"/>
-                                            <constraint firstItem="gGH-DJ-pie" firstAttribute="centerY" secondItem="CRu-dV-3vm" secondAttribute="centerY" id="Hw7-Be-iGm"/>
-                                            <constraint firstItem="dHM-AO-rF7" firstAttribute="top" secondItem="cjk-kW-hGj" secondAttribute="top" constant="12" id="JBk-Mj-I9P"/>
-                                            <constraint firstItem="urW-5G-Ad1" firstAttribute="centerY" secondItem="fg9-32-HZP" secondAttribute="centerY" id="M0N-iB-gv7"/>
-                                            <constraint firstItem="fg9-32-HZP" firstAttribute="leading" secondItem="cjk-kW-hGj" secondAttribute="leading" constant="38" id="MZB-WW-YPp"/>
-                                            <constraint firstItem="nLW-Cw-sjg" firstAttribute="centerY" secondItem="CRu-dV-3vm" secondAttribute="centerY" id="MyU-DW-yVb"/>
-                                            <constraint firstItem="AoW-07-9El" firstAttribute="leading" secondItem="nLW-Cw-sjg" secondAttribute="trailing" constant="15" id="OF2-CX-CxS"/>
-                                            <constraint firstItem="Ioi-Bj-Odn" firstAttribute="centerY" secondItem="fg9-32-HZP" secondAttribute="centerY" id="ORB-WA-AbO"/>
-                                            <constraint firstItem="gGH-DJ-pie" firstAttribute="leading" secondItem="AoW-07-9El" secondAttribute="trailing" constant="4" id="PQI-r2-G9Z"/>
-                                            <constraint firstItem="EdY-87-wsh" firstAttribute="centerY" secondItem="dHM-AO-rF7" secondAttribute="centerY" id="RoR-65-GmL"/>
-                                            <constraint firstItem="EdY-87-wsh" firstAttribute="leading" secondItem="dHM-AO-rF7" secondAttribute="trailing" constant="10" id="Skr-v1-2Cy"/>
-                                            <constraint firstItem="dHM-AO-rF7" firstAttribute="leading" secondItem="cjk-kW-hGj" secondAttribute="leading" constant="16" id="Wlv-Nk-iAf"/>
-                                            <constraint firstItem="Fqc-0d-9Eq" firstAttribute="centerY" secondItem="CRu-dV-3vm" secondAttribute="centerY" id="Xdb-Zy-PII"/>
-                                            <constraint firstItem="AoW-07-9El" firstAttribute="centerY" secondItem="CRu-dV-3vm" secondAttribute="centerY" id="ZJA-MT-rAL"/>
-                                            <constraint firstItem="nLW-Cw-sjg" firstAttribute="top" secondItem="EdY-87-wsh" secondAttribute="bottom" constant="10" id="gQz-pg-uPX"/>
-                                            <constraint firstItem="Fqc-0d-9Eq" firstAttribute="leading" secondItem="CRu-dV-3vm" secondAttribute="trailing" constant="10" id="jwg-wh-j8l"/>
-                                            <constraint firstItem="wkn-bH-QLY" firstAttribute="centerY" secondItem="fg9-32-HZP" secondAttribute="centerY" id="oVX-qy-lzJ"/>
-                                            <constraint firstItem="wkn-bH-QLY" firstAttribute="leading" secondItem="fg9-32-HZP" secondAttribute="trailing" constant="20" id="pJk-M6-F6L"/>
-                                            <constraint firstItem="nLW-Cw-sjg" firstAttribute="leading" secondItem="Fqc-0d-9Eq" secondAttribute="trailing" constant="4" id="rKk-7g-fzg"/>
-                                            <constraint firstItem="Ioi-Bj-Odn" firstAttribute="top" secondItem="nLW-Cw-sjg" secondAttribute="bottom" constant="10" id="rgx-0l-5aS"/>
-                                            <constraint firstAttribute="bottom" secondItem="Ioi-Bj-Odn" secondAttribute="bottom" constant="10" id="tL0-VE-xGo"/>
-                                            <constraint firstItem="hv5-EF-rgN" firstAttribute="leading" secondItem="Ioi-Bj-Odn" secondAttribute="trailing" constant="15" id="v2X-tL-ejY"/>
-                                            <constraint firstItem="CRu-dV-3vm" firstAttribute="leading" secondItem="dHM-AO-rF7" secondAttribute="leading" id="x4t-GD-MDO"/>
-                                            <constraint firstItem="Ioi-Bj-Odn" firstAttribute="leading" secondItem="wkn-bH-QLY" secondAttribute="trailing" constant="4" id="yxB-y6-Cpz"/>
-                                        </constraints>
-                                    </view>
-                                </box>
-                                <box boxType="custom" borderType="none" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="c7d-vJ-aEI">
-                                    <rect key="frame" x="0.0" y="0.0" width="492" height="26"/>
-                                    <view key="contentView" id="V1W-La-7Fv">
-                                        <rect key="frame" x="0.0" y="0.0" width="492" height="26"/>
-                                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                                        <subviews>
-                                            <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="i2R-g4-Mfv">
-                                                <rect key="frame" x="-2" y="5" width="77" height="16"/>
-                                                <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Page Range" id="pff-Zr-itc">
-                                                    <font key="font" metaFont="system"/>
-                                                    <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
-                                                    <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
-                                                </textFieldCell>
-                                            </textField>
-                                            <comboBox focusRingType="none" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Ynj-Y3-ZFe">
-                                                <rect key="frame" x="92" y="1" width="216" height="23"/>
-                                                <constraints>
-                                                    <constraint firstAttribute="width" constant="212" id="mDC-cc-mgp"/>
-                                                </constraints>
-                                                <comboBoxCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" borderStyle="bezel" drawsBackground="YES" completes="NO" numberOfVisibleItems="5" id="WKI-Vc-ChH">
-                                                    <font key="font" metaFont="system"/>
-                                                    <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
-                                                    <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
-                                                </comboBoxCell>
-                                                <connections>
-                                                    <action selector="comboBoxItemClick_PageRange:" target="-2" id="bVA-41-6vE"/>
-                                                </connections>
-                                            </comboBox>
-                                        </subviews>
-                                        <constraints>
-                                            <constraint firstItem="Ynj-Y3-ZFe" firstAttribute="centerY" secondItem="i2R-g4-Mfv" secondAttribute="centerY" id="KjB-Hg-7OQ"/>
-                                            <constraint firstAttribute="bottom" secondItem="Ynj-Y3-ZFe" secondAttribute="bottom" constant="3" id="cgI-aX-XOP"/>
-                                            <constraint firstItem="i2R-g4-Mfv" firstAttribute="leading" secondItem="V1W-La-7Fv" secondAttribute="leading" id="d4f-AH-fTt"/>
-                                            <constraint firstItem="Ynj-Y3-ZFe" firstAttribute="top" secondItem="V1W-La-7Fv" secondAttribute="top" constant="3" id="npv-LN-UuL"/>
-                                            <constraint firstItem="Ynj-Y3-ZFe" firstAttribute="leading" secondItem="i2R-g4-Mfv" secondAttribute="trailing" constant="20" id="s2d-jW-Irf"/>
-                                        </constraints>
-                                    </view>
-                                    <color key="fillColor" red="1" green="1" blue="1" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
-                                </box>
-                            </subviews>
-                            <constraints>
-                                <constraint firstItem="b2t-Vm-9TN" firstAttribute="centerY" secondItem="pjr-0K-HcJ" secondAttribute="centerY" id="1W8-Xh-RnY"/>
-                                <constraint firstItem="z3z-tZ-TKL" firstAttribute="leading" secondItem="UOf-xL-wZf" secondAttribute="leading" constant="16" id="DHo-OS-Co1"/>
-                                <constraint firstItem="Xul-oG-2l2" firstAttribute="trailing" secondItem="8Xu-vw-ZUb" secondAttribute="trailing" id="FHg-sY-1fk"/>
-                                <constraint firstItem="b2t-Vm-9TN" firstAttribute="leading" secondItem="pjr-0K-HcJ" secondAttribute="trailing" constant="5" id="JVG-AR-86k"/>
-                                <constraint firstItem="8Xu-vw-ZUb" firstAttribute="top" secondItem="2x8-XK-ICO" secondAttribute="bottom" constant="5" id="Ll6-6S-PWr"/>
-                                <constraint firstItem="Xul-oG-2l2" firstAttribute="top" secondItem="z3z-tZ-TKL" secondAttribute="bottom" constant="5" id="OqD-8O-gQ2"/>
-                                <constraint firstItem="c7d-vJ-aEI" firstAttribute="top" secondItem="Xul-oG-2l2" secondAttribute="bottom" constant="15" id="ThD-cb-Gb0"/>
-                                <constraint firstAttribute="trailing" secondItem="8Xu-vw-ZUb" secondAttribute="trailing" id="Tol-yQ-ru9"/>
-                                <constraint firstItem="z3z-tZ-TKL" firstAttribute="top" secondItem="8Xu-vw-ZUb" secondAttribute="bottom" constant="20" id="caK-lA-O3V"/>
-                                <constraint firstItem="2x8-XK-ICO" firstAttribute="top" secondItem="b2t-Vm-9TN" secondAttribute="bottom" constant="18" id="djz-CW-Thx"/>
-                                <constraint firstItem="b2t-Vm-9TN" firstAttribute="top" secondItem="UOf-xL-wZf" secondAttribute="top" id="iaf-QK-Znh"/>
-                                <constraint firstAttribute="bottom" secondItem="c7d-vJ-aEI" secondAttribute="bottom" id="ntP-Dr-cw7"/>
-                                <constraint firstItem="c7d-vJ-aEI" firstAttribute="leading" secondItem="Xul-oG-2l2" secondAttribute="leading" id="oFw-TJ-ijN"/>
-                                <constraint firstItem="c7d-vJ-aEI" firstAttribute="trailing" secondItem="Xul-oG-2l2" secondAttribute="trailing" id="pEa-qh-ElK"/>
-                                <constraint firstItem="8Xu-vw-ZUb" firstAttribute="leading" secondItem="UOf-xL-wZf" secondAttribute="leading" id="pLk-X8-4QF"/>
-                                <constraint firstItem="2x8-XK-ICO" firstAttribute="leading" secondItem="UOf-xL-wZf" secondAttribute="leading" constant="16" id="ptt-JL-mZl"/>
-                                <constraint firstItem="Xul-oG-2l2" firstAttribute="leading" secondItem="8Xu-vw-ZUb" secondAttribute="leading" id="xWn-kT-W4Y"/>
-                                <constraint firstItem="pjr-0K-HcJ" firstAttribute="leading" secondItem="UOf-xL-wZf" secondAttribute="leading" id="z4e-Vm-h1q"/>
-                            </constraints>
-                        </view>
-                    </box>
-                    <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="cdg-Zn-VLp">
-                        <rect key="frame" x="701" y="11" width="76" height="32"/>
-                        <buttonCell key="cell" type="push" title="Cancel" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="5lZ-eM-aY4">
-                            <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
-                            <font key="font" metaFont="system"/>
-                            <string key="keyEquivalent" base64-UTF8="YES">
-Gw
-</string>
-                        </buttonCell>
-                        <connections>
-                            <action selector="buttonItemClick_Cancel:" target="-2" id="nh7-NQ-bKA"/>
-                        </connections>
-                    </button>
-                    <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="XMR-VG-lFR">
-                        <rect key="frame" x="793" y="11" width="53" height="32"/>
-                        <buttonCell key="cell" type="push" title="OK" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="BHk-je-uZG">
-                            <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
-                            <font key="font" metaFont="system"/>
-                            <string key="keyEquivalent" base64-UTF8="YES">
-DQ
-</string>
-                        </buttonCell>
-                        <connections>
-                            <action selector="buttonItemClick_Save:" target="-2" id="oSs-ea-CgR"/>
-                        </connections>
-                    </button>
-                    <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="TXN-MH-f2b">
-                        <rect key="frame" x="8" y="11" width="63" height="32"/>
-                        <buttonCell key="cell" type="push" title="Print" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="XeP-Wk-XtG">
-                            <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
-                            <font key="font" metaFont="system"/>
-                        </buttonCell>
-                        <connections>
-                            <action selector="buttonItemClick_Print:" target="-2" id="WCp-tg-Hvt"/>
-                        </connections>
-                    </button>
-                </subviews>
-                <constraints>
-                    <constraint firstItem="kXK-8s-GTS" firstAttribute="top" secondItem="se5-gp-TjO" secondAttribute="top" constant="18" id="0Ts-pg-iUk"/>
-                    <constraint firstItem="b1A-Hw-Fy0" firstAttribute="leading" secondItem="kXK-8s-GTS" secondAttribute="trailing" constant="40" id="7YG-dc-G6u"/>
-                    <constraint firstItem="TXN-MH-f2b" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" constant="15" id="U7k-vX-0bE"/>
-                    <constraint firstItem="b1A-Hw-Fy0" firstAttribute="top" secondItem="se5-gp-TjO" secondAttribute="top" constant="20" id="VeC-Fk-a5A"/>
-                    <constraint firstItem="XMR-VG-lFR" firstAttribute="centerY" secondItem="cdg-Zn-VLp" secondAttribute="centerY" id="a7e-7k-l2G"/>
-                    <constraint firstItem="XMR-VG-lFR" firstAttribute="leading" secondItem="cdg-Zn-VLp" secondAttribute="trailing" constant="30" id="avv-1a-qww"/>
-                    <constraint firstItem="kXK-8s-GTS" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" constant="40" id="cF4-Gn-lat"/>
-                    <constraint firstAttribute="bottom" secondItem="XMR-VG-lFR" secondAttribute="bottom" constant="18" id="hVG-qy-uyf"/>
-                    <constraint firstAttribute="trailing" secondItem="XMR-VG-lFR" secondAttribute="trailing" constant="15" id="ihe-tD-hjc"/>
-                    <constraint firstAttribute="bottom" secondItem="b1A-Hw-Fy0" secondAttribute="bottom" constant="75" id="nUW-N1-tXo"/>
-                    <constraint firstAttribute="bottom" secondItem="TXN-MH-f2b" secondAttribute="bottom" constant="18" id="ncR-2p-hi3"/>
-                    <constraint firstAttribute="trailing" secondItem="b1A-Hw-Fy0" secondAttribute="trailing" constant="42" id="piW-oT-lLC"/>
-                </constraints>
-            </view>
-            <connections>
-                <outlet property="delegate" destination="-2" id="0bl-1N-AYu"/>
-            </connections>
-            <point key="canvasLocation" x="225" y="266.5"/>
-        </window>
-    </objects>
-    <resources>
-        <image name="NSGoLeftTemplate" width="12" height="17"/>
-        <image name="NSGoRightTemplate" width="12" height="17"/>
-    </resources>
-</document>

+ 0 - 74
PDF Office/PDF Master/Class/PDFTools/Crop/View/KMCropSettingPageSizeView.swift

@@ -1,74 +0,0 @@
-//
-//  KMCropSettingPageSizeView.swift
-//  PDF Reader Pro
-//
-//  Created by tangchao on 2022/12/30.
-//
-
-import Cocoa
-
-typealias KMCropSettingPageSizeViewItemClick = (_ index: Int, _ value: Any) -> ()
-class KMCropSettingPageSizeView: NSView {
-
-    var titleLabel = NSTextField(labelWithString: "")
-    var comboBox = NSComboBox()
-    
-    var itemClick: KMCropSettingPageSizeViewItemClick!
-    
-    override var isFlipped: Bool {
-        return true
-    }
-    
-    override init(frame frameRect: NSRect) {
-        super.init(frame: frameRect)
-        
-        initSubviews()
-    }
-    
-    required init?(coder: NSCoder) {
-        super.init(coder: coder)
-        
-        initSubviews()
-    }
-    
-    func initSubviews() {
-        self.addSubview(self.titleLabel)
-        self.addSubview(self.comboBox)
-        
-        self.titleLabel.stringValue = "页面尺寸"
-        self.comboBox.isEditable = false
-        self.comboBox.addItem(withObjectValue: "None")
-        self.comboBox.addItems(withObjectValues: KMCropTools.getPageSize())
-        self.comboBox.stringValue = "None"
-        self.comboBox.delegate = self
-    }
-    
-    override func layout() {
-        super.layout()
-        
-        self.titleLabel.frame = NSMakeRect(8, 0, NSWidth(self.bounds), 16)
-        self.comboBox.frame = NSMakeRect(8, self.titleLabel.frame.maxY+12, NSWidth(self.bounds)-16, 22)
-    }
-}
-
-extension KMCropSettingPageSizeView: NSComboBoxDelegate {
-    func comboBoxSelectionDidChange(_ notification: Notification) {
-        if (self.comboBox.isEqual(to: notification.object)) {
-            guard let callback = self.itemClick else {
-                return
-            }
-            
-            var index: Int = self.comboBox.indexOfSelectedItem
-            if (self.comboBox.indexOfSelectedItem < 0) {
-                index = 0
-            }
-            
-            var value: String = "None"
-            if (index > 0) {
-                value = KMCropTools.getPageSize()[index-1]
-            }
-            
-            callback(1, value)
-        }
-    }
-}

+ 0 - 79
PDF Office/PDF Master/Class/PDFTools/Crop/View/KMCropTipView.swift

@@ -1,79 +0,0 @@
-//
-//  KMCropTipView.swift
-//  PDF Reader Pro
-//
-//  Created by tangchao on 2023/1/4.
-//
-
-import Cocoa
-
-typealias KMCropTipViewEnterAction = ()->()
-class KMCropTipView: NSView {
-    
-    private var contentView = NSView()
-    private var label = NSTextField(labelWithString: "")
-    
-    private var localMonitor: Any!
-    
-    var enterAction: KMCropTipViewEnterAction!
-    
-    deinit {
-        NSEvent.removeMonitor(self.localMonitor as Any)
-        self.localMonitor = nil
-    }
-    
-    override init(frame frameRect: NSRect) {
-        super.init(frame: frameRect)
-        
-        initSubviews()
-    }
-    
-    required init?(coder: NSCoder) {
-        super.init(coder: coder)
-        
-        initSubviews()
-    }
-    
-    func initSubviews() {
-        self.addSubview(self.contentView)
-        self.contentView.addSubview(self.label)
-        
-        self.contentView.wantsLayer = true
-        self.contentView.layer?.backgroundColor = NSColor(red: 17.0/255.0, green: 138.0/255.0, blue: 1.0, alpha: 1.0).cgColor
-        
-        self.label.textColor = NSColor.white
-        self.label.font = NSFont.systemFont(ofSize: 14)
-        self.label.alignment = .center
-        
-        self.localMonitor = NSEvent.addLocalMonitorForEvents(matching: .keyUp, handler: {
-            [weak self] (event: NSEvent) -> NSEvent in
-            if (event.keyCode != 36) {
-                return event
-            }
-            
-            guard let callback = self!.enterAction else {
-                return event
-            }
-            
-            callback()
-            
-            return event
-        })
-    }
-    
-    override func layout() {
-        super.layout()
-        
-        let width: CGFloat = NSWidth(self.bounds)
-        let height: CGFloat = NSHeight(self.bounds)
-        
-        let contentWidth: CGFloat = 186
-        let contentHeight: CGFloat = 32
-        self.contentView.frame = NSMakeRect((width-contentWidth)*0.5, (height-contentHeight)*0.5, contentWidth, contentHeight)
-        self.label.frame = NSMakeRect(0, 5, contentWidth, 22)
-    }
-    
-    func setString(string: String) {
-        self.label.stringValue = string
-    }
-}

+ 112 - 112
PDF Office/PDF Master/Class/PDFWindowController/Side/RightSide/AnnotationProperty/KMGeneralAnnotationViewController.xib

@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21507" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22505" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
     <dependencies>
         <deployment identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21507"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22505"/>
         <capability name="Named colors" minToolsVersion="9.0"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
@@ -122,10 +122,10 @@
                 <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                 <subviews>
                     <view translatesAutoresizingMaskIntoConstraints="NO" id="VrJ-Nh-rtz">
-                        <rect key="frame" x="0.0" y="151" width="481" height="1442"/>
+                        <rect key="frame" x="0.0" y="145" width="481" height="1448"/>
                         <subviews>
                             <box boxType="custom" borderWidth="0.0" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="6cI-tS-CM8">
-                                <rect key="frame" x="16" y="1362" width="449" height="80"/>
+                                <rect key="frame" x="16" y="1368" width="449" height="80"/>
                                 <view key="contentView" id="i1Q-jc-zH1">
                                     <rect key="frame" x="0.0" y="0.0" width="449" height="80"/>
                                     <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
@@ -136,9 +136,9 @@
                                 <color key="fillColor" red="0.99999600649999998" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                             </box>
                             <customView translatesAutoresizingMaskIntoConstraints="NO" id="Zyc-cU-wPJ">
-                                <rect key="frame" x="16" y="1191" width="449" height="161"/>
+                                <rect key="frame" x="16" y="1197" width="449" height="161"/>
                                 <subviews>
-                                    <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Bad-vN-F8Q">
+                                    <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Bad-vN-F8Q">
                                         <rect key="frame" x="-2" y="131" width="35" height="20"/>
                                         <constraints>
                                             <constraint firstAttribute="height" constant="20" id="5kQ-Zc-9ki"/>
@@ -151,23 +151,20 @@
                                     </textField>
                                     <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="8hZ-bB-sqv">
                                         <rect key="frame" x="433" y="133" width="16" height="16"/>
-                                        <constraints>
-                                            <constraint firstAttribute="width" constant="16" id="G3w-Ht-VPo"/>
-                                            <constraint firstAttribute="height" constant="16" id="SM5-tQ-a9b"/>
-                                        </constraints>
                                         <buttonCell key="cell" type="bevel" bezelStyle="regularSquare" image="KMImageNameUXIconBtnFontsetNor" imagePosition="only" alignment="center" imageScaling="proportionallyDown" inset="2" id="b3h-fF-20x">
                                             <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                                             <font key="font" metaFont="system"/>
                                         </buttonCell>
+                                        <constraints>
+                                            <constraint firstAttribute="width" constant="16" id="G3w-Ht-VPo"/>
+                                            <constraint firstAttribute="height" constant="16" id="SM5-tQ-a9b"/>
+                                        </constraints>
                                         <connections>
                                             <action selector="fontButtonAction:" target="-2" id="dkT-3i-wVF"/>
                                         </connections>
                                     </button>
                                     <popUpButton translatesAutoresizingMaskIntoConstraints="NO" id="cAF-1K-YAd" customClass="KMPopUpButton" customModule="PDF_Reader_Pro" customModuleProvider="target">
                                         <rect key="frame" x="0.0" y="33" width="346" height="24"/>
-                                        <constraints>
-                                            <constraint firstAttribute="height" constant="24" id="mXO-xI-qSq"/>
-                                        </constraints>
                                         <popUpButtonCell key="cell" type="square" title="UltraLight" bezelStyle="shadowlessSquare" alignment="left" lineBreakMode="truncatingTail" state="on" inset="2" arrowPosition="noArrow" selectedItem="9nh-AB-IE0" id="5Vn-Fa-ghP">
                                             <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                                             <font key="font" usesAppearanceFont="YES"/>
@@ -185,20 +182,23 @@
                                                 </items>
                                             </menu>
                                         </popUpButtonCell>
+                                        <constraints>
+                                            <constraint firstAttribute="height" constant="24" id="mXO-xI-qSq"/>
+                                        </constraints>
                                         <connections>
                                             <action selector="fontStylePopUpButtonAction:" target="-2" id="BLZ-AY-QBT"/>
                                         </connections>
                                     </popUpButton>
                                     <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="MSv-hI-17r">
                                         <rect key="frame" x="0.0" y="0.0" width="41" height="24"/>
-                                        <constraints>
-                                            <constraint firstAttribute="width" constant="40.5" id="JVw-BX-rH5"/>
-                                            <constraint firstAttribute="height" constant="24" id="XgZ-QR-1Y3"/>
-                                        </constraints>
                                         <buttonCell key="cell" type="bevel" bezelStyle="rounded" image="KMImageNameUXIconPropertybarTextalignLeftNor" imagePosition="only" alignment="center" imageScaling="proportionallyDown" inset="2" id="db9-JK-omx">
                                             <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                                             <font key="font" metaFont="system"/>
                                         </buttonCell>
+                                        <constraints>
+                                            <constraint firstAttribute="width" constant="40.5" id="JVw-BX-rH5"/>
+                                            <constraint firstAttribute="height" constant="24" id="XgZ-QR-1Y3"/>
+                                        </constraints>
                                         <connections>
                                             <action selector="alignButtonAction:" target="-2" id="YjF-rd-1BJ"/>
                                         </connections>
@@ -210,16 +210,16 @@
                                             <constraint firstAttribute="height" constant="16" id="KpK-iX-bqn"/>
                                         </constraints>
                                     </box>
-                                    <button verticalHuggingPriority="750" tag="1" translatesAutoresizingMaskIntoConstraints="NO" id="lv5-5o-kZW">
+                                    <button tag="1" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="lv5-5o-kZW">
                                         <rect key="frame" x="42" y="0.0" width="40" height="24"/>
-                                        <constraints>
-                                            <constraint firstAttribute="width" constant="40.5" id="6aV-xr-5Iq"/>
-                                            <constraint firstAttribute="height" constant="24" id="fwW-vP-O1U"/>
-                                        </constraints>
                                         <buttonCell key="cell" type="bevel" bezelStyle="rounded" image="KMImageNameUXIconPropertybarTextalignCenterNor" imagePosition="only" alignment="center" imageScaling="proportionallyDown" inset="2" id="4YK-bV-svt">
                                             <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                                             <font key="font" metaFont="system"/>
                                         </buttonCell>
+                                        <constraints>
+                                            <constraint firstAttribute="width" constant="40.5" id="6aV-xr-5Iq"/>
+                                            <constraint firstAttribute="height" constant="24" id="fwW-vP-O1U"/>
+                                        </constraints>
                                         <connections>
                                             <action selector="alignButtonAction:" target="-2" id="wZk-Ne-C6Y"/>
                                         </connections>
@@ -231,36 +231,36 @@
                                             <constraint firstAttribute="height" constant="16" id="lzg-uR-Ofh"/>
                                         </constraints>
                                     </box>
-                                    <button verticalHuggingPriority="750" tag="2" translatesAutoresizingMaskIntoConstraints="NO" id="8Nh-ho-juj">
+                                    <button tag="2" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="8Nh-ho-juj">
                                         <rect key="frame" x="83" y="0.0" width="41" height="24"/>
-                                        <constraints>
-                                            <constraint firstAttribute="height" constant="24" id="BjW-fk-FnB"/>
-                                            <constraint firstAttribute="width" constant="41" id="aef-WP-wXE"/>
-                                        </constraints>
                                         <buttonCell key="cell" type="bevel" bezelStyle="rounded" image="KMImageNameUXIconPropertybarTextalignRightNor" imagePosition="only" alignment="center" imageScaling="proportionallyDown" inset="2" id="gca-kG-mq1">
                                             <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                                             <font key="font" metaFont="system"/>
                                         </buttonCell>
+                                        <constraints>
+                                            <constraint firstAttribute="height" constant="24" id="BjW-fk-FnB"/>
+                                            <constraint firstAttribute="width" constant="41" id="aef-WP-wXE"/>
+                                        </constraints>
                                         <connections>
                                             <action selector="alignButtonAction:" target="-2" id="KCd-nU-dPy"/>
                                         </connections>
                                     </button>
                                     <popUpButton translatesAutoresizingMaskIntoConstraints="NO" id="AHs-kd-sAo" customClass="KMPopUpButton" customModule="PDF_Reader_Pro" customModuleProvider="target">
                                         <rect key="frame" x="0.0" y="65" width="449" height="24"/>
-                                        <constraints>
-                                            <constraint firstAttribute="height" constant="24" id="gdZ-Gv-m63"/>
-                                        </constraints>
                                         <popUpButtonCell key="cell" type="square" bezelStyle="shadowlessSquare" alignment="left" lineBreakMode="truncatingTail" inset="2" arrowPosition="noArrow" id="Vv5-1P-Y1g" customClass="KMPopUpButtonCell" customModule="PDF_Reader_Pro" customModuleProvider="target">
                                             <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                                             <font key="font" usesAppearanceFont="YES"/>
                                             <menu key="menu" id="fW2-Mn-ucz"/>
                                         </popUpButtonCell>
+                                        <constraints>
+                                            <constraint firstAttribute="height" constant="24" id="gdZ-Gv-m63"/>
+                                        </constraints>
                                         <connections>
                                             <action selector="fontPopUpButtonAction:" target="-2" id="umX-SG-GYl"/>
                                         </connections>
                                     </popUpButton>
-                                    <comboBox verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="ddA-v5-KF1" customClass="KMComboBox" customModule="PDF_Reader_Pro" customModuleProvider="target">
-                                        <rect key="frame" x="354" y="33" width="95" height="23"/>
+                                    <comboBox focusRingType="none" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="ddA-v5-KF1" customClass="KMComboBox" customModule="PDF_Reader_Pro" customModuleProvider="target">
+                                        <rect key="frame" x="353" y="33" width="96" height="23"/>
                                         <constraints>
                                             <constraint firstAttribute="width" constant="92" id="oJG-Z9-pzj"/>
                                         </constraints>
@@ -336,9 +336,9 @@
                                 </constraints>
                             </customView>
                             <customView translatesAutoresizingMaskIntoConstraints="NO" id="luB-mj-Fhz">
-                                <rect key="frame" x="16" y="970" width="449" height="211"/>
+                                <rect key="frame" x="16" y="976" width="449" height="211"/>
                                 <subviews>
-                                    <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="7YY-gk-Luy">
+                                    <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="7YY-gk-Luy">
                                         <rect key="frame" x="-2" y="181" width="42" height="20"/>
                                         <constraints>
                                             <constraint firstAttribute="height" constant="20" id="FIr-3y-aVc"/>
@@ -403,7 +403,7 @@
                                             <rect key="frame" x="0.0" y="0.0" width="449" height="56"/>
                                             <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                             <subviews>
-                                                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="KtL-ng-iuz">
+                                                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="KtL-ng-iuz">
                                                     <rect key="frame" x="-2" y="30" width="453" height="16"/>
                                                     <textFieldCell key="cell" lineBreakMode="clipping" title="Label" id="uyf-m8-jc3">
                                                         <font key="font" usesAppearanceFont="YES"/>
@@ -411,8 +411,8 @@
                                                         <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
                                                     </textFieldCell>
                                                 </textField>
-                                                <comboBox verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Qzi-o3-DRu" customClass="KMComboBox" customModule="PDF_Reader_Pro" customModuleProvider="target">
-                                                    <rect key="frame" x="377" y="-4" width="75" height="30"/>
+                                                <comboBox focusRingType="none" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Qzi-o3-DRu" customClass="KMComboBox" customModule="PDF_Reader_Pro" customModuleProvider="target">
+                                                    <rect key="frame" x="376" y="-2" width="76" height="27"/>
                                                     <constraints>
                                                         <constraint firstAttribute="width" constant="72" id="Agl-cI-DK9"/>
                                                         <constraint firstAttribute="height" constant="24" id="rOY-qg-B8b"/>
@@ -465,10 +465,10 @@
                                 </constraints>
                             </customView>
                             <customView translatesAutoresizingMaskIntoConstraints="NO" id="Iip-As-rOA">
-                                <rect key="frame" x="16" y="685" width="449" height="122"/>
+                                <rect key="frame" x="16" y="685" width="449" height="125"/>
                                 <subviews>
-                                    <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="lwg-7N-a25">
-                                        <rect key="frame" x="-2" y="92" width="52" height="20"/>
+                                    <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="lwg-7N-a25">
+                                        <rect key="frame" x="-2" y="95" width="52" height="20"/>
                                         <constraints>
                                             <constraint firstAttribute="height" constant="20" id="4SR-5b-IVl"/>
                                         </constraints>
@@ -479,7 +479,7 @@
                                         </textFieldCell>
                                     </textField>
                                     <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="6Lb-GS-vTh">
-                                        <rect key="frame" x="433" y="94" width="16" height="16"/>
+                                        <rect key="frame" x="433" y="97" width="16" height="16"/>
                                         <buttonCell key="cell" type="bevel" title="Button" bezelStyle="rounded" image="KMImageNameUXIconBtnStrikeNor" imagePosition="only" alignment="center" imageScaling="proportionallyDown" inset="2" id="vT7-GU-Jhe">
                                             <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                                             <font key="font" metaFont="system"/>
@@ -488,8 +488,8 @@
                                             <action selector="borderButtonAction:" target="-2" id="yhp-LA-40f"/>
                                         </connections>
                                     </button>
-                                    <comboBox verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="DvE-Q8-vIM" customClass="KMComboBox" customModule="PDF_Reader_Pro" customModuleProvider="target">
-                                        <rect key="frame" x="377" y="63" width="72" height="23"/>
+                                    <comboBox focusRingType="none" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="DvE-Q8-vIM" customClass="KMComboBox" customModule="PDF_Reader_Pro" customModuleProvider="target">
+                                        <rect key="frame" x="376" y="65" width="73" height="23"/>
                                         <constraints>
                                             <constraint firstAttribute="width" constant="69" id="RT6-4A-iQr"/>
                                         </constraints>
@@ -512,13 +512,13 @@
                                         </connections>
                                     </comboBox>
                                     <slider verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="LGR-ek-Rjl">
-                                        <rect key="frame" x="-2" y="60" width="373" height="28"/>
+                                        <rect key="frame" x="-2" y="61" width="373" height="28"/>
                                         <sliderCell key="cell" state="on" alignment="left" minValue="0.5" maxValue="18" doubleValue="0.5" tickMarkPosition="above" sliderType="linear" id="KZY-fm-DtC"/>
                                         <connections>
                                             <action selector="lineWidthSliderAction:" target="-2" id="URX-gp-Tf1"/>
                                         </connections>
                                     </slider>
-                                    <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="zV9-T2-KOp">
+                                    <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="zV9-T2-KOp">
                                         <rect key="frame" x="-2" y="31" width="453" height="16"/>
                                         <textFieldCell key="cell" lineBreakMode="clipping" title="Label" id="1lV-Zh-HTu">
                                             <font key="font" metaFont="system"/>
@@ -535,13 +535,13 @@
                                     </box>
                                     <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="qpN-xA-FDn" customClass="KMButton" customModule="PDF_Reader_Pro" customModuleProvider="target">
                                         <rect key="frame" x="0.0" y="0.0" width="144" height="24"/>
-                                        <constraints>
-                                            <constraint firstAttribute="height" constant="24" id="zW5-tC-COX"/>
-                                        </constraints>
                                         <buttonCell key="cell" type="square" title="Button" bezelStyle="shadowlessSquare" imagePosition="only" alignment="center" imageScaling="proportionallyDown" inset="2" id="XWY-h5-eoR">
                                             <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                                             <font key="font" metaFont="system"/>
                                         </buttonCell>
+                                        <constraints>
+                                            <constraint firstAttribute="height" constant="24" id="zW5-tC-COX"/>
+                                        </constraints>
                                         <connections>
                                             <action selector="lineTypeButtonAction:" target="-2" id="cdI-5x-EZl"/>
                                         </connections>
@@ -553,15 +553,15 @@
                                             <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                         </view>
                                     </box>
-                                    <button verticalHuggingPriority="750" tag="1" translatesAutoresizingMaskIntoConstraints="NO" id="oGT-YN-wXO" customClass="KMButton" customModule="PDF_Reader_Pro" customModuleProvider="target">
+                                    <button tag="1" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="oGT-YN-wXO" customClass="KMButton" customModule="PDF_Reader_Pro" customModuleProvider="target">
                                         <rect key="frame" x="153" y="0.0" width="143" height="24"/>
-                                        <constraints>
-                                            <constraint firstAttribute="height" constant="24" id="YWr-iy-XVX"/>
-                                        </constraints>
                                         <buttonCell key="cell" type="square" title="Button" bezelStyle="shadowlessSquare" imagePosition="only" alignment="center" imageScaling="proportionallyDown" inset="2" id="yVa-dQ-A17">
                                             <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                                             <font key="font" metaFont="system"/>
                                         </buttonCell>
+                                        <constraints>
+                                            <constraint firstAttribute="height" constant="24" id="YWr-iy-XVX"/>
+                                        </constraints>
                                         <connections>
                                             <action selector="lineTypeButtonAction:" target="-2" id="Jor-h2-6N9"/>
                                         </connections>
@@ -573,15 +573,15 @@
                                             <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                         </view>
                                     </box>
-                                    <button verticalHuggingPriority="750" tag="2" translatesAutoresizingMaskIntoConstraints="NO" id="ZjM-D6-rzr" customClass="KMButton" customModule="PDF_Reader_Pro" customModuleProvider="target">
+                                    <button tag="2" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="ZjM-D6-rzr" customClass="KMButton" customModule="PDF_Reader_Pro" customModuleProvider="target">
                                         <rect key="frame" x="305" y="0.0" width="144" height="24"/>
-                                        <constraints>
-                                            <constraint firstAttribute="height" constant="24" id="yrC-QK-pLc"/>
-                                        </constraints>
                                         <buttonCell key="cell" type="square" title="Button" bezelStyle="shadowlessSquare" imagePosition="only" alignment="center" imageScaling="proportionallyDown" inset="2" id="udR-nJ-pZY">
                                             <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                                             <font key="font" metaFont="system"/>
                                         </buttonCell>
+                                        <constraints>
+                                            <constraint firstAttribute="height" constant="24" id="yrC-QK-pLc"/>
+                                        </constraints>
                                         <connections>
                                             <action selector="lineTypeButtonAction:" target="-2" id="atb-rS-7Sl"/>
                                         </connections>
@@ -625,10 +625,10 @@
                                 </constraints>
                             </customView>
                             <customView translatesAutoresizingMaskIntoConstraints="NO" id="RvS-7l-bgc">
-                                <rect key="frame" x="16" y="817" width="449" height="51"/>
+                                <rect key="frame" x="16" y="820" width="449" height="54"/>
                                 <subviews>
-                                    <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="FwF-01-QBW">
-                                        <rect key="frame" x="-2" y="31" width="453" height="20"/>
+                                    <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="FwF-01-QBW">
+                                        <rect key="frame" x="-2" y="34" width="453" height="20"/>
                                         <constraints>
                                             <constraint firstAttribute="height" constant="20" id="dhS-GB-vO7"/>
                                         </constraints>
@@ -639,7 +639,7 @@
                                         </textFieldCell>
                                     </textField>
                                     <comboBox focusRingType="none" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="RfV-LZ-n4w" customClass="KMComboBox" customModule="PDF_Reader_Pro" customModuleProvider="target">
-                                        <rect key="frame" x="377" y="0.0" width="72" height="23"/>
+                                        <rect key="frame" x="376" y="2" width="73" height="23"/>
                                         <constraints>
                                             <constraint firstAttribute="width" constant="69" id="8OG-pa-Aq1"/>
                                         </constraints>
@@ -659,7 +659,7 @@
                                         </connections>
                                     </comboBox>
                                     <slider verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="6ox-uY-Xd9">
-                                        <rect key="frame" x="-2" y="-3" width="371" height="28"/>
+                                        <rect key="frame" x="-2" y="-2" width="371" height="28"/>
                                         <sliderCell key="cell" alignment="left" maxValue="1" tickMarkPosition="above" sliderType="linear" id="02E-sv-zXi"/>
                                         <connections>
                                             <action selector="opacitySliderAction:" target="-2" id="2vM-r9-SaR"/>
@@ -681,7 +681,7 @@
                             <customView translatesAutoresizingMaskIntoConstraints="NO" id="joR-lq-lUb">
                                 <rect key="frame" x="16" y="611" width="449" height="64"/>
                                 <subviews>
-                                    <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="eJ4-EW-YPt">
+                                    <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="eJ4-EW-YPt">
                                         <rect key="frame" x="-2" y="34" width="50" height="20"/>
                                         <constraints>
                                             <constraint firstAttribute="height" constant="20" id="xLM-Hk-PW8"/>
@@ -758,7 +758,7 @@
                             <customView translatesAutoresizingMaskIntoConstraints="NO" id="Yht-jz-1VV">
                                 <rect key="frame" x="16" y="537" width="449" height="64"/>
                                 <subviews>
-                                    <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="K0o-2w-Okl">
+                                    <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="K0o-2w-Okl">
                                         <rect key="frame" x="-2" y="34" width="39" height="20"/>
                                         <constraints>
                                             <constraint firstAttribute="height" constant="20" id="eXX-uF-6Ej"/>
@@ -774,60 +774,60 @@
                                         <subviews>
                                             <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="ukt-HS-mUF">
                                                 <rect key="frame" x="0.0" y="0.0" width="24" height="24"/>
-                                                <constraints>
-                                                    <constraint firstAttribute="width" constant="24" id="XzW-er-LUO"/>
-                                                    <constraint firstAttribute="height" constant="24" id="uyl-hS-gP1"/>
-                                                </constraints>
                                                 <buttonCell key="cell" type="bevel" bezelStyle="rounded" image="KMImageNameUXIconPropertybarFillsignTickNor" imagePosition="only" alignment="center" imageScaling="proportionallyDown" inset="2" id="z7x-v7-Pob">
                                                     <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                                                     <font key="font" metaFont="system"/>
                                                 </buttonCell>
+                                                <constraints>
+                                                    <constraint firstAttribute="width" constant="24" id="XzW-er-LUO"/>
+                                                    <constraint firstAttribute="height" constant="24" id="uyl-hS-gP1"/>
+                                                </constraints>
                                             </button>
                                             <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="lfs-Al-Pi6">
                                                 <rect key="frame" x="106" y="0.0" width="24" height="24"/>
-                                                <constraints>
-                                                    <constraint firstAttribute="height" constant="24" id="1og-ji-xzZ"/>
-                                                    <constraint firstAttribute="width" constant="24" id="aeR-Vq-NOe"/>
-                                                </constraints>
                                                 <buttonCell key="cell" type="bevel" bezelStyle="rounded" image="KMImageNameUXIconPropertybarFillsignForkNor" imagePosition="only" alignment="center" imageScaling="proportionallyDown" inset="2" id="ZHe-lG-2fF">
                                                     <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                                                     <font key="font" metaFont="system"/>
                                                 </buttonCell>
+                                                <constraints>
+                                                    <constraint firstAttribute="height" constant="24" id="1og-ji-xzZ"/>
+                                                    <constraint firstAttribute="width" constant="24" id="aeR-Vq-NOe"/>
+                                                </constraints>
                                             </button>
                                             <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="M0W-kD-80i">
                                                 <rect key="frame" x="213" y="0.0" width="24" height="24"/>
-                                                <constraints>
-                                                    <constraint firstAttribute="height" constant="24" id="doP-M6-xZk"/>
-                                                    <constraint firstAttribute="width" constant="24" id="tIC-xZ-ACw"/>
-                                                </constraints>
                                                 <buttonCell key="cell" type="bevel" bezelStyle="rounded" image="KMImageNameUXIconPropertybarFillsignRoundedrecNor" imagePosition="only" alignment="center" imageScaling="proportionallyDown" inset="2" id="FWZ-tb-YwG">
                                                     <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                                                     <font key="font" metaFont="system"/>
                                                 </buttonCell>
+                                                <constraints>
+                                                    <constraint firstAttribute="height" constant="24" id="doP-M6-xZk"/>
+                                                    <constraint firstAttribute="width" constant="24" id="tIC-xZ-ACw"/>
+                                                </constraints>
                                             </button>
                                             <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="EUu-AQ-1vt">
                                                 <rect key="frame" x="319" y="0.0" width="24" height="24"/>
-                                                <constraints>
-                                                    <constraint firstAttribute="height" constant="24" id="Ld7-qc-gUH"/>
-                                                    <constraint firstAttribute="width" constant="24" id="dJM-yY-gRu"/>
-                                                </constraints>
                                                 <buttonCell key="cell" type="bevel" bezelStyle="rounded" image="KMImageNameUXIconPropertybarFillsignLineNor" imagePosition="only" alignment="center" imageScaling="proportionallyDown" inset="2" id="7Hb-Le-cQu">
                                                     <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                                                     <font key="font" metaFont="system"/>
                                                 </buttonCell>
+                                                <constraints>
+                                                    <constraint firstAttribute="height" constant="24" id="Ld7-qc-gUH"/>
+                                                    <constraint firstAttribute="width" constant="24" id="dJM-yY-gRu"/>
+                                                </constraints>
                                             </button>
                                             <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="HUY-7m-MAh">
                                                 <rect key="frame" x="425" y="0.0" width="24" height="24"/>
-                                                <constraints>
-                                                    <constraint firstAttribute="width" constant="24" id="0px-Ms-77p"/>
-                                                    <constraint firstAttribute="height" constant="24" id="Orc-fV-85S"/>
-                                                </constraints>
                                                 <buttonCell key="cell" type="bevel" bezelStyle="rounded" image="KMImageNameUXIconPropertybarFillsignPointNor" imagePosition="only" alignment="center" imageScaling="proportionallyDown" inset="2" id="ADb-1x-YJl">
                                                     <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                                                     <font key="font" metaFont="system"/>
                                                 </buttonCell>
+                                                <constraints>
+                                                    <constraint firstAttribute="width" constant="24" id="0px-Ms-77p"/>
+                                                    <constraint firstAttribute="height" constant="24" id="Orc-fV-85S"/>
+                                                </constraints>
                                             </button>
-                                            <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="QSn-tN-yKq">
+                                            <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="QSn-tN-yKq">
                                                 <rect key="frame" x="22" y="4" width="86" height="16"/>
                                                 <textFieldCell key="cell" lineBreakMode="clipping" id="zig-4h-RlL">
                                                     <font key="font" metaFont="system"/>
@@ -835,7 +835,7 @@
                                                     <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
                                                 </textFieldCell>
                                             </textField>
-                                            <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="2Rq-R5-NNa">
+                                            <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="2Rq-R5-NNa">
                                                 <rect key="frame" x="128" y="4" width="87" height="16"/>
                                                 <textFieldCell key="cell" lineBreakMode="clipping" id="6NB-UM-esl">
                                                     <font key="font" metaFont="system"/>
@@ -843,7 +843,7 @@
                                                     <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
                                                 </textFieldCell>
                                             </textField>
-                                            <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="h7b-Mq-6cG">
+                                            <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="h7b-Mq-6cG">
                                                 <rect key="frame" x="235" y="4" width="86" height="16"/>
                                                 <textFieldCell key="cell" lineBreakMode="clipping" id="NNh-RR-Lqn">
                                                     <font key="font" metaFont="system"/>
@@ -851,7 +851,7 @@
                                                     <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
                                                 </textFieldCell>
                                             </textField>
-                                            <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="v1b-mb-wLg">
+                                            <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="v1b-mb-wLg">
                                                 <rect key="frame" x="341" y="4" width="86" height="16"/>
                                                 <textFieldCell key="cell" lineBreakMode="clipping" id="T0Y-Wv-y6H">
                                                     <font key="font" metaFont="system"/>
@@ -900,7 +900,7 @@
                             <customView translatesAutoresizingMaskIntoConstraints="NO" id="PaC-YN-6O9">
                                 <rect key="frame" x="16" y="434" width="449" height="93"/>
                                 <subviews>
-                                    <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="98v-4b-0OB">
+                                    <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="98v-4b-0OB">
                                         <rect key="frame" x="-2" y="63" width="37" height="20"/>
                                         <constraints>
                                             <constraint firstAttribute="height" constant="20" id="uZ5-aL-PoH"/>
@@ -913,9 +913,6 @@
                                     </textField>
                                     <popUpButton translatesAutoresizingMaskIntoConstraints="NO" id="oZl-TH-Bvx" customClass="KMPopUpButton" customModule="PDF_Reader_Pro" customModuleProvider="target">
                                         <rect key="frame" x="-5" y="29" width="454" height="24"/>
-                                        <constraints>
-                                            <constraint firstAttribute="height" constant="24" id="xWe-Zh-6dg"/>
-                                        </constraints>
                                         <popUpButtonCell key="cell" type="square" title="Item 1" bezelStyle="shadowlessSquare" alignment="left" lineBreakMode="truncatingTail" state="on" imageScaling="proportionallyDown" inset="2" arrowPosition="noArrow" selectedItem="fEY-zW-raT" id="JrJ-qI-5wL">
                                             <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                                             <font key="font" metaFont="menu"/>
@@ -927,6 +924,9 @@
                                                 </items>
                                             </menu>
                                         </popUpButtonCell>
+                                        <constraints>
+                                            <constraint firstAttribute="height" constant="24" id="xWe-Zh-6dg"/>
+                                        </constraints>
                                         <connections>
                                             <action selector="dateCheckButtonAction:" target="-2" id="UVL-pn-LDb"/>
                                         </connections>
@@ -956,7 +956,7 @@
                             <customView translatesAutoresizingMaskIntoConstraints="NO" id="jhc-Pb-0cV">
                                 <rect key="frame" x="16" y="260" width="449" height="164"/>
                                 <subviews>
-                                    <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="ZHR-Sp-5tZ">
+                                    <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="ZHR-Sp-5tZ">
                                         <rect key="frame" x="-2" y="130" width="34" height="24"/>
                                         <constraints>
                                             <constraint firstAttribute="height" constant="24" id="3Ou-mK-X6d"/>
@@ -975,14 +975,14 @@
                                             <subviews>
                                                 <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="3Ed-Ae-CMS">
                                                     <rect key="frame" x="28" y="0.0" width="50" height="56"/>
-                                                    <constraints>
-                                                        <constraint firstAttribute="width" constant="50" id="OPO-Ry-2DB"/>
-                                                        <constraint firstAttribute="height" constant="56" id="y9b-b7-L6i"/>
-                                                    </constraints>
                                                     <buttonCell key="cell" type="square" title="Button" bezelStyle="shadowlessSquare" image="KMImageNameUXIconPropertybarNoteAnnotationNor" imagePosition="above" alignment="center" scrollable="YES" lineBreakMode="clipping" imageScaling="proportionallyDown" inset="2" id="8we-yJ-WKl" customClass="KMNoteIconButtonCell" customModule="PDF_Reader_Pro" customModuleProvider="target">
                                                         <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                                                         <font key="font" metaFont="smallSystem"/>
                                                     </buttonCell>
+                                                    <constraints>
+                                                        <constraint firstAttribute="width" constant="50" id="OPO-Ry-2DB"/>
+                                                        <constraint firstAttribute="height" constant="56" id="y9b-b7-L6i"/>
+                                                    </constraints>
                                                     <connections>
                                                         <action selector="iconButtonAction:" target="-2" id="9w4-tQ-4B5"/>
                                                     </connections>
@@ -1003,7 +1003,7 @@
                                             <rect key="frame" x="0.0" y="0.0" width="107" height="56"/>
                                             <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                             <subviews>
-                                                <button verticalHuggingPriority="750" tag="1" translatesAutoresizingMaskIntoConstraints="NO" id="pNP-oo-3HC">
+                                                <button tag="1" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="pNP-oo-3HC">
                                                     <rect key="frame" x="28" y="0.0" width="50" height="56"/>
                                                     <buttonCell key="cell" type="square" title="Button" bezelStyle="shadowlessSquare" image="KMImageNameUXIconPropertybarNoteKeywordNor" imagePosition="above" alignment="center" scrollable="YES" lineBreakMode="clipping" imageScaling="proportionallyDown" inset="2" id="x9S-PD-K5t" customClass="KMNoteIconButtonCell" customModule="PDF_Reader_Pro" customModuleProvider="target">
                                                         <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
@@ -1029,7 +1029,7 @@
                                             <rect key="frame" x="0.0" y="0.0" width="106" height="56"/>
                                             <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                             <subviews>
-                                                <button verticalHuggingPriority="750" tag="3" translatesAutoresizingMaskIntoConstraints="NO" id="VCq-Fv-Klu">
+                                                <button tag="3" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="VCq-Fv-Klu">
                                                     <rect key="frame" x="28" y="0.0" width="50" height="56"/>
                                                     <buttonCell key="cell" type="square" title="Button" bezelStyle="shadowlessSquare" image="KMImageNameUXIconPropertybarNoteHelpNor" imagePosition="above" alignment="center" scrollable="YES" lineBreakMode="clipping" imageScaling="proportionallyDown" inset="2" id="kSq-7X-thX" customClass="KMNoteIconButtonCell" customModule="PDF_Reader_Pro" customModuleProvider="target">
                                                         <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
@@ -1055,7 +1055,7 @@
                                             <rect key="frame" x="0.0" y="0.0" width="106" height="56"/>
                                             <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                             <subviews>
-                                                <button verticalHuggingPriority="750" tag="4" translatesAutoresizingMaskIntoConstraints="NO" id="d7b-6U-kd3">
+                                                <button tag="4" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="d7b-6U-kd3">
                                                     <rect key="frame" x="28" y="0.0" width="50" height="56"/>
                                                     <buttonCell key="cell" type="square" title="Button" bezelStyle="shadowlessSquare" image="KMImageNameUXIconPropertybarNoteNewparagraphNor" imagePosition="above" alignment="center" scrollable="YES" lineBreakMode="clipping" imageScaling="proportionallyDown" inset="2" id="Xdy-yH-fug" customClass="KMNoteIconButtonCell" customModule="PDF_Reader_Pro" customModuleProvider="target">
                                                         <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
@@ -1081,7 +1081,7 @@
                                             <rect key="frame" x="0.0" y="0.0" width="107" height="56"/>
                                             <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                             <subviews>
-                                                <button verticalHuggingPriority="750" tag="5" translatesAutoresizingMaskIntoConstraints="NO" id="sxj-hT-PcD">
+                                                <button tag="5" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="sxj-hT-PcD">
                                                     <rect key="frame" x="28" y="0.0" width="50" height="56"/>
                                                     <buttonCell key="cell" type="square" title="Button" bezelStyle="shadowlessSquare" image="KMImageNameUXIconPropertybarNoteParagraphNor" imagePosition="above" alignment="center" scrollable="YES" lineBreakMode="clipping" imageScaling="proportionallyDown" inset="2" id="uwc-Vw-AjX" customClass="KMNoteIconButtonCell" customModule="PDF_Reader_Pro" customModuleProvider="target">
                                                         <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
@@ -1107,7 +1107,7 @@
                                             <rect key="frame" x="0.0" y="0.0" width="106" height="56"/>
                                             <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                             <subviews>
-                                                <button verticalHuggingPriority="750" tag="6" translatesAutoresizingMaskIntoConstraints="NO" id="fgj-OF-eg6">
+                                                <button tag="6" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="fgj-OF-eg6">
                                                     <rect key="frame" x="28" y="0.0" width="50" height="56"/>
                                                     <buttonCell key="cell" type="square" title="Button" bezelStyle="shadowlessSquare" image="KMImageNameUXIconPropertybarNoteInsertNor" imagePosition="above" alignment="center" scrollable="YES" lineBreakMode="clipping" imageScaling="proportionallyDown" inset="2" id="OSE-y6-2oj" customClass="KMNoteIconButtonCell" customModule="PDF_Reader_Pro" customModuleProvider="target">
                                                         <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
@@ -1133,7 +1133,7 @@
                                             <rect key="frame" x="0.0" y="0.0" width="106" height="56"/>
                                             <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                             <subviews>
-                                                <button verticalHuggingPriority="750" tag="2" translatesAutoresizingMaskIntoConstraints="NO" id="InC-Sr-498">
+                                                <button tag="2" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="InC-Sr-498">
                                                     <rect key="frame" x="28" y="0.0" width="50" height="56"/>
                                                     <buttonCell key="cell" type="square" title="Button" bezelStyle="shadowlessSquare" image="KMImageNameUXIconPropertybarNoteNotesNor" imagePosition="above" alignment="center" scrollable="YES" lineBreakMode="clipping" imageScaling="proportionallyDown" inset="2" id="4HQ-Cw-eAg" customClass="KMNoteIconButtonCell" customModule="PDF_Reader_Pro" customModuleProvider="target">
                                                         <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
@@ -1196,7 +1196,7 @@
                             <customView translatesAutoresizingMaskIntoConstraints="NO" id="sRx-9T-I8q">
                                 <rect key="frame" x="16" y="10" width="449" height="240"/>
                                 <subviews>
-                                    <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="s1l-c4-MtY">
+                                    <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="s1l-c4-MtY">
                                         <rect key="frame" x="-2" y="210" width="37" height="20"/>
                                         <constraints>
                                             <constraint firstAttribute="height" constant="20" id="NUR-LV-pJP"/>
@@ -1247,9 +1247,9 @@
                                 </constraints>
                             </customView>
                             <customView translatesAutoresizingMaskIntoConstraints="NO" id="CS7-HL-m8i">
-                                <rect key="frame" x="16" y="888" width="449" height="72"/>
+                                <rect key="frame" x="16" y="894" width="449" height="72"/>
                                 <subviews>
-                                    <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Xnj-9I-IIC">
+                                    <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Xnj-9I-IIC">
                                         <rect key="frame" x="-2" y="42" width="62" height="20"/>
                                         <constraints>
                                             <constraint firstAttribute="height" constant="20" id="m3d-WT-9YN"/>
@@ -1354,27 +1354,27 @@
                             </imageView>
                             <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="sYo-IE-4Vd">
                                 <rect key="frame" x="406" y="32" width="16" height="16"/>
-                                <constraints>
-                                    <constraint firstAttribute="width" constant="16" id="4Ey-Cn-WTH"/>
-                                    <constraint firstAttribute="height" constant="16" id="iLk-Q3-Y73"/>
-                                </constraints>
                                 <buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="KMImageNameUXIconBtnTriDownNor" imagePosition="overlaps" alignment="center" imageScaling="proportionallyDown" inset="2" id="oHx-Zm-zTd">
                                     <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                                     <font key="font" metaFont="system"/>
                                 </buttonCell>
+                                <constraints>
+                                    <constraint firstAttribute="width" constant="16" id="4Ey-Cn-WTH"/>
+                                    <constraint firstAttribute="height" constant="16" id="iLk-Q3-Y73"/>
+                                </constraints>
                                 <connections>
                                     <action selector="textImageBoxButtonAction:" target="-2" id="WEW-d2-aI8"/>
                                 </connections>
                             </button>
                             <button hidden="YES" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="VlT-10-Y8y">
                                 <rect key="frame" x="356" y="30" width="42" height="20"/>
-                                <constraints>
-                                    <constraint firstAttribute="height" constant="20" id="J9f-Se-4X9"/>
-                                </constraints>
                                 <buttonCell key="cell" type="square" title="Button" bezelStyle="shadowlessSquare" alignment="center" imageScaling="proportionallyDown" inset="2" id="vyy-7c-IqO">
                                     <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                                     <font key="font" metaFont="cellTitle"/>
                                 </buttonCell>
+                                <constraints>
+                                    <constraint firstAttribute="height" constant="20" id="J9f-Se-4X9"/>
+                                </constraints>
                             </button>
                         </subviews>
                         <constraints>

+ 1 - 24
PDF Office/PDF Master/Class/PDFWindowController/ViewController/KMMainViewController+Action.swift

@@ -810,30 +810,7 @@ extension KMMainViewController {
     }
      
     @objc func customCropModel(sender: NSMenuItem) {
-        let pdfDoc: CPDFDocument = self.listView.document
-        if !pdfDoc.allowsCopying || !pdfDoc.allowsPrinting {
-            let alert = NSAlert()
-            alert.alertStyle = .critical
-            alert.messageText = NSLocalizedString("This is a secured document. Editing is not permitted.", comment: "")
-            alert.runModal()
-            return
-        }
-        let window = NSWindow.currentWindow()
-        let currentPage = pdfDoc.index(for: self.listView.currentPage())
-        let cropVC = KMPDFCropWindowController(document: pdfDoc, pwd: "", currentPage: Int(currentPage), cropSize: NSMakeRect(100, 100, 50, 80), selectPageString: "\(currentPage)")
-        window.km_beginSheet(windowC: cropVC)
-        cropVC.cropWindowCloseBlock = { [weak self] doc in
-            window.km_quick_endSheet()
-            let isSuccessful = doc.write(to: self?.listView.document?.documentURL)
-            if isSuccessful {
-                if let documen = CPDFDocument(url: self?.document?.documentURL) {
-                    if documen.isLocked {
-                        documen.unlock(withPassword: pdfDoc.password)
-                    }
-                    self?.setDocument = documen
-                }
-            }
-        }
+        
     }
     @objc func rotateRightAction(sender: NSMenuItem) {
         

+ 12 - 0
PDF Office/PDF Master/KMClass/KMPDFViewController/EditTool/Crop/KMCropManager.swift

@@ -0,0 +1,12 @@
+//
+//  KMCropManager.swift
+//  PDF Reader Pro
+//
+//  Created by Niehaoyu on 2024/11/22.
+//
+
+import Cocoa
+
+class KMCropManager: NSObject {
+
+}

+ 2 - 2
PDF Office/PDF Master/Class/PDFTools/Crop/Tools/KMCropTools.swift

@@ -75,7 +75,7 @@ import Cocoa
     
     class func newBitmapImageRepForBox(_ page: CPDFPage, _ box: CPDFDisplayBox) -> NSBitmapImageRep? {
         let bounds = page.bounds(for: box)
-        var imageRep = NSBitmapImageRep(bitmapDataPlanes: nil,
+        let imageRep = NSBitmapImageRep(bitmapDataPlanes: nil,
                                         pixelsWide: Int(NSWidth(bounds)),
                                         pixelsHigh: Int(NSHeight(bounds)),
                                         bitsPerSample: 8,
@@ -93,7 +93,7 @@ import Cocoa
             NSGraphicsContext.current?.imageInterpolation = .none
             NSGraphicsContext.current?.shouldAntialias = false
             if (page.rotation != 0) {
-                var transform = NSAffineTransform()
+                let transform = NSAffineTransform()
                 if (page.rotation == 90) {
                     transform.translateX(by: NSWidth(bounds), yBy: 0)
                 } else if (page.rotation == 180) {

+ 1 - 1
PDF Office/PDF Master/KMClass/KMPDFViewController/EditTool/Crop/Views/KMCropPropertyController.swift

@@ -54,7 +54,7 @@ class KMCropPropertyController: NSViewController {
     
     weak open var delegate: KMCropPropertyControllerDelegate?
     
-    var pdfView: CPDFListView?
+    public var pdfView: CPDFListView?
     
     override func viewDidLoad() {
         super.viewDidLoad()

+ 0 - 17
PDF Office/PDF Master/KMClass/KMPDFViewController/EditTool/Watermark/Base/KMWatermarkAdjectivePreViewBaseController.swift

@@ -7,23 +7,6 @@
 
 import Cocoa
 
-class KMWatermarkTestWindow: NSWindow {
-    
-    var controller: KMWatermarkAdjectivePreViewBaseController!
-    
-    override init(contentRect: NSRect, styleMask style: NSWindow.StyleMask, backing backingStoreType: NSWindow.BackingStoreType, defer flag: Bool) {
-        super.init(contentRect: contentRect, styleMask: style, backing: backingStoreType, defer: flag);
-        
-        isReleasedWhenClosed = false
-        
-        let controller_: KMCropPreviewController = KMCropPreviewController()
-        contentView?.addSubview(controller_.view)
-        controller_.view.frame = CGRect(x: 0, y: 0, width: contentRect.size.width, height: contentRect.size.height)
-        controller = controller_
-    }
-    
-}
-
 typealias KMWatermarkAdjectivePageNumberViewCallback = (_ value: String) -> ()
 class KMWatermarkAdjectivePageNumberView: NSView , NSTextFieldDelegate{
     var numberTextField = NSTextField()

+ 0 - 1
PDF Office/PDF Master/KMClass/KMPDFViewController/KMMainViewController.swift

@@ -146,7 +146,6 @@ import KMComponentLibrary
     
     weak var browserWindowController: KMBrowserWindowController? //慎直接使用这个方法
     
-    var cropSettingWindowController: KMCropSettingWindowController!
     var currentWindowController: NSWindowController!
     var savedNormalSetup: NSMutableDictionary = NSMutableDictionary()
     

+ 9 - 97
PDF Office/PDF Reader Pro.xcodeproj/project.pbxproj

@@ -2656,9 +2656,6 @@
 		BB04FD102B206F4000D80F7B /* KMPlanViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB04FD0F2B206F4000D80F7B /* KMPlanViewController.xib */; };
 		BB04FD112B206F4000D80F7B /* KMPlanViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB04FD0F2B206F4000D80F7B /* KMPlanViewController.xib */; };
 		BB04FD122B206F4000D80F7B /* KMPlanViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB04FD0F2B206F4000D80F7B /* KMPlanViewController.xib */; };
-		BB0542152965705D00F2665C /* KMCropTipView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB0542142965705D00F2665C /* KMCropTipView.swift */; };
-		BB0542162965705D00F2665C /* KMCropTipView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB0542142965705D00F2665C /* KMCropTipView.swift */; };
-		BB0542172965705D00F2665C /* KMCropTipView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB0542142965705D00F2665C /* KMCropTipView.swift */; };
 		BB072D562C057BD600779B45 /* KMToolbarConfigWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB072D542C057BD600779B45 /* KMToolbarConfigWindowController.swift */; };
 		BB072D572C057BD600779B45 /* KMToolbarConfigWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB072D542C057BD600779B45 /* KMToolbarConfigWindowController.swift */; };
 		BB072D582C057BD600779B45 /* KMToolbarConfigWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB072D542C057BD600779B45 /* KMToolbarConfigWindowController.swift */; };
@@ -3761,6 +3758,9 @@
 		BB671A012AD2D2A0003D44D5 /* CPDFStampAnnotation+PDFListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB671A002AD2D2A0003D44D5 /* CPDFStampAnnotation+PDFListView.swift */; };
 		BB671A022AD2D2A0003D44D5 /* CPDFStampAnnotation+PDFListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB671A002AD2D2A0003D44D5 /* CPDFStampAnnotation+PDFListView.swift */; };
 		BB671A032AD2D2A0003D44D5 /* CPDFStampAnnotation+PDFListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB671A002AD2D2A0003D44D5 /* CPDFStampAnnotation+PDFListView.swift */; };
+		BB67DA212CF08101001E77FA /* KMCropManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB67DA202CF08101001E77FA /* KMCropManager.swift */; };
+		BB67DA222CF08101001E77FA /* KMCropManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB67DA202CF08101001E77FA /* KMCropManager.swift */; };
+		BB67DA232CF08101001E77FA /* KMCropManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB67DA202CF08101001E77FA /* KMCropManager.swift */; };
 		BB67EE172B54FFEF00573BF0 /* ASIDataCompressor.m in Sources */ = {isa = PBXBuildFile; fileRef = BB67EE052B54FFEF00573BF0 /* ASIDataCompressor.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
 		BB67EE182B54FFEF00573BF0 /* ASIDataCompressor.m in Sources */ = {isa = PBXBuildFile; fileRef = BB67EE052B54FFEF00573BF0 /* ASIDataCompressor.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
 		BB67EE192B54FFEF00573BF0 /* ASIDataCompressor.m in Sources */ = {isa = PBXBuildFile; fileRef = BB67EE052B54FFEF00573BF0 /* ASIDataCompressor.m */; settings = {COMPILER_FLAGS = "-fno-objc-arc"; }; };
@@ -4505,12 +4505,6 @@
 		BBAFC84D298519F700D0648E /* KMSavePanelAccessoryController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BBAFC849298519F600D0648E /* KMSavePanelAccessoryController.xib */; };
 		BBAFC84E298519F700D0648E /* KMSavePanelAccessoryController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BBAFC849298519F600D0648E /* KMSavePanelAccessoryController.xib */; };
 		BBAFC84F298519F700D0648E /* KMSavePanelAccessoryController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BBAFC849298519F600D0648E /* KMSavePanelAccessoryController.xib */; };
-		BBAFDA792B4CDE0000278BC3 /* KMPDFCropWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBAFDA782B4CDE0000278BC3 /* KMPDFCropWindowController.swift */; };
-		BBAFDA7A2B4CDE0000278BC3 /* KMPDFCropWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBAFDA782B4CDE0000278BC3 /* KMPDFCropWindowController.swift */; };
-		BBAFDA7B2B4CDE0000278BC3 /* KMPDFCropWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBAFDA782B4CDE0000278BC3 /* KMPDFCropWindowController.swift */; };
-		BBAFDA7D2B4CDE1D00278BC3 /* KMPDFCropWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BBAFDA7C2B4CDE1D00278BC3 /* KMPDFCropWindowController.xib */; };
-		BBAFDA7E2B4CDE1D00278BC3 /* KMPDFCropWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BBAFDA7C2B4CDE1D00278BC3 /* KMPDFCropWindowController.xib */; };
-		BBAFDA7F2B4CDE1D00278BC3 /* KMPDFCropWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BBAFDA7C2B4CDE1D00278BC3 /* KMPDFCropWindowController.xib */; };
 		BBAFFB1B29CDD19C00C56112 /* KMMergeSelect.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBAFFB1A29CDD19C00C56112 /* KMMergeSelect.swift */; };
 		BBAFFB1C29CDD19C00C56112 /* KMMergeSelect.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBAFFB1A29CDD19C00C56112 /* KMMergeSelect.swift */; };
 		BBAFFB1D29CDD19C00C56112 /* KMMergeSelect.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBAFFB1A29CDD19C00C56112 /* KMMergeSelect.swift */; };
@@ -4780,12 +4774,6 @@
 		BBC28F4E2B0F58DD00D73206 /* KMImageToolTipWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC28F4D2B0F58DD00D73206 /* KMImageToolTipWindow.swift */; };
 		BBC28F4F2B0F58DD00D73206 /* KMImageToolTipWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC28F4D2B0F58DD00D73206 /* KMImageToolTipWindow.swift */; };
 		BBC28F502B0F58DD00D73206 /* KMImageToolTipWindow.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC28F4D2B0F58DD00D73206 /* KMImageToolTipWindow.swift */; };
-		BBC2BCC6295DA8F30036B983 /* KMCropPreviewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC2BCC4295DA8F30036B983 /* KMCropPreviewController.swift */; };
-		BBC2BCC7295DA8F30036B983 /* KMCropPreviewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC2BCC4295DA8F30036B983 /* KMCropPreviewController.swift */; };
-		BBC2BCC8295DA8F30036B983 /* KMCropPreviewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC2BCC4295DA8F30036B983 /* KMCropPreviewController.swift */; };
-		BBC2BCC9295DA8F30036B983 /* KMCropPreviewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BBC2BCC5295DA8F30036B983 /* KMCropPreviewController.xib */; };
-		BBC2BCCA295DA8F30036B983 /* KMCropPreviewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BBC2BCC5295DA8F30036B983 /* KMCropPreviewController.xib */; };
-		BBC2BCCB295DA8F30036B983 /* KMCropPreviewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BBC2BCC5295DA8F30036B983 /* KMCropPreviewController.xib */; };
 		BBC347FD295448DE008D2CD1 /* KMWatermarkTemplateModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC347FC295448DE008D2CD1 /* KMWatermarkTemplateModel.swift */; };
 		BBC347FE295448DE008D2CD1 /* KMWatermarkTemplateModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC347FC295448DE008D2CD1 /* KMWatermarkTemplateModel.swift */; };
 		BBC347FF295448DE008D2CD1 /* KMWatermarkTemplateModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC347FC295448DE008D2CD1 /* KMWatermarkTemplateModel.swift */; };
@@ -4819,15 +4807,6 @@
 		BBC70EB42AEA847500AC1585 /* KMToolbarCustomViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC70EB32AEA847500AC1585 /* KMToolbarCustomViewController.swift */; };
 		BBC70EB52AEA847500AC1585 /* KMToolbarCustomViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC70EB32AEA847500AC1585 /* KMToolbarCustomViewController.swift */; };
 		BBC70EB62AEA847500AC1585 /* KMToolbarCustomViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC70EB32AEA847500AC1585 /* KMToolbarCustomViewController.swift */; };
-		BBC745EA295F067B0072C2ED /* KMCropSettingWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC745E8295F067B0072C2ED /* KMCropSettingWindowController.swift */; };
-		BBC745EB295F067B0072C2ED /* KMCropSettingWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC745E8295F067B0072C2ED /* KMCropSettingWindowController.swift */; };
-		BBC745EC295F067B0072C2ED /* KMCropSettingWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC745E8295F067B0072C2ED /* KMCropSettingWindowController.swift */; };
-		BBC745ED295F067B0072C2ED /* KMCropSettingWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BBC745E9295F067B0072C2ED /* KMCropSettingWindowController.xib */; };
-		BBC745EE295F067B0072C2ED /* KMCropSettingWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BBC745E9295F067B0072C2ED /* KMCropSettingWindowController.xib */; };
-		BBC745EF295F067B0072C2ED /* KMCropSettingWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BBC745E9295F067B0072C2ED /* KMCropSettingWindowController.xib */; };
-		BBC745F2295F0DD00072C2ED /* KMCropSettingPageSizeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC745F1295F0DD00072C2ED /* KMCropSettingPageSizeView.swift */; };
-		BBC745F3295F0DD00072C2ED /* KMCropSettingPageSizeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC745F1295F0DD00072C2ED /* KMCropSettingPageSizeView.swift */; };
-		BBC745F4295F0DD00072C2ED /* KMCropSettingPageSizeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC745F1295F0DD00072C2ED /* KMCropSettingPageSizeView.swift */; };
 		BBC745F7296178BD0072C2ED /* KMCropTools.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC745F6296178BD0072C2ED /* KMCropTools.swift */; };
 		BBC745F8296178BD0072C2ED /* KMCropTools.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC745F6296178BD0072C2ED /* KMCropTools.swift */; };
 		BBC745F9296178BD0072C2ED /* KMCropTools.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBC745F6296178BD0072C2ED /* KMCropTools.swift */; };
@@ -6799,7 +6778,6 @@
 		BB03D69F2B024AC7008C9976 /* KMPDFEditInsertPageWindow.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = KMPDFEditInsertPageWindow.xib; sourceTree = "<group>"; };
 		BB04FD0B2B206F3600D80F7B /* KMPlanViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMPlanViewController.swift; sourceTree = "<group>"; };
 		BB04FD0F2B206F4000D80F7B /* KMPlanViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = KMPlanViewController.xib; sourceTree = "<group>"; };
-		BB0542142965705D00F2665C /* KMCropTipView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMCropTipView.swift; sourceTree = "<group>"; };
 		BB072D542C057BD600779B45 /* KMToolbarConfigWindowController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMToolbarConfigWindowController.swift; sourceTree = "<group>"; };
 		BB072D552C057BD600779B45 /* KMToolbarConfigWindowController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMToolbarConfigWindowController.xib; sourceTree = "<group>"; };
 		BB072D5C2C05AC8F00779B45 /* KMToolbarConfigViewItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMToolbarConfigViewItem.swift; sourceTree = "<group>"; };
@@ -7265,6 +7243,7 @@
 		BB6719F82AD2CC05003D44D5 /* CPDFSignatureWidgetAnnotation+PDFListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "CPDFSignatureWidgetAnnotation+PDFListView.swift"; sourceTree = "<group>"; };
 		BB6719FC2AD2CE1B003D44D5 /* CPDFSquareAnnotation+PDFListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "CPDFSquareAnnotation+PDFListView.swift"; sourceTree = "<group>"; };
 		BB671A002AD2D2A0003D44D5 /* CPDFStampAnnotation+PDFListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "CPDFStampAnnotation+PDFListView.swift"; sourceTree = "<group>"; };
+		BB67DA202CF08101001E77FA /* KMCropManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMCropManager.swift; sourceTree = "<group>"; };
 		BB67EE052B54FFEF00573BF0 /* ASIDataCompressor.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ASIDataCompressor.m; sourceTree = "<group>"; };
 		BB67EE062B54FFEF00573BF0 /* ASIHTTPRequest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ASIHTTPRequest.m; sourceTree = "<group>"; };
 		BB67EE072B54FFEF00573BF0 /* ASIHTTPRequestDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ASIHTTPRequestDelegate.h; sourceTree = "<group>"; };
@@ -7574,8 +7553,6 @@
 		BBAFC83A2985194800D0648E /* KMPDFEditAppendWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KMPDFEditAppendWindow.h; sourceTree = "<group>"; };
 		BBAFC83B2985194800D0648E /* KMPDFEditAppendWindow.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = KMPDFEditAppendWindow.xib; sourceTree = "<group>"; };
 		BBAFC849298519F600D0648E /* KMSavePanelAccessoryController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = KMSavePanelAccessoryController.xib; sourceTree = "<group>"; };
-		BBAFDA782B4CDE0000278BC3 /* KMPDFCropWindowController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMPDFCropWindowController.swift; sourceTree = "<group>"; };
-		BBAFDA7C2B4CDE1D00278BC3 /* KMPDFCropWindowController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = KMPDFCropWindowController.xib; sourceTree = "<group>"; };
 		BBAFFB1A29CDD19C00C56112 /* KMMergeSelect.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMMergeSelect.swift; sourceTree = "<group>"; };
 		BBB14A522978DD5400936EDB /* KMRedactTools.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMRedactTools.swift; sourceTree = "<group>"; };
 		BBB14A562978E75D00936EDB /* KMRedactMutilPageFlagWindowController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMRedactMutilPageFlagWindowController.swift; sourceTree = "<group>"; };
@@ -7683,8 +7660,6 @@
 		BBC28F452B0F352000D73206 /* KMImageToolTipContext.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMImageToolTipContext.swift; sourceTree = "<group>"; };
 		BBC28F492B0F509B00D73206 /* KMAnimatedBorderlessWindow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMAnimatedBorderlessWindow.swift; sourceTree = "<group>"; };
 		BBC28F4D2B0F58DD00D73206 /* KMImageToolTipWindow.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMImageToolTipWindow.swift; sourceTree = "<group>"; };
-		BBC2BCC4295DA8F30036B983 /* KMCropPreviewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMCropPreviewController.swift; sourceTree = "<group>"; };
-		BBC2BCC5295DA8F30036B983 /* KMCropPreviewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMCropPreviewController.xib; sourceTree = "<group>"; };
 		BBC347FC295448DE008D2CD1 /* KMWatermarkTemplateModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMWatermarkTemplateModel.swift; sourceTree = "<group>"; };
 		BBC348002955403D008D2CD1 /* KMWatermarkFilePropertyInfoController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMWatermarkFilePropertyInfoController.swift; sourceTree = "<group>"; };
 		BBC348012955403D008D2CD1 /* KMWatermarkFilePropertyInfoController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMWatermarkFilePropertyInfoController.xib; sourceTree = "<group>"; };
@@ -7696,9 +7671,6 @@
 		BBC70EA62AEA6EF700AC1585 /* KMToolbarCustomWindowController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = KMToolbarCustomWindowController.xib; sourceTree = "<group>"; };
 		BBC70EAF2AEA80EC00AC1585 /* KMToolbarCustomWindowController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMToolbarCustomWindowController.swift; sourceTree = "<group>"; };
 		BBC70EB32AEA847500AC1585 /* KMToolbarCustomViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMToolbarCustomViewController.swift; sourceTree = "<group>"; };
-		BBC745E8295F067B0072C2ED /* KMCropSettingWindowController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMCropSettingWindowController.swift; sourceTree = "<group>"; };
-		BBC745E9295F067B0072C2ED /* KMCropSettingWindowController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMCropSettingWindowController.xib; sourceTree = "<group>"; };
-		BBC745F1295F0DD00072C2ED /* KMCropSettingPageSizeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMCropSettingPageSizeView.swift; sourceTree = "<group>"; };
 		BBC745F6296178BD0072C2ED /* KMCropTools.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMCropTools.swift; sourceTree = "<group>"; };
 		BBC821E22B0D9F72004B7E8E /* KMStampCreaterWindowController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = KMStampCreaterWindowController.xib; sourceTree = "<group>"; };
 		BBC8A76C2B05EDDE00FA9377 /* KMThumbnail.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMThumbnail.swift; sourceTree = "<group>"; };
@@ -9058,7 +9030,6 @@
 				BB853CA02AF8F947009C20C1 /* AddHeaderFooter */,
 				BB35C49C297535C800D46EE2 /* Redact */,
 				BB1EC7FA2967B24100EC0BC3 /* PageEdit */,
-				BBC2BCC2295DA8700036B983 /* Crop */,
 				BB853C722AF8B4F6009C20C1 /* AddPassword */,
 				BB853C8D2AF8DC34009C20C1 /* RemovePassword */,
 				ADD1B6FF2946C87400C3FFF7 /* Tools */,
@@ -13637,6 +13608,8 @@
 		BB9138332CEE07D200BAB4A7 /* Crop */ = {
 			isa = PBXGroup;
 			children = (
+				BBC745F6296178BD0072C2ED /* KMCropTools.swift */,
+				BB67DA202CF08101001E77FA /* KMCropManager.swift */,
 				BB9138342CEE089C00BAB4A7 /* KMCropController.swift */,
 				BB9138352CEE089C00BAB4A7 /* KMCropController.xib */,
 				BB91383C2CEE08AA00BAB4A7 /* Views */,
@@ -14120,29 +14093,6 @@
 			path = Model;
 			sourceTree = "<group>";
 		};
-		BBC2BCC2295DA8700036B983 /* Crop */ = {
-			isa = PBXGroup;
-			children = (
-				BBC745F52961783C0072C2ED /* Tools */,
-				BBC745F0295F0D970072C2ED /* View */,
-				BBC2BCC3295DA8D40036B983 /* Controller */,
-				BBC745E8295F067B0072C2ED /* KMCropSettingWindowController.swift */,
-				BBC745E9295F067B0072C2ED /* KMCropSettingWindowController.xib */,
-				BBAFDA782B4CDE0000278BC3 /* KMPDFCropWindowController.swift */,
-				BBAFDA7C2B4CDE1D00278BC3 /* KMPDFCropWindowController.xib */,
-			);
-			path = Crop;
-			sourceTree = "<group>";
-		};
-		BBC2BCC3295DA8D40036B983 /* Controller */ = {
-			isa = PBXGroup;
-			children = (
-				BBC2BCC4295DA8F30036B983 /* KMCropPreviewController.swift */,
-				BBC2BCC5295DA8F30036B983 /* KMCropPreviewController.xib */,
-			);
-			path = Controller;
-			sourceTree = "<group>";
-		};
 		BBC3480829558D15008D2CD1 /* Background */ = {
 			isa = PBXGroup;
 			children = (
@@ -14164,23 +14114,6 @@
 			path = Batch;
 			sourceTree = "<group>";
 		};
-		BBC745F0295F0D970072C2ED /* View */ = {
-			isa = PBXGroup;
-			children = (
-				BBC745F1295F0DD00072C2ED /* KMCropSettingPageSizeView.swift */,
-				BB0542142965705D00F2665C /* KMCropTipView.swift */,
-			);
-			path = View;
-			sourceTree = "<group>";
-		};
-		BBC745F52961783C0072C2ED /* Tools */ = {
-			isa = PBXGroup;
-			children = (
-				BBC745F6296178BD0072C2ED /* KMCropTools.swift */,
-			);
-			path = Tools;
-			sourceTree = "<group>";
-		};
 		BBC8A76B2B05EDC800FA9377 /* Model */ = {
 			isa = PBXGroup;
 			children = (
@@ -15305,7 +15238,6 @@
 				BBD14F622CDA16080077D52E /* KMWatermarkSaveWindow.xib in Resources */,
 				BB19A7632CB7CFBC008204DC /* KMHomeQuickToolsView.xib in Resources */,
 				AD1CA3FA2A05FCB60070541F /* KMAnnotationScreenViewController.xib in Resources */,
-				BBC2BCC9295DA8F30036B983 /* KMCropPreviewController.xib in Resources */,
 				BB35732D2AF4F07B004CDA92 /* BatchImage.xcassets in Resources */,
 				9FDD0F67294AB645000C4DAD /* KMMainViewController.xib in Resources */,
 				ADB2D6E9294740F30029D2B3 /* KMPrintPaperSetWindowController.xib in Resources */,
@@ -15534,7 +15466,6 @@
 				ADE86A7B2B0221E100414DFA /* KMSecurityWindowController.xib in Resources */,
 				BBC8A7752B0640C200FA9377 /* KMBotaSearchViewController.xib in Resources */,
 				BB9138392CEE089C00BAB4A7 /* KMCropController.xib in Resources */,
-				BBAFDA7D2B4CDE1D00278BC3 /* KMPDFCropWindowController.xib in Resources */,
 				9F69DBBD2B55014F003D4C45 /* KMAnnotationButtonWidgetAppearanceViewController.xib in Resources */,
 				BBA9223B2B4E97540061057A /* KMPurchaseLimitWindowController.xib in Resources */,
 				BB9007032B8DDCE400623B78 /* SyncPreferences.xib in Resources */,
@@ -15723,7 +15654,6 @@
 				ADFA8F152B60E02B002595A4 /* KMSecureAlertView.xib in Resources */,
 				ADD1B6F82946C0CA00C3FFF7 /* KMPrintChoosePageSizeMultipageView.xib in Resources */,
 				BBB789A22BE8BF2400F7E09C /* AIChatFileInfoItem.xib in Resources */,
-				BBC745ED295F067B0072C2ED /* KMCropSettingWindowController.xib in Resources */,
 				BB1B0AE62B4FC6E900889528 /* KMOpenFileGuideProperty.xib in Resources */,
 				AD3AAD162B0B5B2700DE5FE7 /* KMCompareContentWindowController.xib in Resources */,
 				BBE788902CBD2463008086E2 /* InputNumberVC.xib in Resources */,
@@ -15925,7 +15855,6 @@
 				9FF94F1529A7476000B1EF69 /* KMDesignPropertySelector.xib in Resources */,
 				BBEB0DE42CE36B47004C67BF /* KMRightSideController.xib in Resources */,
 				BBB29BCF2AEA190E005F1B6B /* KMToolbarCustomViewController.xib in Resources */,
-				BBAFDA7E2B4CDE1D00278BC3 /* KMPDFCropWindowController.xib in Resources */,
 				9FF371D82C69B92F005F9CC5 /* CAreaMeasureInfoWindowController.xib in Resources */,
 				ADE86A972B0226BB00414DFA /* KMRemovePasswordView.xib in Resources */,
 				BBEFD0212AF9E5BC003FABD8 /* KMBatchOperateAddHeaderFooterViewController.xib in Resources */,
@@ -15959,7 +15888,6 @@
 				BBFBE74C28DD7DE4008B2335 /* Assets.xcassets in Resources */,
 				ADE3C1AF29A4779E00793B13 /* KMPrintAccessoryController.xib in Resources */,
 				BB5A9D372CB6520100F64C1F /* KMHomeOpenView.xib in Resources */,
-				BBC745EE295F067B0072C2ED /* KMCropSettingWindowController.xib in Resources */,
 				BBB789A32BE8BF2400F7E09C /* AIChatFileInfoItem.xib in Resources */,
 				AD2BF2312B56200D0029F03F /* SF-Pro-Text-Bold.otf in Resources */,
 				89752E082939DB42003FF08E /* KMToolbarViewController.xib in Resources */,
@@ -16277,7 +16205,6 @@
 				BB1B0AEA2B4FC6E900889528 /* KMFunctionGuideMultiController.xib in Resources */,
 				BBB789C12BE8BF2400F7E09C /* AIChatView.xib in Resources */,
 				9FF371F52C69E1B2005F9CC5 /* Localizable.strings in Resources */,
-				BBC2BCCA295DA8F30036B983 /* KMCropPreviewController.xib in Resources */,
 				AD2BF2332B5620150029F03F /* SF-Pro-Text-Semibold.otf in Resources */,
 				AD7D5CF12B96B9E1006562CD /* KMBookmarkOutlineRowView.xib in Resources */,
 				AD3AAD1F2B0B5B4400DE5FE7 /* KMCompareCoveringWindowController.xib in Resources */,
@@ -16690,7 +16617,6 @@
 				ADB2D6EB294740F30029D2B3 /* KMPrintPaperSetWindowController.xib in Resources */,
 				651675EE2CE3313500019A20 /* KMOutlineEditViewController.xib in Resources */,
 				BB1969D32B2833FF00922736 /* KMProgressWindowController.xib in Resources */,
-				BBAFDA7F2B4CDE1D00278BC3 /* KMPDFCropWindowController.xib in Resources */,
 				9F69DBBF2B55014F003D4C45 /* KMAnnotationButtonWidgetAppearanceViewController.xib in Resources */,
 				BBA9223D2B4E97540061057A /* KMPurchaseLimitWindowController.xib in Resources */,
 				BB276A5E2B038D3A00AB5578 /* KMOCRPDFWindowController.xib in Resources */,
@@ -16824,7 +16750,6 @@
 				BBD922352B50D61200DB9585 /* KMRateWindowController.xib in Resources */,
 				BBE789012CBD2464008086E2 /* MessageVC.xib in Resources */,
 				BB1E7F2E2B4FE2C6002D9785 /* GuideInfoImages.xcassets in Resources */,
-				BBC745EF295F067B0072C2ED /* KMCropSettingWindowController.xib in Resources */,
 				BBAFC84F298519F700D0648E /* KMSavePanelAccessoryController.xib in Resources */,
 				656C1E642CD0DFF400295F82 /* KMConvertJsonSettingView.xib in Resources */,
 				ADDF83A62B391A5D00A81A4E /* DSignatureConfigWindowController.xib in Resources */,
@@ -16889,7 +16814,6 @@
 				BBA19F3429ADAC81001A285A /* signPicture_hover.pdf in Resources */,
 				89E4E77E2967B370002DBA6F /* KMDynamicStampViewController.xib in Resources */,
 				ADFA8F172B60E02B002595A4 /* KMSecureAlertView.xib in Resources */,
-				BBC2BCCB295DA8F30036B983 /* KMCropPreviewController.xib in Resources */,
 				BBE788922CBD2463008086E2 /* InputNumberVC.xib in Resources */,
 				BB5A9D632CB6521400F64C1F /* KMPDFToolbarController.xib in Resources */,
 				BB1B0AE82B4FC6E900889528 /* KMOpenFileGuideProperty.xib in Resources */,
@@ -17308,7 +17232,6 @@
 				BBB9B313299A5D6D004F3235 /* DropboxModel.m in Sources */,
 				BBB9B322299A5D6D004F3235 /* KMServicesCloudFile.m in Sources */,
 				BB2C84662BAE716600AF6142 /* KMPopupMenuObject.swift in Sources */,
-				BBC745EA295F067B0072C2ED /* KMCropSettingWindowController.swift in Sources */,
 				9FCFEC6C2AC3D96800EAD2CB /* CPDFListViewAnimatedBorderlessWindow.swift in Sources */,
 				89752DF62938A236003FF08E /* PublicKey.swift in Sources */,
 				BB96C4292CE6DDB2003F3668 /* CPDFListView+Edit.swift in Sources */,
@@ -17365,7 +17288,6 @@
 				BB8F454F295A9FA50037EA22 /* KMCreateHeaderFooterController.swift in Sources */,
 				BBE78F1F2B3875B50071AC1A /* KMLeftSideViewController+Search.swift in Sources */,
 				9FA693A82987C0590055488A /* KMStepperView.swift in Sources */,
-				BBC745F2295F0DD00072C2ED /* KMCropSettingPageSizeView.swift in Sources */,
 				F3599222292CA27B000D25DE /* CPDFListViewRuntime.m in Sources */,
 				BB1331542AD7A6A1008F6791 /* KMFileAttribute.swift in Sources */,
 				BB0A55182A3074F400B6E84B /* KMHoverView.swift in Sources */,
@@ -17725,6 +17647,7 @@
 				AD58F40E2B1DAAA800299EE0 /* KMPrintDefaultView.swift in Sources */,
 				9F1FE4ED29406E4700E952CA /* ThrobberView.m in Sources */,
 				AD055E4A2B72346E0035F824 /* KMBookmarkSheetView.swift in Sources */,
+				BB67DA212CF08101001E77FA /* KMCropManager.swift in Sources */,
 				9F0CB4F9298655E500007028 /* KMDesignToken+Border.swift in Sources */,
 				9F0CB45F2966C9E200007028 /* KMFormPropertPanelViewController.swift in Sources */,
 				BB1B0AF52B4FC6E900889528 /* KMConvertGuideView.swift in Sources */,
@@ -17810,7 +17733,6 @@
 				BBD1F79C296FF7A600343885 /* KMPageEditSplitSettingModel.swift in Sources */,
 				BB3198122AC5142900107371 /* NSMenu+KMExtension.swift in Sources */,
 				BB897265294C724D0045787C /* KMWatermarkAdjectiveOutsideView.swift in Sources */,
-				BBC2BCC6295DA8F30036B983 /* KMCropPreviewController.swift in Sources */,
 				BB0A55142A3052F800B6E84B /* KMCustomTextField.swift in Sources */,
 				65D684062C6A250C003A532E /* KMWavyLineAnnotationController.swift in Sources */,
 				F3DB86062CCA691B00D0AFDE /* KMNExtractPDFWindowController.swift in Sources */,
@@ -17859,7 +17781,6 @@
 				ADDF83292B391A5C00A81A4E /* CPDFSelection+PDFListView.m in Sources */,
 				AD8DD2A32A9C35B2007CC9D0 /* KMThumbnailManager.swift in Sources */,
 				ADAC0DE12AC273D600FD4F52 /* KMOCToolClass.swift in Sources */,
-				BBAFDA792B4CDE0000278BC3 /* KMPDFCropWindowController.swift in Sources */,
 				BB14702C299DC0D100784A6A /* OIDEndSessionRequest.m in Sources */,
 				BB5A9D672CB6521400F64C1F /* KMPDFSecToolbarController.swift in Sources */,
 				657866052CE1E7DD00AFE2DB /* KMBookCellView.swift in Sources */,
@@ -18263,7 +18184,6 @@
 				BB49ECE5293EF54800C82CA2 /* KMCustomPDFView.swift in Sources */,
 				9F0CB48F29683DEE00007028 /* KMPropertiesPanelLineSubVC.swift in Sources */,
 				BB6719E92AD2A57C003D44D5 /* CPDFLinkAnnotation+PDFListView.swift in Sources */,
-				BB0542152965705D00F2665C /* KMCropTipView.swift in Sources */,
 				BB8810BE2B4F872500AFA63E /* KMVerificationWindowController.m in Sources */,
 				ADDF83322B391A5C00A81A4E /* CPDFAnnotation+PDFListView.m in Sources */,
 				ADA9102E2A272CEA003352F0 /* KMImageOptimization.swift in Sources */,
@@ -18642,7 +18562,6 @@
 				BBB9B323299A5D6D004F3235 /* KMServicesCloudFile.m in Sources */,
 				ADAFDA3A2AE8EEFF00F084BC /* KMAdvertisementRequestServer.swift in Sources */,
 				BBE788882CBD2463008086E2 /* SelectVC.swift in Sources */,
-				BBC745EB295F067B0072C2ED /* KMCropSettingWindowController.swift in Sources */,
 				BB5A9D532CB6521400F64C1F /* SettingsWindowController.swift in Sources */,
 				BBE788FD2CBD2464008086E2 /* ButtonDemoVC.swift in Sources */,
 				ADDEEA7B2AD3F4C800EF675D /* KMPopUpButton.swift in Sources */,
@@ -18683,7 +18602,6 @@
 				651675CB2CE3312000019A20 /* KMTocTableCellView.swift in Sources */,
 				BB8F4550295A9FA50037EA22 /* KMCreateHeaderFooterController.swift in Sources */,
 				9FA693A92987C0590055488A /* KMStepperView.swift in Sources */,
-				BBC745F3295F0DD00072C2ED /* KMCropSettingPageSizeView.swift in Sources */,
 				BBD1F790296FE6A500343885 /* KMPageEditSplitWindowController.swift in Sources */,
 				9F1FE50629406E4700E952CA /* CTTabStripDragController.m in Sources */,
 				9F1FE4D029406E4700E952CA /* CTTabController.m in Sources */,
@@ -18732,7 +18650,6 @@
 				ADDF839C2B391A5D00A81A4E /* PDFCertExportAccessoryView.swift in Sources */,
 				651675D72CE3312000019A20 /* KMTocOutlineView.swift in Sources */,
 				AD1D483B2AFB81ED007AC1F0 /* KMMergeBlankView.swift in Sources */,
-				BBAFDA7A2B4CDE0000278BC3 /* KMPDFCropWindowController.swift in Sources */,
 				BB6347B52AF224D600F5438E /* KMConvertCollectionViewHeader.swift in Sources */,
 				89752E1E2942CB04003FF08E /* KMSearchMode.swift in Sources */,
 				AD3A3588294C11ED00D72802 /* KMPrintPreviewPresenter.swift in Sources */,
@@ -19083,7 +19000,6 @@
 				657865F42CE1E7DD00AFE2DB /* KMNBookmarkHanddler.swift in Sources */,
 				BB7BC4D92AD3D6B700D6BEE6 /* PDFListView+KMExtensions.swift in Sources */,
 				BB6DD81929348A00001F0544 /* KMSecureEncryptComboBoxCellView.swift in Sources */,
-				BBC2BCC7295DA8F30036B983 /* KMCropPreviewController.swift in Sources */,
 				ADAFDA2C2AE8DE1B00F084BC /* KMAdvertisementCache.swift in Sources */,
 				BB14701B299DC0D100784A6A /* OIDURLSessionProvider.m in Sources */,
 				9F8DDF352924DA6B006CDC73 /* KMPDFToolsCollectionView.swift in Sources */,
@@ -19106,6 +19022,7 @@
 				BB031B762C47BB090099F7AD /* KMUserListItemCellView.swift in Sources */,
 				ADD1B6E02946BFD500C3FFF7 /* KMPrintChoosePageSizeSizeView.swift in Sources */,
 				BBFE6E5E2930809A00142C01 /* KMMergeCollectionPageViewItem.swift in Sources */,
+				BB67DA222CF08101001E77FA /* KMCropManager.swift in Sources */,
 				9F0CB4D22986550B00007028 /* KMDesignToken+Width.swift in Sources */,
 				BB8F457F295B00130037EA22 /* KMWatermarkAdjectiveTools.swift in Sources */,
 				BB52F58F2CC245AD007418DB /* KMLinkPopupEmailView.swift in Sources */,
@@ -19570,7 +19487,6 @@
 				9FB220F22B1863C800A5B208 /* KMAnnotationFromSignature.swift in Sources */,
 				F3DB85ED2CCA209600D0AFDE /* KMNBaseViewController.swift in Sources */,
 				ADFCEB372B4F78220001EBAF /* KMFile.swift in Sources */,
-				BB0542162965705D00F2665C /* KMCropTipView.swift in Sources */,
 				651675DA2CE3312000019A20 /* KMBOTAOutlineView.swift in Sources */,
 				AD02573B2A8601AA00EAD5D5 /* KMLoginManager.swift in Sources */,
 				BB52F57E2CC24481007418DB /* KMLinkPopupBaseView.swift in Sources */,
@@ -19763,6 +19679,7 @@
 				BBDA8A6F2A31F9A6006A2C4E /* KMDesignStepperView.swift in Sources */,
 				BBAFC83E2985194800D0648E /* KMPDFEditAppendWindow.m in Sources */,
 				AD1CA4012A0603EE0070541F /* KMAnnotationScreenCollectionView.swift in Sources */,
+				BB67DA232CF08101001E77FA /* KMCropManager.swift in Sources */,
 				F36AD77929642FE80015AD53 /* CPDFListView+UndoManager.m in Sources */,
 				BB234F092BA3D798008B3754 /* KMAIIconGuideView.swift in Sources */,
 				ADDF837F2B391A5D00A81A4E /* DSignatureDetailsViewController.swift in Sources */,
@@ -19907,7 +19824,6 @@
 				BB003037298D356E002DD1A0 /* KMPreferenceMarkupColorView.swift in Sources */,
 				BB1969CF2B2833DA00922736 /* KMProgressWindowController.swift in Sources */,
 				AD7D5C942B8F20FE006562CD /* synctex_parser_utils.m in Sources */,
-				BBC745F4295F0DD00072C2ED /* KMCropSettingPageSizeView.swift in Sources */,
 				BB4A949D2B04B77F00940F8B /* KMOCROperation.swift in Sources */,
 				BBEFD01E2AF9E5AA003FABD8 /* KMBatchOperateAddHeaderFooterViewController.swift in Sources */,
 				9F1FE50729406E4700E952CA /* CTTabStripDragController.m in Sources */,
@@ -20464,7 +20380,6 @@
 				BB2C848A2BAE753F00AF6142 /* KMBotaTools.swift in Sources */,
 				BB9138492CEE08D400BAB4A7 /* KMCropCoverController.swift in Sources */,
 				9FCFEC9A2AD14EEF00EAD2CB /* KMMailHelper.swift in Sources */,
-				BBC745EC295F067B0072C2ED /* KMCropSettingWindowController.swift in Sources */,
 				BB90E4F02AF3546500B04B9F /* NSUserDefaultsController+KMExtension.swift in Sources */,
 				ADDF832E2B391A5C00A81A4E /* NSEvent+PDFListView.m in Sources */,
 				ADE8BC2729F7CCA600570F89 /* KMPageNumberDisplayView.swift in Sources */,
@@ -20696,7 +20611,6 @@
 				BB6013862AD3A0E300A76FB2 /* CPDFTextWidgetAnnotation+PDFListView.swift in Sources */,
 				BB3D07652CD0821F00EB94DF /* KMPDFSplitView.swift in Sources */,
 				65FABB332C9AFB0C00AA92E5 /* KMSectionCellView.swift in Sources */,
-				BB0542172965705D00F2665C /* KMCropTipView.swift in Sources */,
 				BB89726F294DB67D0045787C /* KMWatermarkAdjectiveBaseView.swift in Sources */,
 				BB67EE222B54FFEF00573BF0 /* ASIDataDecompressor.m in Sources */,
 				BB31981C2AC567B600107371 /* CPDFSelection+PDFListView.swift in Sources */,
@@ -20779,7 +20693,6 @@
 				BB19A7592CB7C724008204DC /* KMHistoryFileListItem.swift in Sources */,
 				9FA693AA2987C0590055488A /* KMStepperView.swift in Sources */,
 				9F1FE4F829406E4700E952CA /* CTFloatingBarBackingView.m in Sources */,
-				BBAFDA7B2B4CDE0000278BC3 /* KMPDFCropWindowController.swift in Sources */,
 				BB71854C2C2B0DC500C1156B /* KMEditPDFModel.swift in Sources */,
 				9F1FE49E29406E4700E952CA /* HoverCloseButton.m in Sources */,
 				BB3A81B22AC2B82A006FC66C /* KMPageSizeTool.swift in Sources */,
@@ -20800,7 +20713,6 @@
 				BB8810C02B4F872500AFA63E /* KMVerificationWindowController.m in Sources */,
 				BB183DDF2B4EBE1B00F99C7E /* KMTrialSuccessController.swift in Sources */,
 				AD0E8ABB2A31BDDD00DBFD3C /* KMProduct.swift in Sources */,
-				BBC2BCC8295DA8F30036B983 /* KMCropPreviewController.swift in Sources */,
 				653647EF2CDCA85400CDB13E /* KMImageToPDFMethod.swift in Sources */,
 				9F1FE50F29407B2B00E952CA /* KMUploadFilePanel.swift in Sources */,
 				9FD0D2AD2AD5143D00DA3FF8 /* KMTableRowView.swift in Sources */,

+ 111 - 21
PDF Office/PDF Reader Pro.xcodeproj/xcuserdata/kdanmobile.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

@@ -14,8 +14,8 @@
             filePath = "PDF Master/Class/PDFWindowController/ViewController/KMMainViewController+Action.swift"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "2443"
-            endingLineNumber = "2443"
+            startingLineNumber = "2420"
+            endingLineNumber = "2420"
             landmarkName = "toolbarViewController(_:zoomModel:)"
             landmarkType = "7">
          </BreakpointContent>
@@ -2082,8 +2082,8 @@
             filePath = "PDF Master/KMClass/KMPDFViewController/KMMainViewController.swift"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "225"
-            endingLineNumber = "225"
+            startingLineNumber = "224"
+            endingLineNumber = "224"
             landmarkName = "setDocument"
             landmarkType = "24">
             <Locations>
@@ -2132,6 +2132,21 @@
                   endingLineNumber = "225"
                   offsetFromSymbolStart = "0">
                </Location>
+               <Location
+                  uuid = "E3962D60-30EF-4185-BF07-EA1A34784887 - c44283d1f17e1a03"
+                  shouldBeEnabled = "Yes"
+                  ignoreCount = "0"
+                  continueAfterRunningActions = "No"
+                  symbolName = "PDF_Reader_Pro.KMMainViewController.setDocument.modify : Swift.Optional&lt;__C.CPDFDocument&gt;"
+                  moduleName = "PDF Reader Pro"
+                  usesParentBreakpointCondition = "Yes"
+                  urlString = "file:///Users/kdanmobile/Documents/Git/PDF_Office/PDF%20Office/PDF%20Master/KMClass/KMPDFViewController/KMMainViewController.swift"
+                  startingColumnNumber = "9223372036854775807"
+                  endingColumnNumber = "9223372036854775807"
+                  startingLineNumber = "224"
+                  endingLineNumber = "224"
+                  offsetFromSymbolStart = "0">
+               </Location>
             </Locations>
          </BreakpointContent>
       </BreakpointProxy>
@@ -2273,8 +2288,8 @@
             filePath = "PDF Master/KMClass/KMPDFViewController/KMMainViewController.swift"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "989"
-            endingLineNumber = "989"
+            startingLineNumber = "988"
+            endingLineNumber = "988"
             landmarkName = "removePDFWatermark()"
             landmarkType = "7">
             <Locations>
@@ -2308,6 +2323,21 @@
                   endingLineNumber = "989"
                   offsetFromSymbolStart = "1496">
                </Location>
+               <Location
+                  uuid = "14EF9D11-330E-4DB1-A4D2-AA533CF55782 - ae5dbea256bda9e4"
+                  shouldBeEnabled = "Yes"
+                  ignoreCount = "0"
+                  continueAfterRunningActions = "No"
+                  symbolName = "PDF_Reader_Pro.KMMainViewController.removePDFWatermark() -&gt; ()"
+                  moduleName = "PDF Reader Pro"
+                  usesParentBreakpointCondition = "Yes"
+                  urlString = "file:///Users/kdanmobile/Documents/Git/PDF_Office/PDF%20Office/PDF%20Master/KMClass/KMPDFViewController/KMMainViewController.swift"
+                  startingColumnNumber = "9223372036854775807"
+                  endingColumnNumber = "9223372036854775807"
+                  startingLineNumber = "988"
+                  endingLineNumber = "988"
+                  offsetFromSymbolStart = "908">
+               </Location>
             </Locations>
          </BreakpointContent>
       </BreakpointProxy>
@@ -3263,10 +3293,10 @@
             filePath = "PDF Master/KMClass/KMPDFViewController/KMMainViewController.swift"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "2315"
-            endingLineNumber = "2315"
-            landmarkName = "pdfViewEditingSelectionDidChanged(_:)"
-            landmarkType = "7">
+            startingLineNumber = "2314"
+            endingLineNumber = "2314"
+            landmarkName = "KMMainViewController"
+            landmarkType = "21">
             <Locations>
                <Location
                   uuid = "18021D19-EAF7-4279-A121-953E8941B3AE - d2506868f114a772"
@@ -3298,6 +3328,21 @@
                   endingLineNumber = "2316"
                   offsetFromSymbolStart = "36">
                </Location>
+               <Location
+                  uuid = "18021D19-EAF7-4279-A121-953E8941B3AE - ef7fea5a86a383c2"
+                  shouldBeEnabled = "Yes"
+                  ignoreCount = "0"
+                  continueAfterRunningActions = "No"
+                  symbolName = "PDF_Reader_Pro.KMMainViewController.pdfViewAsBookBookmark() -&gt; Swift.Optional&lt;__C.NSImage&gt;"
+                  moduleName = "PDF Reader Pro"
+                  usesParentBreakpointCondition = "Yes"
+                  urlString = "file:///Users/kdanmobile/Documents/Git/PDF_Office/PDF%20Office/PDF%20Master/KMClass/KMPDFViewController/KMMainViewController.swift"
+                  startingColumnNumber = "9223372036854775807"
+                  endingColumnNumber = "9223372036854775807"
+                  startingLineNumber = "2315"
+                  endingLineNumber = "2315"
+                  offsetFromSymbolStart = "64">
+               </Location>
             </Locations>
          </BreakpointContent>
       </BreakpointProxy>
@@ -3343,8 +3388,8 @@
             filePath = "PDF Master/KMClass/KMPDFViewController/KMMainViewController.swift"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "621"
-            endingLineNumber = "621"
+            startingLineNumber = "620"
+            endingLineNumber = "620"
             landmarkName = "openPDFReadMode()"
             landmarkType = "7">
          </BreakpointContent>
@@ -3407,9 +3452,9 @@
             filePath = "PDF Master/KMClass/KMPDFViewController/KMMainViewController.swift"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "2797"
-            endingLineNumber = "2797"
-            landmarkName = "pdfListViewMenu(forEvent:for:click:isMoveSelectAnno:)"
+            startingLineNumber = "2796"
+            endingLineNumber = "2796"
+            landmarkName = "pdfListViewMenuItemsEditing(at:for:menuItems:)"
             landmarkType = "7">
             <Locations>
                <Location
@@ -3442,6 +3487,21 @@
                   endingLineNumber = "2797"
                   offsetFromSymbolStart = "488">
                </Location>
+               <Location
+                  uuid = "CA957B0F-74F0-4ECF-9BE5-F996315D44F7 - 55adff6b3ed4536"
+                  shouldBeEnabled = "Yes"
+                  ignoreCount = "0"
+                  continueAfterRunningActions = "No"
+                  symbolName = "PDF_Reader_Pro.KMMainViewController.pdfListViewMenuItemsEditing(at: __C.CGPoint, for: Swift.Optional&lt;__C.CPDFPage&gt;, menuItems: Swift.Optional&lt;Swift.Array&lt;__C.NSMenuItem&gt;&gt;) -&gt; Swift.Optional&lt;Swift.Array&lt;__C.NSMenuItem&gt;&gt;"
+                  moduleName = "PDF Reader Pro"
+                  usesParentBreakpointCondition = "Yes"
+                  urlString = "file:///Users/kdanmobile/Documents/Git/PDF_Office/PDF%20Office/PDF%20Master/KMClass/KMPDFViewController/KMMainViewController.swift"
+                  startingColumnNumber = "9223372036854775807"
+                  endingColumnNumber = "9223372036854775807"
+                  startingLineNumber = "2796"
+                  endingLineNumber = "2796"
+                  offsetFromSymbolStart = "2936">
+               </Location>
             </Locations>
          </BreakpointContent>
       </BreakpointProxy>
@@ -3455,9 +3515,9 @@
             filePath = "PDF Master/KMClass/KMPDFViewController/KMMainViewController.swift"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "2615"
-            endingLineNumber = "2615"
-            landmarkName = "pdfListViewMenuValidate(_:menuItem:isTakesEffect:)"
+            startingLineNumber = "2614"
+            endingLineNumber = "2614"
+            landmarkName = "pdfListViewKeyDownIsContinue(_:theEvent:)"
             landmarkType = "7">
             <Locations>
                <Location
@@ -3490,6 +3550,21 @@
                   endingLineNumber = "2615"
                   offsetFromSymbolStart = "148">
                </Location>
+               <Location
+                  uuid = "E36E1A66-A8B1-4248-9550-68D820499376 - 680781a588394721"
+                  shouldBeEnabled = "Yes"
+                  ignoreCount = "0"
+                  continueAfterRunningActions = "No"
+                  symbolName = "PDF_Reader_Pro.KMMainViewController.pdfListViewKeyDownIsContinue(_: Swift.Optional&lt;__C.CPDFListView&gt;, theEvent: Swift.Optional&lt;__C.NSEvent&gt;) -&gt; Swift.Bool"
+                  moduleName = "PDF Reader Pro"
+                  usesParentBreakpointCondition = "Yes"
+                  urlString = "file:///Users/kdanmobile/Documents/Git/PDF_Office/PDF%20Office/PDF%20Master/KMClass/KMPDFViewController/KMMainViewController.swift"
+                  startingColumnNumber = "9223372036854775807"
+                  endingColumnNumber = "9223372036854775807"
+                  startingLineNumber = "2615"
+                  endingLineNumber = "2615"
+                  offsetFromSymbolStart = "14748">
+               </Location>
             </Locations>
          </BreakpointContent>
       </BreakpointProxy>
@@ -3503,9 +3578,9 @@
             filePath = "PDF Master/KMClass/KMPDFViewController/KMMainViewController.swift"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "2756"
-            endingLineNumber = "2756"
-            landmarkName = "pdfListViewMenuItemsEditing(at:for:menuItems:)"
+            startingLineNumber = "2755"
+            endingLineNumber = "2755"
+            landmarkName = "pdfListViewLinkDestinationStart(_:withActiveAnnotation:)"
             landmarkType = "7">
             <Locations>
                <Location
@@ -3538,6 +3613,21 @@
                   endingLineNumber = "2756"
                   offsetFromSymbolStart = "136">
                </Location>
+               <Location
+                  uuid = "829A2007-5055-4924-B2CB-8003D30BE87C - 3bb3816cf1b4cde9"
+                  shouldBeEnabled = "Yes"
+                  ignoreCount = "0"
+                  continueAfterRunningActions = "No"
+                  symbolName = "PDF_Reader_Pro.KMMainViewController.pdfListViewLinkDestinationStart(_: Swift.Optional&lt;__C.CPDFListView&gt;, withActiveAnnotation: Swift.Optional&lt;__C.CPDFAnnotation&gt;) -&gt; ()"
+                  moduleName = "PDF Reader Pro"
+                  usesParentBreakpointCondition = "Yes"
+                  urlString = "file:///Users/kdanmobile/Documents/Git/PDF_Office/PDF%20Office/PDF%20Master/KMClass/KMPDFViewController/KMMainViewController.swift"
+                  startingColumnNumber = "9223372036854775807"
+                  endingColumnNumber = "9223372036854775807"
+                  startingLineNumber = "2755"
+                  endingLineNumber = "2755"
+                  offsetFromSymbolStart = "44">
+               </Location>
             </Locations>
          </BreakpointContent>
       </BreakpointProxy>