1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- //
- // KMConvertOCRSettingItemView.swift
- // PDF Master
- //
- // Created by tangchao on 2022/12/6.
- //
- import Cocoa
- typealias KMConvertOCRSettingItemViewLanugageDidSelected = (_ index: Int) -> ()
- class KMConvertOCRSettingItemView: NSView, NibLoadable {
- @IBOutlet weak var titleLabel: NSTextField!
- @IBOutlet weak var checkBox: NSButton!
- @IBOutlet weak var languageComboBox: NSComboBox!
-
- private var myLanguageIndex: Int = 2
- var languageIndex: Int {
- get {
- return myLanguageIndex
- }
- set {
- myLanguageIndex = newValue
-
- if (languageComboBox != nil && newValue < languageComboBox.numberOfItems) {
- languageComboBox.selectItem(at: newValue)
- }
- }
- }
-
- var lanugageDidSelected: KMConvertOCRSettingItemViewLanugageDidSelected!
- static var nibName: String? {
- return "KMConvertBaseWindowController"
- }
-
- static func createFromNib(in bundle: Bundle = Bundle.main) -> Self? {
- guard let nibName = nibName else { return nil }
- var topLevelArray: NSArray? = nil
- bundle.loadNibNamed(NSNib.Name(nibName), owner: nil, topLevelObjects: &topLevelArray)
- guard let results = topLevelArray else { return nil }
- let views = Array<Any>(results).filter { $0 is Self }
- return views.last as? Self
- }
-
- override func awakeFromNib() {
- super.awakeFromNib()
-
- titleLabel.stringValue = NSLocalizedString("Text Recognition Settings", comment: "")
- checkBox.title = NSLocalizedString("Recognize text if needed", comment: "")
- checkBox.target = self
- checkBox.action = #selector(checkBoxAction)
-
- languageComboBox.isEditable = false
- languageComboBox.removeAllItems()
- languageComboBox.addItems(withObjectValues: [NSLocalizedString("Chinese Simplified", comment: ""),
- NSLocalizedString("Chinese Traditional", comment: ""),
- NSLocalizedString("English", comment: ""),
- NSLocalizedString("French", comment: ""),
- NSLocalizedString("German", comment: ""),
- NSLocalizedString("Haitian", comment: ""),
- NSLocalizedString("Japan", comment: ""),
- NSLocalizedString("Korean", comment: ""),
- NSLocalizedString("Latin", comment: "")])
- if (myLanguageIndex < languageComboBox.numberOfItems) {
- languageComboBox.selectItem(at: myLanguageIndex)
- } else {
- languageComboBox.selectItem(at: 2)
- }
-
- languageComboBox.delegate = self
- }
-
- @objc func checkBoxAction(sender: NSButton) {
- languageComboBox.isEnabled = sender.state == .on
- }
- }
- extension KMConvertOCRSettingItemView: NSComboBoxDelegate {
- func comboBoxSelectionDidChange(_ notification: Notification) {
- if (languageComboBox.isEqual(to: notification.object)) {
- if languageComboBox.indexOfSelectedItem < 0 {
- return
- }
-
- guard let callback = lanugageDidSelected else {
- return
- }
-
- callback(languageComboBox.indexOfSelectedItem)
- }
- }
- }
|