KMConvertPPTsSettingView.swift 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. //
  2. // KMConvertPPTsSettingView.swift
  3. // PDF Master
  4. //
  5. // Created by tangchao on 2022/12/6.
  6. //
  7. import Cocoa
  8. class KMConvertPPTsSettingView: KMConvertSettingView, NibLoadable {
  9. @IBOutlet weak var ocrBox: NSBox!
  10. @IBOutlet weak var pageRangeBox: NSBox!
  11. static var nibName: String? {
  12. return "KMConvertBaseWindowController"
  13. }
  14. static func createFromNib(in bundle: Bundle = Bundle.main) -> Self? {
  15. guard let nibName = nibName else { return nil }
  16. var topLevelArray: NSArray? = nil
  17. bundle.loadNibNamed(NSNib.Name(nibName), owner: nil, topLevelObjects: &topLevelArray)
  18. guard let results = topLevelArray else { return nil }
  19. let views = Array<Any>(results).filter { $0 is Self }
  20. return views.last as? Self
  21. }
  22. override func viewDidMoveToWindow() {
  23. super.viewDidMoveToWindow()
  24. let ocrItemView = KMConvertOCRSettingItemView.createFromNib()
  25. ocrItemView?.frame = ocrBox.contentView!.bounds
  26. ocrItemView?.autoresizingMask = NSView.AutoresizingMask(rawValue: 18)
  27. // ocrBox.contentView = ocrItemView
  28. ocrItemView?.languageIndex = ocrLanuguageIndex
  29. ocrItemView?.lanugageDidSelected = {
  30. [unowned self] (index: Int) -> () in
  31. guard let callback = lanugageDidSelected else {
  32. return
  33. }
  34. callback(index)
  35. }
  36. let pageRangeItemView = KMConvertPageRangeSettingItemView.createFromNib()
  37. pageRangeItemView?.frame = pageRangeBox.contentView!.bounds
  38. pageRangeItemView?.autoresizingMask = NSView.AutoresizingMask(rawValue: 18)
  39. pageRangeBox.contentView = pageRangeItemView
  40. self.pageRangeItemView = pageRangeItemView
  41. pageRangeItemView?.isTextDidEndCallback = true
  42. pageRangeItemView?.pageCount = self.pageCount
  43. pageRangeItemView?.itemClick = { [unowned self] index, _ in
  44. pageRangeSelectedIndex = index
  45. guard let callback = self.pageRangeDidChange else {
  46. return
  47. }
  48. callback(KMPageRange(rawValue: index)!)
  49. }
  50. pageRangeItemView?.textDidEndEditingCallback = { [unowned self] textString in
  51. let pageRange = KMPageRange(rawValue: self.pageRangeSelectedIndex)
  52. if (pageRange != .custom) {
  53. return
  54. }
  55. guard let callback = pageRangeDidInputFinishCallback else {
  56. return
  57. }
  58. callback(textString)
  59. }
  60. }
  61. override func getPageRangeString() -> String {
  62. if let view = self.pageRangeItemView {
  63. return view.pageRangeValue
  64. }
  65. return ""
  66. }
  67. }