KMPDFToolbarController.swift 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. //
  2. // KMPDFToolbarController.swift
  3. // PDF Reader Pro
  4. //
  5. // Created by Niehaoyu on 2024/10/8.
  6. //
  7. import Cocoa
  8. import KMComponentLibrary
  9. @objc public protocol KMPDFToolbarControllerDelegate: AnyObject {
  10. // @objc optional func kmPDFToolbarControllerDidClicked(_ controller: KMPDFToolbarController, )
  11. }
  12. class KMPDFToolbarController: NSViewController {
  13. @IBOutlet var viewButton: ComponentButton!
  14. @IBOutlet var pageButton: ComponentButton!
  15. @IBOutlet var toolsView: ComponentDropdownTool!
  16. @IBOutlet var dividerView: ComponentDivider!
  17. @IBOutlet var selectZoom: ComponentSelectZoom!
  18. @IBOutlet var tabsView: ComponentTabs!
  19. override func viewDidLoad() {
  20. super.viewDidLoad()
  21. // Do view setup here.
  22. self.setUpProperty()
  23. }
  24. func setUpProperty() {
  25. viewButton.properties = KMPDFToolbarManager.manager.viewProperty
  26. pageButton.properties = KMPDFToolbarManager.manager.pageProperty
  27. dividerView.properties = ComponentDividerProperty(type: .vertical, dash: false)
  28. toolsView.properties = KMPDFToolbarManager.manager.toolsProperty
  29. toolsView.delegate = self
  30. }
  31. func reloadData() {
  32. reloadToolsData()
  33. }
  34. // 刷新tools工具
  35. func reloadToolsData() {
  36. KMPDFToolbarManager.manager.reloadToolsData()
  37. toolsView.reloadData()
  38. }
  39. }
  40. //MARK: - ComponentDropdownToolDelegate
  41. extension KMPDFToolbarController: ComponentDropdownToolDelegate {
  42. func componentDropdownToolDidClicked(_ view: ComponentDropdownTool, menuItem: ComponentMenuitemProperty?) {
  43. for item in KMPDFToolbarManager.manager.toolsProperty.menuItemArr ?? [] {
  44. item.itemSelected = false
  45. item.state = .normal
  46. }
  47. menuItem?.itemSelected = true
  48. if menuItem == KMPDFToolbarManager.manager.tools_selectProperty {
  49. KMPDFToolbarManager.manager.toolsType = .Select
  50. } else if menuItem == KMPDFToolbarManager.manager.tools_scrollProperty {
  51. KMPDFToolbarManager.manager.toolsType = .Scroll
  52. } else if menuItem == KMPDFToolbarManager.manager.tools_contentProperty {
  53. KMPDFToolbarManager.manager.toolsType = .Content_Selection
  54. } else if menuItem == KMPDFToolbarManager.manager.tools_magnifyProperty {
  55. KMPDFToolbarManager.manager.toolsType = .Magnify
  56. } else if menuItem == KMPDFToolbarManager.manager.tools_areaProperty {
  57. KMPDFToolbarManager.manager.toolsType = .AreaZoom
  58. }
  59. reloadToolsData()
  60. }
  61. }