123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167 |
- //
- // KMEditImageController.swift
- // PDF Reader Pro
- //
- // Created by Niehaoyu on 2024/11/14.
- //
- import Cocoa
- import KMComponentLibrary
- class KMEditImageController: NSViewController {
-
- @IBOutlet var scrollView: NSScrollView!
- @IBOutlet var contendView: NSView!
-
- @IBOutlet var sizeBGView: NSView!
- @IBOutlet var sizeLabel: NSTextField!
- @IBOutlet var sizeSyncButton: ComponentButton!
-
- @IBOutlet var rotateBGView: NSView!
- @IBOutlet var rotateLabel: NSTextField!
- @IBOutlet var rotateSelect: ComponentSelect!
- @IBOutlet var rotateLeftButton: ComponentButton!
- @IBOutlet var rotateRightButton: ComponentButton!
- @IBOutlet var flipVerticalButton: ComponentButton!
- @IBOutlet var flipHorizontalButton: ComponentButton!
- @IBOutlet var opacityBGView: NSView!
- @IBOutlet var opacityLabel: NSTextField!
- @IBOutlet var opacitySlider: ComponentSlider!
- @IBOutlet var opacitySelect: ComponentSelect!
-
- @IBOutlet var cropButton: ComponentButton!
- @IBOutlet var replaceButton: ComponentButton!
- @IBOutlet var ExtrackButton: ComponentButton!
-
- var pdfView: CPDFListView? {
- didSet {
- reloadData()
- }
- }
-
- var currentArea: CPDFEditTextArea?
-
- //MARK: - func
- override func viewDidAppear() {
- super.viewDidAppear()
-
- opacitySlider.reloadData()
-
- }
-
- override func viewDidLoad() {
- super.viewDidLoad()
-
- setupProperty()
- }
-
- func setupProperty() {
-
- //Font
- sizeLabel.stringValue = KMLocalizedString("Size")
- sizeLabel.textColor = ComponentLibrary.shared.getComponentColorFromKey("colorText/2")
- sizeLabel.font = ComponentLibrary.shared.getFontFromKey("mac/body-s-medium")
- //Rotate
- rotateLabel.stringValue = KMLocalizedString("Rotate & Flip")
- rotateLabel.textColor = ComponentLibrary.shared.getComponentColorFromKey("colorText/2")
- rotateLabel.font = ComponentLibrary.shared.getFontFromKey("mac/body-s-medium")
-
- rotateSelect.properties = ComponentSelectProperties(size: .s,
- state: .normal,
- creatable: true,
- text: "100%",
- regexString: "0123456789%")
- if true {
- var opacityItems: [ComponentMenuitemProperty] = []
- for string in ["25%", "50%", "75%", "100%"] {
- let item = ComponentMenuitemProperty(type: .normal, text: string)
- opacityItems.append(item)
- }
- rotateSelect.updateMenuItemsArr(opacityItems)
- }
- rotateSelect.delegate = self
-
- rotateLeftButton.properties = ComponentButtonProperty(type: .text_gray, size: .s, onlyIcon: true, icon: NSImage(named: "pageEdit_rotateLeft"), keepPressState: false)
- rotateLeftButton.setTarget(self, action: #selector(buttonClicked(_:)))
-
- rotateRightButton.properties = ComponentButtonProperty(type: .text_gray, size: .s, onlyIcon: true, icon: NSImage(named: "pageEdit_rotateRight"), keepPressState: false)
- rotateRightButton.setTarget(self, action: #selector(buttonClicked(_:)))
-
- flipVerticalButton.properties = ComponentButtonProperty(type: .text_gray, size: .s, onlyIcon: true, icon: NSImage(named: "flipVertical"), keepPressState: false)
- flipVerticalButton.setTarget(self, action: #selector(buttonClicked(_:)))
-
- flipHorizontalButton.properties = ComponentButtonProperty(type: .text_gray, size: .s, onlyIcon: true, icon: NSImage(named: "flipHorizontal"), keepPressState: false)
- flipHorizontalButton.setTarget(self, action: #selector(buttonClicked(_:)))
-
- //Opacity
- opacityLabel.stringValue = KMLocalizedString("Opacity")
- opacityLabel.textColor = ComponentLibrary.shared.getComponentColorFromKey("colorText/2")
- opacityLabel.font = ComponentLibrary.shared.getFontFromKey("mac/body-s-medium")
-
- opacitySlider.properties = ComponentSliderProperty(size: .m, percent: 1)
-
- opacitySelect.properties = ComponentSelectProperties(size: .s,
- state: .normal,
- creatable: true,
- text: "100%",
- regexString: "0123456789%")
- if true {
- var opacityItems: [ComponentMenuitemProperty] = []
- for string in ["25%", "50%", "75%", "100%"] {
- let item = ComponentMenuitemProperty(type: .normal, text: string)
- opacityItems.append(item)
- }
- opacitySelect.updateMenuItemsArr(opacityItems)
- }
- opacitySelect.delegate = self
-
- cropButton.properties = ComponentButtonProperty(type: .default_tertiary, size: .s, buttonText: KMLocalizedString("Crop"), keepPressState: false)
- replaceButton.properties = ComponentButtonProperty(type: .default_tertiary, size: .s, buttonText: KMLocalizedString("Replace"), keepPressState: false)
- ExtrackButton.properties = ComponentButtonProperty(type: .default_tertiary, size: .s, buttonText: KMLocalizedString("Extract"), keepPressState: false)
-
-
- }
-
- func reloadData() {
-
- let areas = pdfView?.km_editingTextAreas() ?? []
- if areas.count == 0 {
- currentArea = nil
- } else if areas.count == 1 {
- currentArea = areas.first
- } else if areas.count == 2 {
- currentArea = nil
- }
-
- if let area = currentArea {
- let fontName = pdfView?.km_editTextAreasFontNames([area])
- let fontStyle = pdfView?.km_editTextAreasFontStyles([area])
- let fontSize = pdfView?.km_editTextAreasFontSizes([area])
- let bold = pdfView?.km_editTextAreasFontBolds([area])
- let itality = pdfView?.km_editTextAreasFontItalics([area])
- let alignment = pdfView?.km_editTextAreasTextAlignments([area])
- let colors = pdfView?.km_editTextAreasFontColors([area])
- let opacity = pdfView?.km_editAreasOpacitys([area])
- print("1")
- }
-
-
- }
-
- //MARK: - Action
- @objc func buttonClicked(_ sender: ComponentButton) {
-
- }
-
- }
- extension KMEditImageController: ComponentSelectDelegate {
-
- }
- extension KMEditImageController: ComponentCColorDelegate {
-
- }
|