// // KMWatermarkAdjectivePlainView.swift // PDF Reader Pro // // Created by tangchao on 2022/12/17. // import Cocoa class KMWatermarkAdjectivePlainView: KMWatermarkAdjectiveBaseView { @IBOutlet weak var checkBox: NSButton! @IBOutlet weak var hImageView: NSImageView! @IBOutlet weak var hBox: NSBox! var hStepper: KMWatermarkAdjectiveStepper! @IBOutlet weak var vImageView: NSImageView! @IBOutlet weak var vBox: NSBox! var vStepper: KMWatermarkAdjectiveStepper! override init(frame frameRect: NSRect) { super.init(frame: frameRect) // initSubViews() } required init?(coder: NSCoder) { super.init(coder: coder) // initSubViews() } override func awakeFromNib() { super.awakeFromNib() initSubViews() } func initSubViews() { checkBox.title = NSLocalizedString("Tile", comment: "") checkBox.target = self checkBox.action = #selector(checkBoxAction) let hStepper = KMWatermarkAdjectiveStepper() hStepper.frame = self.hBox.contentView!.bounds hStepper.autoresizingMask = NSView.AutoresizingMask(rawValue: 18) self.hBox.contentView?.addSubview(hStepper) self.hStepper = hStepper hStepper.textField.doubleValue = 6 hStepper.stepper.doubleValue = 6 hStepper.valueDidChange = { (value: Double) in guard let callback = self.itemClick else { return } callback(2, value) } let vStepper = KMWatermarkAdjectiveStepper() vStepper.frame = self.vBox.contentView!.bounds vStepper.autoresizingMask = NSView.AutoresizingMask(rawValue: 18) self.vBox.contentView?.addSubview(vStepper) self.vStepper = vStepper vStepper.textField.doubleValue = 6 vStepper.stepper.doubleValue = 6 vStepper.valueDidChange = { (value: Double) in guard let callback = self.itemClick else { return } callback(3, value) } } @objc func checkBoxAction(sender: NSButton) { if (sender.state == .on) { self.hStepper.enabled = true self.vStepper.enabled = true } else { self.hStepper.enabled = false self.vStepper.enabled = false } guard let callback = itemClick else { return } callback(1, sender.state == .on) } override func setModel(model: KMWatermarkModel) { super.setModel(model: model) if (model.isTilePage) { self.checkBox.state = .on } else { self.checkBox.state = .off } self.checkBoxAction(sender: self.checkBox) self.hStepper.value = model.tileHorizontalSpace self.vStepper.value = model.tileVerticalSpace } }