123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- //
- // KMPageEditInsertDirectionItemView.swift
- // PDF Reader Pro
- //
- // Created by tangchao on 2023/1/11.
- //
- import Cocoa
- class KMPageEditInsertDirectionItemView: KMPageEditBaseItemView {
- private var horVC: KMDesignButton?
- private var verVC: KMDesignButton?
-
- override func initSubviews() {
- super.initSubviews()
-
- self.horVC = KMDesignButton(withType: .RadioButton)
- self.addSubview(self.horVC!.view)
- self.horVC?.target = self
- self.horVC?.action = #selector(horAction)
- self.horVC?.stringValue = NSLocalizedString("Horizontal page", comment: "")
- self.horVC?.checkbox_radio()
-
- self.verVC = KMDesignButton(withType: .RadioButton)
- self.addSubview(self.verVC!.view)
- self.verVC?.target = self
- self.verVC?.action = #selector(verAction)
- self.verVC?.stringValue = NSLocalizedString("Vertical pages", comment: "")
- self.verVC?.checkbox_radio()
-
- self.titleLabel.stringValue = NSLocalizedString("Direction", comment: "")
- self.titleLabel.font = .SFProTextSemiboldFont(12)
- self.titleLabel.textColor = NSColor.km_init(hex: "#616469")
-
- self.horVC?.state = .Norm
- self.verVC?.state = .Checked
- }
-
- override func layout() {
- super.layout()
-
- let raidoY: CGFloat = self.titleLabel.frame.maxY
- let radioSize = NSSize(width: 150, height: 22)
- self.verVC?.view.frame = NSMakeRect(self.contentInset.left, raidoY, radioSize.width, radioSize.height)
- self.horVC?.view.frame = NSMakeRect(self.contentInset.left + radioSize.width, raidoY , radioSize.width, radioSize.height)
- }
-
- @objc private func horAction() {
- self.verVC?.state = .Norm
- self.horVC?.state = .Checked
-
- guard let callback = self.itemClick else {
- return
- }
-
- callback(1, "")
- }
-
- @objc private func verAction() {
- self.horVC?.state = .Norm
- self.verVC?.state = .Checked
-
- guard let callback = self.itemClick else {
- return
- }
-
- callback(2, "")
- }
-
- public func switchDirection(isHor: Bool) {
- self.horVC?.state = .Norm
- self.verVC?.state = .Norm
-
- if (isHor) {
- self.horVC?.state = .Checked
- } else {
- self.verVC?.state = .Checked
- }
- }
-
- public func getDirection() -> Int {
- if let state = self.horVC?.state {
- return state == .Checked ? 1 : 0
- }
- return 0
- }
- }
|