123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- //
- // KMBookmarkSheetController.swift
- // PDF Reader Pro
- //
- // Created by lizhe on 2024/2/5.
- //
- import Cocoa
- typealias KMBookmarkSheetControllerDoneAction = (_ controller: KMBookmarkSheetController, _ type: KMBookmarkType, _ label: String) -> ()
- typealias KMBookmarkSheetControllerCancelAction = (_ controller: KMBookmarkSheetController, _ type: KMBookmarkType) -> ()
- class KMBookmarkSheetController: NSWindowController {
- @IBOutlet weak var bookmarkSheetView: KMBookmarkSheetView!
-
- var doneAction: KMBookmarkSheetControllerDoneAction?
- var cancelAction: KMBookmarkSheetControllerCancelAction?
-
- var type: KMBookmarkType = .bookmark
- static func showBookmarkSheetController(type: KMBookmarkType) -> KMBookmarkSheetController {
- let controller = KMBookmarkSheetController.init(windowNibName: "KMBookmarkSheetController")
-
- controller.type = type
- NSWindow.currentWindow().beginSheet(controller.window!)
-
- return controller
- }
-
- override func windowDidLoad() {
- self.bookmarkSheetView.type = type
- self.bookmarkSheetView.cancelAction = { [unowned self] view, type in
- self.cancelAction?(self, type)
- self.window?.close()
- }
-
- self.bookmarkSheetView.doneAction = { [unowned self] view, type, label in
- self.doneAction?(self, type, label)
- }
- }
-
- // MARK: Sheet Presentation
-
- func beginSheetModal(for window: NSWindow, completionHandler handler: @escaping (NSApplication.ModalResponse) -> Void) {
- // let bookmarkController = KMBookmarkController.sharedBookmarkController()
- // let root = bookmarkController.bookmarkRoot()
- // folderPopUp.removeAllItems()
- // addMenuItems(forBookmarks: [root], level: 0, toMenu: folderPopUp.menu!)
- // folderPopUp.selectItem(at: 0)
- //
- //
- // super.window?.beginSheet(window, completionHandler: { response in
- // handler(response)
- // })
- // super.beginSheetModal(for: window) { response in
- // handler(response)
- // }
- }
-
- // MARK: Accessors
-
- var selectedFolder: KMBookmark? {
- return bookmarkSheetView.folderPopUp.selectedItem?.representedObject as? KMBookmark
- }
- }
|