123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- //
- // KMNPageEditViewController.swift
- // PDF Reader Pro
- //
- // Created by 丁林圭 on 2024/10/21.
- //
- import Cocoa
- import KMComponentLibrary
- @objc protocol KMNPageEditViewViewDelegate: AnyObject {
- @objc optional func changeBoundEditViewController(pageEditVC:KMNPageEditViewController)
- @objc optional func changeUndoManagerEditViewController(pageEditVC:KMNPageEditViewController)
- }
- class KMNPageEditViewController: KMNThumbnailBaseViewController {
-
- weak open var pageEditViewController: KMNPageEditViewViewDelegate?
- override func viewDidLoad() {
- super.viewDidLoad()
-
- backViewBox.fillColor = ComponentLibrary.shared.getComponentColorFromKey("colorBg/layout-pdfView")
-
- collectionView.menuClickedAction = { point in
- return self.clickMenu(point: point)
- }
- }
-
- private func insertFilePath(filePath:String,pdfPassword:String?) {
- let selectedIndexPaths = collectionView.selectionIndexPaths
-
- let insertPDF = KMNPDFInsertPDFWindowController(showDocument, filePath: filePath, password: pdfPassword, selectionIndexPaths: selectedIndexPaths)
- insertPDF.pdfCallback = { [weak self] fileAttribute, insertIdx in
- let doc = fileAttribute.pdfDocument
-
- var insertPages: [CPDFPage] = []
-
- for number in fileAttribute.fetchSelectPages() {
- if let page = doc?.page(at: UInt(number-1)) {
- insertPages.append(page)
- }
- }
- self?.thumbnailBaseViewDelegate?.insertPDFThumbnailViewControlle?(pageEditVC: self, pdfDocment: doc)
-
- self?.insertFormPages(insertPages: insertPages, pageDex: insertIdx)
- }
- insertPDF.fileCallback = { [weak self] filePath, insertIdx in
- self?.insertFromFilePath(fileNames: [filePath], formDex: 0, indexDex: UInt(insertIdx), selectIndexs: [], completionBlock: { newSelectIndexs in
- })
- }
-
- insertPDF.own_beginSheetModal(for: self.view.window, completionHandler: nil)
- }
-
- // MARK: - public
- public func canZoomInPageSize()->Bool {
- if pageThumbnailSize.width > defaultItemSize.width {
- return false
- }
- return true
- }
-
- public func canZoomOutPageSize()->Bool {
- if pageThumbnailSize.width < defaultItemSize.width {
- return false
- }
- return true
- }
-
- public func zoomInPageAction() { //放大
- if (canZoomInPageSize() == false) {
- return
- }
- let indexpaths = collectionView.selectionIndexPaths
- if (pageThumbnailSize.width < defaultItemSize.width) {
- pageThumbnailSize = defaultItemSize
- } else if (pageThumbnailSize.width == defaultItemSize.width) {
- pageThumbnailSize = NSSize(width: defaultItemSize.width*1.5, height: defaultItemSize.height*1.5)
- }
-
- collectionView.reloadData()
- collectionView.selectionIndexPaths = indexpaths
- }
-
- public func zoomOutPageAction() { //缩小
- if (canZoomOutPageSize() == false) {
- return
- }
- let indexpaths = collectionView.selectionIndexPaths
- if (pageThumbnailSize.width > defaultItemSize.width) {
- pageThumbnailSize = defaultItemSize
- } else if (pageThumbnailSize.width == defaultItemSize.width) {
- pageThumbnailSize = NSSize(width: defaultItemSize.width*0.5, height: defaultItemSize.height*0.5)
- }
-
- collectionView.reloadData()
- collectionView.selectionIndexPaths = indexpaths
- }
- }
|