123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- //
- // KMConvertWordSettingView.swift
- // PDF Master
- //
- // Created by tangchao on 2022/12/6.
- //
- //typealias KMConvertSettingViewLanugageDidSelectedCallback = (_ index: Int) -> ()
- class KMConvertWordSettingView: KMConvertSettingView {
- @IBOutlet weak var pageSettingTitleLabel: NSTextField!
-
- @IBOutlet weak var saveFlowTextRadio: KMImageTitleButton!
- @IBOutlet weak var savePageLayoutRadio: KMImageTitleButton!
-
- @IBOutlet weak var textOCRBox: NSBox!
- @IBOutlet weak var pageRangeBox: NSBox!
-
- // 流排 0 框排 1
- var pageSettingSelectedIndex: Int = 0
-
- // var lanugageDidSelected: KMConvertSettingViewLanugageDidSelectedCallback?
-
- override init(frame frameRect: NSRect) {
- super.init(frame: frameRect)
- }
-
- required init?(coder: NSCoder) {
- super.init(coder: coder)
- }
-
- override func awakeFromNib() {
- super.awakeFromNib()
- pageSettingTitleLabel.stringValue = NSLocalizedString("Layout Settings", comment: "")
- pageSettingTitleLabel.textColor = NSColor(hex: "#616469")
- pageSettingTitleLabel.font = .SFProTextRegular(12)
- saveFlowTextRadio.title = NSLocalizedString("Retain Flowing Text", comment: "")
- saveFlowTextRadio.imageName = "btn_radio_unsel_on"
- saveFlowTextRadio.action = { [unowned self] view, button in
- self.saveFlowTextRadioAction(sender: view)
- }
-
- savePageLayoutRadio.title = NSLocalizedString("Retain Page Layout", comment: "")
- savePageLayoutRadio.titleLabel.textColor = NSColor.buttonTitleColor()
- savePageLayoutRadio.titleLabel.font = .SFProTextRegular(14)
- savePageLayoutRadio.imageName = "btn_radio_unsel_on"
- savePageLayoutRadio.action = { [unowned self] view, button in
- self.savePageLayoutRadioAction(sender: view)
- }
-
- saveFlowTextRadio.state = .on
- saveFlowTextRadio.imageName = "btn_radio_sel_on"
- }
-
- override func viewDidMoveToWindow() {
- super.viewDidMoveToWindow()
-
- if (self.ocrItemView == nil) {
- let view = KMConvertOCRSettingItemView.createFromNib()
- self.textOCRBox.contentView = view
- // self.ocrItemView = view
-
- view?.lanugageDidSelected = { [unowned self] value, change in
- guard let callback = self.lanugageDidSelected else {
- return
- }
-
- callback(value, change)
- }
- }
- self.ocrItemView?.languageIndex = self.ocrLanuguageIndex
-
- if (self.pageRangeItemView == nil) {
- let view = KMConvertPageRangeSettingItemView.createFromNib()
- self.pageRangeBox.contentView = view
- // self.pageRangeItemView = view
-
- view?.itemClick = { [unowned self] index, _ in
- self.pageRangeSelectedIndex = index
-
- guard let callback = self.pageRangeDidChange else {
- return
- }
-
- callback(KMPageRange(rawValue: index)!)
- }
-
- view?.textDidEndEditingCallback = { [unowned self] textString in
- let pageRange = KMPageRange(rawValue: self.pageRangeSelectedIndex)
- if (pageRange != .custom) {
- return
- }
- guard let callback = pageRangeDidInputFinishCallback else {
- return
- }
-
- callback(textString)
- }
- }
-
- self.pageRangeItemView?.pageCount = self.pageCount
- self.pageRangeItemView?.isTextDidEndCallback = true
- }
-
- @objc func saveFlowTextRadioAction(sender: AnyObject) {
- for radio in [saveFlowTextRadio, savePageLayoutRadio] {
- if ((radio?.isEqual(to: sender))!) {
- radio?.state = .on
- radio!.imageName = "btn_radio_sel_on"
- } else {
- radio?.state = .off
- radio!.imageName = "btn_radio_unsel_on"
- }
- }
-
- pageSettingSelectedIndex = 0
- }
-
- @objc func savePageLayoutRadioAction(sender: AnyObject) {
- for radio in [saveFlowTextRadio, savePageLayoutRadio] {
- if (radio?.isEqual(to: sender))! {
- radio?.state = .on
- radio!.imageName = "btn_radio_sel_on"
- } else {
- radio?.state = .off
- radio!.imageName = "btn_radio_unsel_on"
- }
- }
-
- pageSettingSelectedIndex = 1
- }
-
- override func getPageRangeString() -> String {
- if let view = self.pageRangeItemView {
- return view.pageRangeValue
- }
- return ""
- }
- }
|