Просмотр исходного кода

【综合】定义插入枚举

tangchao 1 год назад
Родитель
Сommit
4b007d576a

+ 7 - 0
PDF Office/PDF Master/Class/Common/KMCommonEnum.swift

@@ -84,3 +84,10 @@ import Foundation
     case success        // 成功
     case failure        // 失败
 }
+
+enum KMInsertPosition {
+    case first
+    case last
+    case before
+    case after
+}

+ 12 - 4
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Thumbnail/Base/KMPDFThumbViewBaseController.swift

@@ -207,13 +207,21 @@ class KMPDFThumbViewBaseController: KMBaseViewController {
             return
         }
         
-        self.insertBlankPage(size: page.bounds.size, at: index+1)
+        self.insertBlankPage(size: page.bounds.size, at: index, position: .after)
     }
     
     // 插入空白页面 指定页面大小和位置
-    public func insertBlankPage(size: NSSize, at index: Int) {
-        self._undo_insertBlankPage(size: size, at: index)
-        self.insertBlankPageAfter(size: size, at: index)
+    public func insertBlankPage(size: NSSize, at index: Int, position: KMInsertPosition = .after) {
+        var idx = index
+        if position == .first {
+            idx = 0
+        } else if position == .last {
+            idx = Int(self.thumbnailView.document?.pageCount ?? 0)
+        } else if position == .after {
+            idx = index + 1
+        }
+        self._undo_insertBlankPage(size: size, at: idx)
+        self.insertBlankPageAfter(size: size, at: idx)
     }
     
     public func insertPages(pages: Array<CPDFPage>, at indexs: IndexSet) {