1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- //
- // KMOCRController.swift
- // PDF Reader Pro
- //
- // Created by lizhe on 2024/12/19.
- //
- import Cocoa
- import KMComponentLibrary
- class KMOCRController: NSViewController {
- var pdfView: CPDFListView?
- @IBOutlet weak var typeTabs: ComponentTabs!
- @IBOutlet weak var saveButton: ComponentButton!
- @IBOutlet weak var pageView: KMOCRPageView!
- @IBOutlet weak var areaView: KMOCRAreaView!
-
- var model: KMOCRModel = KMOCRModel() {
- didSet {
- self.pageView.model = model;
- self.areaView.model = model
- }
- }
-
- private var fileTabProperty = ComponentTabsProperty(tabsType: .underline_Fill, state: .normal, showIcon: false, title: KMLocalizedString("Page"))
- private var areaTabProperty = ComponentTabsProperty(tabsType: .underline_Fill, state: .normal, showIcon: false, title: KMLocalizedString("Area"))
-
- override func viewDidLoad() {
- super.viewDidLoad()
- // Do view setup here.
- self.model = KMOCRModel()
- self.updateUI()
- self.reloadData()
- }
-
- func updateUI() {
-
- typeTabs.updateItemProperty([fileTabProperty, areaTabProperty])
- typeTabs.delegate = self
- typeTabs.refreshItems()
-
- saveButton.properties = ComponentButtonProperty(type: .primary, size: .m, buttonText: KMLocalizedString("Apply"), keepPressState: false)
- saveButton.setTarget(self, action: #selector(saveButtonClicked(_:)))
-
- self.pageView.changeAction = { [unowned self] view, model in
- self.reloadData()
- }
- }
-
- func reloadData() {
-
- fileTabProperty.state = .normal
- areaTabProperty.state = .normal
-
- if model.showType == .page {
- pageView.isHidden = false
- areaView.isHidden = true
- fileTabProperty.state = .pressed
-
- if model.saveAsPDF {
- saveButton.properties.buttonText = KMLocalizedString("Save as PDF")
- } else {
- saveButton.properties.buttonText = KMLocalizedString("Apply")
- }
- } else {
- pageView.isHidden = true
- areaView.isHidden = false
- areaTabProperty.state = .pressed
- saveButton.properties.buttonText = KMLocalizedString("Save as TXT")
- }
-
- saveButton.reloadData()
- typeTabs.refreshItems()
- }
-
- }
- //MARK: Action
- extension KMOCRController {
- @objc func saveButtonClicked(_ sender: ComponentButton) {
-
- }
- }
- extension KMOCRController: ComponentTabsDelegate {
- func componentTabsDidSelected(_ view: ComponentTabs, _ property: ComponentTabsProperty) {
- if property == fileTabProperty {
- model.showType = .page
- } else {
- model.showType = .area
- }
- self.reloadData()
- }
- }
|