KMDesignBaseView.swift 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. //
  2. // KMDesignBaseView.swift
  3. // PDF Master
  4. //
  5. // Created by tangchao on 2023/6/7.
  6. //
  7. import Cocoa
  8. @objc enum KMDesignSize: Int {
  9. case large = 0 // 大
  10. case medium = 1 // 中
  11. case small = 2 // 小
  12. }
  13. class KMDesignBaseView: NSView {
  14. var height: CGFloat = 0.0
  15. var horizontalPadding: CGFloat = 0.0
  16. var borderColor: NSColor = .clear
  17. var borderRadius: CGFloat = 4.0
  18. var borderWidth: CGFloat = 1.0
  19. var fillColor: NSColor = .clear
  20. var state: KMDesignTokenState = .Norm {
  21. didSet {
  22. self.updateUI(state: self.state)
  23. }
  24. }
  25. var kmEnabled = true {
  26. didSet {
  27. if (self.kmEnabled) {
  28. self.state = .Norm
  29. } else {
  30. self.state = .Disabled
  31. }
  32. }
  33. }
  34. override init(frame frameRect: NSRect) {
  35. super.init(frame: frameRect)
  36. self.initSubViews()
  37. self.initDefaultValue()
  38. }
  39. required init?(coder: NSCoder) {
  40. super.init(coder: coder)
  41. self.initSubViews()
  42. self.initDefaultValue()
  43. }
  44. func initSubViews() {}
  45. func initDefaultValue() {}
  46. func find_bgToken(state: KMDesignTokenState) -> String { return "" }
  47. func updateUI(state: KMDesignTokenState) {
  48. let token = self.find_bgToken(state: state)
  49. if (token.isEmpty) {
  50. KMPrint("token invalid.")
  51. return
  52. }
  53. let model = KMDesignToken.shared.tokenUsesModel(withToken: token)
  54. if let data = model.border as? String {
  55. self.borderColor = NSColor(hex: data)
  56. }
  57. if let data = model.borderRadius as? String, let _value = Float(data) {
  58. self.borderRadius = CGFloat(_value)
  59. }
  60. if let data = model.borderWidth as? String, let _value = Float(data) {
  61. self.borderWidth = CGFloat(_value)
  62. }
  63. if let data = model.fill as? String {
  64. self.fillColor = NSColor(hex: data)
  65. }
  66. }
  67. }