12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- //
- // KMPrintSettingView.swift
- // PDF Master
- //
- // Created by lizhe on 2023/12/4.
- //
- import Cocoa
- typealias KMPrintSettingViewPageSettingChange = (_ view: KMPrintSettingView, _ model: KMPrintModel) -> Void
- typealias KMPrintSettingViewPrintSettingChange = (_ view: KMPrintSettingView, _ model: KMPrintModel) -> Void
- class KMPrintSettingView: KMBaseXibView {
- @IBOutlet weak var defaultView: KMPrintDefaultView!
- @IBOutlet weak var posterView: KMPrintPosterView!
- @IBOutlet weak var multipageView: KMPrintMultipageView!
- @IBOutlet weak var pamphletView: KMPrintPamphletView!
-
- var pageSettingChange: KMPrintSettingViewPageSettingChange?
- var printSettingChange: KMPrintSettingViewPrintSettingChange?
-
- var type: KMPrintModelType = .size {
- didSet {
- self.reloadData()
- }
- }
-
- override func setup() {
- defaultView.pageSettingChange = { [unowned self] view, model in
- self.pageSettingChange?(self, model)
- }
-
- defaultView.printSettingChange = { [unowned self] view, model in
- self.printSettingChange?(self, model)
- }
-
- posterView.pageSettingChangeAction = { [unowned self] view, model in
- self.pageSettingChange?(self, model)
- }
-
- posterView.printSettingChangeAction = { [unowned self] view, model in
- self.printSettingChange?(self, model)
- }
-
- multipageView.pageSettingChangeAction = { [unowned self] view, model in
- self.pageSettingChange?(self, model)
- }
-
- multipageView.printSettingChangeAction = { [unowned self] view, model in
- self.printSettingChange?(self, model)
- }
- }
-
- override func reloadData() {
- self.defaultView.isHidden = true
- self.posterView.isHidden = true
- self.multipageView.isHidden = true
- self.pamphletView.isHidden = true
-
- switch type {
- case .size:
- self.defaultView.isHidden = false
- case .poster:
- self.posterView.isHidden = false
- case .multipage:
- self.multipageView.isHidden = false
- case .pamphlet:
- self.pamphletView.isHidden = false
- default:
- break
- }
- }
- }
|