KMBotaLeftView.swift 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. //
  2. // KMBotaLeftView.swift
  3. // PDF Reader Pro
  4. //
  5. // Created by tangchao on 2023/11/22.
  6. //
  7. import Cocoa
  8. class KMBotaLeftView: NSView {
  9. var segmentedControl: KMSegmentedControl = {
  10. let view = KMSegmentedControl()
  11. return view
  12. }()
  13. var helpButton: KMCoverButton = {
  14. let view = KMCoverButton()
  15. view.title = ""
  16. view.image = NSImage(named: "KMImgNameUserFbHelpIcon")
  17. view.isBordered = false
  18. return view
  19. }()
  20. override init(frame frameRect: NSRect) {
  21. super.init(frame: frameRect)
  22. self.initSubview()
  23. self.initDefaultValue()
  24. }
  25. required init?(coder: NSCoder) {
  26. super.init(coder: coder)
  27. self.initSubview()
  28. self.initDefaultValue()
  29. }
  30. func initSubview() {
  31. self.addSubview(self.segmentedControl)
  32. self.addSubview(self.helpButton)
  33. }
  34. func initDefaultValue() {
  35. self.segmentedControl.direction = .vertical
  36. self.segmentedControl.setSegmentCount(5, with: 44)
  37. self.segmentedControl.setImage(NSImage(named: KMImageNameUXIconSidetabbarThumbnailNor)!, for: 0)
  38. self.segmentedControl.setImage(NSImage(named: KMImageNameUXIconSidetabbarOutlineNor)!, for: 1)
  39. self.segmentedControl.setImage(NSImage(named: KMImageNameUXIconSidetabbarAnnotationNor)!, for: 2)
  40. self.segmentedControl.setImage(NSImage(named: KMImageNameUXIconSidetabbarSnapshotNor)!, for: 3)
  41. self.segmentedControl.setImage(NSImage(named: KMImageNameUXIconSidetabbarSearchNor)!, for: 4)
  42. self.segmentedControl.setToolTip(KMLocalizedString("View Thumbnails", nil), for: 0)
  43. self.segmentedControl.setToolTip(KMLocalizedString("View Outline", nil), for: 1)
  44. self.segmentedControl.setToolTip(KMLocalizedString("View Notes", nil), for: 2)
  45. self.segmentedControl.setToolTip(KMLocalizedString("View Snapshots", nil), for: 3)
  46. self.segmentedControl.setToolTip(KMLocalizedString("Search", nil), for: 4)
  47. self.segmentedControl.selectedSegment = UInt8.max
  48. self.segmentedControl.wantsLayer = true
  49. self.segmentedControl.layer?.backgroundColor = KMAppearance.Layout.l_1Color().cgColor
  50. }
  51. override func layout() {
  52. super.layout()
  53. self.segmentedControl.frame = self.bounds
  54. self.helpButton.frame = NSMakeRect(0, 0, 36, 36)
  55. }
  56. override func draw(_ dirtyRect: NSRect) {
  57. super.draw(dirtyRect)
  58. }
  59. override func interfaceThemeDidChanged(_ appearance: NSAppearance.Name) {
  60. super.interfaceThemeDidChanged(appearance)
  61. self.segmentedControl.appearance = .init(named: appearance)
  62. self.segmentedControl.wantsLayer = true
  63. // self.segmentedControl.layer?.backgroundColor = KMAppearance.Layout.l_1Color().cgColor
  64. if KMAppearance.isDarkMode() {
  65. self.segmentedControl.layer?.backgroundColor = NSColor.km_init(hex: "#393B3E", alpha: 1).cgColor
  66. } else {
  67. self.segmentedControl.layer?.backgroundColor = NSColor.km_init(hex: "#EBECF0", alpha: 1).cgColor
  68. }
  69. }
  70. }