NSWindowController+Extension.swift 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. //
  2. // NSWindowController+Extension.swift
  3. // PDF Reader Pro
  4. //
  5. // Created by Niehaoyu on 2024/10/17.
  6. //
  7. import Foundation
  8. extension NSWindowController {
  9. //MARK: - show方法,确保居中显示
  10. func showKMWindow(_ sender: Any?) {
  11. self.window?.center()
  12. self.showWindow(sender)
  13. }
  14. }
  15. // MARK: - Sheet
  16. extension NSWindowController {
  17. static var _sheetParentResponderKey = "KMSheetParentResponderKey"
  18. unowned var sheetParentResponder: NSResponder? {
  19. get {
  20. return objc_getAssociatedObject(self, &Self._sheetParentResponderKey) as? NSResponder
  21. }
  22. }
  23. static var _sheetFlagKey = "KMSheetFlagKey"
  24. var sheetFlag: Bool {
  25. get {
  26. return objc_getAssociatedObject(self, &Self._sheetFlagKey) as? Bool ?? false
  27. }
  28. set {
  29. objc_setAssociatedObject(self, &Self._sheetFlagKey, newValue, .OBJC_ASSOCIATION_ASSIGN)
  30. }
  31. }
  32. // MARK: - Private Methods
  33. func _setSheetParentResponder(_ newValue: NSResponder?) {
  34. objc_setAssociatedObject(self, &Self._sheetParentResponderKey, newValue, .OBJC_ASSOCIATION_ASSIGN)
  35. }
  36. }
  37. extension NSWindowController {
  38. func handleRightMouseDown(theEvent: NSEvent) -> Bool {
  39. return false
  40. }
  41. }