KMPageEditSettingBaseWindowController.swift 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. //
  2. // KMPageEditSettingBaseWindowController.swift
  3. // PDF Reader Pro
  4. //
  5. // Created by tangchao on 2023/1/12.
  6. //
  7. // 页面编辑 [窗口基类]
  8. class KMPageEditSettingBaseWindowController: KMNBaseWindowController {
  9. @IBOutlet weak var contentWidthConst: NSLayoutConstraint!
  10. @IBOutlet weak var contentHeightConst: NSLayoutConstraint!
  11. @IBOutlet weak var titleLabel: NSTextField!
  12. @IBOutlet weak var contentBox: NSBox!
  13. @IBOutlet weak var funcButton: NSButton!
  14. @IBOutlet weak var cancelButton: NSButton!
  15. private var funcVC_: KMDesignButton?
  16. private var cancelVC_: KMDesignButton?
  17. var funcVC: KMDesignButton? {
  18. get {
  19. return self.funcVC_
  20. }
  21. }
  22. var settingView: KMPageEditSettingBaseView?
  23. private var model_: KMPageEditSettingBaseModel?
  24. var model: KMPageEditSettingBaseModel? {
  25. get {
  26. return self.model_
  27. }
  28. }
  29. var itemClick: KMCommonClickBlock?
  30. convenience init(_ model: KMPageEditSettingBaseModel? = nil) {
  31. self.init(windowNibName: "KMPageEditSettingBaseWindowController")
  32. self.model_ = model
  33. self.initSubViews()
  34. self.initDefaultValue()
  35. }
  36. func initSubViews() {
  37. self.cancelVC_ = KMDesignButton(withType: .Text)
  38. self.cancelButton.addSubview(self.cancelVC_!.view)
  39. self.cancelVC_?.view.frame = self.cancelButton.bounds
  40. self.cancelVC_?.view.autoresizingMask = [.width, .height]
  41. self.funcVC_ = KMDesignButton(withType: .Text)
  42. self.funcButton.addSubview(self.funcVC_!.view)
  43. self.funcVC_?.view.frame = self.funcButton.bounds
  44. self.funcVC_?.view.autoresizingMask = [.width, .height]
  45. }
  46. func initDefaultValue() {
  47. self.cancelButton.title = ""
  48. self.funcButton.title = ""
  49. self.titleLabel.font = .SFProTextSemiboldFont(16)
  50. self.titleLabel.textColor = KMAppearance.titleColor()
  51. self.cancelVC_?.target = self
  52. self.cancelVC_?.action = #selector(cancelButtonAction)
  53. self.cancelVC_?.stringValue = NSLocalizedString("Cancel", comment: "")
  54. self.cancelVC_?.button.keyEquivalent = KMKeyEquivalent.esc.string()
  55. self.funcVC_?.target = self
  56. self.funcVC_?.action = #selector(funcButtonAction)
  57. self.funcVC_?.button.keyEquivalent = KMKeyEquivalent.enter
  58. }
  59. public func setWindowSize(_ size: NSSize) {
  60. self.contentWidthConst.constant = size.width
  61. self.contentHeightConst.constant = size.height-44-60
  62. }
  63. @objc func cancelButtonAction() {
  64. guard let callback = self.itemClick else {
  65. return
  66. }
  67. callback(1)
  68. }
  69. @objc func funcButtonAction() {
  70. guard let callback = self.itemClick else {
  71. return
  72. }
  73. callback(2)
  74. }
  75. }