KMPDFToolbarManager.swift 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. //
  2. // KMPDFToolbarManager.swift
  3. // PDF Reader Pro
  4. //
  5. // Created by Niehaoyu on 2024/10/22.
  6. //
  7. import Foundation
  8. import KMComponentLibrary
  9. class KMPDFToolbarManager: NSObject {
  10. @objc public static let manager = KMPDFToolbarManager()
  11. var toolsType: KMPDFViewToolsType = .Select
  12. var viewProperty: ComponentButtonProperty = ComponentButtonProperty(type: .text_gray_opacity, size: .xs, onlyIcon: true)
  13. var pageProperty: ComponentButtonProperty = ComponentButtonProperty(type: .text_gray_opacity, size: .xs, onlyIcon: true)
  14. var toolsProperty: ComponentDropdownToolProperty = ComponentDropdownToolProperty(state: .normal, leftIcon: NSImage(named: "toolbar_Tools_select"), showDropdown: true)
  15. var tools_selectProperty: ComponentMenuitemProperty = ComponentMenuitemProperty(multipleSelect: false, itemSelected: false, isDisabled: false, lefticon: NSImage(named: "toolbar_Tools_select"), keyEquivalent: KMLocalizedString("⌘ 1"), text: KMLocalizedString("Select"))
  16. var tools_scrollProperty: ComponentMenuitemProperty = ComponentMenuitemProperty(multipleSelect: false, itemSelected: false, isDisabled: false, lefticon: NSImage(named: "toolbar_Tools_scroll"), keyEquivalent: KMLocalizedString("⌘ 2"), text: KMLocalizedString("Scroll"))
  17. var tools_contentProperty: ComponentMenuitemProperty = ComponentMenuitemProperty(multipleSelect: false, itemSelected: false, isDisabled: false, lefticon: NSImage(named: "toolbar_Tools_content"), keyEquivalent: KMLocalizedString("⌘ 3"), text: KMLocalizedString("Content Selection"))
  18. var tools_magnifyProperty: ComponentMenuitemProperty = ComponentMenuitemProperty(multipleSelect: false, itemSelected: false, isDisabled: false, lefticon: NSImage(named: "toolbar_Tools_magnify"), keyEquivalent: KMLocalizedString("⌘ 4"), text: KMLocalizedString("Magnify"))
  19. var tools_areaProperty: ComponentMenuitemProperty = ComponentMenuitemProperty(multipleSelect: false, itemSelected: false, isDisabled: false, lefticon: NSImage(named: "toolbar_Tools_zoom"), keyEquivalent: KMLocalizedString("⌘ 5"), text: KMLocalizedString("Area Zoom"))
  20. var selectZoomProperty: ComponentSelectZoomProperty = ComponentSelectZoomProperty(state: .normal, isDisabled: false, text: "100%")
  21. override init() {
  22. super.init()
  23. self.initData()
  24. }
  25. func initData() {
  26. viewProperty.propertyInfo.leftIcon_nor = NSImage(named: "toolbar_View")
  27. pageProperty.propertyInfo.leftIcon_nor = NSImage(named: "toolbar_Page")
  28. reloadToolsData()
  29. var menuItemArr: [ComponentMenuitemProperty] = []
  30. if true {
  31. menuItemArr.append(tools_selectProperty)
  32. menuItemArr.append(tools_scrollProperty)
  33. menuItemArr.append(tools_contentProperty)
  34. menuItemArr.append(tools_magnifyProperty)
  35. menuItemArr.append(tools_areaProperty)
  36. toolsProperty.menuItemArr = menuItemArr
  37. }
  38. }
  39. //MARK: - 刷新tools工具
  40. func reloadToolsData() {
  41. if toolsType == .Select {
  42. toolsProperty.leftIcon = NSImage(named: "toolbar_Tools_select")
  43. } else if toolsType == .Scroll {
  44. toolsProperty.leftIcon = NSImage(named: "toolbar_Tools_scroll")
  45. } else if toolsType == .Content_Selection {
  46. toolsProperty.leftIcon = NSImage(named: "toolbar_Tools_content")
  47. } else if toolsType == .Magnify {
  48. toolsProperty.leftIcon = NSImage(named: "toolbar_Tools_magnify")
  49. } else if toolsType == .AreaZoom {
  50. toolsProperty.leftIcon = NSImage(named: "toolbar_Tools_zoom")
  51. }
  52. }
  53. }