KMPrintSettingView.swift 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. //
  2. // KMPrintSettingView.swift
  3. // PDF Master
  4. //
  5. // Created by lizhe on 2023/12/4.
  6. //
  7. import Cocoa
  8. typealias KMPrintSettingViewPageSettingChange = (_ view: KMPrintSettingView, _ model: KMPrintModel) -> Void
  9. typealias KMPrintSettingViewPrintSettingChange = (_ view: KMPrintSettingView, _ model: KMPrintModel) -> Void
  10. class KMPrintSettingView: KMBaseXibView {
  11. @IBOutlet weak var defaultView: KMPrintDefaultView!
  12. @IBOutlet weak var posterView: KMPrintPosterView!
  13. @IBOutlet weak var multipageView: KMPrintMultipageView!
  14. @IBOutlet weak var pamphletView: KMPrintPamphletView!
  15. var pageSettingChange: KMPrintSettingViewPageSettingChange?
  16. var printSettingChange: KMPrintSettingViewPrintSettingChange?
  17. var type: KMPrintModelType = .size {
  18. didSet {
  19. self.reloadData()
  20. }
  21. }
  22. override func setup() {
  23. defaultView.pageSettingChange = { [unowned self] view, model in
  24. self.pageSettingChange?(self, model)
  25. }
  26. defaultView.printSettingChange = { [unowned self] view, model in
  27. self.printSettingChange?(self, model)
  28. }
  29. posterView.pageSettingChangeAction = { [unowned self] view, model in
  30. self.pageSettingChange?(self, model)
  31. }
  32. posterView.printSettingChangeAction = { [unowned self] view, model in
  33. self.printSettingChange?(self, model)
  34. }
  35. multipageView.pageSettingChangeAction = { [unowned self] view, model in
  36. self.pageSettingChange?(self, model)
  37. }
  38. multipageView.printSettingChangeAction = { [unowned self] view, model in
  39. self.printSettingChange?(self, model)
  40. }
  41. pamphletView.pageSettingChangeAction = { [unowned self] view, model in
  42. self.pageSettingChange?(self, model)
  43. }
  44. pamphletView.printSettingChangeAction = { [unowned self] view, model in
  45. self.printSettingChange?(self, model)
  46. }
  47. }
  48. override func reloadData() {
  49. self.defaultView.isHidden = true
  50. self.posterView.isHidden = true
  51. self.multipageView.isHidden = true
  52. self.pamphletView.isHidden = true
  53. switch type {
  54. case .size:
  55. self.defaultView.isHidden = false
  56. case .poster:
  57. self.posterView.isHidden = false
  58. case .multipage:
  59. self.multipageView.isHidden = false
  60. case .pamphlet:
  61. self.pamphletView.isHidden = false
  62. default:
  63. break
  64. }
  65. }
  66. }