123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- //
- // KMDesignBaseView.swift
- // PDF Reader Pro
- //
- // Created by tangchao on 2023/6/7.
- //
- import Cocoa
- @objc enum KMDesignSize: Int {
- case large = 0 // 大
- case medium = 1 // 中
- case small = 2 // 小
- }
- typealias KMDesignTokenKey = String
- let KMDesignTokenNone: KMDesignTokenKey = ""
- private let KMHorizDividerTokenKey: KMDesignTokenKey = "divider.horiz"
- private let KMVertDividerTokenKey: KMDesignTokenKey = "divider.vert"
- // 组件 基类
- class KMDesignBaseView: NSView {
- public static let horDividerToken = KMHorizDividerTokenKey
- public static let verDividerToken = KMVertDividerTokenKey
-
- var height: CGFloat = 0.0
- var horizontalPadding: CGFloat = 0.0
- var borderColor: NSColor = .clear
- var borderRadius: CGFloat = 4.0
- var borderWidth: CGFloat = 1.0
- var fillColor: NSColor = .clear
-
- var textColor: NSColor = .black
- var fontName: String = "SFProText-Regular"
- var fontSize: CGFloat = 0.0
-
- var state: KMDesignTokenState = .Norm {
- didSet {
- self.updateUI(state: self.state)
- }
- }
- var kmEnabled = true {
- didSet {
- if (self.kmEnabled) {
- self.state = .Norm
- } else {
- self.state = .Disabled
- }
- }
- }
-
- override init(frame frameRect: NSRect) {
- super.init(frame: frameRect)
-
- self.initSubViews()
- self.initDefaultValue()
- }
-
- required init?(coder: NSCoder) {
- super.init(coder: coder)
-
- self.initSubViews()
- self.initDefaultValue()
- }
-
- func initSubViews() {}
- func initDefaultValue() {}
-
- func find_bgToken(state: KMDesignTokenState) -> KMDesignTokenKey { return KMDesignTokenNone }
- func find_textToken(state: KMDesignTokenState) -> KMDesignTokenKey { return KMDesignTokenNone }
- func find_spaceToken(state: KMDesignTokenState) -> KMDesignTokenKey { return KMDesignTokenNone }
-
- func updateUI(state: KMDesignTokenState) {
- let bgToken = self.find_bgToken(state: state)
- if (bgToken.isEmpty) {
- KMPrint("bgToken invalid.")
- } else {
-
- }
-
- let textToken = self.find_textToken(state: state)
- if (!textToken.isEmpty) {
-
- }
-
- }
-
- func canHover() -> Bool {
- if (self.state == .Norm || self.state == .Hov || self.state == .None) {
- return true
- }
- return false
- }
-
- // MARK: - divider
-
- func horDividerHeight() -> CGFloat {
-
- return 0
- }
- func horDividerColor() -> NSColor {
- return NSColor.clear
- }
-
- func verDividerWidth() -> CGFloat {
-
- return 0
- }
- func verDividerColor() -> NSColor {
- return NSColor.clear
- }
- }
|