KMPageEditExtractSettingView.swift 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. //
  2. // KMPageEditExtractSettingView.swift
  3. // PDF Master
  4. //
  5. // Created by tangchao on 2023/1/12.
  6. //
  7. class KMPageEditExtractSettingView: KMPageEditSettingBaseView {
  8. @IBOutlet weak var independentPerPageCheck: NSButton!
  9. @IBOutlet weak var extractAfterDeletePageCheck: NSButton!
  10. private var independentPerPageVC: KMDesignButton?
  11. private var extractAfterDeletePageVC: KMDesignButton?
  12. var independentPerPageValue: Bool {
  13. get {
  14. if let state = self.independentPerPageVC?.state {
  15. return state == .Checked
  16. }
  17. return false
  18. }
  19. }
  20. var extractAfterDeletePageValue: Bool {
  21. get {
  22. if let state = self.extractAfterDeletePageVC?.state {
  23. return state == .Checked
  24. }
  25. return false
  26. }
  27. }
  28. override func awakeFromNib() {
  29. super.awakeFromNib()
  30. self.independentPerPageVC = KMDesignButton(withType: .CheckBox)
  31. self.independentPerPageCheck.addSubview(self.independentPerPageVC!.view)
  32. self.independentPerPageVC?.view.frame = self.independentPerPageCheck.bounds
  33. self.independentPerPageVC?.view.autoresizingMask = [.width, .height]
  34. self.independentPerPageVC?.target = self
  35. self.independentPerPageVC?.action = #selector(independentPerPageAction)
  36. self.independentPerPageVC?.stringValue = NSLocalizedString("Each page in a separate file", comment: "")
  37. self.independentPerPageVC?.checkbox_radio()
  38. self.extractAfterDeletePageVC = KMDesignButton(withType: .CheckBox)
  39. self.extractAfterDeletePageCheck.addSubview(self.extractAfterDeletePageVC!.view)
  40. self.extractAfterDeletePageVC?.view.frame = self.extractAfterDeletePageCheck.bounds
  41. self.extractAfterDeletePageVC?.view.autoresizingMask = [.width, .height]
  42. self.extractAfterDeletePageVC?.target = self
  43. self.extractAfterDeletePageVC?.action = #selector(extractAfterDeletePageAction)
  44. self.extractAfterDeletePageVC?.stringValue = NSLocalizedString("Delete pages after extraction", comment: "")
  45. self.extractAfterDeletePageVC?.checkbox_radio()
  46. }
  47. @objc private func independentPerPageAction() {
  48. if let state = self.independentPerPageVC?.state {
  49. self.independentPerPageVC?.state = state == .Checked ? .Norm : .Checked
  50. } else {
  51. self.independentPerPageVC?.state = .Norm
  52. }
  53. guard let callback = self.itemClick else {
  54. return
  55. }
  56. var value = false
  57. if let state = self.independentPerPageVC?.state {
  58. value = state == .Checked
  59. }
  60. callback(1, value)
  61. }
  62. @objc private func extractAfterDeletePageAction() {
  63. if let state = self.extractAfterDeletePageVC?.state {
  64. self.extractAfterDeletePageVC?.state = state == .Checked ? .Norm : .Checked
  65. } else {
  66. self.extractAfterDeletePageVC?.state = .Norm
  67. }
  68. guard let callback = self.itemClick else {
  69. return
  70. }
  71. var value = false
  72. if let state = self.extractAfterDeletePageVC?.state {
  73. value = state == .Checked
  74. }
  75. callback(2, value)
  76. }
  77. }